(57)【要約】      （修正有）【課題】同じハードウェアを使用しつつ、異なるアプリケーションのために異なるタイプのデータを処理する無線センサネットワークシステム及び管理方法を提供する。【解決手段】コントローラノードは、センサノードを識別するためのノードＩＤ及びノードＩＤに対応する層ＩＤを含むネットワーク管理情報を記憶し、特定の層ＩＤのためのアプリケーションＩＤを受け入れるとき、層ＩＤ及び対応するノードＩＤとともにセットアップ情報として受け入れられたアプリケーションＩＤを放送する。各センサノードは、それ自体のノードＩＤ及びそれ自体のノードＩＤに対応する層ＩＤを含むパラメータ管理情報を記憶し、セットアップ情報を受信するとき、それ自体のノードＩＤを受信されたノードＩＤと比較する。一致が見つけられる場合、次いで、それはアプリケーションＩＤとともにそのパラメータ管理情報を更新する。【選択図】図８
2017188706.tif 000002
【特許請求の範囲】
【請求項１】
コントローラノード及び無線伝送によって前記コントローラノードと通信できる複数のセンサノードを備える無線センサネットワークシステムであって、
前記センサノードを識別するためのノードＩＤ及び前記ノードＩＤに対応する層ＩＤを含むネットワーク管理情報を記憶する前記コントローラノードと、
それ自体のノードＩＤ及びそれ自体のノードＩＤに対応する前記層ＩＤを含むパラメータ管理情報を記憶する前記各センサノードと、
前記コントローラノードが特定の層ＩＤのためのアプリケーションＩＤを受け入れるとき、前記コントローラノードは前記層ＩＤ及び対応するノードＩＤとともにセットアップ情報として前記受け入れられたアプリケーションＩＤを放送し、
前記センサノードが前記セットアップ情報を受信するとき、受信されたノードＩＤと同じノードＩＤを有する各センサノードは、前記アプリケーションＩＤを追加するために前記パラメータ管理情報を更新する、
無線センサネットワークシステム。
【請求項２】
前記コントローラノードがアプリケーションＩＤを受け入れるとき、前記コントローラノードが特定の層ＩＤを有する前記センサノードの数「Ｎ」をカウントし、前記センサノードの前記数「Ｎ」に基づいて前記アプリケーションＩＤのクラスタの数「Ｋｏｐｔ」を計算し、前記セットアップ情報のクラスタ化パラメータとして「Ｎ」及び「Ｋｏｐｔ」を追加し、
前記センサノードが前記セットアップ情報を受信するとき、前記各センサノードが、「Ｎ」及び「Ｋｏｐｔ」によって計算された確率に基づいて、自身がクラスタヘッドになるかどうか決定を下し、
前記センサノードが前記クラスタヘッドとなる決定を下すとき、前記クラスタヘッドが、どのセンサノードが前記クラスタヘッドになるのか告示のために他のセンサノードにＡＤＶメッセージを放送し、
前記センサノードが放送されたＡＤＶメッセージを受信するとき、前記センサノードは、どのクラスタヘッドが相対物となるべきか決定を下し、前記相対物に参加要求を送信する、
請求項１に記載の無線センサネットワークシステム。
【請求項３】
前記確率ｐｏｐｔ＝Ｋｏｐｔ／Ｎである、
請求項２に記載の無線センサネットワークシステム。
【請求項４】
すべてのクラスタヘッドが決定された後、前記クラスタヘッドがそれらのＩＤノード及びエネルギーデータをセットアップメッセージとして前記コントローラノードに送信し、
前記コントローラノードが前記セットアップメッセージを受信するとき、前記コントローラノードがどのクラスタヘッドが中間クラスタヘッドになるべきかに決定を下し、前記中間クラスタヘッドにメッセージを送信する、
請求項２に記載の無線センサネットワークシステム。
【請求項５】
前記エネルギーデータが前記コントローラノードに対する送信エネルギー及び前記クラスタヘッドの残りのエネルギーの内の少なくとも１つである、
請求項４に記載の無線センサネットワークシステム。
【請求項６】
コントローラノード及び無線伝送によって前記コントローラノードと通信できる複数のセンサノードを備える無線センサネットワーク管理方法であって、
前記センサノードを識別するためのノードＩＤ及び前記ノードＩＤに対応する層ＩＤを含むネットワーク管理情報を記憶する前記コントローラノードと、
それ自体のノードＩＤ及びそれ自体のノードＩＤに対応する前記層ＩＤを含むパラメータ管理情報を記憶する前記各センサノードと、
前記コントローラノードが特定の層ＩＤのためのアプリケーションＩＤを受け入れるとき、前記コントローラノードは前記層ＩＤ及び対応するノードＩＤとともにセットアップ情報として前記受け入れられたアプリケーションＩＤを放送し、
前記センサノードが前記セットアップ情報を受信するとき、受信されたＩＤと同じノードＩＤを有する各センサノードは、前記アプリケーションＩＤを追加するために前記パラメータ管理情報を更新する、
無線センサネットワーク管理方法。
【請求項７】
前記コントローラノードがアプリケーションＩＤを受け入れるとき、前記コントローラノードが前記特定の層ＩＤを有する前記センサノードの数「Ｎ」をカウントし、前記センサノードの前記数「Ｎ」に基づいて前記アプリケーションＩＤのクラスタの数「Ｋｏｐｔ」を計算し、前記セットアップ情報のクラスタ化パラメータとして「Ｎ」及び「Ｋｏｐｔ」を追加し、
前記センサノードが前記セットアップ情報を受信するとき、前記各センサノードが、「Ｎ」及び「Ｋｏｐｔ」によって計算された確率に基づいて、自身がクラスタヘッドになるかどうか決定を下し、
前記センサノードが前記クラスタヘッドとなる決定を下すとき、前記クラスタヘッドが、どのセンサノードが前記クラスタヘッドになるのか告示のために他のセンサノードにＡＤＶメッセージを放送し、
前記センサノードが放送されたＡＤＶメッセージを受信するとき、前記センサノードが、どのクラスタヘッドが相対物となるべきかに決定を下し、前記相対物に参加要求を送信する、
請求項６に記載の無線センサネットワーク管理方法。
【請求項８】
前記確率ｐｏｐｔ＝Ｋｏｐｔ／Ｎである、
請求項７に記載の無線センサネットワーク管理方法。
【請求項９】
すべてのクラスタヘッドが決定された後、前記クラスタヘッドはそれらのノード−ＩＤ及びエネルギーデータをセットアップメッセージとして前記コントローラノードに送信し、
前記コントローラノードが前記セットアップ情報を受信するとき、前記コントローラノードがどのクラスタヘッドが中間クラスタヘッドとなるべきかに決定を下し、前記中間クラスタヘッドにメッセージを送信する、
請求項７に記載の無線センサネットワーク。
【請求項１０】
前記エネルギーデータが前記コントローラノードへの送信エネルギー及び前記クラスタヘッドの残りのエネルギーの少なくとも１つである、
請求項９に記載の無線センサネットワーク管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概して、例えばモノのインターネット（ＩｏＴ）アプリケーションを構築するためのソフトウェアデファインドネットワーキング（ＳＤＮ）及び無線センサネットワーク（ＷＳＮ）に関する。より詳細には、本発明は、ソフトウェア定義無線センサネットワークのＩｏＴアプリケーションを構築するためのカスタマイズ可能なクラスタベースの手法、装置、及び方法に関連する。
【背景技術】
【０００２】
米国２０１４１８９０７４１Ａ１号はＳＤＮゲートウェイの例を開示する（ＰＴＬ１）。ＷＳＮのためのハイブリッドルーティング及び転送解決策に関して、米国第２０１２００６３３８７Ａ１号の特許文献がある（ＰＴＬ２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国第２０１４０１８９０７４  Ａ１号
【特許文献２】米国第２０１２００６３３８７  Ａ１号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＳＤＮは、ネットワークの動作を制御するために論理的に集中化されたソフトウェアを使用するネットワークパラダイムである。
【０００５】
それはネットワークの構成及び管理の複雑さを削減するための方法として想定されてきた。ＳＤＮを実装するための第１のイニシアチブは有線ネットワークをターゲットとしていたが、このパラダイムは無線ネットワーキングコミュニティの関心を高め、無線通信及びモバイル通信の分野に携わる企業はＳＤＮ関連のイニシアチブに参加してきた。
【０００６】
ＩｏＴの考え方はＷＳＮと並行して開発された。モノのインターネットという用語は、「インターネットのような」構造における一意に識別可能なオブジェクト及びそれらの仮想表現を意味する。これらのオブジェクトは、大きい建物、工場、飛行機、車、機械、あらゆる種類の品物、人間、動物、及び植物に対するより大きなシステムの特定の部分、並びにそれらの特定の体の部分からの何かであることさえある。ＩｏＴは特定の通信技術を想定していないが、無線通信技術は主要な役割を果たし、特にＷＳＮは多くの用途及び多くの産業で適用される。小型で頑丈、安価且つ低出力のＷＳＮセンサは、任意の種類の環境に設置される最小のオブジェクトにさえ妥当なコストでＩｏＴをもたらす。これらのオブジェクトのＩｏＴへの統合はＷＳＮの主要な進化となる。
【０００７】
ＷＳＮは概して、環境を協調して検知し、さらに環境を制御するであろう、人又はコンピュータと取り巻く環境との間の対話を可能にするノードのネットワークとして説明できる。実際に、限られた量のエネルギーを用いた検知、処理、及び通信の活動は、分散されている信号／データの処理及び通信プロトコルの連帯の検討を通常必要とする、層を跨いだ設計手法を喚起する。
【０００８】
ＩｏＴアプリケーションを構築するためにＷＳＮを適用する際の１つの主要な課題は、同じハードウェア（例えば、センサノード）を使用しつつ、異なるアプリケーションのために異なるタイプのデータを処理することである。ＷＳＮはアプリケーション特有のネットワークと見なされ、それは、単一の「多用途の」ＷＳＮが同じ目的を達成できるものの、それぞれの用途のための複数のＷＳＮが同じ又は重複する分野に配備されるＷＳＮでは、ＩｏＴアプリケーションを設計するためのリソースの活用不足又は過剰な活用の問題をもたらす。したがって、ネットワークの容易なスケーラビリティ及び管理容易性は、すでに配備されているシステムに対するあらゆる主要な変更を考慮しない設計では重要な課題である。それは、ＷＳＮでソフトウェアデファインドネットワーキングを適用することによって達成できる。
【課題を解決するための手段】
【０００９】
本発明の態様は、コントローラノード及び複数のセンサノードを備える無線センサネットワークシステム又は管理方法であり、それらは無線伝送によってコントローラノードと通信できる。コントローラノードは、センサノードを識別するためのノードＩＤ及びノードＩＤに対応する層ＩＤを含むネットワーク管理情報を記憶する。各千差ノードは、それ自体のノードＩＤ及びそれ自体のノードＩＤに対応する層ＩＤを含むパラメータ管理情報を記憶する。コントローラノードが特定の層ＩＤのためのアプリケーションＩＤを受け入れるとき、コントローラノードは層ＩＤ及び対応するノードＩＤとともにセットアップ情報として受け入れたアプリケーションＩＤを放送する。センサノードがセットアップ情報を受信すると、受信されたノードＩＤと同じノードＩＤを有する各センサノードは、アプリケーションＩＤを追加するためにパラメータ管理情報を更新する。
【００１０】
より好ましい特定の例では、コントローラノードがアプリケーションＩＤを受け入れるとき、コントローラノードは、特定の層ＩＤを有するセンサノードの数「Ｎ」をカウントし、センサノードの数「Ｎ」に基づいてアプリケーションＩＤのクラスタの数「Ｋｏｐｔ」を計算する。そして、セットアップ情報のクラスタ化パラメータとして「Ｎ」及び「Ｋｏｐｔ」を加える。センサノードはセットアップ情報を受信するとき、各センサノードは「Ｎ」及び「Ｋｏｐｔ」によって計算される確率に基づいて、自身がクラスタヘッドになるかどうか決定を下す。センサノードがクラスタヘッドとなる決定を下すとき、クラスタヘッドは、どのセンサノードがクラスタヘッドになるかの告知のために他のセンサノードにＡＤＶメッセージを放送する。センサノードが放送されたＡＤＶメッセージを受信するとき、センサノードはどのクラスタヘッドが相対物となるべきであるのか決定を下し、相対物に対して参加要求を送信する。より好ましい特定の例では、すべてのクラスタヘッドが決定された後、クラスタヘッドはセットアップメッセージとしてコントローラノードにそのノードＩＤ及びエネルギーデータを送信する。そして、コントローラノードはセットアップメッセージを受信するとき、コントローラノードはどのクラスタヘッドが中間クラスタヘッドになるべきか決定を下し、中間クラスタヘッドにメッセージを送信する。
【発明の効果】
【００１１】
本発明によると、すでに配備されているシステムに対するあらゆる主要な変更を検討せずに、ＩｏＴアプリケーションを構築するためにＷＳＮを適用することを容易にする。
【図面の簡単な説明】
【００１２】
【図１】データプレーン及び制御プレーンが互いから分離されるソフトウェア定義無線センサネットワークアーキテクチャの例示的なブロック図。
【図２】アプリケーションに依存しないＩｏＴフレームワークを構築するためのカスタマイズ可能なクラスタベースの動的再タスク及びルーティングの態様におけるネットワークモデルの図。
【図３】ＳＤＮ−コントローラノードのネットワーク管理表。
【図４】ＳＤＮ−コントローラノードの役割管理表。
【図５】ＳＤＮ−埋込みセンサノードのパラメータ管理表。
【図６】ＳＤＮ−埋込みセンサノードの機能ブロック図。
【図７】ＳＤＮ−コントローラノードの機能ブロック図。
【図８】ＳＤＮ−ントローラノードの高レベル操作フローチャート。
【図９】ＳＤＮ−埋込みセンサノードの高レベル操作フローチャート。
【図１０】動的クラスタ化（再タスク）及びルーティングのためのＳＤＮ−埋込みセンサノードの操作フローチャート。
【図１１】クラスタ形成を自動構成するためのＳＤＮ−埋込みセンサノードの操作フローチャート。
【図１２】ＳＤＮ−埋込みセンサノードのクラスタ管理表。
【図１３】中間クラスタヘッド（ＩＣＨ）ノードを選択するためのＳＤＮ−コントローラノード、及びクラスタヘッド（ＣＨ）ノードとのスケジューリングの操作フローチャート。
【発明を実施するための形態】
【００１３】
これらの実施形態は、本発明を実施するために当業者に対して十分に詳細に説明される。しかしながら、他の実施態様及び形式も可能であり、構成及び構造の変更並びに多様な要素の置換が本発明の技術的な考えの範囲及び精神から逸脱することなく可能であることを理解することが必要である。したがって、以下の説明は明細書に制限されると解釈されるべきではない。
【００１４】
さらに、後に説明されるように、本発明の実施形態は汎用コンピュータ上で実行中のソフトウェアとして実装されることもあれば、専用のハードウェア又はソフトウェア及びハードウェアの組合せとして実装されることもある。
【００１５】
以下の説明では、本発明の情報の種類は「表」形式に従って説明される。ただし、これらの種類の情報は必ずしも表によるデータ構造で表される必要はなく、リスト、データベース（ＤＢ）、待ち行列等、又は他の構造で表されてよい。したがって、情報がデータ構造に依存しないことを示すために、いくつかの場合、「表」、「リスト」、「ＤＢ」、「待ち行列」等は「情報」として簡略に呼ばれる。
【００１６】
情報の種類の内容が説明されるとき、「識別情報」、「識別子」、「呼称」、「名前」及び「ＩＤ」等の表現が使用できる。これらの表現は入れ替えることができる。
【００１７】
本発明の実施形態での処理の種類は、主体（操作エンティティ）として「プログラム」を使用し、以下に説明される。係るエンティティは「部」、「機能」と呼ばれる、又は本明細書では「モジュール」であることもある。しかしながら、プログラムはメモリ及び通信ポート（通信制御装置）を使用し、設定された処理を実行するためにプロセッサによって実行されるので、処理は主体としてプロセッサを使用して説明されてよい。主体としてプログラムを使用して開示される処理は、管理サーバ等のコンピュータ又は情報処理装置によって実行される処理であってよい。一部分又は全体的なプログラムは専用のハードウェアによって実現されることもあれば、モジュールとして形成されることもある。多様なプログラムは、プログラム分散サーバ又は記憶媒体によってコンピュータにインストールされてよい。
【００１８】
＜概要＞
ＩｏＴアプリケーションを構築する主要な課題は、同じハードウェア（センサノード）を使用し、異なるアプリケーションのために異なるタイプのデータを処理することである。他方、ＷＳＮはアプリケーション特有であり、それはリソースの活用不足又は過剰な活用につながることがあり、このことがＷＳＮを使用し、ＩｏＴアプリケーションを構築するための主要な課題である。したがって、ネットワークの容易なスケーラビリティ及び管理容易性は、すでに配備されたシステムに対するあらゆる主要な変更を考慮しない、重要な設計の問題である。ＷＳＮノードがＩｏＴアプリケーションを構築するために配備されるとき、電池交換は非常に非現実的な手法である。なぜならば、センサノードは通常使い捨て且つ安価な装置と見なされるからである。したがって、ネットワーク寿命はＷＳＮを使用しＩｏＴアプリケーションを設計するための非常に重大な問題である。ＷＳＮ装置は、所与のときに１つの所与の周波数で送信又は受信のどちらかを行う１つの無線しか有していない。この帯域内制御が、所与のリンクを通して転送できるデータの量を制限し、潜在的に遅延を増加させる。ＷＳＮ上での制御トラフィックを削減することは、ＩｏＴアプリケーションで解決される１つの別の重要な問題である。ＷＳＮはマルチホップ通信を使用したので、したがって通信待ち時間は、シンクノード、及び次いでコントローラに到達するまで増加する。本実施形態は上記の技術的な問題、つまりＩｏＴアプリケーションを構築するためのソフトウェア定義無線センサネットワークのカスタマイズ可能なクラスタベースの手法、装置、及び方法を解決することを目的としていた。
【００１９】
簡略化された要約は、より詳細な説明及び添付図面の中で続く、例示的な非制限的な実施形態の多様な態様の基本的な理解又は一般的な理解を可能にするのを助けるために提供される。例示的な非制限的な実施形態では、カスタマイズ可能なクラスタベースの動的再タスク及びルーティングの方法は、アプリケーションに依存しないＩｏＴフレームワークをＷＳＮで構築するために提供される。本発明では、ＳＤＮデータプレーン及び制御プレーンは互いから分離され、データプレーンはＳＤＮ埋込み（ＳＤＮ有効）センサノード（センサフィールド）を含み、制御プレーンはＳＤＮ−コントローラノード（ゲートウェイ／シンク）を含む。ＳＤＮ−コントローラノードはネットワーク管理表を含み、各ＳＤＮ−埋込みセンサノードはノード−ＩＤ（ハードウェア−ＩＤ）及び層−ＩＤでタグ付けされる。したがって、センサノードは小さいグループに分割される。我々はこのグループを層と名付けた。
【００２０】
ネットワークオペレータは特定のＩｏＴアプリケーションに層−ＩＤを指定する。ネットワークオペレータの仕様に基づいて、それはこのアプリケーションのために総数ＳＤＮ−埋込みセンサノード及びクラスタ数を決定し、アプリケーション−ＩＤとともにネットワーク管理表を更新する。次いで、それはクラスタ化パラメータを含む初期セットアップメッセージを放送する。初期セットアップメッセージを受信後、ＳＤＮ−埋込みセンサノードのそれぞれはその活動ステータスを選択し、無線又は形成された異なるクラスタのどちらかをオフにする。次いで、分散されたクラスタ形成アルゴリズムに基づいて各クラスタでクラスタヘッド（ＣＨ）が決定される。ＣＨとＳＤＮ−コントローラノードとの間に安全なマルチホップ通信ルートを達成するために、ＳＤＮ−コントローラノードはクラスタヘッドの集約されたデータを中継するための中間クラスタヘッド（ＩＣＨ）ノードを選択する。最後に、ＳＤＮ−埋込みセンサノードは、選ばれたＣＨ及びＩＣＨを通してＳＤＮ−コントローラノードにデータを送信し始める。他の実施形態は以下に説明される。
【００２１】
クラスタベースの協調スペクトル検知及び中継のための多様な詳細な実施形態が、添付図面に関してさらに説明される。
【００２２】
＜アプリケーションに依存しないＩｏＴフレームワークを構築するためのシステムアーキテクチャ＞
図１は、ソフトウェア定義無線センサネットワークアーキテクチャの例示的なブロック図である。このアーキテクチャでは、我々はセンサネットワークアプリケーション（１０３）のためにアプリケーソン層（１００）を定義し、ＳＤＮデータプレーン（１０２）及び制御プレーン（１０１）を分離した。ＳＤＮデータプレーン（１０２）は、センサフィールドを意味するＳＤＮ−埋込みセンサノード（１０５）を含み、制御プレーン（１０１）はＳＤＮ−コントローラノード（１０４）を含んだ。
【００２３】
例えば、アプリケーション層（１００）及び制御プレーン（１０１）は、アプリケーションプログラミングインタフェース（ＡＰＩ）によって通信する。制御プレーン（１０１）及びデータプレーン（１０２）はＳＤＮプロトコル（例えば、クラスタベースの動的再タスク及びルーティング）によって通信する。ここで、我々はＳＤＮデータプレーン（１０２）と制御プレーン（１０１）との間の通信プロトコルとしてカスタマイズ可能な動的再タスク（クラスタ化）及びルーティング方法を提案した。
【００２４】
図２は、カスタマイズ可能なクラスタベースの動的再タスキング及びルーティングの態様でのネットワークモデルの図である。我々は、すべてのＳＤＮ−埋込みセンサノード（１０５）がセンサフィールドに配備されていると仮定した。ノード（１０５）は、異なる識別番号でタグ付けされる。センサフィールドはＳＤＮデータプレーン（１０２）に作成される。各ＳＤＮ−埋込みセンサノード（１０５）は、図２の小さい円で表される。そして、ＳＤＮ−コントローラノード（１０４）は、ＳＤＮ制御プレーン（１０１）に属するゲートウェイ／シンクノードとして機能した。
【００２５】
ＳＤＮ−コントローラノード（１０４）は、通常プロセッサ（ＣＰＵ）、メモリ、入力インタフェース、及び出力インタフェースを有するコンピュータ（サーバ）によって構築される。メモリは、例えば半導体メモリ、磁気ディスクドライブ、又はそれらの組合せである。係るメモリは、（図３に示される）ネットワーク管理表を記憶する。ＳＤＮ−コントローラノード（１０４）は例えば無線によってＳＤＮ−埋込みセンサノード（１０５）と通信できる。また、入力インタフェース及び出力インタフェースは、ネットワーク（例えば、インターネット（２１１））を介してデータクラウド（２１０）に結合され、ＳＤＮ−埋込みセンサノード（１０５）からデータクラウド（２１０）に収集されたデータを送信できる。データクラウド（２１０）は、１つ又は複数のコンピュータで構築される。データクラウド（２１０）は、ＳＤＮ−コントローラノード（１０４）から転送されるデータを受信し、所定のＩｏＴアプリケーションに基づいてデータプロセスを実行する。
【００２６】
ＣＰＵ、メモリ、入力インタフェース、及び出力インタフェースを有する典型的なＳＤＮ−埋込みセンサノード（１０５）。典型的な例では、ＳＤＮ−埋込みセンサノード（１０５）は電源として小型電池又は発電機（例えば、太陽電池）を有する。ＳＤＮ−埋込みセンサノード（１０５）のメモリは、（図５に示される）パラメータ管理表を記憶する。
【００２７】
ＳＤＮ−埋込みセンサノードをアプリケーションに依存しないようにするために、ＳＤＮ−埋込みセンサノード（１０５）のそれぞれはノード−ＩＤ（ハードウェア−ＩＤ）及び層−ＩＤでタグ付けされる。ノード−ＩＤはＳＤＮ−埋込みセンサノード（１０５）ごとの一意の番号であるが、層−ＩＤは一意ではなく、複数のノードは同じ層−ＩＤを有することがある。したがって、すべてのＳＤＮ−埋込みセンサノード（１０５）は、層−ＩＤによって識別されるいくつかの小さいグループに分割される。すべてのＳＤＮ−埋込みセンサノード（１０５）がＩｏＴセンサフィールドに配備されるとき、次いでそれは異なる層を生成する。
【００２８】
ノードの密度は異なるＩｏＴアプリケーションに層−ＩＤを指定することによって制御できる。室温だけを考慮したＩｏＴアプリケーションは配備されたＳＤＮ−埋込みセンサノード（１０５）のすべてを適用する必要はないことがあり、したがってノード密度はより低くなるはずである。この場合、ネットワークオペレータは小さい数の層−ＩＤを指定することができ、したがってより少ない数のＳＤＮ−埋込みセンサノード（１０５）がこのタイプのＩｏＴアプリケーションのために加わることができるだろう。他方、圧力を考慮したＩｏＴアプリケーションはより高いノードの密度を要求する。この場合、ネットワークオペレータは大きい数のＳＤＮ−埋込みセンサノードを適用するために大きい数の層−ＩＤを指定できる。
【００２９】
例えば、我々は、ＳＤＮ−埋込みセンサノード（１０５）の内の１００が、ＳＤＮ−埋込みセンサノードのそれぞれが１０の異なる層−ＩＤ（例えば１００〜１０９）で等しくタグ付けされるセンサフィールドに配備されると仮定した。したがって、ＳＤＮ−埋込みセンサノードの内の１００は１０の異なるグループに分割され、層−ＩＤ、１００〜１０９のそれぞれはＳＤＮ−埋込みセンサノードの内の１０を含む。詳細は以下の図３を参照して説明される。
【００３０】
温度データしか要求しないことがあるＩｏＴアプリケーションを構築する場合、１００のノードの内のすべては必ずしも適用しないことがある。この種のＩｏＴアプリケーションの場合、ネットワークオペレータは、センサフィールド全体で無作為に分散されるＳＤＮ−埋込みセンサノードの内の１０の数しか適用しないためには１つのタイプの層−ＩＤ（１００）しか指定できない。他方、ネットワークオペレータは圧力データを要求する異なる種類のＩｏＴアプリケーションを構築するために複数の層−ＩＤを指定できる。このようにして、本実施形態のシステムは異なる種類のＩｏＴアプリケーションを構築するためのノードの密度だけではなく適用されたＳＤＮ−埋込みセンサノード（１０５）の数もカスタマイズできる。ノードの密度（場所）の動的な制御はＩｏＴアプリケーションを構築するためにＷＳＮを適用するためのリソース活用不足又は過剰な活用を無事に防ぐことができる。
【００３１】
すべてのＳＤＮ−埋込みセンサノード（１０５）は次いで異なるアプリケーションのための異なるクラスタから形成され、各クラスタは単一のクラスタヘッド（ＣＨ）（図２では２０３〜２０５）を選択する。クラスタヘッド（ＣＨ）の役割は、同じクラスタに属する他のＳＤＮ−埋込みセンサノード（１０５）からデータを収集し、ホストデバイス（この場合、コントローラノード）に収集されたデータを転送することである。
【００３２】
すべてのＣＨ（２０３〜２０５）は、次いでＳＤＮ−コントローラノード（１０４）にそのノード−ＩＤ及びそれらのエネルギー詳細を送信する。ＳＤＮ−コントローラノード（１０４）は次いで中間クラスタヘッド（ＩＣＨ）（図２では２０６〜２０７）及びＩＣＨ（２０６〜２０７）とＣＨ（２０３〜２０５）との間のスケジューリングを選択する。中間クラスタヘッド（ＩＣＨ）の役割は、ＳＤＮ−コントローラノード（１０４）にデータを送信することである。ＩＣＨは、遠く離れて位置するＳＤＮ−コントローラノード（１０４）にデータを送信しなければならないので、電気の消費は大きい。最後にＳＤＮ−埋込みセンサノード（１０５）は安全なマルチホップルートを通して（ＣＨ及びＩＣＨを介して）データ送信を開始する。操作詳細は、次の項のＳＤＮ−コントローラノード及びＳＤＮ−埋込みセンサノードの操作フローチャートを使用し、説明される。
【００３３】
図３は、ＳＤＮ−コントローラノード（１０４）のネットワーク管理表（３００）を示す。ネットワーク管理表（３００）はアプリケーション−ＩＤ（３０１）、層−ＩＤ（３０２）、ノード−ＩＤ（３０３）、ノード／アプリケーション数（３０４）、クラスタ／アプリケーション数（３０５）、及びアクティブフラグ（３０６）から成る。初期ノードの分散時、各ＳＤＮ−埋込みセンサノード（１０５）はノード−ＩＤ（３０３）及び層−ＩＤ（３０２）でタグ付けされ、ネットワークオペレータは入力インタフェースによってネットワーク管理表（３００）の中にそれらの初期情報を入力できる。したがって、初期分散時、ネットワーク管理表（３００）は、ノード−ＩＤ（３０３）及び層−ＩＤ（３０２）データを含んでいた。
【００３４】
ＩｏＴアプリケーションを構築する場合、ネットワークオペレータはアプリケーション−ＩＤ（３０１）を、及び層−ＩＤ（３０２）とともに指定する。次いで、ＳＤＮ−コントローラノード（１０４）はこの特定のアプリケーションのクラスタの総数だけではなくノードの総数も自動的にカウントし、ネットワーク管理表（３００）を更新する。一致が見つけられる場合、次いでそれはアクティブ−フラグ（３０６）を値「１」（使用中のノードを参照する）に設定し、それ以外の場合、それは値「０」（使用中ではない）に設定する。アクティブ−フラグ（３０６）「１」はアプリケーションに割り当てられ、アプリケーションに対して機能するＳＤＮ−埋込みセンサノード（１０５）を示す。したがって、オペレータは係るＳＤＮ−埋込みセンサノードを他のアプリケーションに割り当てることができないことを知ることができる。
【００３５】
図４は、ＳＤＮ−コントローラノード（１０４）の役割管理表（４００）を示し、ＳＤＮ−コントローラノード（１０４）は、それが「初期セットアップを放送する」であるのか、それとも「中間クラスタヘッド告知」であるのかに関わりなくその処置役割を自動的に選択し、それは役割管理表（４００）を自動的に更新する。役割管理表（４００）は、役割ＩＤ（４０１）、処置（４０２）、値（４０３）、及びカウント（４０４）を含む。ここで、カウント（４０４）は、ＳＤＮ−コントローラノードの操作サイクル、つまり何回ＳＤＮ-コントローラが特定のアプリケーション−ＩＤのためにタスク「初期セットアップを放送する」及び「中間クラスタヘッド告知」を実行したのかを測定するために使用される。
【００３６】
役割ＩＤ「１」が選択されるとき、ＳＤＮ−コントローラノード（１０４）は、初期セットアップのためにネットワーク管理表（３００）に基づいてＳＤＮ−埋込センサノード（１０５）に対してアプリケーション−ＩＤ（３０１）、層−ＩＤ（３０２）、ノード−ＩＤ（３０３）、ノード／アプリケーションの数（３０４）、及びクラスタ／アプリケーションの数（３０５）を放送する。
【００３７】
役割ＩＤ「２」が選択されるとき、ＳＤＮ−コントローラノード（１０４）は、中間クラスタヘッド（ＩＣＨ）を割り当てるためにネットワーク管理表（３００）に基づいてＳＤＮ−埋込センサノード（１０５）にヘッダ、アプリケーション−ＩＤ（３０１）、層−ＩＤ（３０２）、ノード−ＩＤ(３０３)を告知する。
【００３８】
図５は、ＳＤＮ−埋込みセンサノード（１０５）のパラメータ管理表（５００）を示す。パラメータ管理表（５００）は、ノード−ＩＤ（５０１（３０３））、層−ＩＤ（５０２（３０２））、アプリケーション−ＩＤ（５０３（３０１））、ノード／アプリケーションの総数（５０４）、クラスタ／アプリケーションの数（５０５）、操作ラウンド／アプリケーション数（５０６）、活動フラグ（５０７）から成る。アプリケーション−ＩＤ（５０３）、ノード／アプリケーションの総数（５０４）、クラスタ／アプリケーションの数（５０５）、及び操作ラウンド／アプリケーションの数（５０６）は、ＳＤＮ−コントローラノードのスケジューリング後に更新される。クラスタ／アプリケーション（５０５）Ｋｏｐｔは、以下の方程式１によって計算され、特定のアプリケーションが割り当てられるクラスタの数を示す。図５では、Ｋｏｐｔは１０である。操作ラウンド／アプリケーション（５０６）数１／Ｐｏｐｔは以下の方程式２によって計算される。図５の例では、このＳＤＮ−埋込みノードは、１０ラウンドの間、一時の速度でＣＨとして機能する。
【００３９】
初期ノードの分散時、各ＳＤＮ−埋込みセンサノード（１０５）はノード−ＩＤ（５０１）及び層−ＩＤ（５０２）でタグを付けられ、パラメータ管理表（５００）を更新する。ＩｏＴアプリケーションを構築する場合、ＳＤＮ−コントローラノード（１０４）はノード−ＩＤ（５０１）、層−ＩＤ（５０２）、アプリケーション−ＩＤ（５０３）、ノード／アプリケーションの総数（５０４）、及びクラスタ／アプリケーションの数（５０５）とともに初期セットアップ情報を放送する。次いで、ＳＤＮ−埋込センサノード（１０５）はその適用性（次の項で説明する）を確認し、アクティブである場合、次いでパラメータ管理表（５００）を自動的に更新する。
【００４０】
図６は、ＳＤＮ−埋込みセンサノード（１０５）の機能ブロック図を表す。ＳＤＮ−埋込センサノード（１０５）は、ＳＤＮスイッチが行うように単にデータを転送することに加えて、検知することによって収集されたデータを生成し、送信することを担う端末装置のように動作する。したがって、ＳＤＮ−埋込センサノード（１０５）は、両方の役割、つまりＳＤＮスイッチ及びＳＤＮ端末装置を果たすある種のノードである。ＳＤＮ−埋込みセンサノード（１０５）は４つの部分、つまりパケット処理及び送信部（６０１）、クラスタ管理部（６０２）、パラメータ管理部（６０３）、及びセンサアプリケーション部（６０４）に分割される。
【００４１】
センサアプリケーション部（６０４）は端末装置に同等であり、それはデータパケットを生成し、次いでＷＳＮアプリケーションに従ってネットワーク設計者（又はプログラマ／ユーザ）によって作成されるプログラミングインタフェースを使用し、それらをパケット処理及び送信部（６０１）に格納する。クラスタ管理部（６０２）、パラメータ管理部（６０３）は、特定のＩｏＴアプリケーションに対するノードの適用性を確認することを担う動的再タスク及びルーティング制御の主要な構成要素である。パラメータ管理部（６０３）は、パラメータ管理表（５００）から成る。ＳＤＮ−コントローラノード（１０４）から初期セットアップ情報を受信後、それは層−ＩＤ（５０２）及びノード−ＩＤ（５０１）の受信パケットをそれ自体のデータに照合して、それが現在のアプリケーションに参加するかどうか活動フラグ（５０７）を選択する。次いで、クラスタ管理部（６０２）は動的クラスタ化及びルーティングを制御する。
【００４２】
図７はＳＤＮ−コントローラノード（１０４）の機能ブロック図を表す。ＳＤＮ−コントローラノード（１０４）は、ＳＤＮコントローラタスクを実行する、つまりアプリケーションの定義を適用し、ネットワークを作成し、管理するノードである。それは２つの異なるモジュール、つまりセンサノードモジュール（７１０）とコントローラサーバモジュール（７２０）から構成される。センサノードモジュール（７１０）は、シリアル／ＵＳＢ接続でコントローラサーバモジュール（７２０）と接続される。
【００４３】
センサノードモジュール（７１０）は、３つの部分、つまりパケット処理及び送信部（７０１）、アプリケーション／クラスタ管理部（７０２）、及びシリアル通信部（７０３）に分割される。それは、センサノード上で実行し、パケット処理及び送信部（７０１）を使用してＳＤＮ−埋込みセンサノードと通信することを担う。それは受信されたメッセージをコントローラサーバモジュール（７２０）に転送し、コントローラサーバモジュール（７２０）からネットワークに送信されるメッセージを受信するためにシリアル通信部（７０３）を使用する。アプリケーション／クラスタ管理部（７０２）はメッセージを適用するために役割管理表を含み、この通信を管理する。
【００４４】
コントローラサーバモジュール（７２０）は、制御プレーン論理、つまりアプリケーション特有ネットワーク制御部（７０４）を含み、コントローラアプリケーションをホストし、異なるＩｏＴアプリケーションのためにクラスタ化及びトポロジー情報を管理する。
【００４５】
＜アプリケーションに依存しないＩｏＴフレームワークを構築するためのＳＤＮ−コントローラノードクラスタ管理＞
図８は、ＳＤＮ−コントローラノード（１０４）の高レベル操作フローチャートを表す。ネットワークオペレータが新しいアプリケーションのためにクラスタシステムを構成することを開始するとき、ネットワークオペレータはＳＤＮ−コントローラノードに対してアプリケーション−ＩＤ及び層−ＩＤを指定する（Ｓ８０１）。システムは管理表の参照のために各層に属するノードの概数を表示してよい。次いで、ＳＤＮ−コントローラノード（１０４）はネットワーク管理表（３００）からデータを読み出し（Ｓ８０２）、層−ＩＤと照合することによってノードの総数Ｎ（３０４）をカウントする（Ｓ８０３）。好ましい実施形態では、ＳＤＮ−コントローラノード（１０４）は特定の層−ＩＤ（３０２）及びアクティブフラグ（３０６）「０」を有するノード数をカウントする。アプリケーションに依存しないネットワーク管理の簡略さのため、動的クラスタ化及び回転クラスタのヘッド位置が検討された。各ラウンドでクラスタの最適数及びＣＨｓ  ｋｏｐｔを仮定する。例えば、ｋｏｐｔは既存のクラスタ化プロトコルに帰せられる以下の方程式を使用し、計算できる（Ｓ８０４）。ここでは、ＮはＳＤＮ−埋込みセンサノード（１０５）の総数である。
方程式  １
【００４６】
【数１】
2017188706.tif 000003
【００４７】
上記の計算に従って、システムは計算パラメータ（例えば、Ｎ、ｋｏｐｔ）を得る。クラスタ化パラメータを計算後、ＳＤＮ−コントローラノード（１０４）はそのネットワーク管理表を更新する（Ｓ８０５）。次いで、それは役割（性能）ＩＤを選択し（Ｓ８０６）、役割−ＩＤが「１」として設定する場合、次いでそれはクラスタ化パラメータを含む初期セットアップメッセージを放送し（Ｓ８０８）、それ以外の場合、それは中間クラスタヘッド選択及びクラスタヘッド（ＣＨ）ノードスケジューリングを実行するために開始する（Ｓ８０７）。役割−ＩＤ（４０１）は、ネットワーク管理表が更新された直後に「１」設定され、すべてのＳＤＮ−埋込みセンサノードにクラスタ化パラメータを含む初期セットアップを放送する。他のときには、役割−ＩＤの選択は、クラスタヘッド及びＳＤＮ−コントローラノードスケジューリングの時点でから受信されたメッセージに依存する（Ｓ１０１２）。ＳＤＮ−コントローラノードはクラスタヘッドノードからエネルギーデータを受信し（Ｓ１３０１）、次いでそれはその役割−ＩＤ（４０１）を「２」として設定する。ノード総数及び数クラスタをカウントするためのアルゴリズムは以下の通りに説明される。
【００４８】
＜アルゴリズム定義：特定のＩｏＴアプリケーションのためのＳＤＮ−埋込みセンサノードの総数を見つけ出す＞
ＳＤＮ−コントローラノード（１０４）は、ＩｏＴアプリケーションのためのネットワークオペレータの仕様に基づいてＳＤＮ−埋込みセンサノード（１０５）の総数を見つけ出す。
【００４９】
前提：
すべてのＳＤＮ−埋込みセンサノード（１０５）にはノード−ＩＤ（３０３）及び層−ＩＤ（３０２）のタグが付けられている。
【００５０】
ネットワーク管理表（３００）はノード−ＩＤ（３０３）及び層−ＩＤ（３０２）のデータで更新される。
【００５１】
ネットワークオペレータはアプリケーション−ＩＤ（３０１）で特定のＩｏＴアプリケーションのための層−ＩＤ（３０２）を指定する。
【００５２】
入力：
ネットワーク管理表の層−ＩＤ（３０２）及びアクティブフラグデータ（３０６）、ネットワークオペレータによって指定されるアプリケーション−ＩＤ（３０１）及び層−ＩＤ（３０２）、ノードのデータの総数は、ネットワーク管理表（３００）の中に存在する。
【００５３】
出力：
ＳＤＮ−埋込みセンサノードの総数Ｎ（３０４）、クラスタの総数ｋｏｐｔ（３０５）
方法：
ネットワーク管理表（３００）のエントリの総数（Ｌ）を見つけ出す。
【００５４】
次の方法に従ってＳＤＮ−埋込みセンサノードの総数、Ｎ（Ｓ８０３）及びクラスタ数ｋｏｐｔ（Ｓ８０４）を計算する。
【００５５】
#Node count, N ← 0
#Cluster count, K_opt ← 0
#for L≠0
#if specified Layer id = node’s Layer id && Active-Flag≠ 1  
#Node count, N++;
#Update network management table: Active-Flag to “1”;
#end if
#end for
#K_opt = (sqrt (N/2*PI))*(2/0.765)
#for L≠0
#if specified Layer id = node’s Layer id
#Update network management table: Number of Node/App. to “N”,and Number of Cluster/App to“K_opt”;
#end if 
#end for 
【００５６】
＜ＳＤＮ−埋込みセンサノードクラスタの形成及びクラスタヘッドの選択＞
図９は、ＳＤＮ−埋込センサノード（１０５）の高レベル操作フローチャートを示す。ＳＤＮ−コントローラノードからクラスタ化パラメータ、つまり「アプリ−ＩＤ、層−ＩＤ、ノード−ＩＤ、ノードの総数（Ｎ）、クラスタの数（ｋｏｐｔ）（図４の値（４０３）を参照すること）」とともに初期セットアップメッセージを受信した後（Ｓ９０１）、ＳＤＮ−埋込みセンサノード（１０５）はそれ自体のパラメータ管理表（５００）からデータを読み取る（Ｓ９０２）。次いで、それはノード−ＩＤ（５０１）及び層−ＩＤ（５０２）を受信されたデータと比較する（Ｓ９０３）。データが受信されたデータと一致した場合、及び特定のＩｏＴアプリケーションの適用性をチェックした後（Ｓ９０４）、次いでＳＤＮ−埋込みセンサノード（１０５）はそのアクティブフラグ（５０７）を値「１」（アクティブを参照）に設定し、受信されたクラスタ化パラメータでパラメータ管理表（５００）を更新する（Ｓ９０６）。その後、それは動的クラスタ化及びルーティングを実行することを開始する（Ｓ９０７）。それ以外の場合、それはアクティブフラグを値「０」（イナクティブを参照）に設定し、無線をオフにする（Ｓ９０５）。
【００５７】
図１０は、動的クラスタ化（再タスク）及びルーティングのためのＳＤＮ−埋込みセンサノード（１０５）の操作フローチャートを示す。クラスタヘッド選択（Ｓ１０１０）段階では、例として、我々は分散クラスタ化アルゴリズムを適用してすべてのＳＤＮ−埋込みセンサノードの間でエネルギー負荷を等しく分散した。本実施形態では、我々は、各ノードが確率ｐｏｐｔでクラスタヘッド（ＣＨ）になることができ、あらゆるＳＤＮ−埋込みセンサノード（１０５）は、１／ｐｏｐｔラウンドごとに一度クラスタヘッド（ＣＨ）になることがあると仮定した。この提案を通じて、我々はこのラウンドの数１／ｐｏｐｔをクラスタ化されたセンサネットワークの「エポック」と呼び、以下の通り計算できる。
方程式  ２
【００５８】
【数２】
2017188706.tif 000004
【００５９】
ここで、現在のラウンドでクラスタヘッド（ＣＨ）になるために選ばれるＳＤＮ−埋込センサノード（１０５）は、もはや同じエポック（１／ｐｏｐｔラウンド）でクラスタヘッドになることはできない。選ばれなかったＳＤＮ−埋込みセンサノード（１０５）は集合Ｇに属し、ラウンドあたりの安定した数を維持するために、クラスタヘッドになるためのノードの確率∈Ｇは、同じエポックでの各ラウンドの後に上昇する。決定は、各ノードｎ∈Ｇが０と１との間の乱数を自主的に選ぶことによって各ラウンドの始めに下される。乱数がノードｎの閾値Ｔ（ｎ）未満である場合、次いでセンサノード（１０５）はクラスタラウンドでクラスタヘッド（ＣＨ）になる。
【００６０】
閾値Ｔ（ｎ）は以下として設定される。
方程式  ３
【００６１】
【数３】
2017188706.tif 000005
【００６２】
上式ではｒは現在のラウンド数（ラウンド０から始まる）である。クラスタヘッドになるためのノードの選択確率∈Ｇは同じエポックの各ラウンドで上昇し、エポックの最後のラウンドで１に等しくなる。
【００６３】
その後、それはクラスタ形成（Ｓ１０１１）及びノードスケジューリング（Ｓ１０１２）を実行することを開始する。クラスタヘッド選択及びクラスタ形成の後、すべてのＣＨノードがそのノード−ＩＤ及びエネルギーデータを送信する（つまり、ＳＤＮ−コントローラノードに対する送信エネルギー及びその残りのエネルギー、例えばその電池の電圧等）。次いで、ＳＤＮ−コントローラノードは中間クラスタヘッド（ＩＣＨ）選択アルゴリズムを実行する（Ｓ１０１３）。
【００６４】
最後に、それは、各ＳＤＮ−埋込みセンサノード（１０５）が検知及びその関連ＣＨに対する報告を始める（Ｓ１０１４）定常状態段階（Ｓ１０１４、Ｓ１０１５、Ｓ１０１６）に入る。クラスタヘッドデータ集約の後（Ｓ１０１５）、すべてのＣＨはＩＣＨノードを介してＳＤＮ−コントローラノードにローカル決定又はデータを送信する（Ｓ１０１６）。各操作ラウンドは固定量の時間を割り当てられる。時間制限に達した後、ＣＲネットワークは再クラスタ化及び再構成によって別のラウンドに入る。したがって、動的クラスタ化及び回転クラスタヘッド位置を適用することは、より長いネットワーク寿命を保証するすべてのＳＤＮ−埋込みセンサノードの間での等しいエネルギー分散を可能にした。
【００６５】
図１１は、自己設定クラスタ形成のためのＳＤＮ−埋込センサノード（１０５）の操作フローチャートを表す。いったんＳＤＮ−埋込みセンサノード（１０５）が方程式３の確率を使用しそれら自体クラスタヘッド（ＣＨ）になることを選ぶと、ＣＨノードはネットワークの中のすべての他のノードに、それらが現在のノードについてこの役割を選んだことを知らせなければならない（Ｓ１０１１）。このメッセージは、ノードのＩＤ及びこのメッセージを告示メッセージとして区別するヘッダを含む小さいメッセージである。ただし、このメッセージはネットワークでノードのすべてに届くためには放送されなければならない。告示を許可した後、ＣＨは他のＳＤＮ−埋込センサノードからの応答を待機する（Ｓ１１０２）。
【００６６】
図１２は、ＳＤＮ−埋込みセンサノード（１０５）のクラスタ管理表（１２００）を示す。この表に従って、ＳＤＮ−埋込みセンサノード（１０５）は、選択された規則ＩＤ（１２０１）に基づいて処置（１２０３）を取る。処置（１２０３）は、他のノードに示されている値（１２０４）を送信する通知である。この表はまた、役割カウント（１２０５）及び操作ラウンドカウント（１２０６）も含む。ステップ（Ｓ１１０１）は規則ＩＤ（１２０１）「１」によって選択された告示処置である。ＳＤＮ−埋込みセンサノードがクラスタヘッドノードではない場合（図１１）、次いでそれはクラスタメンバーとして規則−ＩＤ「２」を選択し、選ばれたクラスタヘッドに参加要求メッセージを送信する（Ｓ１１０５）。規則ＩＤ３及び４に従って、ＳＤＮ−埋込みセンサノードはその処置を選択し、必要なデータを広める。ここで、役割カウント（１２０５）は、何回ＳＤＮ−埋込みセンサノードがタスク「クラスタヘッド告示」、「クラスタメンバー」、「ＣＨセットアップ」、「ＩＣＨ告示」、及び「ＩＣＨメンバー」を実行したのかを測定するために使用される。操作ラウンドカウント（１２０６）は、ＳＤＮ−埋込みセンサノードの操作サイクルを測定するために使用される。
【００６７】
他方、選ばれない他のＳＤＮ−埋込みセンサノード（１０５）は、ＣＨノードからの告知を待機する（Ｓ１１０４）。各非クラスタヘッドノードは、各ＣＨからの広告の受信信号強度に基づいて、最小通信エネルギーを必要とするＣＨを選ぶことによって、それがどのクラスタに属するのかを決定する。純粋な信号強度のための対称伝搬チャネルを仮定すると、最大信号強度で聞かれるクラスタヘッド広告は、通信のために最少量の伝達エネルギーが必要とされるクラスタヘッドである。通常、これがＳＤＮ−埋込みセンサノードに最も近いクラスタヘッドとなることに留意されたい。各ＳＤＮ−埋込みセンサノードが、それがどのクラスタに属するのかを決定した後、それはＣＨノードに対し、それがクラスタのメンバーとなることを知らせなければならない。各ＳＤＮ−埋込みセンサノードは選択された規則ＩＤ（１２０１）「２」によって選ばれたＣＨに参加要求メッセージ（参加−要求）を送り返す（Ｓ１１０５）。このメッセージは再び、ノード−ＩＤ、クラスタヘッドのＩＤ、及びヘッダ（クラスタ管理表（１２００）を参照）から成る短いメッセージである。ノードは広告メッセージの受信電力に基づいてＣＨに届くために必要とされる相対電力の考えを有するので、それはこのレベルにその送信電力を調整できるだろう。参加要求メッセージを受信した後、すべてのクラスタヘッド（ＣＨ）ノードがそのメンバーＳＤＮ−埋込みセンサノードでスケジューリングを作成し（Ｓ１１０３、Ｓ１１０６）、定常状態操作に入る（Ｓ１１０７）。
【００６８】
＜ＳＤＮ−コントローラノード中間クラスタヘッド選択及びデータ伝送＞
図１３は、中間クラスタヘッド（ＩＣＨ）ノード及びクラスタヘッド（ＣＨ）ノードとのスケジューリングを選択するためのＳＤＮ−コントローラノードの操作フローチャートを示す。クラスタ形成の最後の後、すべてのＣＨノードは規則ＩＤ（１２０１）「３」を選択する（Ｓ１３０１）によってＳＤＮ−コントローラノードにそのノード−ＩＤ及びエネルギーデータ（つまり、ＳＤＮ−コントローラノードに対する送信エネルギー及びその残りのエネルギー）を送信する。例えば、ＳＤＮ−コントローラへの送信エネルギーはＣＨノードでの電力制御信号によって知られている。残りのエネルギーはＣＨノードの電池又は太陽電池の電圧レベルによって知られている。ＳＤＮ−コントローラは次いでＩＣＨ選択アルゴリズムを実行する。本実施形態では、ＩＣＨ構成の問題は施設配置問題（ＦＬＰ）と見なされ（Ｓ１３０４）、目標は最適ルートを選択することによってＣＨの総エネルギー消散を最小限に抑え、ネットワークロバストネスを高めるための優れた解決策を見つけ出すことである。本実施形態のために、我々は各ＣＨを２つの量、つまり送信エネルギー及び残りのエネルギーと関連付ける。我々が設計したコスト関数を使用し、我々は事前にｐを知らなくても（単一操作サイクルで選ばれた）ＣＨの中からＩＣＨのｐ数を選択できる。施設コストは以下の通り定義される（Ｓ１３０４）：
方程式  ４
【００６９】
【数４】
2017188706.tif 000006
【００７０】
アルゴリズムの詳細は以下の通り説明される。
アルゴリズム定義：ＳＤＮ−コントローラノードでのＩＣＨ選択
残りのエネルギーがすべての候補クラスタヘッドノードの平均の残りのエネルギーよりも大きく、すべての選ばれたＩＣＨの総施設コストが最小であるＩＣＨの適切な数及び位置を見つけ出す。
【００７１】
前提：
ＣＨｓｅｔは現在のラウンドで選択されたすべてのＣＨノードのセットである。
【００７２】
ｅ＿ａｖｇすべての候補ＣＨの平均残りエネルギー。
【００７３】
ＩＣＨｓｅｔはＣＨｓｅｔの部分集合であり、ＩＣＨとして働く。
【００７４】
入力：
ＣＨｓｅｔ、ｅ＿ａｖｇ、ノード−ＩＤ、ＳＤＮ−コントローラノードに対する送信エネルギー、各ＣＨノードの残りのエネルギー
出力：
現在のラウンドで中間クラスタヘッド（ＩＣＨ）ノードとして働くＩＣＨｓｅｔ
方法：
ＳＤＮ−コントローラノードはクラスタヘッド（ＣＨ）ノード（ｅｊＢＳ及びｅｊ）からエネルギーデータを受信した（Ｓ１３０１）。
【００７５】
ＣＨノードの平均残りエネルギー（ｅ＿ａｖｇ）を計算する（Ｓ１３０２）。
【００７６】
残りエネルギー＞ｅ＿ａｖｇのＣＨノードの中からＩＣＨの数（ｐ）を計算する（Ｓ１３０３）。
【００７７】
方程式４を使用し、クラスタヘッドノードごとに施設コスト（ＦＣ）を計算する（Ｓ１３０４）。
【００７８】
施設コストの昇順で候補ＣＨを並べ替える（Ｓ１３０５）。
【００７９】
ＩＣＨノードとしてＣＨノードの第１のｐ数を選択する（Ｓ１３０６）。
【００８０】
ＩＣＨ告示メッセージを放送する（Ｓ１３０７）。
【００８１】
ＩＣＨノードの選択後、ＳＤＮ−コントローラノードは、規則ＩＤ（１２０２）「４」を選択することによってすべての選ばれたＣＨノードに対しヘッダ及びノード−ＩＤを有するＩＣＨ−告示メッセージを放送する。すべてのＣＨノードは次いでその関連するＩＣＨノードを選択し、規則ＩＤ（１２０１）「５」を選択することによってＩＣＨ参加要求を送信し、データ伝送に対して開始する。
【００８２】
上述されたように、クラスタベースのソフトウェア定義無線センサネットワークのためのシステム及び方法がここに提供される。本実施形態によると、複数のＩｏＴアプリケーションは同じハードウェアインフラストラクチャに構築できる。ＷＳＮはアプリケーション特有であり、それは、ＷＳＮを使用し、ＩｏＴアプリケーションを構築するための主要な課題であるリソースの活用不足又は過剰な活用につながることがある。上記の実施形態では、我々はアプリケーションに依存しないＩｏＴフレームワークを構築するために無線センサネットワークでソフトウェアデファインドネットワーキング技術を適用した。ＳＤＮデータプレーン及び制御プレーンは互いから分離され、データプレーンはＳＤＮ−埋込みセンサノード（センサフィールド）を含み、制御プレーンはＳＤＮ−コントローラノード（ゲートウェイ／シンク）を含む。ＳＤＮ−コントローラノードはネットワーク管理表を含み、各ＳＤＮ−埋込みセンサノードはノード−ＩＤ（ハードウェア−ＩＤ）及び層−ＩＤでタグを付けられている。ネットワークオペレータの仕様に基づいて、それは総数ＳＤＮ−埋込みセンサノード及び特定のアプリケーションのクラスタ数を決定する。このようにして、最適リソース活用は、ＩｏＴフィールドでセンサ密度を制御することによって達成できる。ＷＳＮでＩｏＴアプリケーションを設計するための他の主要な課題は、ネットワーク寿命、通信待ち時間、及びインバウンド制御トラフィックである。それらの問題に対応するために、カスタマイズ可能なクラスタベースの動的再タスク及びルーティング方法が、すべてのＳＤＮ−埋込みセンサノードの間でエネルギー負荷を等しく分散し、このようにして最適データルートを選択するために適用される。
【図１】
2017188706.tif 000007
【図２】
2017188706.tif 000008
【図３】
2017188706.tif 000009
【図４】
2017188706.tif 000010
【図５】
2017188706.tif 000011
【図６】
2017188706.tif 000012
【図７】
2017188706.tif 000013
【図８】
2017188706.tif 000014
【図９】
2017188706.tif 000015
【図１０】
2017188706.tif 000016
【図１１】
2017188706.tif 000017
【図１２】
2017188706.tif 000018
【図１３】
2017188706.tif 000019
【外国語明細書】
2017188706000001.pdf