JP2019086883A - デバイス探索システム及びデバイス探索方法 - Google Patents
デバイス探索システム及びデバイス探索方法 Download PDFInfo
- Publication number
- JP2019086883A JP2019086883A JP2017212643A JP2017212643A JP2019086883A JP 2019086883 A JP2019086883 A JP 2019086883A JP 2017212643 A JP2017212643 A JP 2017212643A JP 2017212643 A JP2017212643 A JP 2017212643A JP 2019086883 A JP2019086883 A JP 2019086883A
- Authority
- JP
- Japan
- Prior art keywords
- routing table
- filter information
- intermediate node
- stored
- data
- 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.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
【課題】第1に複数のセンサが計測したデータを随時格納した場合であっても、一定の時間間隔毎のデータからBFを作成し、このBFを一定の時間間隔で上位層の中間ノードに格納することから、偽陽性を抑制しつつ、確実に対象のデバイスを探索可能なデバイス探索システムを提供すること。【解決手段】末端デバイス10は、センサ40から取得した複数のデータを、ある一定の時間間隔で分割し、当該分割したデータ毎に作成したBF(ブルームフィルタ)をBF格納部13に格納した上で、当該格納したBF毎に自身のデバイスIDを付加したBFブロックB1を中間ノード20へ送信する。中間ノード20は、BF格納部13から一定間隔で受信したBFブロックB1を、当該受信したタイミングで作成した複数のルーティングテーブルRTにそれぞれ格納する。【選択図】図4
Description
本発明は、IoTサービスにおけるデバイス探索システム及びデバイス探索方法に関する。
近年、種々のデータを取得可能なセンサが付随されたデバイス(以下、末端デバイスと呼ぶ)をネットワークに接続して構成されるシステムにおいて、前記末端デバイスが生成するデータを活用したIoT(Internet Of Things)が注目されている。
IoTの分野では、前記センサが接続された下位層の複数の末端デバイスと、当該末端デバイスがセンサから取得したデータを予め集約する上位層の中央サーバとが階層的にネットワークを介して接続されている。
また、このIoTサービスでは広範囲で大量のデータを取扱うため、末端デバイスと中央サーバとの間に何層かの中間ノードを介する場合がある。すなわち、中間ノードの配下には、複数の中間ノードが設けられていることが多い。
そして、複数の末端デバイスから取得されたデータを中間ノードに集約する際に、集約したデータを1つに纏めて、一連のビット列を作成する機能(以下、これをブルームフィルタ(Bloom Filter)と呼び、以下このブルームフィルタを用いて作成された単一のビット列を「BF」と呼ぶ)が用いられる。このBFを作成する機能は、通信時のデータ量の削減と粒度の細かさを両立できる、空間効率に優れた確率的データ構造に関する技術である。
ところで、IoTシステムでは、当該IoTシステム内で生じた不具合などを究明するため、ユーザが指定した探索条件に基づいて中央サーバに集約されたデータから探索対象となる末端デバイスを特定する場合がある。このため、複雑な階層構造のIoTシステムにおいては、各中間ノードの配下に位置する末端デバイスに格納されているデータをBFに集約して上位階層に予め送信しておくことにより、探索時の効率を改善する技術が提案されている(例えば、非特許文献1参照。)。
堺竜太郎、唐笠良太、佐藤文明、"B木構造に基づくBloomフィルタ検索システムの実装と評価"、「マルチメディア、分散、協調とモバイル(DICOMO2011)シンポジウム」、平成23年7月、p771-p777.
しかしながら、一般的なIoTシステムは、大量な末端デバイスから成立し、且つ当該末端デバイスが複数の中間ノード間を頻繁に移動するといった特性を有するため、末端デバイスの探索自体が難しいといった問題点がある。また、非特許文献1に記載された技術は、一部の中間ノードに格納されるBFのみを用いて検索を効率的に行うものであり、また末端デバイスが前記中間ノード間を移動する場合が考慮されていない。
仮に、前記非特許文献1に記載された技術において、末端デバイスの移動を考慮してBFを作成すると、末端デバイスからの取得データを随時集約し、当該BFを上位層のノードに追加し続けることになる。
これは、BFを構成する数字(2進数からなるビット列)が全て“1”になり偽陽性が大幅に上昇してしまうといった問題が生じ、探索回数の増大を引き起こす。なお、偽陽性とは、“0”と“1”とから構成されるビット列のうち“1”の比率が多くなってしまうために、本来送信すべきセンサが取得したデータとは異なるデータを誤って認識してしまうことをいう。
また、各末端デバイスが移動する度に、この移動した末端デバイスから中央サーバまでのBFの再計算を行うことになり、階層構造の更新を頻繁に行うことになる。これは、特に中央サーバ付近での通信回数が増大し、前記不具合の究明のために末端デバイスを探索するといった通常の運用以外に多大なコストが掛かるだけでなく、システムへの負荷が増大するといった問題を生じる。
本発明は、前記課題に鑑みてなされたものであり、第1に複数のデバイスが取得したデータを随時集約した場合であっても、一定の時間間隔毎のデータからBFを作成し、このBFを一定の時間間隔で上位層の中間ノードに格納することから、偽陽性を抑制しつつ、確実に対象のデバイスを探索可能なデバイス探索システム及びデバイス探索方法を提供することにある。
第2に末端デバイスが移動し、当該末端デバイスの位置が変化したことで、新たな中間ノード下に配置される場合でも、中間ノードは、条件に応じて末端デバイスが取得したデータを上位層に送信しないことから、システム全体にて授受するデータ通信量を抑えつつ、確実に対象のデバイスを探索可能なデバイス探索システム及びデバイス探索方法を提供することにある。
本発明に係るデバイス探索システムの一態様は、データを収集し保存する複数のデバイスと、当該複数のデバイスの上位層に位置し前記複数のデバイスから前記データを集約する中央サーバと、を階層的に備えた、前記デバイスを探索するためのデバイス探索システムにおいて、前記複数のデバイスの各々は、前記データを一定の時間ウィンドウ毎に収集し保存するデータ格納部と、前記データ格納部に格納されたデータに基づき、単一のビット列を作成するビット列作成部と、前記ビット列作成部にて作成された単一のビット列をフィルタ情報として保存し、当該フィルタ情報と前記デバイスを示す識別情報とを含むブロック情報を前記時間ウィンドウ毎に生成して前記上位層に送信するフィルタ情報送信部と、を備え、前記中央サーバは、前記デバイスから送信されたブロック情報に含まれるフィルタ情報とこのフィルタ情報の送信元を示す識別情報との組み合わせを、ルーティングテーブルとして前記時間ウィンドウ毎に保存するルーティングテーブル管理部と、デバイス探索要求を受け取った場合に、当該デバイス探索要求に含まれるフィルタ情報に基づいて前記ルーティングテーブルから対応する識別情報を検索し、当該検索された識別情報をもとに探索対象となる前記デバイスを探索する処理を実行する探索処理部と、を備える。
本発明に係るデバイス探索システムの一態様によれば、第1に複数の末端デバイスがデータを随時集約した場合であっても、一定の時間間隔毎のデータからBFを作成し、このBFを一定の時間間隔で上位層の中間ノードに格納することから、偽陽性を抑制可能としつつ、確実に対象の末端デバイスを探索可能となる。
第2に、末端デバイスが移動し、当該末端デバイスの位置が変化したことで、新たな中間ノード下に配置された場合でも、中間ノードは、条件に応じて末端デバイスが取得したデータを上位層に送信しないことから、システム全体にて授受するデータ通信量を抑えつつ、確実に対象のデバイスを探索可能となる。
以下、本発明の実施形態に係るIoTサービスにおけるデバイス探索システム及びデバイス探索方法について、図面を参照して説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係るIoTサービスにおけるデバイス探索システムの階層構造を示すブロック図である。
デバイス探索システムは、その構成上、末端デバイス10が1台以上、中間ノード20は0台以上、中央サーバ30は1台のみで成立するが、ここでは一例として、下位層から上位層へ向かって末端デバイス10(10a〜10f)、中間ノード20(20a〜20e)、および中央サーバ30が配置された構成をとる。
図1は、本発明の第1の実施形態に係るIoTサービスにおけるデバイス探索システムの階層構造を示すブロック図である。
デバイス探索システムは、その構成上、末端デバイス10が1台以上、中間ノード20は0台以上、中央サーバ30は1台のみで成立するが、ここでは一例として、下位層から上位層へ向かって末端デバイス10(10a〜10f)、中間ノード20(20a〜20e)、および中央サーバ30が配置された構成をとる。
すなわち、複数の末端デバイス10(10a〜10f)を、当該末端デバイス10(10a〜10f)の上位層に位置する中間ノード20(20c〜20e)が管轄し、当該中間ノード20(20c〜20e)を、当該中間ノード20(20c〜20e)の上層に位置する中間ノード20(20a、20b)が管轄し、そして当該中間ノード20(20a、20b)を中央サーバ30が管轄する構成をとる。ここで、末端デバイスは前記複数の中間ノード20間を移動するものとする。
なお、中間ノード20が0台、すなわち中間ノード20a〜中間ノード20eが設けられていない場合は、デバイス探索システムは、末端デバイス10が中央サーバ30と直接接続される構成となる。
以下では、末端デバイス10aおよび末端デバイス10b、中間ノード20dおよび中間ノード20a、ならびに中央サーバ30に着目して説明する。なお、末端デバイス10(10a〜10f)、中間ノード20(20a〜20e)を区別しない場合には、単に末端デバイス10、中間ノード20と称する。
末端デバイス10aには、例えば加速度を計測するセンサ40a、および温度を計測するセンサ40bが接続される。他の末端デバイス10c〜10fに付随するセンサついても同様の機能を有するものとする。
末端デバイス10aは、
(1)センサ40aおよびセンサ40bが計測したデータを取得する機能
(2)当該取得したデータを時刻t毎に集約してBF(単一のビット列)を作成する機能
(3)当該BFに末端デバイス10a自身のID(ここでは、ID=デバイス10aとする)を付加したBFブロックB1(BF+ID)を中間ノード20dに送信する機能
(4)当該送信したBFを一定期間記憶し、別の中間ノード20への移動後に当該記憶してあるBFにデバイスID(以下、単にIDと呼ぶことがある)を付加した前記BFブロックB1を、別の中間ノード20に再送信する機能
(5)中央サーバ30、中間ノード20を介してユーザからデバイス探索指示がなされると、対象データが自身に格納されているか否か検索し、その結果をユーザに返す機能
を有する。
(1)センサ40aおよびセンサ40bが計測したデータを取得する機能
(2)当該取得したデータを時刻t毎に集約してBF(単一のビット列)を作成する機能
(3)当該BFに末端デバイス10a自身のID(ここでは、ID=デバイス10aとする)を付加したBFブロックB1(BF+ID)を中間ノード20dに送信する機能
(4)当該送信したBFを一定期間記憶し、別の中間ノード20への移動後に当該記憶してあるBFにデバイスID(以下、単にIDと呼ぶことがある)を付加した前記BFブロックB1を、別の中間ノード20に再送信する機能
(5)中央サーバ30、中間ノード20を介してユーザからデバイス探索指示がなされると、対象データが自身に格納されているか否か検索し、その結果をユーザに返す機能
を有する。
中間ノード20dは、
(1)管轄する末端デバイス10a、10bからのBFブロックB1を受信し、当該受信したBFブロックB1を格納する機能
(2)新たに管轄することになった、例えば末端デバイス10dが再送信したBFブロックB1を受信し、当該受信したBFブロックB1を追加する機能
(3)格納された末端デバイス10aおよび10bの各BF(末端デバイス10dからのBFブロックB1を追加した場合には、このBFも含む)について、例えばOR等の論理和を用いて更にBFを作成する機能
(4)前記更に作成したBFに中間ノード20d自身のIDを付加したBFブロックB2a(BF+ID)を上位の中間ノード20aに送信する機能
(5)一定期間経過後に自身に格納してある一番古い情報(データなど)を削除する機能
(6)中央サーバ30を介してユーザからデバイス探索指示がなされると、対象データが自身に格納されているか否か検索し、格納されていれば、前記対象データが格納された末端デバイス10(10a、10b)へ探索指示を出力する機能
を有する。
(1)管轄する末端デバイス10a、10bからのBFブロックB1を受信し、当該受信したBFブロックB1を格納する機能
(2)新たに管轄することになった、例えば末端デバイス10dが再送信したBFブロックB1を受信し、当該受信したBFブロックB1を追加する機能
(3)格納された末端デバイス10aおよび10bの各BF(末端デバイス10dからのBFブロックB1を追加した場合には、このBFも含む)について、例えばOR等の論理和を用いて更にBFを作成する機能
(4)前記更に作成したBFに中間ノード20d自身のIDを付加したBFブロックB2a(BF+ID)を上位の中間ノード20aに送信する機能
(5)一定期間経過後に自身に格納してある一番古い情報(データなど)を削除する機能
(6)中央サーバ30を介してユーザからデバイス探索指示がなされると、対象データが自身に格納されているか否か検索し、格納されていれば、前記対象データが格納された末端デバイス10(10a、10b)へ探索指示を出力する機能
を有する。
なお、図1のように、中間ノード20が2階層となっており、複数の中間ノード20(例えば20c、20d)を中間ノード20aが管轄する場合、当該中間ノード20aは、
(1)下位層の中間ノード20(20c、20d)が送信するBFブロックB2aを受信する機能
(2)受信したBFブロックB2aを格納する機能
(3)中間ノード20(20c、20d)の各々が送信したBFについて、例えばOR等の論理和を用いて更にBF(単一のビット列)を作成する機能
(4)作成したBFに中間ノード20a自身のIDを付加したBFブロックB2b(BF+ID)を上位の中央サーバ30に送信する機能
(5)一定期間経過後に自身に格納してある一番古い情報(データなど)を削除する機能の他
(6)中央サーバ30を介してユーザからデバイス探索指示がなされると、対象データが自身に格納されているか否か検索し、格納されていれば、当該対象データが格納された中間ノード20(20c、20d)へ探索指示を出力する機能
を有する。
(1)下位層の中間ノード20(20c、20d)が送信するBFブロックB2aを受信する機能
(2)受信したBFブロックB2aを格納する機能
(3)中間ノード20(20c、20d)の各々が送信したBFについて、例えばOR等の論理和を用いて更にBF(単一のビット列)を作成する機能
(4)作成したBFに中間ノード20a自身のIDを付加したBFブロックB2b(BF+ID)を上位の中央サーバ30に送信する機能
(5)一定期間経過後に自身に格納してある一番古い情報(データなど)を削除する機能の他
(6)中央サーバ30を介してユーザからデバイス探索指示がなされると、対象データが自身に格納されているか否か検索し、格納されていれば、当該対象データが格納された中間ノード20(20c、20d)へ探索指示を出力する機能
を有する。
中央サーバ30は、
(1)下位層の中間ノード20aが送信するBFブロックB2bを受信する機能
(2)受信したBFブロックB2bを格納する機能、
(3)ユーザからデバイス探索指示がなされると、対象データが自身に格納されているか否か検索し、格納されていれば、前記対象データを含む中間ノード20(20a、20b)または中間ノード20が本システムに含まれていない場合には、末端デバイス10(10a〜10f)へ直接探索指示を出力する機能
を有する。
(1)下位層の中間ノード20aが送信するBFブロックB2bを受信する機能
(2)受信したBFブロックB2bを格納する機能、
(3)ユーザからデバイス探索指示がなされると、対象データが自身に格納されているか否か検索し、格納されていれば、前記対象データを含む中間ノード20(20a、20b)または中間ノード20が本システムに含まれていない場合には、末端デバイス10(10a〜10f)へ直接探索指示を出力する機能
を有する。
図2は、前記末端デバイス10、および中間ノード20にてBFブロックB(B1、B2a、B2b)を作成するための構成を示した機能ブロック図である。以下では、一例として、BFブロックB1に着目して説明する。
なお、BFブロックB1、およびBFブロックB2(B2a、B2b)を区別しない場合には、単にBFブロックBと呼ぶ。
BFブロックB1は、複数のデータから作成された単一のビット列を格納する箱、すなわちブルームフィルタと、末端デバイス10のデバイスIDと、を組み合わせて構成される。
ここで、ブルームフィルタを用いた複数のデータの集約方法について説明する。ブルームフィルタでは、取得された複数のデータに対して複数のアルゴリズム(以下、ハッシュ関数と呼ぶ)を適用する。ここで、センサ40aが計測した加速度として、例えば9.8[m/t2]は、前記ハッシュ関数を用いて“10100”と変換され、センサ40bが計測した温度として、例えば25.4[℃]は前記ハッシュ関数を用いて“00101”と変換されたとする。
この場合、前記ハッシュ関数を用いて両者のデータ(“10100”と“00101”)を集約すると、例えば“10101”と新たな単一のビット列に変換することができ、通信データ量の削減を実現できる。以下、この単一のビット列への変換を「フィルタ化」と呼び、例えば末端デバイス10a(末端BF作成部12)が作成したBFを「Filter10a」と記載することがある。
なお、末端デバイス10b〜末端デバイス10fは、前記末端デバイス10aと同一の機能を有することから、説明を省略する。
図3は、前記デバイス探索システムにおいて階層的に配置される末端デバイス10、中間ノード20、及び中央サーバ30の構成を示す機能ブロック図である。ここでは、中間ノード20を1層、すなわち全階層数を3階層とした場合を例にとる。
末端デバイス10は、センサデータ格納部11、末端BF作成部12、BF格納部13、および探索処理部14を備える。
センサデータ格納部11は、センサ40が計測したデータを取得し、当該取得したデータを一定の時間毎に纏めて格納する。
末端BF作成部12は、当該センサデータ格納部11に一定の時間毎に纏めて格納されたデータ毎に、当該データに基づいてBFを作成する。
BF格納部13は、前記末端BF作成部12にて作成されたBFを格納し、当該格納したBFに自身のIDを付加した前記BFブロックB1を中間ノード20に送信し、必要に応じてまた再送信する。
探索処理部14は、ユーザからの探索処理による対象のデータを自身に格納されているか否かについて前記センサデータ格納部11を検索し、その検索結果をユーザに返す。
中間ノード20は、ルーティングテーブル格納部21、中間BF作成部22、中間BF送信部23および探索処理部24を備える。
ルーティングテーブル格納部21は、管轄する末端デバイス10が送信したBFブロックB1を、一定のタイムウィンドウ(t1、t2、t3、…、tn)で生成されるルーティングテーブルRT毎に格納(追加・更新)する。ここで、ルーティングテーブルRTには、BFとこれに対応するデバイスIDが格納されるが、例えば2階層以降の中間ノード20の場合には、下位層の中間ノード20を示すノードIDとなる。
中間BF作成部22は、ルーティングテーブルRTに格納される複数の末端デバイス10が送信したBF同士で論理演算(例えばOR等の論理和)を行い、新たなBF(単一のビット列)を更に作成する。
中間BF送信部23は、作成したBFに中間ノード20自身のIDを付加したBFブロックB2(BF+ID)を上位層の中央サーバ30に送信する。
探索処理部24は、ユーザからの探索処理による対象のデータを自身が有するか否かについて前記ルーティングテーブル格納部21を検索し、格納されていれば、前記対象データが格納された末端デバイス10へ探索指示を出力する。
中央サーバ30は、ルーティングテーブル格納部31、および探索処理部32を備える。
ルーティングテーブル格納部31は、管轄する中間ノード20が送信したBFブロックB2を、一定のタイムウィンドウ(t1、t2、t3、…、tn)で生成されるルーティングテーブルRTに格納する。
探索処理部32は、ユーザからの探索処理による対象のデータを自身が有するか否かについて前記ルーティングテーブル格納部31を検索し、格納されていれば、前記対象データが格納された中間ノード20へ探索指示を出力する。
このように構成されたデバイス探索システムに係る末端デバイス10、中間ノード20、および中央サーバ30のそれぞれは、各装置の図示せぬ各制御部(CPU)が装置制御プログラムに記述された命令に従い各機能部の動作を制御し、ソフトウェアとハードウェアとが協働して動作することにより、以下で述べるような処理工程を実現する。
(第1の動作例:データ処理工程)
図4は、前記デバイス探索システムにおける各装置間の第1の動作例であって、データ処理工程およびデバイス探索処理工程を示す図である。
図4は、前記デバイス探索システムにおける各装置間の第1の動作例であって、データ処理工程およびデバイス探索処理工程を示す図である。
図5は、前記第1の動作例での各装置間のデータ処理工程を示すシーケンス図である。
まず、図4、および図5に示すように、センサ40a、40bがデータ(加速度、温度)を計測すると(S0)、末端デバイス10aでは、当該計測されたデータを取得し、当該データを一定の時間毎に纏めてセンサデータ格納部11に格納する(S1−1)。
すると末端BF作成部12は、当該センサデータ格納部11に前記一定の時間毎に纏めて格納されるデータ単位でBF(例えば、単一のビット列“10101”)を作成する(S1−2)。具体的には、時間経過と共にデータが随時格納されることから、一定の時刻t毎(例えば、t0〜t1、t1〜t2など)に分割して格納されたデータに基づいて前記BFを作成する。
このような構成を採用することで、BFを構成するビット列において、データ増加に伴う前記ビット列の“1”の増加を抑制できることから、たとえ当該中間ノード20dが別の中間ノード20の管轄する領域から移動してきて当該中間ノード20dで管理するデータ量が増加した場合であったとしても偽陽性の著しい増加を抑えられ、後述する探索効率を高く維持することができる。
その後、BF格納部13にて、前記作成されたBFを格納し、この格納したBFに自身のID(ここでは、ID=デバイス10a)を付加して作成したBFブロックB1を、時刻t(t1、t2、t3、…、tn)毎に中間ノード20dに送信する(S1−4)。
すると、ルーティングテーブル格納部21は、受信した末端デバイス10aのBFブロックB1を、例えば所定のタイムウィンドウ(t1、t2、t3、…、tn)で生成される複数のルーティングテーブルRTに格納する(S2−1)。
なお、ルーティングテーブル格納部21には、配下に位置する末端デバイス10bが同時刻t1、t2、t3、…tnに送信したBFブロックB1も併せてルーティングテーブルRTにそれぞれ格納するものとする。
このため、例えば時刻t1、t2、t3、…、tn毎に「Filter10a、デバイス10a」と「Filter10b、デバイス10b」とがそれぞれ格納される(S2−1)。
なお、ここでは、ルーティングテーブル格納部21が複数のルーティングテーブルRTを記憶する構成としたが、単一のルーティングテーブルRTを記憶する構成であってもよい。この場合、古い時刻toldに生成されたルーティングテーブルRTに新しい時刻tnewに生成されたルーティングテーブルRTを上書きする構成を取る。
また、中間BF作成部22は、ルーティングテーブル格納部21から時間t毎にルーティングテーブルRT(RT1、RT2、RT3)を受信し(S2−2a)、各ルーティングテーブルRT(RT1、RT2、RT3)内に記憶された「Filter10a」と「Filter10b」とに基づいてフィルタ化、すなわちBF(図中「Filter20d」と記載)を作成する(S2−2b)。
中間BF送信部23は、当該作成したBFを受信し(S2−3)、当該BFに中間ノード20a自身のIDを付加したBFブロックB2(Filter20d、ノード20d)を中央サーバ30へ送信する(S2−4)。
すると、中央サーバ30内に設けられる、ルーティングテーブル格納部31は、受信した中間ノード20dからのBFブロックB2を、例えば受信した時刻T0、T1、T2毎に生成される複数のルーティングテーブルRT(RT1、RT2、RT3)に格納する(S3−1)。なお、ルーティングテーブル格納部31には、配下に位置する中間ノード20cが同時刻T0、T1、T2に送信したBFブロックB2も併せてルーティングテーブル格納部31にそれぞれ格納するものとする。
以上のように、時間経過と共にBF格納部13、ルーティングテーブル格納部21、31の各々は計測されたデータをフィルタ化したBFを蓄積することとなるが、一定時間が経過すると、当該BF格納部13では最も時刻toldの古いBFが削除され(S1−a)、ルーティングテーブル格納部21、31でも同様に、最も時刻toldの古いルーティングテーブルRTが削除される(S2−a、S3−a)。
なお、BFおよびルーティングテーブルRTを削除する具体的な処理工程については後述することとする。
(第2の動作例:デバイス探索処理)
図6は、前記デバイス探索システムにおける前記第2の動作例に係る各装置間のデバイス探索処理工程を示すシーケンス図である。
図6は、前記デバイス探索システムにおける前記第2の動作例に係る各装置間のデバイス探索処理工程を示すシーケンス図である。
前記図4および図6に示すように、運用管理者(ユーザ)から、例えば探索条件として温度28[℃]且つ加速度9.6[m/t2]を取得した末端デバイス10を探索する指示があると(S4−0)、中央サーバ30内に設けられた探索処理部32は複数の前記ハッシュ関数を用いて、前記指示(温度28[℃]、加速度9.6[m/t2])をビット列(“10101”)に変換する(S4−1)。
その後、探索処理部32は、ルーティングテーブル格納部31に対し、前記変換した対象のビット列を含むBFに対応付けられたID(ノードID、或いはデバイスID)の有無について各ルーティングテーブルRTに問い合わせる(S4−2)。
具体的には、ルーティングテーブルRT(RT1、RT2、RT3)毎に格納された「Filter20d」、「Filter20c」に対して対象のビット列を含むか否か問い合わせる。
当該問い合わせの結果、仮に「Filter20d」に対象のビット列(“10101”)が含まれると判断すると、前記探索処理部32は、次の探索先を当該「Filter20d」に対応するノードID(ここでは、中間ノード20d)に決定し、当該中間ノード20dに対して前記探索指示(温度28[℃]、加速度9.6[m/t2])を送信する(S4−3)。
すると、更に中間ノード20dに設けられた探索処理部24は、前記中央サーバ30にと同様に探索処理を実行する。
すなわち、複数の前記ハッシュ関数を用いて、前記指示を再度ビット列(“10101”)に変換し(S5−1)、ルーティングテーブル格納部21に対し、前記変換した対象のビット列を含むID(ノードID、或いはデバイスID)の有無について各ルーティングテーブルRT(RT1、RT2、RT3)に問い合わせる(S5−2)。
具体的には、ルーティングテーブルRT毎に格納された「Filter10d」、「Filter10b」に対して対象のビット列を含むか否か問い合わせる。
当該問い合わせの結果、仮に、「Filter10a」に対象のビット列(“10101”)が含まれると判断すると、探索処理部24は、次の探索先を当該「Filter10a」に対応するデバイスIDである末端デバイス10aに決定し(S5−3a)、当該末端デバイス10a(探索処理部14)に対して前記探索指示(温度28[℃]、加速度9.6[m/t2])を更に送信する(S5−3)。
すると、探索処理部14は、複数の前記ハッシュ関数を用いて、前記指示を再度ビット列(“10101”)に変換し、センサデータ格納部11に対して検索成功判定および検索(S6−1、S6−2)を実行する。その結果、検索対象のビット列“10101”を発見すると、その結果を中間ノード20、および中央サーバ30を介して、ユーザに返す(S7)。
しかし、末端デバイス10aが中間ノード20dの管轄から外れ、他の中間ノード20(例えば、中間ノード20b等)へ移動した場合などは、当該末端デバイス10aを検索できないことから、探索処理部24は、探索処理部32へ「探索失敗」である旨を通知する(S5−3b、図6)。
以上のようにデータ収集時には、センサ40から取得したデータを一定のタイムウィンドウ(t0、t1、t2)毎に時間を区切り、分割したデータを複数のルーティングテーブルRTに格納していくため、当該データの偽陽性を抑制できる。このことから、デバイス探索処理工程において誤ってユーザによる検索指示とは異なる末端デバイス10を検索してしまうことや、探索処理の探索回数が増加し、効率が低下するために、当該探索するための時間を要するといったことを抑制することができる。
なお、中間ノード20が本システムに含まれず、中央サーバ30の前記ルーティングテーブル格納部31が格納するIDがノードIDでなく、デバイスIDであった場合には、前記問い合わせの上(S4−2)、当該探索処理部32は、前記デバイスID、すなわち末端デバイス10a(探索処理部14)に対して前記検索成功判定および検索(S6−1、S6−2)を実行する。
(第3の動作例:データ処理工程)
図7は、第3の動作例であって、図1における末端デバイス10dが移動し、中間ノード20cから中間ノード20dの管轄する領域に入った場合における各装置間のデータ処理工程を示す図である。
図7は、第3の動作例であって、図1における末端デバイス10dが移動し、中間ノード20cから中間ノード20dの管轄する領域に入った場合における各装置間のデータ処理工程を示す図である。
図8は、前記第3の動作例での各装置間のデータ処理工程を示すシーケンス図である。
なお、以下では、図4および図5と異なる処理工程についてのみ説明をする。
なお、以下では、図4および図5と異なる処理工程についてのみ説明をする。
図7に示すように、中間ノード20dの管轄する領域内に末端デバイス10dが移動し、当該末端デバイス10dが中間ノード20dに接続されると(P0、図8)、末端デバイス10dは、それまでセンサ40から取得した全てのデータ(前記S1−aにて前記BF格納部13から削除したデータを除く)に自身のID(デバイス10d)を付加したBFブロックB1を中間ノード20dへ再送信する(P1−1)。
そして、中間ノード20dにおけるルーティングテーブル格納部21内の、例えばルーティングテーブルRT3にて前記末端デバイス10dからのBFを初めて格納する場合には、前記BFブロックB1に含まれるBFと、IDとして末端デバイス10dと、を対応させて当該ルーティングテーブルRT3に追加する(P2−1)。
その後、中間BF作成部22は、前記ルーティングテーブルRT3に格納された「Filter10a」、「Filter10b」、および「Filter10d」に基づいて新たなBFを作成する(P2−2)。
次いで、中間BF送信部23は、前記BFを受け取ると(P2−3)、前記中間BF作成部22にて新たに作成されたBFに自身のID(ここでは、中間ノード20d)を付加したBFブロックB2を中央サーバ30へ再送信する(P2−4)。
中央サーバ30のルーティングテーブル格納部31は、再送信された前記BFブロックB2に基づいて、当該ルーティングテーブル格納部31内のルーティングテーブルRT3に格納された「Filter20d」を上書きし更新する(図7参照)。
なお、中間ノード20が図1のように2階層構造であって、例えば、末端デバイス10dが移動した結果、中間ノード20cの管轄する領域から外れ、中間ノード20dの管轄する領域に入った場合には、当該中間ノード20内のルーティングテーブル格納部21にて更新処理が行われることがある(P2−1)。以下、図1のように中間ノード20が2階層になった場合の各装置間のデータ処理工程について図9を用いて説明する。
(第4の動作例:データ処理工程)
図9は、第4の動作例であって、図1のように中間ノード20が2階層構造とされ、前記中間ノード20aが中間ノード20c、中間ノード20dを管轄する場合の、各装置間のデータ処理工程を示す概略図である。
図9は、第4の動作例であって、図1のように中間ノード20が2階層構造とされ、前記中間ノード20aが中間ノード20c、中間ノード20dを管轄する場合の、各装置間のデータ処理工程を示す概略図である。
この場合、末端デバイス10dと中間ノード20dは中間ノード20aに対して前記図7、図8にて説明した処理工程が実行される(P1−1、P2−1、P2−2、P2−3、P2−4)。すなわち、例えば図7に示す中央サーバ30を中間ノード20aに置き換えた処理工程が実行される。
すると、図9に示すように中間ノード20aに設けられたルーティングテーブル格納部21内のルーティングテーブルRT3(「Filter20d、ノード20d」)を更新し、更新した「Filter20d」および「Filter20c」に基づいて論理和演算し、新たに作成したBFに、自身のID(ここでは、ノード20a)を付加したBFブロックB2を中央サーバ30へ送信する。
以上、第3の動作例および第4の動作例では、末端デバイス10の追加に伴うルーティングテーブル格納部21、31内でのBFの追加・更新について説明したが、以下第4の動作例では当該ルーティングテーブルRTの更新処理(削除・追加)について説明する。
(第5の動作例:ルーティングテーブルRTの更新処理)
図10は、第5の動作例であって、例えば中間ノード20dに設けられるルーティングテーブル格納部21内の前記ルーティングテーブルRTを更新する様子を示したシーケンス図である。
図10は、第5の動作例であって、例えば中間ノード20dに設けられるルーティングテーブル格納部21内の前記ルーティングテーブルRTを更新する様子を示したシーケンス図である。
ここで、BFを作成する時間間隔であるタイムウィンドウを、例えば1分とし、また保存可能なルーティングテーブルRTの数を“2”とする。以下では、ルーティングテーブルRT2がルーティングテーブルRT1よりも時刻的に新しいものとする。
まず、末端デバイス10aのセンサ40(40a、40b)により時刻t0(xx:00分)〜時刻t1(xx:01分)の間に計測されたデータを、当該末端デバイス10aがフィルタ化(Filter_t1と記載)し、これをBFブロックB1(「Filter_t1、デバイス10a」)として中間ノード20dに送信すると、当該中間ノード20dのルーティングテーブル格納部21にて、時刻t1で生成されたルーティングテーブルRT1に前記「Filter_t1」と「デバイス10a」とが対応付けて格納される。
ここでは、末端デバイス10bも同じタイミングでBFブロックB1(「Filter_t1、デバイス10b」)を送信しているため、当該BFブロックB1(「Filter_t1、デバイス10b」)も前記ルーティングテーブルRT1に格納される。以下、同様に、末端デバイス10bのBFブロックB1の送信タイミングは、末端デバイス10aと同一とする。
その後、前記センサ40(40a〜40d)により、時刻t1(xx:01分)〜時刻t2(xx:02分)の間に取得されたデータを、末端デバイス10(10a、10b)がフィルタ化(Filter_t2と記載)し、それぞれの末端デバイス10(10a、10b)のIDを付加したBFブロックB1(「Filter_t2、デバイス10a」と、「Filter_t2、デバイス10b」)を中間ノード20dに送信すると、時刻t2に作成された新たなルーティングテーブルRT2に、これら「Filter_t2、デバイス10a」、および「Filter_t2、デバイス10b」がそれぞれ対応付けて格納される。
このタイミングで、末端デバイス10(10a、10b)のBF格納部13には、「Filter_t1」と「Filter_t2」がそれぞれ格納されており、また中間ノード20dのルーティングテーブル格納部21には、時刻t1と時刻t2に作成された2つのルーティングテーブルRT(RT1、RT2)が格納されている。
このため、末端デバイス10(10a、10b)のBF格納部13は、時刻tとして一番古い「Filter_t1」を削除すべきと判定し、また中間ノード20dのルーティングテーブル格納部21は、時刻tとして一番古い「ルーティングテーブルRT1」を削除すべきと判定する。
その後、時刻t3(xx:03分)のタイミングで当該「Filter_t1」および「ルーティングテーブルRT1」を削除した上で、時刻t2(xx:02分)〜時刻t3(xx:03分)にて計測されたデータに基づいて作成された「Filter_t3」を末端デバイス10(10a、10b)のBF格納部13に格納し、またルーティングテーブル格納部21に時刻t3に作成されたルーティングテーブルRT3に「Filter_t3、デバイス10a」と「Filter_t3、デバイス10b」とが格納される。
したがって、前記構成の第1の実施形態のデバイス探索システムによれば、末端デバイス10は、センサ40から取得した複数のデータを、ある一定の時間間隔(t1、t2、t3、図10参照)で分割し、当該分割したデータ毎に作成したBFをBF格納部13に格納した上で、当該格納したBF毎に自身のデバイスIDを付加したBFブロックB1を中間ノード20へ送信する。そして中間ノード20は、BF格納部13から一定時間間隔(t1、t2、t3、図10参照)で受信したBFブロックB1を、当該受信したタイミングで作成した複数のルーティングテーブルRT(RT1、RT2、RT3)にそれぞれ格納する。
これにより、末端デバイス10にて、センサ40が取得した全データを1つのBFに纏めて管理する必要がなくなり、末端デバイス10の末端BF作成部12にて作成する1つ当たりのBFのデータ量を小さくすることができる。
つまり、例えば新たな末端デバイス10dが中間ノード20dの管轄する領域に入ると、当該中間ノード20dの中間BF作成部22にて「Filter20a」、「Filter20b」に加えて新たに「Filter20d」に基づき新たなBFを作成することになるが、末端デバイス10(10a、10b、10d)からのBFのデータ量が小さい上に、当該複数のルーティングテーブルRT毎にこのBFを作成することから、当該BFを作成するにあたってデータ量が増加した場合であっても偽陽性が高まるといった問題を回避することができる。
このため、ユーザが末端デバイス10を探索した場合であっても、対象となる末端デバイス10を探索するまでの、例えば中央サーバ30−中間ノード20間、中間ノード20−末端デバイス10間の通信回数の増加を抑制することができ、探索効率を高く維持することができる。
更に、前記構成のデバイス探索システムによれば、末端デバイス10内のBF格納部13に格納されたBF、および中間ノード20および中央サーバ30内の前記ルーティングテーブル格納部21(31)に設けられたルーティングテーブルRT、についてそれらの中で時間的に一番古い情報を一定期間経過後に削除する機能を有する。
BFからはそれを構成する要素(例えば、データ列の一部)を削除することはできないが、非常に古い情報や、余分な情報をテーブルRT毎に削除することができるため、前記ユーザからの末端デバイス10の探索処理において検索するルーティングテーブルRTの数を減らすことが出来、結果として中央サーバ30−中間ノード20間、中間ノード20−末端デバイス10間の通信回数の増加を更に抑制することができ、探索効率をより高く維持することができる。
また更に、前記構成のデバイス探索システムによれば、前記ルーティングテーブル格納部21(31)において、複数または単一のルーティングテーブルRTのいずれかを保有する構成を採用することが出来る。
すなわち、中間ノード20、および中央サーバ30で、例えば複数のルーティングテーブルRTを設けた場合には、各中間ノード20、および中央サーバ30に設けられるルーティングテーブルRTが増加し、また末端デバイス10が移動した際に古いルーティングテーブルRTに格納されるデバイスIDに探索対象の末端デバイス10が存在しないといったことが生じやすくなるものの、多くの探索対象データを扱いつつ、偽陽性を低く抑えることが出来る。
これに対して、中間ノード20および中央サーバ30が、ルーティングテーブル格納部21(31)内に単一のルーティングテーブルRTしか保持しない構成の場合には、当該中間ノード20および中央サーバ30に格納するルーティングテーブルRTの数、すなわちデータ量を抑えることができ、また末端デバイス10を探索する正に現時点の状況だけに対応できることから、たとえ末端デバイス10の移動が増加してもルーティングテーブルRTに探索対象となる末端デバイス10が存在する点で利点である。
このように、それぞれ利点があることから、(1)中間ノード20および中央サーバ30のデータ容量が大きく、末端デバイス10の他の中間ノード20への移動回数が少ない場合は、複数のルーティングテーブルRTを備える構成を採用し、これに対して、(2)中間ノード20および中央サーバ30のデータ容量が小さく、末端デバイス10の他の中間ノード20への移動回数が多い場合は、単一のルーティングテーブルRTを備える構成を採用する、といったように場合によって構成を変えることが望ましい。
[第2の実施形態]
第2の実施形態に係るIoTサービスにおけるデバイス探索システムでは、末端デバイス10が移動し、別の中間ノード20が管轄する領域に入った場合において、中間ノード20がその末端デバイス10から過去に送信されたBFブロックB1を含んでいれば、当該中間ノード20よるBFブロックB2の再作成・再送信を停止する構成とする。
第2の実施形態に係るIoTサービスにおけるデバイス探索システムでは、末端デバイス10が移動し、別の中間ノード20が管轄する領域に入った場合において、中間ノード20がその末端デバイス10から過去に送信されたBFブロックB1を含んでいれば、当該中間ノード20よるBFブロックB2の再作成・再送信を停止する構成とする。
このような構成を採用したのは、IoTサービスでは、末端デバイス10の移動範囲は物理的な環境に依存することがあるため、近隣の中間ノード20に移動することが多いが、更に上層の中間ノード20から見れば、その中間ノード20の管轄内であり、前記末端デバイス10のデータを保有していることが多いといった背景に鑑みたものである。
図11は、第2の実施形態に係るデバイス探索システムにおいて末端デバイス10dが移動し、別の中間ノード20dの管轄する領域に入った場合の各装置間のデータ処理工程を示した概略図である。
中間ノード20dの管轄する領域に入った末端デバイス10dは、以前中間ノード20cに送信したことのあるBFブロックB1を移動先の前記中間ノード20dへ送信することになる。
すると、中間ノード20dは、末端デバイス10dが送信したBFブロックB1に基づいてルーティングテーブル格納部21内に設けられたルーティングテーブルRTに「Filter10d、デバイス10d」を追加し格納した上で、この「Filter10d」を含む、「Filter10a」および「Filter10b」に基づいて新たなBFを再作成し、次いで当該BFを含むBFブロックB2を上位層に再送するか否かの判断をする。
つまり中間ノード20dは、それまで末端デバイス10から受信したBFを格納しており、この格納してある全てのBF内に、末端デバイス10dから受信した「Filter10d」が含まれているかを比較し、比較した結果に応じて新たなBFを再作成し、当該BFを含むBFブロックB1を再送するか否かの判断をする。なお、中間ノード20aの機能も同様である。
したがって、例えば図11に従えば、中間ノード20dは、過去に末端デバイス10dからのデータを受け取っていないことから、末端デバイス10dが移動した場合、前記中間ノード20dは新たなBFを作成し、中間ノード20aへの当該BFの再送信を行う。
一方、中間ノード20aは過去に末端デバイス10dからのデータを受け取っていることから、たとえ末端デバイス10dが移動したとしても、新たなBFは作成せず、中央サーバ30へのBFの再送信は行わないこととなる。
以下、上記処理工程を実現するための構成を図12に示す。
(第1の動作例)
図12は、第2の実施形態に係る第1の動作例、および第2の動作例であって、デバイス探索システムにおける各装置間の機能ブロックと、この各装置間のデータ処理工程を示す図である。
図13は、前記第1の動作例、および第2の動作例でのデータ処理工程を示すシーケンス図である。
(第1の動作例)
図12は、第2の実施形態に係る第1の動作例、および第2の動作例であって、デバイス探索システムにおける各装置間の機能ブロックと、この各装置間のデータ処理工程を示す図である。
図13は、前記第1の動作例、および第2の動作例でのデータ処理工程を示すシーケンス図である。
以下では、図4と同一の構成およびその機能については説明を省略し、異なる構成および機能についてのみ述べる。すなわち、ここでは末端デバイス10dと中央サーバ30については同一の構成および機能を有するため説明を省略し、中間ノード20dについてのみ説明する。
中間ノード20dは、中間BF格納部25を更に備える。
この中間BF格納部25は、(1)上位層の中間ノード20aに対して過去に送信したBFを格納しておく機能を有する他、(2)末端デバイス10dの移動によってルーティングテーブル格納部21に追加されて格納された「Filter10d」が、自身が有する前記過去に送信したBFに含まれるか否か比較し、その比較結果を前記ルーティングテーブル格納部21に通知する機能を有する。
この中間BF格納部25は、(1)上位層の中間ノード20aに対して過去に送信したBFを格納しておく機能を有する他、(2)末端デバイス10dの移動によってルーティングテーブル格納部21に追加されて格納された「Filter10d」が、自身が有する前記過去に送信したBFに含まれるか否か比較し、その比較結果を前記ルーティングテーブル格納部21に通知する機能を有する。
ルーティングテーブル格納部21は、前記比較結果に基づき、追加した「Filter10d」、「Filter10a」および「Filter10b」に基づき、新たにBFを作成すべきか否かについて、中間BF作成部22へ通知する機能を有する。すなわち、前記比較結果が、「含まれる」であった場合、新たなBFを作成すべきでないと判断し、その判断結果を中間BF作成部22へ通知する。これに対して、前記比較結果が、「含まれない」であった場合、新たなBFを作成すべきと判断し、その判断結果を中間BF作成部22へ通知する。
中間BF作成部22は、前記ルーティングテーブル格納部21からの通知に基づいて、新たなBFを作成する必要がある場合には、前記ルーティングテーブル格納部21に格納された「Filter10d」、「Filter10a」および「Filter10b」に基づき、新たにBFを作成し、前記中間BF送信部23へ前記新たに作成したBFを出力する機能を有する。
これに対して、BFを新たに作成する必要のない場合には、中間BF作成部22での当該BFの作成および再送信は行わない。
(第2の動作例)
末端デバイス10dが中間ノード20dの管轄する領域に入り(T0)、その後、当該末端デバイス10dが中間ノード20dへBFブロックB1を再送信すると(T1−1)、この送信したBFブロックB1(「Filter10d、デバイス10d)をルーティングテーブル格納部21内のルーティングテーブルRTに追加する(T2−1)。
末端デバイス10dが中間ノード20dの管轄する領域に入り(T0)、その後、当該末端デバイス10dが中間ノード20dへBFブロックB1を再送信すると(T1−1)、この送信したBFブロックB1(「Filter10d、デバイス10d)をルーティングテーブル格納部21内のルーティングテーブルRTに追加する(T2−1)。
その後、当該ルーティングテーブル格納部21は、ルーティングテーブルRTに格納してある「Filter10d」を前記中間BF格納部25に送信する(T2−2a)。
中間BF格納部25では、前記ルーティングテーブル格納部21が送信した「Filter10d」が、過去に中間ノード20aを介して中央サーバ30へ送信したBFであって、現在格納されているBF内に含まれるか否かを比較し(T2−2b)、その結果をルーティングテーブル格納部21に送信する(T2−2c)。
具体的には、「Filter10d」を構成するビット列が、中間ノード20aを介して中央サーバ30へ送信したBFであって、中間BF格納部25に現在格納されているBFを構成するビット列に含まれ、その範囲内にあるか否かを比較判断し、その結果をルーティングテーブル格納部21へ送信する(T2−2b、T2−2c)。
前記T2−2cの結果、前記末端デバイス10dが送信した「Filter10d」が中間BF格納部25に格納されていると判断されると、中間ノード20aを介して更に上位層の中央サーバ30のルーティングテーブル格納部31にも同様に格納されていると判断し、当該ルーティングテーブル格納部21は、この時点で(「Filter10a」、「Filter10b」、および「Filter10d」に基づいて作成される)新たなBFの作成をせず、処理を終了する(T2−3a)。
このように、「Filter10d」が、中間BF格納部25に格納され、過去に上位層に送信したBFに含まれている場合には、中間BF作成部22での前記新たなBFの作成を行わず、またBFブロックB2の再送信を行わないことから、通信データ量を削減することができる。
これに対して、前記T2−2cの結果、前記末端デバイス10dが送信した「Filter10d」が中間BF格納部25に格納されていないと判断された場合、ルーティングテーブル格納部21は、中間BF作成部22へ前記新たなBFの作成の指示を行い(T2−3b)、当該中間BF作成部22はルーティングテーブル格納部21に格納された「Filter10a」および「Filter10b」の他、「Filter10d」に基づいてBFを再作成し(T2−3)、それを中間BF格納部25へ送信する(T2−4)。
最後に、この中間BF格納部25は、中間BF作成部22が作成した新たなBFを更新して格納し(T2−4)、中間BF送信部23はこの格納された新たなBFに自身のID(ここでは、中間ノード20d)を付加したBFブロックB2aを中間ノード20aを介して中央サーバ30へ送信する(T2−5)。
ここで、中央サーバ30は、BFブロックB2aをルーティングテーブルRTにて更新して格納する処理を行う(T3−1)。
なお、末端デバイス10の探索処理工程については、図6と同様であるため説明を省略する。
したがって、前記構成のデバイス探索システムによれば、末端デバイス10dが中間ノード20dの管轄する領域に入り、当該末端デバイス10dのBF格納部13に格納してあったBF(Filter10d)をBFブロックB1として中間ノード20dへ送信すると、当該中間ノード20d内に設けられたルーティングテーブル格納部21は、当該BFブロックB1をルーティングテーブルRTに追加して格納し、また中間BF格納部25は、この追加したBF(「Filter10d」)が、過去に中央サーバ30へ送信し、現在自身が格納しているBFの範囲内にあるか否かを比較判断する。
中間BF格納部25による比較の結果、「Filter10d」が送信した前記BFの範囲内にあると判断すると、この結果を受けたルーティングテーブル格納部21はこのまま処理を終了する。これに対して、中間BF格納部25が、「Filter10d」が前記BFの範囲内にないと判断すると、中間BF作成部22は、ルーティングテーブル格納部21が格納する「Filter10a」、「Filter10b」に加え「Filter10d」に基づいて新たな「BF」を作成し、当該BFを中間BF格納部25に格納する。
中間BF格納部25に格納されたBFは、自身のノードIDが付されたBFブロックB2aを上位層へ送信する。
これにより、たとえ末端デバイス10dが移動し、当該末端デバイス10dの位置が変化したことで、新たな中間ノード20dの管轄する領域に入った場合でも、システム全体にて授受するデータ通信量を抑えつつ、確実に対象のデバイスの探索が可能となる。
そして、中間ノード20dにおいて過去に上位層に送信したBFを格納しておく必要があり、また当該中間ノード20dにおいて、過去に上位層に送信したBFとの比較処理を行う必要があるものの、例えば末端デバイス10dの移動時に、上位層へBFの再送信を行わないことによりデバイス探索システム内での通信回数及び通信データ量を抑えることが出来、また特に近隣中間ノード20への移動が多くなる場合には、より通信回数及び通信データ量を抑えることができる点で本手法は有利である。
[その他の実施形態]
本発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
本発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
10、10a〜10f…末端デバイス、11…センサデータ格納部、
12…末端BF作成部、13…BF格納部、14、24、32…探索処理部、
20…中間ノード20、21、31…ルーティングテーブル格納部、
22…中間BF作成部、23…中間BF送信部、25…中間BF格納部、
30…中央サーバ、31…ルーティングテーブル格納部、
40、40a〜40h…センサ、B、B1、B2a、B2b…BFブロック。
12…末端BF作成部、13…BF格納部、14、24、32…探索処理部、
20…中間ノード20、21、31…ルーティングテーブル格納部、
22…中間BF作成部、23…中間BF送信部、25…中間BF格納部、
30…中央サーバ、31…ルーティングテーブル格納部、
40、40a〜40h…センサ、B、B1、B2a、B2b…BFブロック。
Claims (8)
- データを収集し保存する複数のデバイスと、当該複数のデバイスの上位層に位置し前記複数のデバイスから前記データを集約する中央サーバと、を階層的に備えた、前記デバイスを探索するためのデバイス探索システムにおいて、
前記複数のデバイスの各々は、
前記データを一定の時間ウィンドウ毎に収集し保存するデータ格納部と、
前記データ格納部に格納されたデータに基づき、単一のビット列を作成するビット列作成部と、
前記ビット列作成部にて作成された単一のビット列をフィルタ情報として保存し、当該フィルタ情報と前記デバイスを示す識別情報とを含むブロック情報を前記時間ウィンドウ毎に生成して前記上位層に送信するフィルタ情報送信部と、
を備え、
前記中央サーバは、
前記デバイスから送信されたブロック情報に含まれるフィルタ情報とこのフィルタ情報の送信元を示す識別情報との組み合わせを、ルーティングテーブルとして前記時間ウィンドウ毎に保存するルーティングテーブル管理部と、
デバイス探索要求を受け取った場合に、当該デバイス探索要求に含まれるフィルタ情報に基づいて前記ルーティングテーブルから対応する識別情報を検索し、当該検索された識別情報をもとに探索対象となる前記デバイスを探索する処理を実行する探索処理部と、
を備える、デバイス探索システム。 - 前記複数のデバイスと前記中央サーバとの中間の階層に配置された中間ノード装置を、さらに備え、
前記中間ノード装置は、
前記複数のデバイスから送信された各ブロック情報に含まれるフィルタ情報とこのフィルタ情報の送信元を示す識別情報とを含むブロック情報を、中間ルーティングテーブルとして前記時間ウィンドウ毎に保存する中間ルーティングテーブル管理部と、
前記中間ルーティングテーブル管理部に前記識別情報毎に保存された前記フィルタ情報に基づき、新たな単一のビット列を中間フィルタ情報として作成する中間フィルタ情報作成部と、
前記中間フィルタ情報作成部にて作成された中間フィルタ情報と前記中間ノード装置を示す識別情報とを含む中間ブロック情報を前記時間ウィンドウ毎に生成して、上位層に送信する中間フィルタ情報送信部と、
前記中央サーバから、前記デバイスを探索する処理の実行に伴い、デバイス探索要求を受信した場合に、当該デバイス探索要求に含まれる中間フィルタ情報に基づいて前記中間ルーティングテーブルから対応する識別情報を検索し、当該検索された識別情報をもとに探索対象となる前記デバイスを探索する処理を実行する中間探索処理部と、
を備える請求項1に記載のデバイス探索システム。 - 前記中央サーバが前記ルーティングテーブルを複数保持し、前記中間ノード装置が中間ルーティングテーブルを複数保持する場合には、一定期間が経過すると、複数存在する前記ルーティングテーブルおよび中間ルーティングテーブル中で時間的に一番古いテーブルを削除し、
前記中央サーバが単一の前記前記ルーティングテーブルを保持し、前記中間ノード装置が単一の中間ルーティングテーブルを保持する場合には、当該前記ルーティングテーブルおよび中間ルーティングテーブルのそれぞれに、当該前記ルーティングテーブルおよび中間ルーティングテーブルよりも生成時刻の新しいテーブルを上書きする、
請求項2に記載のデバイス探索システム。 - 前記中間ノード装置は、
前記中間フィルタ情報送信部が上位層に送信した中間ブロック情報を保存する中間フィルタ情報保存部を、さらに備え、
前記中間フィルタ情報作成部は、前記中間ルーティングテーブル管理部に保存された中間ルーティングテーブルが更新された場合に、当該更新された中間ルーティングテーブルのフィルタ情報を、前記中間フィルタ情報保存部に保存されている中間フィルタ情報と比較し、前記更新された中間ルーティングテーブルのフィルタ情報が、前記中間フィルタ情報保存部に保存されていない場合に前記新たな中間フィルタ情報の作成を行い、保存されている場合には前記新たな中間フィルタ情報の作成を行わない、
請求項2または3に記載のデバイス探索システム。 - データを収集し保存する複数のデバイスと、当該複数のデバイスの上位層に位置し前記複数のデバイスから前記データを集約する中央サーバと、を階層的に備えたシステムが実行するデバイス探索システムであって、
前記複数のデバイスの各々は、
前記データを一定の時間ウィンドウ毎に収集し保存する過程と、
前記保存されたデータに基づき、単一のビット列を作成する過程と、
前記作成された単一のビット列をフィルタ情報として保存し、当該フィルタ情報と前記デバイスを示す識別情報とを含むブロック情報を前記時間ウィンドウ毎に生成して前記上位層に送信する過程と、
を備え、
前記中央サーバは、
前記デバイスから送信されたブロック情報に含まれるフィルタ情報とこのフィルタ情報の送信元を示す識別情報との組み合わせを、ルーティングテーブルとして前記時間ウィンドウ毎に保存する過程と、
デバイス探索要求を受け取った場合に、当該デバイス探索要求に含まれるフィルタ情報に基づいて前記ルーティングテーブルから対応する識別情報を検索し、当該検索された識別情報をもとに探索対象となる前記デバイスを探索する処理を実行する過程と
を備える、デバイス探索方法。 - 前記複数のデバイスと前記中央サーバとの中間の階層に配置された中間ノード装置をさらに備えるシステムが実行するデバイス探索方法であって、
前記中間ノード装置は、
前記複数のデバイスから送信された各ブロック情報に含まれるフィルタ情報とこのフィルタ情報の送信元を示す識別情報とを含むブロック情報を、中間ルーティングテーブルとして前記時間ウィンドウ毎に保存する過程と、
前記識別情報毎に保存された前記フィルタ情報に基づき、新たな単一のビット列を中間フィルタ情報として作成する過程と、
前記作成された中間フィルタ情報と、前記中間ノード装置を示す識別情報とを含む中間ブロック情報を前記時間ウィンドウ毎に生成して、上位層に送信する過程と、
前記中央サーバから、前記デバイスを探索する処理の実行に伴い、デバイス探索要求を受信した場合に、当該デバイス探索要求に含まれる中間フィルタ情報に基づいて前記中間ルーティングテーブルから対応する識別情報を検索し、当該検索された識別情報をもとに探索対象となる前記デバイスを探索する処理を実行する過程と、
を備える、請求項5に記載のデバイス探索方法。
請 - 前記中央サーバが前記ルーティングテーブルを複数保持し、前記中間ノード装置が中間ルーティングテーブルを複数保持する場合には、一定期間が経過すると、複数存在する前記ルーティングテーブルおよび中間ルーティングテーブル中で時間的に一番古いテーブルを削除し、
前記中央サーバが単一の前記前記ルーティングテーブルを保持し、前記中間ノード装置が単一の中間ルーティングテーブルを保持する場合には、当該前記ルーティングテーブルおよび中間ルーティングテーブルのそれぞれに、当該前記ルーティングテーブルおよび中間ルーティングテーブルよりも生成時刻の新しいテーブルを上書きする、請求項6に記載のデバイス探索方法。 - 前記中間ノード装置は、
前記上位層に送信した中間ブロック情報を中間フィルタ情報保存部に保存する過程と、さらに備え、
前記中間フィルタ情報を作成する過程は、前記時間ウィンドウ毎に保存された中間ルーティングテーブルが更新された場合に、当該更新された中間ルーティングテーブルのフィルタ情報を、前記中間フィルタ情報保存部に保存されている中間フィルタ情報と比較し、前記更新された中間ルーティングテーブルのフィルタ情報が、前記中間フィルタ情報保存部に保存されていない場合に前記新たな中間フィルタ情報の作成を行い、保存されている場合には前記新たな中間フィルタ情報の作成を行わない、
請求項7に記載のデバイス探索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017212643A JP2019086883A (ja) | 2017-11-02 | 2017-11-02 | デバイス探索システム及びデバイス探索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017212643A JP2019086883A (ja) | 2017-11-02 | 2017-11-02 | デバイス探索システム及びデバイス探索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019086883A true JP2019086883A (ja) | 2019-06-06 |
Family
ID=66763016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017212643A Pending JP2019086883A (ja) | 2017-11-02 | 2017-11-02 | デバイス探索システム及びデバイス探索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019086883A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020218455A1 (ja) | 2019-04-26 | 2020-10-29 | 住友建機株式会社 | ショベル |
JP2021140634A (ja) * | 2020-03-09 | 2021-09-16 | 日本電気株式会社 | サーバ装置、エッジ機器、処理パタン特定方法及び制御プログラム |
-
2017
- 2017-11-02 JP JP2017212643A patent/JP2019086883A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020218455A1 (ja) | 2019-04-26 | 2020-10-29 | 住友建機株式会社 | ショベル |
JP2021140634A (ja) * | 2020-03-09 | 2021-09-16 | 日本電気株式会社 | サーバ装置、エッジ機器、処理パタン特定方法及び制御プログラム |
US11575604B2 (en) | 2020-03-09 | 2023-02-07 | Nec Corporation | Server apparatus, edge equipment, process pattern specifying method, and control program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112840322B (zh) | 网络路由环境中的单节点和多节点数据存储库系统 | |
Awerbuch et al. | Sparse partitions | |
JP6112165B2 (ja) | 通信システム、制御装置、通信方法およびプログラム | |
US20130041982A1 (en) | Method and node for acquiring content and content network | |
US10193805B2 (en) | User oriented IoT data discovery and retrieval in ICN networks | |
US7869349B2 (en) | Method and system for deducing network routes by querying routers | |
JP2016039631A (ja) | 情報中心ネットワークを介した評価ベースの命令処理 | |
JP2019086883A (ja) | デバイス探索システム及びデバイス探索方法 | |
CN103560959A (zh) | 一种选择静态路由的方法及装置 | |
Moeini et al. | Efficient caching for peer-to-peer service discovery in internet of things | |
CN102932250A (zh) | 一种基于容错计算机网络结构的无死锁自适应路由方法 | |
JP4717785B2 (ja) | ネットワーク管理装置および方法 | |
Alhanani et al. | An overview of different techniques and algorithms for network topology discovery | |
JP6919708B2 (ja) | 光パス制御装置および光パス制御方法 | |
KR102287520B1 (ko) | 계층화된 도메인 기반의 네트워크 구조에서 라우터의 도메인 라우팅 테이블 관리 방법 | |
CN112887116A (zh) | 管理分布式应用系统中的应用节点的方法、设备和产品 | |
CN111930689A (zh) | 数据查询的方法和查询客户端 | |
CN116760834A (zh) | 一种负载均衡方法、系统、设备以及存储介质 | |
JP3490642B2 (ja) | 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法 | |
Gulati et al. | Software-defined content dissemination scheme for Internet of healthcare vehicles in COVID-like scenarios | |
WO2009151187A1 (en) | Method and apparatus for routing in wireless network | |
Shi et al. | PathFinder: Capturing DDoS traffic footprints on the Internet | |
CN104394079B (zh) | 一种基于边界网关协议的下一跳路由检测方法及装置 | |
JP3464175B2 (ja) | 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法 | |
CN105656789B (zh) | 一种mac地址通告方法及核心节点 |