(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-24
(45)【発行日】2023-03-06
(54)【発明の名称】ネットワーク管理のための方法、装置、非一時的コンピュータ可読媒体、コンピュータプログラム製品及びデータセット
(51)【国際特許分類】
H04L 41/12 20220101AFI20230227BHJP
【FI】
H04L41/12
【外国語出願】
(21)【出願番号】P 2019043455
(22)【出願日】2019-03-11
【審査請求日】2021-10-14
(32)【優先日】2018-03-29
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】503163527
【氏名又は名称】ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ
【氏名又は名称原語表記】MITSUBISHI ELECTRIC R&D CENTRE EUROPE B.V.
【住所又は居所原語表記】Capronilaan 46, 1119 NS Schiphol Rijk, The Netherlands
(74)【代理人】
【識別番号】100110423
【氏名又は名称】曾我 道治
(74)【代理人】
【識別番号】100111648
【氏名又は名称】梶並 順
(74)【代理人】
【識別番号】100122437
【氏名又は名称】大宅 一宏
(74)【代理人】
【識別番号】100147566
【氏名又は名称】上田 俊一
(74)【代理人】
【識別番号】100161171
【氏名又は名称】吉田 潤一郎
(72)【発明者】
【氏名】ムーラド・カンフシ
(72)【発明者】
【氏名】ロイ・ブリュヌ
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開2011-124811(JP,A)
【文献】特開2018-023013(JP,A)
【文献】米国特許出願公開第2015/0195192(US,A1)
【文献】特表2016-527765(JP,A)
【文献】米国特許出願公開第2015/0085668(US,A1)
【文献】中国特許出願公開第105580437(CN,A)
【文献】米国特許出願公開第2011/0228788(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-13/18,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
コンピュータネットワークを管理する方法であって、
ノードに関するデータトラフィック強度値に基づいて、前記ノードのためのデータ構造を用いて前記コンピュータネットワークの複数のノードの各ノードに関する指標値を取得することであって、前記データ構造は前記コンピュータネットワークのノードと、前記コンピュータネットワークの2つのノード間の隣接関係にそれぞれ対応するエッジとを表すことと、
取得された前記指標値に基づいて、前記コンピュータネットワークの前記ノードの中から、ノード障害及び/又はエッジ障害から保護されるべき少なくとも1つのノードを選択することと、
を含む、方法。
【請求項2】
前記指標値は、前記ノードの周りの前記コンピュータネットワークのネットワークトポロジーと、前記ノードに関する前記データトラフィック強度値とに基づいて求められる、請求項1に記載の方法。
【請求項3】
前記データ構造は、前記コンピュータネットワークの前記ノードから根ノードにそれに従ってデータが送信される経路木を含み、前記方法は、前記ネットワーク内で、前記保護されるべき少なくとも1つのノードを包囲する初期保護パスを決定することを更に含み、前記初期保護パスを前記決定することは、
前記データ構造において、前記保護されるべき少なくとも1つのノードが第1のノード隣接点の先行点集合に属するような、前記保護されるべき少なくとも1つのノードの前記第1のノード隣接点を特定することであって、所与のノードの先行点集合は、前記経路木内の前記所与のノードと前記根ノードとの間に位置する全てのノードを含むことと、
前記データ構造において、前記第1のノード隣接点の前記先行点集合と第2のノード隣接点の先行点集合との交わりが最大化されるような、前記保護されるべき少なくとも1つのノードの前記第2のノード隣接点を特定することと、
前記第1のノード隣接点、前記第2のノード隣接点及び第1の最終ノードを含む初期保護パスノード3個組に基づいて、前記初期保護パスを決定することであって、前記第1の最終ノードは、前記根ノードに向けられる初期保護交わりパスの最初のノードであり、前記初期保護交わりパスは、前記第1のノード隣接点の前記先行点集合と前記第2のノード隣接点の前記先行点集合との間の交わりに対応することと、
を含む、請求項1又は2に記載の方法。
【請求項4】
前記初期保護パスに基づいて、前記ネットワークにおいて、前記保護されるべき少なくとも1つのノードを包囲する二次保護パスを決定することを更に含み、前記二次保護パスを前記決定することは、
前記初期保護パスに属する少なくとも1つの初期保護パスノードを決定することと、
前記データ構造において、前記少なくとも1つの初期保護パスノードの第3のノード隣接点を特定することと、
前記少なくとも1つの初期保護パスノード、前記第3のノード隣接点及び第2の最終ノードを含む二次保護パスノード3個組に基づいて、前記二次保護パスを決定することであって、前記第2の最終ノードは前記根ノードに向けられる二次保護交わりパスの最初のノードであり、前記二次保護交わりパスは、前記第3のノード隣接点の先行点集合と少なくとも1つの初期保護パスノード隣接点の先行点集合との間の交わりに対応することと、
を含む、請求項3に記載の方法。
【請求項5】
前記ノードに関する前記指標値を前記取得することは、ループの繰り返しを実行することを更に含み、繰り返しは、
前記ノードにおいて所定の期間中に少なくとも1つのデータトラフィック強度値を求めることと、
前記データ構造内の前記ノードのノード隣接点に関する少なくとも1つの隣接点インデックス変数値を受信することと、
前記少なくとも1つのデータトラフィック強度値と、前記データ構造内の前記ノードの前記ノード隣接点に関する前記少なくとも1つの隣接点インデックス変数値とに基づいて、前記ノードに関するインデックス変数値を計算することと、
前記インデックス変数値に基づいて、前記ノードに関する前記指標値を計算することと、
を含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記ノードにおいて所定の期間中に少なくとも1つのデータトラフィック強度値を前記求めることは、前記ノードの前記
ノード隣接点のうちの少なくとも1つから受信されたデータパケットの数に基づいて、それぞれのデータトラフィック強度値を求めることを含む、請求項5に記載の方法。
【請求項7】
前記ノードに関する前記指標値は、
連続した第1のインデックス変数値
と第2のインデックス変数値との間の差に基づいて計算される、請求項5又は6に記載の方法。
【請求項8】
前記データ構造は経路木及びネットワークグラフを含み、前記方法は、前記経路木内の機能不全のノード及び/又はエッジの数と第1の所定の閾値との比較に基づいて、前記ノードに関する前記指標値を前記求めるために、前記経路木を使用するか、前記ネットワークグラフを使用するかを判断することを更に含む、請求項5~7のいずれか一項に記載の方法。
【請求項9】
ノード障害及び/又はエッジ障害から前記保護されるべき少なくとも1つのノードを前記選択することは、
前記求められた指標値に基づいて、前記コンピュータネットワーク内の最大威信値を求めることと、
求められた指標値と前記最大威信値との間の距離と、第2の所定の閾値との比較に基づいて、前記少なくとも1つのノードを選択することと、
を更に含む、請求項1~8のいずれか一項に記載の方法。
【請求項10】
前記データ構造は、前記ノードからのデータがそれに従って根ノードによって収集される経路木を含み、前記ノードに関する前記指標値を求めることは、
前記経路木の部分木内のノードに関して、前記ノードに向かうデータトラフィックの強度をそれぞれ表すトラフィック強度値を求めることと、
少なくとも1つのパスの少なくとも1つのノードの前記トラフィック強度値に基づいて、前記部分木内の前記少なくとも1つのパスをアクティブパスと識別することと、
前記部分木内のアクティブパスのそれぞれの長さの中の部分木最大長を求めることと、
前記部分木最大長に基づいて、前記ノードに関する前記指標値を計算することと、
を含む、請求項1~4のいずれか一項に記載の方法。
【請求項11】
前記データ構造はRPL経路選択データ構造を含み、前記経路木はRPL経路木であり、ネットワークグラフは宛先指向有向非巡回グラフ(DODAG)である、請求項
3、4、8および10のいずれか一項に記載の方法。
【請求項12】
装置であって、前記装置は、プロセッサと、前記プロセッサに動作可能に結合されるメモリと、前記コンピュータネットワーク内で通信するネットワークインターフェースとを備え、前記装置は、請求項1~11のいずれか一項に記載の方法を実行するように構成される、装置。
【請求項13】
実行されるときに、メモリに動作可能に結合されるプロセッサを備える装置に、請求項1~11のいずれか一項に記載の方法を実行させる実行可能命令
が記憶される非一時的コンピュータ可読媒体。
【請求項14】
コンピュータ可読媒体内に
記憶されるコンピュータプログラムコードを含むコンピュータプログラ
ムであって、前記コンピュータプログラムコードは、コンピュータシステムに与えられ、実行されるときに、前記コンピュータ
システムに、請求項1~11のいずれか一項に記載の方法を実行させる命令を含む、コンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はコンピュータネットワーク、詳細には、センサネットワーク等のIoTネットワークの管理の分野に関する。
【0002】
低消費電力及び高パケット損失ネットワーク(LLN:Low-Power and Lossy Network)は、相互接続される低電力ノードからなるネットワークであり、相互接続は損失率が高く、データ速度が低く、不安定である。LLNネットワークの例は、通常多数の(数千の)センサノードを有するワイヤレスセンサネットワーク、及び、いわゆる、「モノのインターネット」(IoT)ネットワーク又はシステムを含み、その種類のネットワークでは、ワイヤレス通信可能である組込デバイスが相互接続される。
【0003】
インターネットエンジニアリングタスクフォース(IETF:Internet Engineering Task Force)は、RPLプロトコルとして知られる、LLNネットワークに適合したルーティングプロトコルを開発した。RPLは、2012年3月付の「RPL:IPv6 Routing Protocol for Low-Power and Lossy Networks」と題するRequest for Comments(RFC)6550において規定される。
【0004】
RPL経路は、ネットワークトポロジーのためのネットワークシンクとしての役割を果たす1つ以上の根に対するトラフィックについて最適化される。結果として、RPLはトポロジーを、いわゆる、有向非巡回グラフ(DAG:Directed Acyclic Graph)として編成し、DAGはネットワークシンクごとに1つずつの、1つ以上の宛先指向DAG(DODAG:Destination Oriented DAG)に分割され、RPLはDODAGを経路木として使用する。
【0005】
RPLは、経路木の自動セットアップと、ネットワークノードの障害、又は2つのネットワークノード間の相互接続の障害の発生時の経路木の局所復旧とのための機構を提供する。RPL復旧は、ノード/エッジ障害等のネットワーク内の障害を特定し、以下の局所的対策を適用する。すなわち、そのノードから、RPL DODAG木内の現在の親ノードとは異なる新たな親ノードに経路を変更し、低いRPLランクを有する候補親ノードが存在しない場合には、そのパケットを同じRPLランクを有するノードに転送する。
【0006】
RPL局所復旧方策は、機能不全のノード/エッジの周りにおいて経路切替のための候補を見つける必要がある。RPL復旧候補を見つけるための現行技術水準のRPL復旧は、サイクルに基づく保護に基づいている。サイクルに基づく保護の概念は、機能不全のノードの周りにおいて、そのノードに向けられたパケットを短い待ち時間で根に中継することができるサイクルを探索することである。この探索は、例えば、非特許文献1において説明されるような、いわゆる、深さ優先グラフ(DFS)アルゴリズムを通して実行することができる。しかしながら、DFSは複雑でかつ時間がかかると考えられ、RPL局所復旧のために使用されるときに、RPL復旧機構の適応性を低下させるという欠点、及び容認できない回復待ち時間を導入するという欠点を有する。
【0007】
したがって、当技術分野における従来の技術の上述した欠点及び短所に対処する、改善されたネットワーク管理方式及びこの方式を実施するネットワークノードを提供する必要がある。
【先行技術文献】
【非特許文献】
【0008】
【文献】Boukerche及びTropper「A distributed graph algorithm for the detection of local cycles and knots」IEEE Transactions on Parallel and Distributed Systems, 9(8), 748-757, 1998.
【発明の概要】
【発明が解決しようとする課題】
【0009】
本主題開示の目的は、改善されたネットワーク管理方式、及びこの方式を実施する装置を提供することである。
【0010】
本主題開示の別の目的は、従来の、特にLLNネットワークにおける、機能不全ノード/エッジ復旧方式の上記の欠点及び短所を軽減するための、改善されたネットワーク管理方式、及びこの方式を実施する装置を提供することである。
【課題を解決するための手段】
【0011】
これらの目的及び他の利点を達成するために、本明細書において具現され、大まかに説明されるような、本主題開示の目的によれば、本主題開示の1つの態様において、コンピュータネットワークを管理する方法が提案される。本方法は、ノードに関するデータトラフィック強度値に基づいて、このノードのためのデータ構造を用いてコンピュータネットワークの複数のノードの各ノードに関する指標値を取得することであって、データ構造はコンピュータネットワークのノードと、コンピュータネットワークの2つのノード間の隣接関係にそれぞれ対応するエッジとを表すことと、求められた指標値に基づいて、コンピュータネットワークのノードの中から、ノード障害及び/又はエッジ障害から保護されるべき少なくとも1つのノードを選択することとを含む。
【0012】
提案される方法は、有利には、予防的に、又はノード/エッジ障害の発生時の改良保守として、局所復旧方式を適用し、これらのノードの周りの復旧サイクルを決定するために、コンピュータネットワークの或る特定のノードを保護されるべきノードと特定する。保護されるべきノードは、以下において「ハブ」とも呼ばれ、有利には、そのノードに関するデータトラフィック強度値を使用する指標に基づいて選択される。それゆえ、提案される方式は、種々のネットワークトポロジー及び展開シナリオに適応することができる適応性のある選択機構を使用することによって、ネットワークの全てのノードに局所復旧を適用するのを回避し、結果として、コンピュータネットワーク内で適用される局所復旧方式に関連付けられる計算を限られた数のノードに限定し、それにより、局所復旧に関連付けられる計算時間を削減する。
【0013】
それゆえ、提案される方式は、限定はしないが、コンピュータネットワーク内の全パケット損失を最小化するバックアップ構造を特定するためのより高速の方式を提供することによって、非常に密集したネットワーク、例えば、各ノードが限られた計算能力を有し得る数千のセンサノードを有するワイヤレスセンサネットワーク等のLLNネットワークに非常に適している。
【0014】
いくつかの実施の形態において、指標値は、ノードの周りのコンピュータネットワークのネットワークトポロジーと、ノードに関するデータトラフィック強度値とに基づいて求められる。そのような場合に、提案される方式は、有利には、ノードの周りのネットワークトポロジーだけでなく、そのノードのためのデータトラフィック強度も考慮する指標を使用する。
【0015】
1つ以上の実施の形態において、データ構造は、コンピュータネットワークのノードから根ノードにそれに従ってデータが送信される経路木を含み、提案される方法は、ネットワーク内で、保護されるべき少なくとも1つのノードを包囲する初期保護パスを決定することを更に含み、この初期保護パスを決定することは、データ構造において、保護されるべき少なくとも1つのノードが第1のノード隣接点の先行点集合に属するような、保護されるべき少なくとも1つのノードの第1のノード隣接点を特定することであって、所与のノードの先行点集合は、経路木内のこの所与のノードと根ノードとの間に位置する全てのノードを含むことと、データ構造において、第1のノード隣接点の先行点集合と第2のノード隣接点の先行点集合との交わりが最大化されるような、保護されるべき少なくとも1つのノードのこの第2のノード隣接点を特定することと、第1のノード隣接点、第2のノード隣接点及び第1の最終ノードを含む初期保護パスノード3個組に基づいて、初期保護パスを決定することであって、第1の最終ノードは、根ノードに向けられる初期保護交わりパスの最初のノードであり、初期保護交わりパスは、第1のノード隣接点の先行点集合と第2のノード隣接点の先行点集合との間の交わりに対応することとを含む。
【0016】
それゆえ、提案される方法は、有利には、保護されるべきノードであると特定されたノードのための局所復旧機構を提供し、その機構は、そのようなノードの周りの局所復旧サイクルの決定を含む。
【0017】
提案される局所復旧方式は、1つ以上の実施形態において、初期保護パス内のノード/エッジ障害に対するネットワーク回復力を有利に高めるために、初期保護パスに基づいて、ネットワーク内で、保護されるべき少なくとも1つのノードを包囲する二次保護パスを決定することを更に含むことができ、二次保護パスを決定することは、初期保護パスに属する、少なくとも1つの初期保護パスノードを決定することと、データ構造において、少なくとも1つの初期保護パスノードの第3のノード隣接点を特定することと、少なくとも1つの初期保護パスノード、第3のノード隣接点及び第2の最終ノードを含む、二次保護パスノード3個組に基づいて二次保護パスを決定することであって、第2の最終ノードは根ノードに向けられる二次保護交わりパスの第1のノードであり、二次保護交わりパスは、第3のノード隣接点の先行点集合と、少なくとも1つの初期保護パスノード隣接点の先行点集合との間の交わりに対応することとを含む。
【0018】
1つ以上の実施の形態において、ノードに関する指標値を取得することは、ループの繰り返しを実行することを更に含み、繰り返しは、ノードにおいて所定の期間中に少なくとも1つのデータトラフィック強度値を求めることと、データ構造内のノードのノード隣接点に関する少なくとも1つの隣接点インデックス変数値を受信することと、少なくとも1つのデータトラフィック強度値と、データ構造内のノードのノード隣接点に関する少なくとも1つの隣接点インデックス変数値とに基づいて、ノードに関するインデックス変数値を計算することと、インデックス変数値に基づいて、ノードに関する指標値を計算することとを含む。いくつかの実施の形態において、ノードに関する指標値は、第1のインデックス変数値と第2のインデックス変数値との間の差に基づいて計算される。
【0019】
そのネットワークのノードに関するこの提案される指標値は、そのノードに関するデータトラフィックの強度と、データ構造内のそのノードの隣接点のうちの少なくともいくつかとに基づいて、ネットワーク内のノードの「威信(prestige)」又は「重要度(importance)」を測定する指標と見なすことができる。この威信指標は、有利には、ネットワーク内のその威信レベルに基づいて、保護されるべきノードを選択し、局所復旧計算をそれらの選択されたノードに限定するために、提案される方式において使用することができる。さらに、提案される威信指標決定方式は、有利には、ネットワークグラフ及び/又は経路木を含むデータ構造とともに使用することができる。
【0020】
いくつかの実施の形態において、ノード障害及び/又はエッジ障害から保護されるべき少なくとも1つのノードを選択することは、求められた指標値に基づいて、コンピュータネットワーク内の最大威信値を求めることと、求められた指標値と最大威信値との間の距離と、第2の所定の閾値との比較に基づいて、少なくとも1つのノードを選択することとを更に含む。
【0021】
いくつかの実施の形態において、ノードにおいて所定の期間中に少なくとも1つのデータトラフィック強度値を求めることは、ノードの隣接点ノードのうちの少なくとも1つから受信されたデータパケットの数に基づいて、それぞれのデータトラフィック強度値を求めることを含む。いくつかの実施の形態において、それぞれのデータトラフィック強度値は、そのノードの各隣接点ノードからそれぞれ受信されるデータパケットの数に基づいて求めることができる。
【0022】
1つ以上の実施の形態において、データ構造は経路木及びネットワークグラフを含み、方法は、経路木内の機能不全のノード及び/又はエッジの数と第1の所定の閾値との比較に基づいて、ノードに関する指標値を求めるために、経路木を使用するか、ネットワークグラフを使用するかを判断することを更に含む。
【0023】
1つ以上の実施の形態において、データ構造は、ノードからのデータがそれに従って根ノードによって収集される経路木を含み、ノードに関する指標値を求めることは、経路木の部分木内のノードに関して、ノードに向かうデータトラフィックの強度をそれぞれ表すトラフィック強度値を求めることと、少なくとも1つのパスの少なくとも1つのノードのトラフィック強度値に基づいて、部分木内のこの少なくとも1つのパスをアクティブパスと識別することと、部分木内のアクティブパスのそれぞれの長さの中の部分木最大長を求めることと、部分木最大長に基づいて、ノードに関する指標値を計算することとを含む。
【0024】
それゆえ、有利には、提案される方式とともに異なる指標を使用することができ、その指標は、データトラフィック強度値の使用と、そのコンピュータネットワークのために生成された経路木によって反映されるようなコンピュータネットワークのトポロジーとを組み合わせる。
【0025】
提案される方法は、有利には、データ構造がRPL経路選択データ構造を含む場合に、RPL方式と組み合わせることができるか、又はRPL方式とともに使用することができ、その場合、経路木はRPL経路木であり、ネットワークグラフは、宛先指向有向非巡回グラフ(DODAG)である。
【0026】
本主題開示の別の態様において、装置であって、この装置は、プロセッサと、このプロセッサに動作可能に結合されるメモリと、コンピュータネットワーク内で通信するネットワークインターフェースとを備え、装置は、本主題開示において提案されるようなネットワーク管理のための方法を実行するように構成される、装置が提案される。
【0027】
本主題開示の更に別の態様において、実行されるときに、メモリに動作可能に結合されるプロセッサを備える装置に、本主題開示において提案されるようなネットワーク管理のための方法を実行させる実行可能命令で符号化される非一時的コンピュータ可読媒体が提案される。
【0028】
本主題開示の更に別の態様において、コンピュータ可読媒体内に有形に具現されるコンピュータプログラムコードを含むコンピュータプログラム製品であって、このコンピュータプログラムコードは、コンピュータシステムに与えられ、実行されるときに、このコンピュータに、本主題開示において提案されるようなネットワーク管理のための方法を実行させる命令を含む、コンピュータプログラム製品が提案される。本主題開示の別の態様において、本明細書において提案されるようなコンピュータプログラムを、例えば、圧縮又は符号化することを通して表すデータセットが提案される。
【0029】
本発明は、限定はしないが、プロセス、装置、システム、デバイスとして、また、現時点で既知であるアプリケーション及び後に開発されるアプリケーションのための方法として含む、数多くの方法において実施し、利用できることは理解されたい。本明細書において開示されるシステムのこれらの、及び他の特有の特徴は、以下の説明及び添付の図面から、より容易に明らかになるであろう。
【0030】
添付の明細書とともに以下の図面を参照することによって、本主題開示がより深く理解され、その数多くの目的及び利点が当業者にとってより明らかになるであろう。
【図面の簡単な説明】
【0031】
【
図1a】1つ以上の実施形態による、提案される方法が適用される場合がある、DODAG経路選択構造の一例を示す図である。
【
図1b】1つ以上の実施形態による、提案される方法が適用される場合がある、例示的な対応する経路木を示す図である。
【
図2】1つ以上の実施形態による、保護されるべきノードの例示的な決定を示すブロック図である。
【
図3】1つ以上の実施形態による、威信指標値の例示的な計算を示すブロック図である。
【
図4】長期最大部分木指標の例示的な計算を示すブロック図である。
【
図5a】長期最大部分木指標ランキングを示すプロット図である。
【
図5b】短期最大部分木指標ランキングを示すプロット図である。
【
図5c】威信に基づくランキングを示すプロット図である。
【
図6】威信指標、短期最大部分木指標及び長期最大部分木指標の値のヒストグラムである。
【
図7】1つ以上の実施形態による、100メートル×100メートル内に180個のノードを例示的にランダムに展開する場合にネットワークグラフから計算される威信指標値を示す図である。
【
図8】1つ以上の実施形態による、例示的な威信管理手順を示すブロック図である。
【
図9a】1つ以上の実施形態による、所与のノードの周りのサイクル決定のための例示的な方式を示す図である。
【
図9b】1つ以上の実施形態による、所与のノードの周りのサイクル決定のための例示的な方式を示す図である。
【
図10】1つ以上の実施形態による、例示的なネットワークノードを示す図である。
【発明を実施するための形態】
【0032】
簡潔及び明確に例示するために、図面は構成の一般的な方法を示し、既知の機構及び技法の説明及び細部は、本発明の説明される実施形態の検討を無用に分かりにくくするのを避けるために省略される場合がある。さらに、図面内の要素は必ずしも縮尺どおりに描かれていない。例えば、図面内の要素のうちのいくつかの要素の寸法は、本発明の実施形態を理解しやすくするのを助けるために、他の要素に対して誇張される場合がある。現実世界の条件下であれば極めて対称性が低く、秩序正しくない可能性がある、直線、鋭い角度及び/又は平行な平面等を有する構造が示されるときのように、或る特定の図は、理解するのを助けるために理想的に示される場合がある。異なる図における同じ参照符号は同じ要素を表し、一方、類似の参照符号は、類似の要素を表す場合があるが、必ずしもそうとは限らない。
【0033】
さらに、本明細書における教示は、多種多様の形態において具現できること、及び本明細書において開示される任意の具体的な構造及び/又は機能は典型にすぎないことは明らかにすべきである。詳細には、本明細書において開示される態様を、任意の他の態様から独立して実施できること、及びいくつかの態様を種々の方法で組み合わせることができることは当業者には理解されよう。
【0034】
本開示は、1つ以上の例示的な実施形態による、方法、システム及びコンピュータプログラムの機能、エンジン、ブロック図及びフローチャートを参照しながら以下に説明される。ブロック図及びフローチャートの説明される各機能、エンジン、ブロックは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード又は任意の適切なその組み合わせにおいて実現することができる。ソフトウェアにおいて実施される場合には、ブロック図及び/又はフローチャートの機能、エンジン、ブロックは、コンピュータプログラム命令又はソフトウェアコードによって実施することができ、コンピュータプログラム命令又はソフトウェアコードは、コンピュータ可読媒体に記憶されるか、又はコンピュータ可読媒体を介して送信されるか、又は汎用コンピュータ、専用コンピュータ若しくは機械を作り出す他のプログラマブルデータ処理装置上にロードすることができ、それにより、コンピュータ又は他のプログラマブルデータ処理装置上で実行されるコンピュータプログラム命令又はソフトウェアコードが、本明細書において説明される機能を実施するための手段を生み出す。
【0035】
コンピュータ可読媒体の実施形態は、限定はしないが、1つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体及び通信媒体の両方を含む。本明細書において用いられるとき、「コンピュータ記憶媒体」は、コンピュータ又はプロセッサによってアクセスすることができる任意の物理的な媒体とすることができる。さらに、「メモリ」及び「コンピュータ記憶媒体」という用語は、限定はしないが、ハードドライブ、フラッシュドライブ若しくは他のフラッシュメモリデバイス(例えば、メモリキー、メモリスティック、キードライブ)、CD-ROM若しくは他の光記憶装置、DVD、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、メモリチップ(複数の場合もある)、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、スマートカード、若しくはコンピュータプロセッサによって読み出すことができる命令若しくはデータ構造の形でプログラムコードを搬送又は記憶するために使用することができる任意の他の適切な媒体、又はその組み合わせ等の、任意のタイプのデータ記憶デバイスを含む。また、種々の形のコンピュータ可読媒体は、ルーター、ゲートウェイ、サーバ又は他の伝送デバイスを含むコンピュータに、有線(同軸ケーブル、ファイバー、ツイストペア線、DSLケーブル)で、又は無線(赤外線、電波、セルラー、マイクロ波)で、命令を送信又は搬送することができる。命令は、限定はしないが、アセンブリ、C、C++、Python、ビジュアルベーシック、SQL、PHP及びJAVA(登録商標)を含む、任意のコンピュータプログラミング言語からのコードを含むことができる。
【0036】
具体的に他に明示されない限り、以下の説明を通して、処理、コンピューティング、計算、決定等の用語を利用する検討は、コンピューティングシステムのレジスタ又はメモリ内の電子的な量等の物理的な量として表されるデータを操作するか、又は、このデータを、コンピューティングシステムのメモリ、レジスタ若しくは他のそのような情報記憶装置、伝送デバイス若しくは表示デバイス内の物理的な量として同様に表される他のデータに変換する、コンピュータ、又はコンピューティングシステム、又は類似の電子コンピューティングデバイスの動作又はプロセスを指していることは理解されよう。
【0037】
「備える」、「含む」、「有する」及び任意のその変形のような用語は、非排他的包含を含むことを意図しており、それにより、要素のリストを含むプロセス、方法、物品又は装置は、必ずしもそれらの要素には限定されず、そのようなプロセス、方法、物品又は装置に明記されないか、又は固有でない他の要素を含む場合がある。
【0038】
さらに、「例示的な」という言葉は、本明細書において、「一例、事例又は例示としての役割を果たすこと」を意味するように使用される。「例示的」として本明細書において説明される任意の実施形態又は設計は、必ずしも、他の実施形態又は設計より好ましいか、又は有利であると解釈されるべきではない。
【0039】
以下の説明及び特許請求の範囲において、「結合される」及び「接続される」という用語は、その派生語とともに、2つ以上の要素が互いに直接、物理的若しくは電気的に接触しているか、又は2つ以上の要素が互いに直接接触していないが、それでも依然として互いに協働するか、若しくは相互作用することを示すために、違いなく使用される場合がある。
【0040】
本明細書において使用されるときに、「パケット」という用語は、ノード間、又は局間、又はネットワークにわたって転送又は送信される場合があるフレーム、データブロック、プロトコルデータユニット又は任意の単位のデータを含むことができる。パケットはビットのグループを含むことができ、グループは、例えば、1つ以上のアドレスフィールド、制御フィールド及びデータを含むことができる。データブロックは、任意の単位のデータ又は情報ビットとすることができる。
【0041】
本開示の場合に、「サーバ」という用語は、処理、データベース及び通信の設備を提供するサービス点を指すために、本明細書において使用される。一例であって、限定はしないが、「サーバ」という用語は、関連する通信、データ記憶及びデータベースの設備を備える、単一の物理的なプロセッサを指すことができるか、又はプロセッサ、並びに関連するネットワーク及び記憶デバイスと、サーバによって提供されるサービスをサポートするオペレーティングソフトウェア、並びに1つ以上のデータベースシステム及びアプリケーションソフトウェアとのネットワーク化された、又はクラスター化された複合体を指すことができる。サーバは、構成又は能力に関して大きく異なる場合があるが、一般的に、サーバは1つ以上の中央処理装置及びメモリを含むことができる。また、サーバは、1つ以上の大容量記憶装置、1つ以上の電源、1つ以上の有線若しくはワイヤレスネットワークインターフェース、1つ以上の入力/出力インターフェース、又はWindows Server、Mac OS X、Unix、Linux(登録商標)、FreeBSD等の1つ以上のオペレーティングシステムを含むこともできる。
【0042】
本開示の場合に、「コンピュータネットワーク」は、例えば、ワイヤレスネットワークを介して結合されるワイヤレスデバイス間を含む、デバイス間でデータ通信を行うことができるように、デバイス(本明細書において、「ノード」とも呼ばれる)を結合することができるネットワークを指すものと理解されたい。また、ネットワークは、ネットワーク接続型記憶装置(NAS)、ストレージエリアネットワーク(SAN)、又は例えば、他の形態のコンピュータ若しくは機械可読媒体等の大容量記憶装置を含む場合もあり、サーバを含むか、又はサーバに接続される場合がある。ネットワークは、インターネット、1つ以上のローカルエリアネットワーク(LAN)、1つ以上のワイドエリアネットワーク(WAN)、有線タイプ接続、ワイヤレスタイプ接続、事業者電話線等のセルラー、光ファイバー、同期光ネットワーク、同期デジタルハイアラーキリンク、電力線通信リンク(例えば、IEEE61334、IEEE P1901.2)、イーサネット(登録商標)、Bluetooth(登録商標)、Bluetooth Low Energy(BLE)若しくはBluetooth Smart、WiFi若しくはIEEE802.11xプロトコルに基づく任意の接続、ZigBee若しくはIEEE802.15.4プロトコルに基づく任意の接続、Z-Wave、6LowPAN(IPv6低電力ワイヤレスパーソナルエリアネットワーク)、Thread、Sigfox、Neul、LoRa、任意のNFC接続、2G(GSM(登録商標)/GPRS/EDGEを含む)/3G(UMTS/HSPAを含む)/4G(LTE及びLTEアドバンストを含む)/5Gセルラー、又はその任意の組み合わせを含むことができる。ネットワークにおいて使用される異なるアーキテクチャ又はプロトコルに対する相互運用能力を提供するために、種々のタイプのデバイス、例えば、ゲートウェイが利用可能である場合がある。本主題開示によれば、コンピュータネットワークにおいて、任意の数のノード、デバイス、装置、リンク、相互接続等が使用される場合がある。
【0043】
通信リンク又はチャネルは、例えば、アナログ電話回線、完全な、又は部分的なデジタル回線、衛星リンクを含むワイヤレスリンク、又は当業者に既知である場合がある等の他の通信リンク若しくはチャネルを含むことができる。
【0044】
ネットワークのコンピューティングデバイス、例えば、センサノードは、有線若しくは無線ネットワークを介して等、信号を送信若しくは受信できる場合があり、及び/又はデータを処理及び/又は記憶できる場合がある。
【0045】
コンピュータネットワークは、グラフG=(V,E)と記述することができる。ただし、グラフGの頂点の集合Vは、コンピュータネットワークのネットワークノードを表し、グラフGのエッジの集合Eは、コンピュータネットワークのネットワークノード間の通信リンクを表す。「無向グラフ」Gにおいて、頂点の対(v1,v2)は非順序対であるのに対して、「有向グラフ」(「方向指向グラフ」又は「DOG」とも呼ばれる)において、頂点の各対(v1,v2)は、例えば、v1が始点であり、v2が終点であるように、順序対である。
【0046】
本主題開示において、グラフGの頂点v1から頂点v2までの「パス」p(v1,v2)を用いて、頂点v1から開始し、頂点v2において終了する、頂点及びエッジの交互の配列を示すことができる。1つの頂点vから自らにつながるパスp(v,v)は「閉路」と呼ばれる場合がある。「サイクル」という用語は、本明細書において、閉路p(v,v)を示すために使用される場合があり、サイクルでは、全てのエッジが異なり、p(v,v)内に2回生じる唯一の頂点がvであり、vは厳密に2回生じる。
【0047】
本明細書において使用されるときに、「木」という用語は有向グラフを指しており、(「根」又は「コーディネーター」と呼ばれる)1つの頂点があり、根を除く、グラフの全ての頂点が、厳密に1つのエッジの終点(head)である。RPLの場合のように、木データ構造は、コンピュータネットワークに関連して、経路選択データ構造として使用することができ、ネットワークノードによって送信されるデータは、木の根に向かって転送される。vからwまでのパスが存在する木の2つのノード(頂点)v及びwに関して、vは、本明細書において、wの「先祖」と呼ばれることになり、wは、本明細書において、vの「子孫」と呼ばれる場合がある。(v,w)がエッジである木の2つのノード(頂点)v及びwに関して、vは、本明細書において、wの「父」と呼ばれることになり、wは、本明細書において、vの「息子」又は「子」と呼ばれる場合がある。
【0048】
グラフの頂点v1、又は木のノードw1の「隣接点」という用語は、グラフ上の頂点v1に、又は木上のノードw1に隣接する別の頂点v2、又はノードw2を示すために使用される場合があり、すなわち、グラフ内の2つの頂点v1とv2との間に、又は木内の2つのノードw1とw2との間に、グラフ内の頂点(又は木内のノード)を相互接続する1つ又はいくつかのエッジが存在する。「パス隣接点」又は「間接隣接点」という用語は、ネットワークグラフ又は木内のパスによって相互接続される2つの頂点又はノードを示すために同義で使用される場合がある。「直接隣接点」又は「直隣接点」という用語は、ネットワークグラフ又は木内の1つのエッジによってのみ相互接続される2つの頂点又はノードを示すために同義で使用される場合がある。別の言い方をすると、グラフG=(V,E)内のv1∈Vの直接隣接点である頂点v2∈Vごとに、(v1,v2)∈Eである。対応する木構造T=(V,ET)の場合、ET∈Eであり、w1∈Vの直接隣接点であるノードw2∈Vごとに、(w1,w2)∈ETである。
【0049】
本主題開示の実施形態は、様々な適用例において使用される場合があり、限定はしないが、特に、潜在的に多数のセンサが異なる場所(例えば、工場又は原子力発電所施設)における物理的条件又は環境条件、例えば、温度、圧力、エネルギー/電力資源及び/又は消費量、放射線、汚染物質等を協調して監視するセンサネットワークにおいて使用される場合があることは理解されたい。本主題開示はこの点において限定されないが、本明細書において開示されるネットワーク管理のための方法は、例えば、任意のLLNネットワーク、任意のモノのインターネット(IoT)ネットワーク若しくはシステム、任意のマシンツーマシン(M2M)ネットワーク若しくはシステム、例えば、センサネットワーク等のスマートオブジェクトネットワーク、又はその任意の組み合わせ等の、種々のトポロジーを有する数多くのタイプのコンピュータネットワークにおいて使用される場合があり、例えば、根ノード、ゲートウェイノード等のコンピュータネットワークの任意のネットワークノード内、又はコンピュータネットワークに接続されるか、又はコンピュータネットワーク内に含まれる任意のサーバ内等の、数多くの装置内で使用される場合がある。
【0050】
RPLは、ワイヤレスセンサネットワーク等のLLNネットワーク内のメッシュルーティングのために開発されたプロアクティブIPv6距離ベクトルプロトコルである。RPLは、ワイヤレスセンサネットワークのノードをネットワークコーディネーターノード(時として、DODAGの「根」又は「根ノード」とも呼ばれる)に接続する宛先指向有向非巡回グラフ(DODAG)構造を使用し、そのようなDODAG構造を構築する方式を記述する。RPLが使用される場合があるワイヤレスセンサネットワーク内のネットワークノードは、フル機能デバイス(FFD:full function device)とすることができ、その場合には、それらのデバイスはセンサ測定値を送信し、隣接するノードの測定値を中継し、又は限定機能デバイス(RFD:reduced function device)とすることができ、その場合には、それらのデバイスは、自らの測定値を送信するが、隣接するノードのデータを中継しない。コーディネーターは、ワイヤレスセンサネットワークのノードからデータを収集し、そのデータをパケットデータネットワークへのゲートウェイ、例えば、IPネットワーク、例えば、インターネットネットワークへのIoTゲートウェイに送信する。
【0051】
図1aは、DODAG経路選択構造の一例を示し、RFDノードである「葉」センサが濃い灰色の円板として示され、それは他のセンサからのデータを中継することなく、自らのセンサ測定値を送信するセンサノードである。FFDは、自らの測定値を送信し、隣接するセンサからの測定値を中継することができるノードであり、
図1aにおいて、薄い灰色の円板として示される。コーディネーターノードは、
図1aにおいて、四角で囲まれて示される。
【0052】
図1bは、
図1aのDODAGグラフに対応する、ネットワークのために生成された例示的な経路木を示す。
【0053】
DODAGグラフを構築するために、RPLコーディネーターは、DODAG情報オブジェクト(DIO)パケットと呼ばれるデータパケットを、自らの直接隣接点に、すなわち、自らの直隣接点に定期的に送信するように構成することができ、隣接点は、受信したDIOパケットを、自らの隣接点を介して、ネットワークの残りの部分に更に伝搬させる。DIOパケットは、送信者のRPLランク、RPLバージョン番号、RPL経路選択によって最小化されるべき目的関数(OF)等を含む、DODAGに関する情報を含む。
【0054】
RPLランクは、ネットワーク内のパケットの拡散の勾配を示し、すなわち、高いランク値は、コーディネーターから多いホップ数に位置するノード、例えば、葉ノードを示し、低いランク値は、コーディネーターから少ないホップ数に位置するノード、例えば、葉ノードのデータを中継しているFFDノードを示す。ネットワーク内のパケットの拡散は、高い方のランク値から低い方のランク値に行われる。
【0055】
DODAGの根であるコーディネーターのRPLランクは、0値に設定される。RPL経路木内の子ノードのRPLランクは、親ノードのRPLランクをインクリメントしており、各子は、自らのパケットを自らの親に送信している。
【0056】
DODAG構成中に、各ノードは以下のようにDODAG内の自らのランクを取得する。すなわち、各ノードはDIOメッセージをリッスンし、1ホップ近傍内の一組のノードを学習する。自らの最初のDIOメッセージを受信すると、各ノードはDODAGに参加し、受信した情報に基づいて自らのランクを計算し、自らのDIOメッセージ(自らの計算されたランクを含む)を送信し始める。
【0057】
DIOメッセージがそこから受信された一組の親を各ノードが動的に保持するので、RPLランク計算プロセスは動的であると見なすことができる。さらに、以下の基準、すなわち、好ましい親とのリンクが経路選択目的関数(routing objective function)を最小化すること、に基づいて、RPL経路木内の子のパケットを送信するために、各ノードによって好ましい親が動的に選択される。
【0058】
ワイヤレスセンサネットワークのための標準的な経路選択アルゴリズムに対するRPLの主な利点は、エネルギーを節約し、ネットワーク寿命を延ばすために、2011年3月にIETFによって発行された「The trickle algorithm」と題するRFC6206において記述されているトリクルアルゴリズムを使用することである。RFC6206に記述されているように、トリクルの原理は、ネットワークノードによって、経路メンテナンスの周期性を、トポロジー変化に局所的に適応させることである。
【0059】
以下において、密集したワイヤレスセンサネットワークを展開する非限定的な例が検討され、その例では、一組のN個のセンサノード(識別子、すなわち、IDによってネットワーク内でそれぞれ識別される)が領域R内に展開される。
【0060】
センサノードは、ネットワークのトポロジーを協調して学習するために、自らのそれぞれのワイヤレスカバレッジエリア内に、通常は定期的にビーコンパケットを送信するように構成される。例えば、ノードiのビーコンが隣接するノードjによって良質に受信される場合には、ワイヤレスセンサネットワークトポロジー内のノードiとノードjとの間に隣接点関係を規定することができる。発見されると、ノード間の種々の隣接点関係を、ネットワークを表すグラフ及び/又は木として編成されるデータ構造にグループ化することができる。
【0061】
密集したワイヤレスセンサネットワークの非限定的な例において、ネットワークグラフは、ネットワークのセンサを表す一組のネットワークノードVと、センサ間の関係を表す、異なるノードをリンク又は相互接続している一組のエッジとを含むグラフG(V,E)とすることができる。
【0062】
RPLは、中心性に基づく経路木T(V,E’)を構築するための方式を記述し、その方式は、低い方のランクを有するノードが高い方のランクを有するノードにとって好ましい親である場合には、それぞれのランクを有する2つのノードがエッジによってリンクされるように、エッジによってノードVをリンクする。経路木は、データが、ネットワークのセンサノードから、木の根ノードとして動作するネットワークコーディネーターに向かって収集されるように設計される。RPL経路木は、有利には、1つ以上の実施形態においてネットワーク管理のための提案される方法を実行するために使用することができる。
【0063】
図2を参照しながら、1つ以上の実施形態による、保護されるべきノードの決定が以下に説明される。保護されるべきノードは、以下において、「ハブ」と呼ばれる。
【0064】
提案される保護されるべきノードの決定は、有利には、ネットワーク内のアクティブパスへのそれぞれの寄与に基づいてハブを選択することを通して等、ネットワーク内の全パケット損失を最小化できるようし、ネットワークパスのアクティビティは、パス上のデータトラフィック強度の観点から考慮され、すなわち、パス上のデータトラフィック強度が高いほど、そのパスはアクティビティが高いと見なされる。1つ以上の実施形態において、選択されたハブは、ネットワーク内のアクティブパスに最も寄与するノード、すなわち、所定の時間フレーム(例えば、1秒あたりのデータトラフィック)中にネットワークにおいて最大量のトラフィックを中継するノードである。これらのノードが保護されなかったら、それらのノードのうちの1つ、又はそれらのノードに入る任意のエッジに機能不全があった場合に、結果として、ネットワークのセンサから到来するデータパケットに著しい損失が生じることになる。
【0065】
1つ以上の実施形態において、ネットワークのノードと、ネットワークの2つのノード間のそれぞれの隣接関係とを表すデータ構造が生成される(10)。データ構造は、例えば、ネットワークグラフ若しくは経路木(例えば、RPL経路木、すなわち、RPL RFCに従って構築された経路木)、又はその組み合わせを含むことができる。
【0066】
生成されたデータ構造は、ノードを通って流れるデータトラフィックの量に応じて、そのノードのためのデータ構造を用いて、複数のノードを備えるネットワークの一組のノードの各ノードに関する指標値(それは、以下において「インデックス」と呼ばれる場合もある)を取得する(11)ために使用することができる。別の言い方をすると、ネットワークのノードに関連付けられる値(同義で、ランク、インデックス又はスコアとも呼ばれる)を計算するために、異なる指標を個別に、又は互いに組み合わせて使用することができ、ネットワークの複数のノードの各ノードに対して指標値が求められる。
【0067】
1つ以上の実施形態において、ノードの指標値は、好ましくは、ノード自体において求められる場合があり、その場合に、ネットワークのノードによって求められる指標値は、中央ノード、ネットワークの経路木内の根ノード、又はゲートウェイ若しくはサーバに送信される場合があり、それらは全て、コンピュータネットワークを管理するための提案される方法を実行するように構成することができる。
【0068】
求められた指標値は、ノード自体の障害、及び/又はそのノードとネットワークの別のノードとの相互接続の障害から保護されるべき少なくとも1つのノードを選択する(12)ために使用することができる。
【0069】
1つ以上の実施形態において使用することができる指標の第1の例は、以下において「威信指標」と呼ばれ、ここで説明される。
【0070】
いくつかの実施形態において、ネットワークのハブの決定は、保護されるべきノードがその中から選択されることになるネットワークの一組のノードの各ノードについて、そのノードが関与するデータトラフィックの強度に関する威信値が求められる他のノードに対して、そのノードの重要度又は威信を特徴付けるランク、レベル、値を求めることに基づくことができる。例えば、1つ以上の実施形態において、それぞれの威信値を計算するために使用される指標は、場合によってはノードの隣接点の或る領域から、そのノードを通って流れるデータトラフィックの量を反映することができる。
【0071】
ネットワークを表すデータ構造が生成され、そのデータ構造がネットワークのモデルとして経路木及び/又はグラフを含むいくつかの実施形態において、ノードの重要度値又は威信値は、経路木のアクティブ部分木内、又はネットワークグラフのアクティブサブグラフ内のノードの中心性の計算を用いて求めることができ、アクティビティは、データトラフィックアクティビティを測定する基準である。ノードがアクティブ部分木に寄与していない場合には、その重要度値は0であり、そうでない場合には、経路木及び/又はネットワークグラフ内で求めることができるノードの威信インデックスによって、その中心性を与えることができる。
【0072】
1つ以上の実施形態において、例えば、
図3によって示される以下の非限定的な方式のうちの1つにおいて説明されるように、威信指標値の計算においてトラフィック強度データを使用することができる。
【0073】
ワイヤレスセンサネットワークのノードiに関する威信変数x(i)は計算ループを用いて計算することができ、カウンター値(k)をインクリメントする(25)たびに、威信変数値xk(i)を計算するために計算ループの繰り返しkが実行され、カウンター値は、所定の期間(例えば、約1秒の持続時間)に基づいて周期的に、又は実質的に周期的にインクリメントすることができる。第1のループの繰り返し(k=0)(26)において、威信変数値x0(i)は、例えば、所定の値に、又は乱数値に初期化することができる(20)。
【0074】
ループ初期化繰り返し以外(k≧1)の各ループ繰り返しは、インデックスiのネットワークノードに関して、以下を含むことができる。
【0075】
ノードiの一組N(i)のノード隣接点内の隣接するノードjごとに、データ構造(経路木、例えば、RPL経路木を含むことができる)内の自らの隣接するノードjからノードiによって受信されたデータパケットの数Aj,iが、例えば、ノードi自体によって計算され(21)、ノードiは、実行されるループの繰り返しに対応する所定の持続時間中に自らの隣接点ノードjから受信するパケットの数をカウントすることができる。この所定の持続時間は、例えば、少なくとも1つのトポロジー更新期間、すなわち、約1秒の時間に対応することができる。いくつかの実施形態において、威信変数値を求めるために使用されるノードiの隣接点は、ノードiの直接隣接点のうちの1つ以上に限定することができる。
【0076】
その後、各隣接点ノードから受信されるパケットの数を用いて、例えば、全ての隣接点jの場合の数Aj,iの和:A=Σj∈N(i)Aj,iとして、その隣接点からノードiにおいて受信されるパケットの全数を計算することができる(22)。
【0077】
それぞれの威信値の計算は、ネットワークの各ノードiが、先行する繰り返しに関する自らの威信変数(ノードiに関するxk-1(i))を隣接するノード(j)のうちの1つ又はいくつかに送信することができる(23)という点で、協調的とすることができる。ノードiの一組N(i)のノード隣接点内の隣接するノードjも、先行する動作に関する自らの威信変数(隣接点jに関するxk-1(j))をノードiに送信することができるので、ノードiは、自らの隣接点(j)から、ループの先行する繰り返しに関するそれぞれの威信変数を受信することができる(23)。
【0078】
その後、威信変数値xk(i)は、対応する隣接点ノードから受信された先行する繰り返しの威信変数値xk-1(i)によって重み付けされた各隣接点ノードから受信されたパケットの数を用いて更新(24)として取得することができる。これは、有利には、威信値に関する協調計算方式を提供し、ノードの威信は、これらの隣接点に関するそれぞれの威信値を考慮に入れながら、その隣接点から生じるそのノードにおけるデータトラフィックを反映する。
【0079】
1つ以上の実施形態において、繰り返しkにおけるノードiに関する威信変数x
(k)(i)は以下のように計算することができる。
【数1】
ただし、x
(k-1)(j)は隣接点ノードjに関する繰り返し(k-1)における威信変数の値であり、N(i)は、データ構造(実施形態に応じて、経路木、例えば、RPL経路木及び/又はグラフを含むことができる)内のノードiの一組の隣接点である。
【0080】
いくつかの実施形態において、例えば、
【数2】
として取得される、ノードiに関する正規化されたトラフィック強度値が、繰り返しkにおけるノードiに関する威信変数(x
(k)(i))の更新時に、トラフィック強度値A
j,iの代わりに使用される場合がある。
【数3】
【0081】
そのような場合に、パラメーター
【数4】
は、ノードiに関する正規化されたトラフィック強度である。
【0082】
他の実施形態では、ノードiの威信変数に影響を及ぼす、データ構造、すなわち、経路木又はグラフの深さを考慮に入れるために、上記の計算のうちの1つにおいて、例えば、0~1の値を有するディスカウントパラメーターαが導入される場合がある。
【0083】
その際、繰り返しkにおけるノードiのための威信変数x
(k)(i)は以下のように計算することができる。
【数5】
又は
【数6】
ただし、x
(k-1)(j)は隣接点ノードjに関する繰り返し(k-1)における威信変数の値であり、N(i)は、データ構造(実施形態に応じて、経路木、例えば、RPL経路木及び/又はグラフを含むことができる)内のノードiの一組の隣接点であり、αは、ノードiの威信変数に影響を及ぼすデータ構造の深さを決定するディスカウントパラメーターである。パラメーターαは、0≦α≦1と定義することができ、上記の方式を用いて威信値が計算されるノードiごとに所定の値を有するか、又は実施形態に応じて、これらのノードのそれぞれの場合に決定される個別の値α(i)を有する。
【数7】
又は
【数8】
【0084】
1つ以上の実施形態において、パラメーターαは0≦α(j)≦1と定義することができ、すなわち、上記の方式を用いて威信値が計算されるノードiの隣接点であるノードjごとに異なる場合がある。
【数9】
又は
【数10】
【0085】
パラメーター
【数11】
はノードiに関する正規化されたトラフィック強度と見なすことができる。
【0086】
1つ以上の実施形態において、計算された威信変数値xk(i)は、メモリに記憶することができ(27)、ループが中止されるべきであるか、又は更なる繰り返しが実行されるべきであるかを判断するために、その後、先行する繰り返しから取得された値xk-1(i)と比較することができる。
【0087】
1つ以上の実施形態において、2つの連続した繰り返しに対応する2つの威信変数値間の比較は、2つの値間の距離を計算することと、その距離を所定の閾値εと比較すること(28)とを含むことができる。いくつかの実施形態において、ループは、距離値が閾値ε未満であると判断すると完了したと見なすことができ、反対に、距離値が閾値εより大きいと判断すると、別のループの繰り返しが実行されるべきであると判断することができる。
【0088】
例えば、威信変数の学習は、1つ以上の実施形態において、以下の条件が実現されたと判断すると中止される場合がある。
【数12】
ただし、εは、威信変数のための精度パラメーターであり、関数|x|は絶対値関数である。
【0089】
1つ以上の実施形態において、ループ中止基準は、ループ繰り返しインデックスkが所定の閾値より大きいときにのみ有効にされる場合がある。
【0090】
ループを中止できると判断すると、最後の繰り返しの場合の威信変数値xk(i)を、ノードiに関する現在の威信値Piとしてメモリに記憶することができる(29)。
【0091】
コンピュータネットワークのノードに関する提案された威信値は、有利には、グラフ又は経路木等の、コンピュータネットワークを表す任意のデータ構造を用いて計算することができ、グラフ又は経路木のタイプに関するいかなる制限もない。
【0092】
1つ以上の実施形態において、提案される方法に従ってノードに関する指標値を求めることは、データ構造内のそのノードの周りの第1の領域内のノードに関して、そのノードに向かうデータトラフィックの強度をそれぞれ表す値を求めることと、データ構造内のそのノードの周りの第2の領域内の平均全トラフィックを計算することと、平均全トラフィックと、データ構造内のそのノードのノード隣接点に関する少なくとも1つの隣接点インデックス変数値とに基づいて、そのノードに関するインデックス変数値を計算することと、そのインデックス変数値に基づいて、そのノードに関する指標値を計算することとを含むことができる。いくつかの実施形態において、その方法は、連続した少なくとも第1のインデックス変数値及び第2のインデックス変数値を計算するためのインデックス変数値を計算する少なくとも2回の繰り返しを実行することと、第1のインデックス値と第2のインデックス値との間の差に基づいてインデックス値を求めることとを更に含むことができる。この方法は、有利には、集中方式において、例えば、ネットワークの或る特定のノード、例えば、コンピュータネットワークの経路木の根ノードによって、又はコンピュータネットワークに接続される遠隔したサーバ若しくはゲートウェイノードによって実行することができる。この方法は、有利には、分散方式において、すなわち、指標値が計算されることになるコンピュータネットワークの各ノードによって更に実行することができる。
【0093】
一態様によれば、本開示は、実施形態に応じて、経路木及び/又はグラフを含むことができるデータ構造によって表されるコンピュータネットワーク内のノードに関する(いわゆる、威信)指標値を求める方法を更に提案し、提案される方法は、ループの繰り返しを実行することを含み、繰り返しは、そのノードにおいて所定の期間中に少なくとも1つのデータトラフィック強度値を求めることと、データ構造内のそのノードのノード隣接点に関する少なくとも1つの隣接点インデックス変数値を受信することと、少なくとも1つのデータトラフィック強度値と、データ構造内のそのノードのノード隣接点に関する少なくとも1つの隣接点インデックス変数値とに基づいて、そのノードに関するインデックス変数値を計算することと、そのインデックス変数値に基づいて、そのノードに関する指標値を計算することとを含む。
【0094】
提案される方法は、有利には、分散方式において、すなわち、指標値がそのノードに関して計算されることになる、コンピュータネットワークの各ノードによって実行することができる。本主題開示の別の態様によれば、プロセッサと、プロセッサに動作可能に結合されるメモリとを備える、コンピュータネットワーク内のネットワークノードとして機能するように構成される装置も提案され、プロセッサは指標値を求める上記の方法を実行するように構成される。
【0095】
1つ以上の実施形態において、ハブは、求められた威信値に基づいて、ネットワークノードの中から選択することができる。例えば、保護されるべきであるネットワークのハブは、ハブ及び/又はハブの相互接続における障害の発生時にネットワーク内の全パケット損失を最小化するために、(ネットワーク内の最大威信値に対して)高い威信値を有するノードとして選択することができる。
【0096】
1つ以上の実施形態において、自らの威信値Piを求めた各ノードiは、自らの威信値を、受信された威信値の中の最大威信値Mxを判断する所定のノード(例えば、ネットワークのために生成された経路木の根ノード)、ネットワークに接続されるゲートウェイ又はサーバに送信する。
【0097】
他の実施形態では、最大威信値は、複数のノードの中で協調的に決定することができ、それは、例えば、非常に密集したネットワークの場合にコストの理由から、ネットワーク内に展開される各ノードの計算能力が限られている実施形態において有利である。
【0098】
例えば、一実施形態において、複数のノードが、求められた威信値の中から最大値を協調して計算し、各ノードは、隣接するノードから受信された威信値と自らの威信値との間で威信値の最大値を求める。ノードは、この最大値をその近傍に送信する。ノードの威信値が隣接するノードから受信された最大値に等しい場合には、そのノードは、ネットワーク内の最大威信値を有するノードと特定される。
【0099】
別の実施形態では、威信値の最大値の計算(ノード間の協調方式)は、コンセンサス平均化(consensus averaging)技法を通して、値
【数13】
、すなわち、それぞれの威信値のa乗の和を協調して計算することを含み、ただし、aは高い(例えば、10に等しい)値であり、P
iはノードiの威信値である。威信値の最大値は、
【数14】
として取得することができる。
【0100】
場合によっては上記のような協調的な方式において、最大威信値が求められると、各ノードiは、例えば、自らの威信レベルPiが以下の条件、すなわち、|Pi-Mx|≦l(i)及び|Pi-Mx|≦lの一方又は両方(実施形態による)を満たすか否かを検証することによって、自らが保護されるべき一組のノードに参加できるか否かに関する判断を行うように構成することができる。ただし、閾値lは、ネットワーク内の全てのノードの場合に一定であり、ネットワークの運用及び保守機能によって決定されるか、又はそのノードのためにあらかじめ構成することができるか、若しくは、例えば、そのノードiの威信の時間変動に応じてノードによって動的に選択することができる変数閾値l(i)である。
【0101】
いくつかの実施形態において、ノードはクラスター化することもでき、すなわち、それぞれの威信値に基づいて、クラスターにグループ分けすることができる。例えば、ノードクラスターは、MacQueen「Some methods for classification and analysis of multivariate observations」(Proceedings of the fifth Berkely symposium on mathematical statistics and probability, vol. 1, No. 14, pp. 281-297, June 1967)に記述されているアルゴリズム等のK平均タイプのアルゴリズムを用いて形成することができる。そのような場合に、クラスターは、クラスター内の平均威信からのノードのそれぞれの威信値の距離に基づいて形成することができる。その後、クラスターのクラスターヘッドを、保護されるべきノードとして選択することができる。
【0102】
1つ以上の実施形態において、コンピュータネットワークに対応するデータ構造が経路木を含み、その経路木に従って、ノードからのデータが経路木の根ノード(本明細書において、コーディネーターノードとも呼ばれる)によって収集される場合には、ネットワークのハブ、すなわち、保護されるべきネットワークのノードを判断するために、上記の威信指標とは異なる指標を使用することができる。そのような指標は、「長期最大部分木指標(long-term maximum subtree metric)」と呼ばれる場合があり、ハブとしての潜在的な選択のために、検討対象の(例えば、ノードID iの)ノードを根とする部分木内で求められた最大ホップ数を使用する。
【0103】
いくつかの実施形態において、求められた最大ホップ数は、例えば、ネットワーク内の最大長を有するパスに対して正規化することができ、すなわち、コーディネーターノードへの最長パスの長さと定義される木の高さで割ることができる。
【数15】
左辺:長期最大部分木指標(i)
右辺の分子:max(iを根とする部分木内のホップ数)
右辺の分母:木の高さ
【0104】
1つ以上の実施形態において、長期最大部分木指標値の決定は、経路木の部分木内の最大ホップ数を求めることであって、そのノードは部分木の根に対応することと、経路木内の根ノードへのパスのそれぞれの長さの中の木最大長を求めることと、木最大長によって正規化された最大ホップ数に基づいて、そのノードに関する指標値を計算することとを含むことができる。
【0105】
1つ以上の実施形態において、長期最大部分木指標値の決定は、経路木の部分木内のパスのそれぞれの長さの中の部分木最大長を求めることであって、そのノードは部分木内の根に対応することと、部分木最大長に基づいて、そのノードに関する指標値を計算することとを含むことができる。
【0106】
図4は、コンピュータネットワーク30内のノードIDw
2を有するノードに関する長期最大部分木指標の一例を示す。
図4において、直接の隣接関係が2つのノード間の実線によって表され、間接的な(又はパス)隣接関係が、2つのノード間の破線によって表される。
図4に示されるように、ノードw
2は部分木31の根であり、ノードIDw
3を有する単一の子ノードを有し、子ノード自体は2つの子ノード(IDw
4及びw
5をそれぞれ有するノード)を有する。ノードw
2を根とする部分木31内の最大ホップ数は2に等しい。その図において、ノードw
2は、直接パス(単一ホップのパス)を通ってコーディネーターノード(ID cを有する)に接続される。その図の左側には木の高さ32、すなわち、コーディネーターノードcへの最長パスが表されており、それは間接的なパス(破線によって表される複数ホップのパス)を通ってコーディネーターノードcに接続される。ノードwoは、下方に(すなわち、根cにつながる方向とは反対の方向において)、葉ノード(図に示されない)を有する部分木33にも接続される。
図4に示される例において、ノードw
2に関する長期最大部分木指標は以下のように求められる。
【数16】
左辺:長期最大部分木指標(w2)
右辺の分母:木の高さ
【0107】
長期最大部分木指標は、経路木のトポロジー特性を考慮し、必ずしもコンピュータネットワークのノードのデータトラフィックアクティビティを考慮しないので、基本的に、トポロジーに基づくパス指標と見なすことができる。この点で、長期最大部分木指標は、ノードのデータトラフィックアクティビティを明確に考慮に入れる最初に説明された威信指標とは異なる。なぜなら、この威信指標は、ノードを通り過ぎるトラフィックを用いてそのノードに関して決定されるためである。
【0108】
ハブの選択のために、それに関する指標が決定されるノードのデータトラフィックアクティビティを考慮に入れながら、経路木のトポロジー特性を使用する指標を決定するために、1つ以上の実施形態において、上記の威信指標及び長期最大部分木指標の種々の組み合わせを検討することもできる。
【0109】
例えば、ノードiを根とする経路木の部分木内の最長アクティブパスの長さとして、(ノードID iの)所与のノードのための「短期最大部分木」指標(経路木内のデータトラフィックを考慮に入れるという点で短期)を求めることができる。この場合、ノードiを根とする部分木内の最長パスを用いて規定される長期最大部分木指標とは対照的に、短期最大部分木指標は、そのような部分木内の最長アクティブパスを使用する。部分木内のアクティブパスは、そのパス内に含まれるノードのデータトラフィック強度に基づいて識別することができる。例えば、部分木内のパスは、所定の閾値より高いデータトラフィック強度を有するパスの少なくとも1つのノードに基づいて、アクティブパスと識別することができる。それゆえ、アクティブパスの長さは、いくつかの実施形態において、そのパス内に含まれるノードのデータトラフィック強度を考慮することによって計算することができる。ネットワークノードにおけるデータトラフィック強度は、威信指標に関して説明されたノードiに関するトラフィック強度値を用いて求めることができる。1つ以上の実施形態において、短期最大部分木指標は、例えば、コンピュータネットワーク内のトラフィック強度の和に関して正規化することができる。
【0110】
1つ以上の実施形態において、短期最大部分木指標値の決定は、経路木の部分木内のノードに関して、そのノードに向かうそのデータトラフィックの強度をそれぞれ表すトラフィック強度値を求めることと、少なくとも1つのパスの少なくとも1つのノードのトラフィック強度値に基づいて、部分木内の少なくとも1つのパスをアクティブパスと識別することと、部分木内のアクティブパスのそれぞれの長さの中の部分木最大長を求めることと、部分木最大長に基づいて、そのノードに関する指標値を計算することとを含むことができる。
【0111】
その実施態様によれば、威信指標、長期最大部分木指標及び短期最大部分木指標はそれぞれ、単独で使用することができるか、又は指標間の違いを利用するために、他の2つの指標のうちの一方若しくは両方と組み合わせて、又は別の指標と組み合わせて使用することができる。例えば、威信指標と短期最大部分木指標との違いは、威信指標に関して上記で説明されたディスカウントパラメーターαが検討対象のノード(ノードi)の周りの領域内のデータトラフィックを考慮できるようにし、その領域はディスカウントパラメーターαを用いて求めることができ、一方、短期指標は、トラフィックのディスカウントを考慮しないが、検討対象のノード(ノードi)に付随するトラフィックを考慮する、すなわち、そのトラフィックをノードiの周りの領域から到来しているトラフィックに限定しないことである。
【0112】
図5a、
図5b及び
図5cはそれぞれ、威信に基づくランキング(
図5c)、長期最大部分木指標ランキング(
図5a)及び短期最大部分木ランキング(
図5b)のプロットを示す。
図5a、
図5b及び
図5cに示される評価において考慮される展開は、100メートル×100メートルカバレッジ領域内に展開された180個のノードのテストシナリオである。
【0113】
長期最大部分木指標(
図5aに対応する)を短期(トラフィックに基づく)最大部分木指標(
図5bに対応する)と比較する際に、長期最大部分木指標を使用する結果として、(ノードの全数に対して)高/中ランキングを有する著しい数のノードが生じ、一方、短期最大部分木指標を使用する結果として、(ノードの全数に対して)著しい数の低ランキング/非アクティブのノードを有することを確認することができる。
【0114】
図5bの短期最大部分木指標の性能を、ディスカウントパラメーターα=0.3の場合に、そして、間隔[0,20パケット]から取り込まれた強度を有する、すなわち、最低の場合、ノードが非アクティブであり(毎秒0パケットを送信している)、最大の場合、ノードが毎秒20パケットを送信している、ランダムポアソントラフィックの場合に計算された威信に基づくランキングの性能と比較する際に、短期最大部分木ランキング(
図5bに対応する)及び威信に基づくランキング(
図5cに対応する)と比べて、長期最大部分木ランキング(
図5aに対応する)の場合のランキング値の変動が大きいことを確認することができる。
【0115】
ディスカウント係数αは、以下のように、ノードiの周りの最大ホップ数hに変換することができる。すなわち、ノードkが最大トラフィック強度、すなわち20kbpsにおいて送信している場合には、そのトラフィックは、20αh=1として、威信計算において考慮に入れられる。そのシナリオにおけるホップ数の値は、ディスカウント係数α=0.3の場合に、h=2.48≒3として計算することができる。
【0116】
短期ランキング方式と威信に基づくランキング方式との比較に関して、威信に基づくランキングは、短期最大部分木指標と比べて、低い変動性を示し、すなわち、高/中威信値を有するノードの数が少ない。
【0117】
図6は、威信指標、短期最大部分木指標及び長期最大部分木指標の値のヒストグラムを示しており、それらの結果を反映する。実際には、
図6において、(トポロジーに基づく)長期最大部分木指標の場合に最も高い指標変動性が得られることを確認することができる(
図6において丸印を有する実線の曲線)。したがって、これらのノードはほとんど最大ランキングに基づいているので、長期最大部分木指標を使用することは、ネットワークのハブを決定する待ち時間を長くする場合があると予想することができる。また、長期最大部分木指標を使用することは、これらのノードの保護を複雑にする場合もある。
【0118】
図6において、短期最大部分木ランキング性能を威信に基づくランキング性能と比較するとき、短期最大部分木の場合の中ランキングのノードの数(菱形印を有する一点鎖線)が、威信に基づくランキングの場合の中ランキングを有するノードの数(四角印を有する破線)より高いことを確認することができる。したがって、他の2つの指標(長期最大部分木指標及び短期最大部分木指標)と比べて、威信に基づくランキングの場合に、入手可能である高ランキングを有するノードの数が少ないので、威信指標を使用することは、有利には、ネットワークのハブを見つける複雑さを緩和することによって、システムの適応性を改善できると予想することができる。
【0119】
提案される指標の別の利点は、経路木を含むデータ構造が使用される実施形態において、それらの指標を、ネットワーク経路木内の隣接点にわたるコンセンサス平均化技法として実現できることである。
【0120】
1つ以上の実施形態において、ノードiの威信は、以下のように、経路木を用いて計算することができる。すなわち、ノードiの周りの領域内のノードが、自らの送信のトラフィック強度(Aj,i)をノードiと交換している。その後、それらのノードは、コンセンサス平均化を通して、上記のディスカウントパラメーターαによって制御される領域において平均全受信トラフィックを協調して計算することができる。この結果として、上記のように、ノードiに関する威信値Piが取得される。したがって、本主題開示の実施形態の場合に上記で説明されたように、ネットワークのハブを、最大威信を有するノードとして協調して識別することができる。
【0121】
これらの木に基づくハブ選択方式は、ネットワーク内の障害の数が相対的に少ない場合に、結果として、経路木内の機能不全のノード/エッジの数が相対的に少ない場合に効率的であると見なすことができる。経路木内の障害の数が増加するとき、ネットワーク内のハブを識別するために、経路木の代わりにネットワークグラフを使用することが好ましい場合がある。実際には、ネットワーク内の障害の数が著しい場合に、そのような障害は依然として、結果的に経路木内の機能不全のノード/エッジになるので、経路木内のより多くの数のノード/エッジが機能不全になることにより、経路木が切断される場合があり、経路木の再構成が必要とされる場合がある。その際、特に経路木再構成を回避するために、代わりにネットワークグラフを用いて威信値を求めようと考える方が効率的であると見なすことができる。
【0122】
この関連で、上記の威信値決定方式は、有利には、経路木又はネットワークグラフのいずれかを用いて実行することができる。
【0123】
図7は、
図5a、
図5b及び
図5cの場合のように、180個のノードをランダムに展開する場合のネットワーク内の典型的な威信分布を示し、100メートル×100メートル内に180個のノードをランダムに展開する場合にグラフから計算される威信指標値を示す(図において、薄い色調は高い威信レベルに対応し、暗い色調は低い威信レベルに対応する)。
【0124】
経路木の代わりに、ネットワークグラフを用いて威信計算を実行することは、有利には、ネットワーク内の耐障害性を改善する。実際に、大規模なモノのインターネット(IoT)ネットワーク展開においてエッジ障害の数が多くても、グラフ内の威信計算に影響を及ぼさないが、その一方、経路木を使用するとき、エッジ障害の数が多いと、威信を大きく変更する可能性がある。木に基づく威信とグラフに基づく威信との違いは、威信計算のための隣接するノードN(i)の定義である。すなわち、木に基づく威信計算の場合に、N(i)は経路木内のノードiの一組の隣接点であり、一方、グラフに基づく威信計算の場合に、N(i)はネットワークのグラフ内のノードiの一組の隣接点である。
【0125】
1つ以上の実施形態において、威信は、経路木内又はグラフ内のノード間の送信パケットの数の伝搬によって、ネットワークグラフ又は経路木のいずれかを用いて、定期的に求めることができる。ノードiの威信の変化は、ノードiの近傍内の接続障害、近傍内の著しい数のノードに関するトラフィック変動、又はその両方を示す場合がある。ワイヤレスセンサネットワークの場合、パケットが小さく、ノードの測定報告の周期性が既知であると仮定することができる。ノード障害とトラフィック変動とを区別する1つの方法は、測定報告の周期で威信を監視することである。いくつかの実施形態において、ノードiが隣接するノードjに自らの測定値を送信するたびに、上記の威信関係を用いて、局所威信変数x(k)(i)が更新される。
【0126】
いくつかの実施形態において、ノードiのノード障害イベントは、著しい数の測定期間、例えば、所定の閾値を超える数の測定期間にわたって、ノードiに関する威信x(k)(i)の低下が得られた場合に(例えば、少なくとも20回の連続した威信計算期間、すなわち、約20秒にわたって威信の定常的な低下が測定される場合に)検出される場合がある。それゆえ、威信計算はまた、有利には、数多くの測定期間にわたる威信の定常的な低下を通してノード障害を識別する便利な方法を提供する。障害を識別する別の方法は、ネットワーク内のトラフィックが一定であると仮定して、威信低下の大きさを考慮することである。例えば、ノードiの威信が、所定の閾値を超える値だけ突然低下する場合には、そのような低下はノード障害を示すと解釈することができ、そのイベントは本明細書で以下において「被検出障害」と呼ばれることになる。
【0127】
1つ以上の実施形態において、ネットワーク内で被検出障害の数を監視することができ、被検出障害の数が少ない(例えば、被検出障害の数が所定の閾値未満である)と判断される場合には、経路木を用いて、ノードの威信を監視することができる。被検出障害の数が多い(例えば、被検出障害の数が所定の閾値を超える)と判断される場合には、威信の計算及び監視はグラフに基づくことになる。
【0128】
経路木を用いて計算するにしても、ネットワークグラフを用いて計算するにしても、高い威信値を有するノード、すなわち、ネットワークノードの中の威信レベルの最大値に近い威信値を有するノードは、ネットワーク内でサイクルによって保護されるべきノードと識別することができる。
【0129】
図8は、コンピュータネットワーク内の上記の汎用威信管理手順の例示的な実施形態を示す。
【0130】
威信指標値の計算は最初に経路木を用いて実行され(40)、その後、ネットワーク内の被検出障害の数が監視される(41)。被検出障害の求められた数が所定の閾値を超えており、それにより、高いレベルにあると見なされる場合には、威信値の変化が、経路木の代わりに、ネットワークグラフを用いる計算(42)により監視される。被検出障害の求められた数が所定の閾値より少ないままであり、それにより、高いレベルにないと見なされる場合には、威信値の変化は、経路木を用いる計算(40)で引き続き監視される。
【0131】
威信指標値を計算すると、経路木を使用するにしても、ネットワークグラフを使用するにしても、本主題開示の実施形態のうちの1つによれば、計算された威信指標値に基づいて、ネットワークのノードの中の保護されるべきノードが選択される(43)。
【0132】
本主題開示は、保護されるべきノードの周りのサイクルを特定する、すなわち、選択されたハブの周りの局所復旧候補を規定するための方式を更に提供する。
【0133】
グラフ内の特定のノードの周りでサイクルを見つけることは、特定のノード技法の周りの上記の深さ優先探索(DFS)によって一般的に解かれるグラフ理論問題である。N個のノード及びE個のエッジからなるグラフの場合のDFS技法の計算量は、ネットワーク内の特定のノードの周りのサイクルを見つける場合に、最悪時にO(N+E)である。この計算量は基本的にグラフを横断することに、すなわち、サイクルが見つけられるまで、ノードの隣接点を探索及び評価することに起因する。最悪の場合、ノードの数Nが探索され、グラフの異なるエッジが評価される。
【0134】
図9a及び
図9bは、1つ以上の実施形態による、所与のノードの周りのサイクル決定のために提案される方式を示し、コンピュータネットワークを表すデータ構造が、例えば、RPL経路選択等の経路木を含み、その経路木に従って、データが複数のノードからコンピュータネットワークの根ノードまで送信される。
図9a及び
図9bにおいて、直接隣接関係が2つのノード間の実線で表され、間接(又はパス)隣接関係が2つのノード間の破線で表される。
【0135】
提案されるサイクル決定方式は、有利には、本主題開示の1つ以上の実施形態に従って選択されるような、ハブに、すなわち、ノード障害及び/又はエッジ障害から保護されるべきノードに適用することができる。そのような場合に、決定されたサイクルは、保護されるべきノードを包囲する保護パスとしての役割を、すなわち、保護されるべきノード及び/又はそのエッジの障害の発生時に使用可能な、局所復旧サイクルとしての役割を果たすことができる。
【0136】
図9a及び
図9bを参照すると、保護されるべきノード(
図9bのノードw)の先祖(
図9aのノードw
1)が選択され、その後、保護されるべきノードの隣接点ノード(
図9aのノードw
n)が識別され、ただし、隣接点ノードw
nの先行点集合、P
C(w
n)と、先祖ノードw
1の先行点集合との間の交わりが最大化されるという制約が課せられる。ネットワークノードwの先行点集合P
C(w)は、ネットワークノードwから経路木の根ノードに向かう一連のノードと定義することができる。例えば、ノードw
1は保護されるべきノードの経路木内の先祖であるので、保護されるべきノードは、その先祖ノードw
1の先行点集合P
C(w
1)に属する。
【0137】
1つ以上の実施形態において、隣接点ノードw
nは、保護されるべきノードwの隣接点ノードの集合WN(WN(w)={w
n1,w
n2,...,w
nN})を形成するN個の隣接点ノード(N≧2)を識別し、集合WNの隣接点ノードのためのそれぞれの先行点集合(P
C-WN(w)={P
C(w
n1),P
C(w
n2),...,P
C(w
nN)})を求め、交わりが最大化される隣接点ノードを選択するために、求められた先行点集合ごとに、先祖ノードw
1の先行点集合との交わりP
C(w
nk)∩P
C(w
1)を調べることによって識別することができる。
【数17】
【0138】
1つ以上の実施形態において、隣接点ノードwnの探索は、先祖ノードの先行点集合と隣接点ノードの先行点集合との間の交わりが最大化されるという制約を課して実行することができる。
【0139】
図9aを参照すると、ノードwの先祖はノードw
1であり、それはノードwからの下流にある。
【0140】
1つ以上の実施形態において、提案される方式は、コンピュータネットワークを表す木、例えば、経路木から選択されるのとは対照的に、コンピュータネットワークを表すグラフから選択された隣接点を用いて実施することができる。
【0141】
1つ以上の実施形態において、対象とするノードのための保護サイクルは、3個組(w1,wn,wi)から取得することができる。ただし、wiは、先行点集合PC(w)とPC(wn)との間の交わり集合内の最後のノードである。最後のノードは、根ノードに向けられる交わりパスの最初のノードと定義することができ、交わりパスは、先祖ノードw1の先行点集合と隣接点ノードwnの先行点集合との間の交わりに対応する。
【0142】
提案される高速サイクル探索の利点は、ノードwの周りでサイクルを見つけるために、幅優先探索木を見つけるための、いわゆる、幅優先グラフ横断(BFS:breadth first graph traversal)技法を実行する一部として実行される計算の出力を使用できることにある。これらの計算出力の中には、ノードの中心性を計算するために、そして、RPL経路選択の経路木を見つけるために使用することができる先行点集合がある。
【0143】
ノードwが機能しないか、又はノードwにつながる任意のエッジが機能しない場合の回復待ち時間を改善するために、提案される技法は、有利には、保護されるべきノードwに向けられるパケットの経路を、非常に短い待ち時間で、ノードwの先行点集合内の上流ノードに切り替えるサイクルを見つける。別の利点は、その技法が現行技術水準のDFS技法に比べて複雑でないことである。
【0144】
上記のような単一サイクルに基づく保護方式の使用は、例えば、
図9aを参照すると、ノードw
nとw
iとの間にエッジ障害が生じ、それにより、保護サイクル(w
1,w
n,w
i)が分断されることになる場合に、エッジ障害の影響を受けやすくなる場合がある。結果として、ノードwの障害の場合のバックアップ候補として保護サイクル(w
1,w
n,w
i)の回復力を改善することが望ましい場合がある。
【0145】
この要求に対処するために、本主題開示は、
図9bに示されるように、ノードwの周りにネスト化保護サイクルを構築することによって、単一保護方式が改善される実施形態を提案する。
【0146】
これらの実施形態において、保護されるべきノードwを包囲する初期保護サイクルを、上記の単一サイクル保護方式に従って決定することができる。その後、初期保護サイクルを二次保護サイクルによって強化することができ、二次保護サイクルは、ネスト化保護サイクル(本明細書において、「冗長木」とも呼ばれる)を作り出すために、複数の実施形態において、初期保護サイクルを構築するために使用された方式に類似の方式を用いて構築することができる。
【0147】
1つ以上の実施形態において、ネスト化サイクルを強化し、それゆえ、ノード/エッジ障害に対するネットワークの回復力を更に高めるために、サイクル強化を繰り返すことができる。
【0148】
図9a及び
図9bを参照すると、初期保護サイクルは、いくつかの実施形態において、コンセントレーターに向かうネットワークハブwをショートカットする、経路木(例えば、RPL経路木)に関するバックアップパスを規定することができる。二次保護サイクルを用いて、初期保護サイクルのノード/エッジの障害から保護することができる。ネットワークのハブの周りに設定された保護サイクルの数は、ネスト化保護サイクルの「等級(degree)」dと定義することができる。初期保護サイクル及びd-1個の二次保護サイクルを用いて、等級dの保護サイクルを形成することができる。
【0149】
大規模で密集したIoT展開のシナリオの場合、ネスト化保護サイクルは、有利には、コンピュータネットワークにおいて、ハブ、すなわち、保護されるべきノードを選択するための上記の方式を用いて決定されるような、ネットワークのハブの周りにより多くのバックアップパスを提供することができる。
【0150】
1つ以上の実施形態において、ネスト化サイクルは、ネットワークのグラフ構造から決定することができる。
【0151】
図9bは、保護されるべきノードwの周りに構築される初期保護サイクルから構築される等級2の例示的なネスト化保護サイクルを示す。そのパス上のエッジ(w,w
i)が機能しない場合には、一連のエッジ(w,w
1)(w
1,w
n)(w
n,w
j)(w
j,w
i)を用いて、ノードwのパケットの、ノードw
iへの経路を切り替える。一次保護サイクルのパス(w
m,w
i)内のいずれのノード/エッジも機能しない場合には、二次保護サイクルが、根ノードに向かう経路の切替を提供するパス(w
m,w
l)(w
l,w
h)(w
h,w
j)を通して、保護サイクルのためのバックアップパスを提供することになる。
【0152】
その方式が耐えることができるエッジ障害の最大数は、冗長木の等級に関連し、すなわち、等級dの冗長木の場合に、冗長木が耐えることができるエッジ障害の最大数はdである。
【0153】
図9bを参照すると、ネスト化保護サイクルは、1つ以上の実施形態において、以下のように構築することができる。
【0154】
初期保護サイクルは以下のように構築することができ、それは初期保護サイクルを構築するための上記の方式に対応する。ノードw∈PC(w1)であり、w1の先行点集合とwnの先行点集合との間の交わりが最大化されるように、保護されるべきノードwに対する一対の隣接するノード(w1,wn)を決定する。初期保護サイクルは、その際、(w1,wn,wi)と決定することができる。ただし、wiは、w1及びwnのそれぞれの先行点集合間の交わりによって与えられるパス内の最後のノードである。
【0155】
最初のサイクルは、その後、以下のように強化することができる。すなわち、wlがwmの隣接点であり、wmが初期保護サイクルのパス、すなわちwnとwiとの間のパス内のノードであるような、一対のノード(wm,wl)を決定する。強化される保護サイクルは、その際、(wm,wl,wj)と決定することができる。ただし、wjは、ノードwl及びwmの先行点集合間の交わりによって与えられるパス内の最後のノードである。
【0156】
複数の実施形態において、このサイクル強化プロセスは、サイクル強化をd回繰り返し実行して等級d+1の冗長木を取得するために、繰り返すことができる。
【0157】
図10は、本主題開示の実施形態による、ネットワーク管理機構を使用するように構成される例示的なネットワークノード1を示す。
【0158】
ネットワークノード1は、制御エンジン2と、ネットワーク管理エンジン3と、データ通信エンジン4と、メモリ5と、電源(例えば、電池、プラグイン電源等)(図示されない)とを含む。
【0159】
図10に示されるアーキテクチャにおいて、ネットワーク管理エンジン3、データ通信エンジン4及びメモリ5は全て制御エンジン2を通して互いに動作可能に結合される。
【0160】
一実施形態において、ネットワーク管理エンジン3は、ノード1のための指標値を求めること、及び求められた指標値に基づいて、一組の保護されるべきノードに参加すること等の、ネットワーク管理のための提案される方法の実施形態の種々の態様を実行するように構成される。
【0161】
一実施形態において、データ通信エンジン4は、データパケットを受信及び送信し、受信したパケットを処理するように構成される。
【0162】
本主題開示の実施形態において、データ通信エンジン4及びネットワーク管理エンジン3は、ノード1において、又はその近傍においてデータトラフィック強度を求めるために、協調して動作する。
【0163】
制御エンジン2はプロセッサを含み、プロセッサは、任意の適切なマイクロプロセッサ、マイクロコントローラ、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、デジタル信号処理チップ、及び/又は状態機械、又はその組み合わせとすることができる。種々の実施形態によれば、コンピュータの1つ以上を、並列計算を提供するための複数のプロセッサを有するマルチプロセッサコンピュータとして構成することができる。また、制御エンジン2は、プロセッサによって実行されるときに、プロセッサに本明細書において説明される要素を実行させるコンピュータプログラム命令又はソフトウェアコードを記憶することができる、限定はしないが、メモリ5等のコンピュータ記憶媒体を備えることができるか、又はコンピュータ記憶媒体と通信することができる。さらに、メモリ5は、ネットワークノード1が属するコンピュータネットワークを表すデータ構造を記憶することができ、制御エンジン2に結合され、それに関連付けて記憶されるデータパケットの管理及び処理を容易にするためにデータ通信エンジン4及びネットワーク管理エンジン3とともに動作可能である、任意のタイプのデータ記憶コンピュータ記憶媒体とすることができる。
【0164】
図10を参照しながら図示及び説明されるネットワークノード1は一例として与えられるにすぎないことは理解されよう。数多くの他のアーキテクチャ、動作環境及び構成が可能である。ノードの他の実施形態は、より少ない数、又はより多くの数の構成要素を含む場合があり、
図10に示されるネットワークノード構成要素に関して説明された機能のいくつか又は全てを組み込む場合がある。したがって、制御エンジン2、ネットワーク管理エンジン3、データ通信エンジン4及びメモリ5がネットワークノード1の一部として示されるが、構成要素2~5の場所及び制御に関して制約は課せられない。詳細には、他の実施形態では、構成要素2~5は、異なるエンティティ又はコンピューティングシステムの一部とすることができる。
【0165】
本発明は好ましい実施形態に関して説明されてきたが、添付の特許請求の範囲によって規定されるような本発明の趣旨又は範囲から逸脱することなく、本発明に対して種々の変更及び/又は修正を加えることができることは当業者には容易に理解されよう。
【0166】
本発明は或る特定の好ましい実施形態との関連で開示されてきたが、そのシステム、デバイス及び方法の或る特定の利点、特徴及び態様は種々の他の実施形態において実現される場合があることは理解されたい。さらに、本明細書において説明される種々の態様及び特徴は、別々に実践することができるか、互いに組み合わせることができるか、又は互いに代用することができること、並びに特徴及び態様の種々の組み合わせ及び部分的な組み合わせを行うことができ、それでも本発明の範囲に入ることを意図している。さらに、上記のシステム及びデバイスは、好ましい実施形態において説明されたモジュール及び機能の全てを含む必要はない。
【0167】
本発明において説明される情報及び信号は、種々の異なる技術及び技法のいずれかを用いて表すことができる。例えば、データ、命令、コマンド、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁波、磁界若しくは磁気粒子、光場若しくは光子、又はその任意の組み合わせによって表すことができる。
【0168】
実施形態によっては、本明細書において説明された方法のいずれかの或る特定の動作、イベント又は機能は、異なる順序において実行することができるか、追加されるか、統合されるか、又は全て除外される場合がある(例えば、方法を実践するために、説明される全ての動作又はイベントが必要とされるとは限らない)。さらに、或る特定の実施形態では、動作又はイベントは、順次にではなく、同時に実行される場合がある。