(57)【要約】【課題】センサデータを集約する末端デバイスと、複数の末端デバイスからのデータを集約する中央サーバとを有するIoTシステムにおいて、細かい粒度でのデータを扱いながらも送信データ量を大幅に削減し、速やかにデバイス検索を行なうこと。【解決手段】末端デバイス20は、複数のセンサデータから一連のビット列構成のブルームフィルタ(BF)を作成し、作成したBFとデバイスIDとを関連付けた構造のBFブロックを作成する末端BFブロック作成部21を備え、中央サーバ40は、複数の末端デバイス20からのBFブロックを格納するBFブロック格納部41と、センサデータでなる探索用BFに基づいてBFブロック格納部を探索し、対象となるデバイス識別情報を検出するBFブロック探索部42とを備える。【選択図】      図３
2018132943.tif 000002
【特許請求の範囲】
【請求項１】
センサデータを集約する末端デバイスと、複数の前記末端デバイスからのデータを集約する中央サーバとを有するＩｏＴ（モノのインターネット）システムにおいて、
前記末端デバイスは、
複数のセンサデータから一連のビット列構成のブルームフィルタ（以下「ＢＦ」と称する）を作成し、作成したＢＦとデバイス識別情報とを関連付けた構造のＢＦブロックを作成する末端ＢＦブロック作成部を備え、
前記中央サーバは、
複数の前記末端デバイスからのＢＦブロックを格納する第１のＢＦブロック格納部と、
センサデータでなる探索用ＢＦに基づいて前記第１のＢＦブロック格納部を探索し、対象となるデバイス識別情報を検出する第１のＢＦブロック探索部と、を備える、
ＩｏＴサービスのデバイス探索システム。
【請求項２】
前記末端デバイスと前記中央サーバとの中間階層に設けられた中間ノードをさらに有し、
前記中間ノードは、
下位階層に接続された複数の前記末端デバイスからのＢＦブロックを格納する第２のＢＦブロック格納部と、
前記第２のＢＦブロック格納部に格納した複数のＢＦブロックからＢＦ部分を集約してＢＦを作成し、作成したＢＦとノード識別情報とを関連付けた構造のＢＦブロックを作成する中間ＢＦブロック作成部と、
前記中央サーバからセンサデータでなる探索用ＢＦを受取り、受取った探索用ＢＦに基づいて前記第２のＢＦブロック格納部を探索し、対象となるデバイス識別情報を検出する第２のＢＦブロック探索部と、を備え、
前記中央サーバの第１のＢＦブロック格納部は、下位階層に接続された複数の前記末端デバイス及び中間ノードの少なくとも一方からのＢＦブロックを格納し、
前記中央サーバの第１のＢＦブロック探索部は、センサデータでなる探索用ＢＦに基づいて前記第１のＢＦブロック格納部を探索し、対象となるデバイス識別情報及びノード識別情報の少なくとも一方を検出する、
請求項１記載のＩｏＴサービスのデバイス探索システム。
【請求項３】
前記中間ノードは複数段の階層に設けられ、
前記第２のＢＦブロック格納部は、下位階層に接続された複数の前記末端デバイス及び中間ノードの少なくとも一方からのＢＦブロックを格納し、
前記中間ＢＦブロック作成部は、前記第２のＢＦブロック格納部に格納した複数のＢＦブロックからＢＦ部分を集約してＢＦを作成し、作成したＢＦとノード識別情報とを関連付けた構造のＢＦブロックを作成し、
前記第２のＢＦブロック探索部は、上位階層に接続された中央サーバまたは中間ノードからセンサデータでなる探索用ＢＦを受取り、受取った探索用ＢＦに基づいて前記第２のＢＦブロック格納部を探索し、対象となるデバイス識別情報及びノード識別情報の少なくとも一方を検出する、
請求項２記載のＩｏＴサービスのデバイス探索システム。
【請求項４】
前記末端デバイスの末端ＢＦブロック作成部は、複数のセンサデータによりセンサの種類を示す第１のＢＦと、センサの種類及びデータを含む第２のＢＦとを集約して１つのＢＦを作成し、作成したＢＦとデバイス識別情報とを関連付けた構造のＢＦブロックを作成し、
前記中央サーバの第１のＢＦブロック探索部は、センサの種類を示す情報及びセンサデータの少なくとも一方を含む探索用ＢＦに基づいて前記第１のＢＦブロック格納部を探索し、対象となるデバイス識別情報を検出する、
請求項１乃至３いずれか記載のＩｏＴサービスのデバイス探索システム。
【請求項５】
センサデータを集約する末端デバイスと、複数の前記末端デバイスからのデータを集約する中央サーバとを有するＩｏＴ（モノのインターネット）システムでのデバイス探索方法において、
前記末端デバイスにおいて、複数のセンサデータから一連のビット列構成のブルームフィルタ（以下「ＢＦ」と称する）を作成し、作成したＢＦとデバイス識別情報とを関連付けた構造のＢＦブロックを作成する末端ＢＦブロック作成工程と、
前記中央サーバにおいて、複数の前記末端デバイスからのＢＦブロックを格納するＢＦブロック格納工程と、
前記中央サーバにおいて、センサデータでなる探索用ＢＦに基づいて前記ＢＦブロック格納工程で格納したＢＦブロックを探索し、対象となるデバイス識別情報を検出するＢＦブロック探索工程と、
を有するＩｏＴシステムでのデバイス探索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩｏＴサービスのデバイス探索システム及びデバイス探索方法に関する。
【背景技術】
【０００２】
ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ：モノのインターネット）の分野では、センサが接続された末端側の複数のデバイスと、センサデータを集約する上位側の中央サーバとが階層的にネットワークを介して接続されており、中央サーバに集約されたデータは様々なＩｏＴサービスに活用される。ＩｏＴサービスは広範囲で大量のデータを取扱うため、末端デバイスと中央サーバとの間に何段かの中間ノードを介する場合がある。
【０００３】
またＩｏＴサービスでは、膨大な量のデータがやりとりされるため、実際に通信されるデータを、複数のデータを平均化、最大化、あるいは特定情報のみを抽出した、データ量を減じた形とする技術（例えば、非特許文献１）や、複数データを圧縮した形とする技術（例えば、非特許文献２）などが提案されている。
【０００４】
複雑な階層構造のＩｏＴシステムでは、サービス改善を目的として、与えられる探索条件に基づいて対象となる末端デバイスを特定する場合があるが、前記前者のデータ量を減じた形とする技術では、十分に細かい粒度のデータが得られていないために、原因の特定が困難となる事象が発生する可能性がある。また前記後者のデータを圧縮した形とする技術では、探索の過程において圧縮されたデータを解凍するなどの加工処理が必要となるため、探索に多大な時間が必要となり、現実的ではない。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｙｏｎｇ  Ｙａｏ  ａｎｄ  Ｊｏｈａｎｎｅｓ  Ｇｅｈｒｋｅ．２００２．Ｔｈｅ  Ｃｏｕｇａｒ  Ａｐｐｒｏａｃｈ  ｔｏ  Ｉｎ−Ｎｅｔｗｏｒｋ  Ｑｕｅｒｙ  Ｐｒｏｃｅｓｓｉｎｇ  ｉｎ  ＳｅｎｓｏｒＮｅｔｗｏｒｋｓ．ＳＩＧＭＯＤ  Ｒｅｃ．，Ｖｏｌ．３１，Ｎｏ．３（Ｓｅｐｔｅｍｂｅｒ  ２００２），９−１８．  ＤＯＩ＝ｈｔｔｐ：／／ｄｘ．ｄｏｉ．ｏｒｇ／１０．１１４５／６０１８５８．６０１８５８
【非特許文献２】藤原靖宏，櫻井保志，and 山室雅司．“大量データストリームの類似探索手法”．ＤＢＳＪ．Ｌｅｔｔｅｒｓ．Ｖｏｌ．４，（２００２）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
複数のデータを一連のビット列で保存するブルームフィルタ（以下「ＢＦ」と称する）は、通信時のデータ量の削減と粒度の細かさを両立できる、空間効率に優れた確率的データ構造に関する技術である。
【０００７】
しかしながら、このＢＦによりデータとしてデバイスＩＤを含めてビット列化することを考えた場合、  
（１）探索時の条件として想定される全てのデバイスＩＤについての探索条件を作成して比較する必要があるため、１つの探索条件に無限大のビット列化が必要となること、  
（２）中央サーバは、データからどの末端デバイスが対象であるかを判断できるが、対象デバイスがどの中間ノード下にあるのかは判断できないこと、  
などの不具合を生じる。
【０００８】
本発明は前記のような実情に鑑みてなされたもので、その目的とするところは、細かい粒度でのデータを扱いながらも送信データ量を大幅に削減して、複雑なＩｏＴシステムにおいて速やかにデバイス検索を行なうことが可能なＩｏＴサービスのデバイス探索システム及びデバイス探索方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一態様は、センサデータを集約する末端デバイスと、複数の前記末端デバイスからのデータを集約する中央サーバとを有するＩｏＴ（モノのインターネット）システムにおいて、前記末端デバイスは、複数のセンサデータから一連のビット列構成のブルームフィルタ（以下「ＢＦ」と称する）を作成し、作成したＢＦとデバイス識別情報とを関連付けた構造のＢＦブロックを作成する末端ＢＦブロック作成部を備え、前記中央サーバは、複数の前記末端デバイスからのＢＦブロックを格納する第１のＢＦブロック格納部と、センサデータでなる探索用ＢＦに基づいて前記第１のＢＦブロック格納部を探索し、対象となるデバイス識別情報を検出する第１のＢＦブロック探索部と、を備える。
【発明の効果】
【００１０】
本発明によれば、細かい粒度でのデータを扱いながらも送信データ量を大幅に削減して、複雑なＩｏＴシステムにおいて速やかにデバイス検索を行なうことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るシステム全体の構成を示すブロック図。
【図２】同実施形態に係るＢＦブロックの構成を示す図。
【図３】同実施形態に係るシステム内の各装置が備える機能構成を示すブロック図。
【図４】同実施形態に係る第１の動作例での各装置間のデータ処理工程を示す図。
【図５】同実施形態に係る第１の動作例での図４の処理工程を示すシーケンス図。
【図６】同実施形態に係る第２の動作例で取扱われるＢＦブロックの構成を示す図。
【図７】同実施形態に係る第２の動作例での各装置間のデータ処理工程を示す図。
【図８】同実施形態に係る第２の動作例での図７の処理工程を示すシーケンス図。
【発明を実施するための形態】
【００１２】
以下本発明を、ＩｏＴシステムに適用した場合の一実施形態について図面を参照して説明する。  
［構成］  
図１は、同実施形態に係るＩｏＴシステムの階層構造を示すブロック図である。同図中、最下層を形成する複数の末端デバイス２０，２０，‥‥はそれぞれ、複数のセンサ１０，１０，‥‥を接続している。個々の末端デバイス２０は、接続している各センサ１０，１０，‥‥での検出によりセンサデータを取得した上で、それらを集約して、一連のビット列で構成されたブルームフィルタ（以下「ＢＦ」と称する）を含むＢＦブロックを作成し、作成したＢＦブロックを上位階層の中間ノード３０へ送信する。
【００１３】
複数の中間ノード３０，３０，‥‥のそれぞれにおいても、複数の末端デバイス２０，２０，‥‥から送られてきたＢＦブロックを格納した上で、それらを１つに集約して新たなＢＦブロックを作成し、作成したＢＦブロックを最上階層の中央サーバ４０に送信する。
【００１４】
システム構成上、末端デバイス２０が１台以上、中間ノード３０は０台以上、中央サーバ４０は１台のみとなる。中間ノード３０が０台、すなわち中間ノード３０がない場合は、末端デバイス２０が中央サーバ４０と直接接続される。
【００１５】
なお、前記図１のシステム構成は、説明を簡易化するべく、中間ノード３０，３０，‥‥が１段のみの階層を形成している場合を例にとって示したが、実際には中間ノード３０，３０，‥‥自体が複数段の階層を構成することもあり得る。
【００１６】
その場合に各中間ノード３０は、直下の階層にある末端デバイス２０，２０，‥‥、または中間ノード３０，３０，‥‥と接続されて、それらから送られてくるＢＦブロックを受取り、受取った各ＢＦブロックＢ２を１つに集約して新たなＢＦブロックＢ２を作成し、作成したＢＦブロックを直上の階層の中間ノード３０、または中央サーバ４０へ送信する。
【００１７】
図２は、前記末端デバイス２０、中間ノード３０で作成されるＢＦブロックの構成を示す。同図に示すようにＢＦブロックＢ２は、ブルームフィルタと、このブロックを作成した、末端デバイス２０固有のデバイスＩＤコードＩ１、または中間ノード３０固有のノードＩＤコードＩ２とを関連付けてブロック化したものである。
【００１８】
図３は、前記ＢＦブロックＢ２を取扱う前記各装置が備える機能構成を示すブロック図である。本図では、前記図１と同じく説明を簡易化するために中間ノード３０，３０，‥‥は１段のみの階層を形成しているものとする。
【００１９】
複数のセンサ１０，１０，‥‥を接続した末端デバイス２０は、末端ＢＦ作成部２１を有する。この末端ＢＦ作成部２１は、前記センサ１０，１０，‥‥から取得したセンサデータによりＢＦを作成した上で、当該末端デバイス２０のデバイスＩＤコードＩ１を付加してＢＦブロックＢ２を作成し、上位の階層に接続された中間ノード３０へ送信する。
【００２０】
中間ノード３０は、中間ＢＦ作成部３１、ＢＦブロック格納部３２、及びＢＦブロック探索部３３を有する。直下の階層の末端デバイス２０から送られてきたＢＦブロックＢ２は、ＢＦブロック格納部３２に格納された後、このＢＦブロック格納部３２に格納された複数のＢＦブロックＢ２から中間ＢＦ作成部３１が集約し、ノードＩＤコードＩ２を付加したＢＦブロックＢ２を作成して、上位の中央サーバ４０へ送信する。
【００２１】
また、上位の階層に接続される中央サーバ４０から探索条件となるビット列情報のセンサデータを受けた場合、中間ノード３０ではＢＦブロック探索部３３がその探索条件に基づいてＢＦブロック格納部３２に格納しているＢＦブロックＢ２を探索し、対象となるセンサデータを含むＢＦブロックＢ２を送信してきた下位の末端デバイス２０のデバイスＩＤコードＩ１を探索結果として得る。
【００２２】
中央サーバ４０は、ＢＦブロック格納部４１、及びＢＦブロック探索部４２を有する。中間ノード３０から送られてきたＢＦブロックＢ２は、ＢＦブロック格納部４１に格納される。ＢＦブロック探索部４２は、探索条件となるビット列情報のセンサデータを生成し、生成した探索条件に基づいてＢＦブロック格納部４１に格納したＢＦブロックＢ２を探索し、探索結果として下位の階層の末端デバイス２０のデバイスＩＤコードＩ１または中間ノード３０のノードＩＤコードＩ２を得る。
【００２３】
次に前記実施形態の動作について説明する。  
［第１の動作例］  
図４は、前記ＩｏＴシステムにおける各装置でのデータ処理工程を示す。最下の階層の末端デバイス２０において、各センサ１０，１０，‥‥が出力するセンサデータＳＤを受取る。末端デバイス２０では、受取った各センサデータＳＤを、末端ＢＦ作成部２１が複数のハッシュ関数を用いて一連のビット列に変換することでＢＦを作成した後、作成した複数のセンサデータのＢＦをビット列毎に論理和をとることで一連のビット列に集約する（ステップＳ１−１）。さらに、そのＢＦに当該末端デバイス２０自体のデバイスＩＤコードＩ１を付加してＢＦブロックＢ２を作成し（ステップＳ１−２）、作成したＢＦブロックＢ２を上位階層側に接続されている中間ノード３０へ送信する。
【００２４】
中間ノード３０では、接続された下位側の複数の末端デバイス２０，２０，‥‥からそれぞれ送られてくるＢＦブロックＢ２，Ｂ２，‥‥をＢＦブロック格納部３２に格納する（ステップＳ２−１）。
【００２５】
このＢＦブロック格納部３２に格納した複数のＢＦブロックＢ２，Ｂ２，‥‥の各ＢＦ部分をビット列毎に論理和をとることで、一連のビット列のＢＦに集約する（ステップＳ２−２）。さらに、そのＢＦに当該中間ノード３０自体のノードＩＤコードＩ２を付加してＢＦブロックＢ２を作成し（ステップＳ２−３）、作成したＢＦブロックＢ２を上位階層側の中央サーバ４０へ送信する。
【００２６】
最上位の階層の中央サーバ４０においては、各末端デバイス２０，２０，‥‥や中間ノード３０，３０，‥‥から送られてくる複数のＢＦブロックＢ２，Ｂ２，‥‥をＢＦブロック格納部４１に格納する（ステップＳ３−１）。
【００２７】
中央サーバ４０で末端デバイスを探索する条件を決定すると、ＢＦブロック探索部４２がその探索条件に対して複数のハッシュ関数を用いてビット列に変換する（ステップＳ４−１）。ＢＦブロック探索部４２は、作成した探索条件のビット列によりＢＦブロック格納部４１に格納されている複数のＢＦブロックＢ２，Ｂ２，‥‥からＢＦが一致するものを探索することで、ＢＦが一致するデバイスＩＤコードＩ１またはノードＩＤコードＩ２の有無を判断する（ステップＳ４−２）。
【００２８】
この探索処理により、ＢＦが一致するデバイスＩＤコードＩ１があったと判断した場合、探索対象は中央サーバ４０に直接接続されている末端デバイス２０であることとなるので、中央サーバ４０のＢＦブロック探索部４２では探索先が決定したものとして、その時点で探索処理を終了する（ステップＳ４−３）。
【００２９】
また前記ステップＳ４−２での探索処理により、ＢＦが一致するノードＩＤコードＩ２があったと判断した場合、中央サーバ４０のＢＦブロック探索部４２では、そのノードＩＤコードＩ２に該当する中間ノード３０に対して、直前の前記ステップＳ４−１で作成した探索条件のビット列を送信し、その中間ノード３０で探索を続行させる（ステップＳ４-３）。
【００３０】
中央サーバ４０から探索条件のビット列を受けた中間ノード３０のＢＦブロック探索部３３では、受けた探索条件のビット列によりＢＦブロック格納部３２に格納されている複数のＢＦブロックＢ２，Ｂ２，‥‥からＢＦが一致するものを探索することで、ＢＦが一致するデバイスＩＤコードＩ１またはノードＩＤコードＩ２の有無を判断する（ステップＳ５−１）。
【００３１】
この探索処理により、ＢＦが一致するデバイスＩＤコードＩ１があったと判断した場合、探索対象はこの中間ノード３０に直接接続されている末端デバイス２０であることとなるので、ＢＦブロック探索部３３では探索先が決定したものとして、その時点で探索処理を終了する（ステップＳ５−２）。
【００３２】
また前記ステップ５−１での探索処理により、ＢＦが一致するノードＩＤコードＩ２があったと判断した場合、中間ノード３０のＢＦブロック探索部３３では、そのノードＩＤコードＩ２に該当する、さらに下位の階層に存在する中間ノード３０に対して、直前の前記ステップＳ４−３で最上位階層の中央サーバ４０から受信した探索条件のビット列を送信し、下位の階層の中間ノード３０での探索処理を続行させる（ステップＳ５−２）。
【００３３】
こうして、最終的により下位の階層の中間ノード３０において、探索結果としてＢＦが一致する末端デバイス２０のデバイスＩＤコードＩ１が得られるまで、探索条件が引き継がれて探索処理が続行される。
【００３４】
図５は、前記図４における処理工程を示すシーケンス図である。
【００３５】
最下の階層の末端デバイス２０において、各センサ１０，１０，‥‥からのセンサデータＳＤを受取り、末端ＢＦ作成部２１が各センサデータのＢＦ化、複数のＢＦの一連のビット列への集約、及びデバイスＩＤコードＩ１を付加してＢＦブロックＢ２の作成を実行する（ステップＳ１−１，Ｓ１−２）。
【００３６】
末端ＢＦ作成部２１は、作成したＢＦブロックＢ２を上位の階層に接続された中間ノード３０へ送信する（ステップＳ１−３）。
【００３７】
ここで当該末端デバイス２０が、上位の階層で中間ノード３０ではなく中央サーバ４０に直接接続されている場合には、送信したＢＦブロックＢ２は中央サーバ４０のＢＦブロック格納部４１に格納される。
【００３８】
末端デバイス２０からのＢＦブロックＢ２を受信した中間ノード３０では、下位の階層の複数の末端デバイス２０からそれぞれ送られてくるＢＦブロックＢ２，Ｂ２，‥‥をＢＦブロック格納部３２に格納する（ステップＳ２−１）。
【００３９】
このＢＦブロック格納部３２に格納した複数のＢＦブロックＢ２，Ｂ２，‥‥に対し、中間ＢＦ作成部３１が一連のビット列のＢＦに集約した上で、当該中間ノード３０自体のノードＩＤコードＩ２を付加してＢＦブロックＢ２を作成する（ステップＳ２−２，Ｓ２−３）。中間ＢＦ作成部３１は、作成したＢＦブロックＢ２を上位階層側の中央サーバ４０へ送信する（ステップＳ２−４）。
【００４０】
最上位の階層の中央サーバ４０では、下位の階層の末端デバイス２０，２０，‥‥や中間ノード３０，３０，‥‥から送られてくる複数のＢＦブロックＢ２，Ｂ２，‥‥をＢＦブロック格納部４１に格納する（ステップＳ３−１）。
【００４１】
中央サーバ４０で末端デバイスを探索する条件を決定した場合、ＢＦブロック探索部４２がその探索条件に対してビット列に変換し（ステップＳ４−１）、得た探索条件のビット列によりＢＦブロック格納部４１に格納される複数のＢＦブロックＢ２，Ｂ２，‥‥からＢＦの一致比較による探索を実行する（ステップＳ４−２）。
【００４２】
この探索処理により、ＢＦが一致するデバイスＩＤコードＩ１があったと判断した場合、探索対象は中央サーバ４０に直接接続されている末端デバイス２０であることとなるので、中央サーバ４０のＢＦブロック探索部４２では探索先が決定したものとして、その時点で探索処理を終了する（ステップＳ４−３）。
【００４３】
また前記ステップＳ４−２での探索処理により、ＢＦが一致するノードＩＤコードＩ２があったと判断した場合、ＢＦブロック探索部４２は探索で得たノードＩＤコードＩ２に該当する中間ノード３０に対して、直前の前記ステップＳ４−１で作成した探索条件のビット列を送信し、その中間ノード３０で探索を続行させる（ステップＳ４−４）。
【００４４】
中央サーバ４０から探索条件のビット列を受けた中間ノード３０のＢＦブロック探索部３３は、受けた探索条件のビット列によりＢＦブロック格納部３２に格納される複数のＢＦブロックＢ２，Ｂ２，‥‥からＢＦの一致比較による探索を実行する（ステップＳ５−１）。
【００４５】
この探索処理により、ＢＦが一致するデバイスＩＤコードＩ１があったと判断した場合、探索対象はこの中間ノード３０に直接接続されている末端デバイス２０であることとなるので、中間ノード３０，３０，‥‥のＢＦブロック探索部３３では探索先が決定したものとして、その時点で探索処理を終了する（ステップＳ５−２）。
【００４６】
前記のように、ＢＦを用いることで、細かい粒度でデータを取扱いつつ、システム内で送受されるデータ量を大幅に削減させることが可能となる。
【００４７】
また各中間ノード３０，３０，‥‥においても、下位からのデータの集約を行なうため、中間ノード３０，３０，‥‥で多段階層を構成してシステム全体の階層構成が増えるほど、データを削減できる効果が大きくなる。
【００４８】
加えて、ＢＦを用いる探索処理は、各フィルタのビット列毎の“０”“１”の一致比較による処理で実行可能であるため、探索処理に要する時間を非常に短かく抑えることが可能となる。
【００４９】
［第２の動作例］  
図６は、前記図２で示したＢＦブロックＢ２の構成に代えて本動作例で採用される、ＢＦブロックＢ２′の構成について説明する図である。本動作例においては、図６（Ａ）に示すように、  
１）センサ１０の種類  
２）センサの種類、出力した値、及び出力した時刻を纏めたデータ  
をそれぞれＢＦ化するものとする。
【００５０】
より具体的には、図６（Ｂ）に示すように、［（センサ）種類］と［（センサ）種類・（出力）値・（出力）時刻］の２種類のＢＦを作成し、作成した２つのＢＦの論理和をとって１つの送信用のＢＦに変換する。
【００５１】
そして、送信用のＢＦとデバイスＩＤコードＩ１またはノードＩＤコードＩ２を付加してＢＦブロックＢ２′を作成し、末端デバイス２０または中間ノード３０から上位の階層へ向けて送信するものとする。
【００５２】
図７は、前記ＩｏＴシステムにおける各装置でのデータ処理工程を示す。最下の階層の末端デバイス２０において、各センサ１０，１０，‥‥が出力するセンサデータＳＤを受取る。このセンサデータＳＤには、センサ１０の種別、（出力）値、及び（出力）時刻が含まれている。
【００５３】
末端デバイス２０では、末端ＢＦ作成部２１が、受取った各センサデータＳＤにおいて、それぞれまず複数のハッシュ関数を用いて一連のビット列に変換することで［（センサ）種類］の第１のＢＦを作成する（ステップＴ１−１）。
【００５４】
次に末端ＢＦ作成部２１は、センサデータＳＤにより受取った各センサデータＳＤにおいて、それぞれ［（センサ）種類・（出力）値・（出力）時刻］により、これも複数のハッシュ関数を用いて一連のビット列に変換することで［（センサ）種類・（出力）値・（出力）時刻］］の第２のＢＦを作成する（ステップＴ１−２）。
【００５５】
これらセンサデータＳＤ毎に２つのＢＦを作成した後、末端ＢＦ作成部２１はこれら第１及び第２のＢＦをビット列毎に論理和をとることで一連のビット列に変換する（ステップＴ１−３−１）。
【００５６】
さらに末端ＢＦ作成部２１は、センサデータＳＤ毎に変換した複数のＢＦをビット列毎に論理和をとることで一連のビット列に集約する（ステップＴ１−３−２）。そして、この最終的に１つとなったＢＦに当該末端デバイス２０自体のデバイスＩＤコードＩ１を付加してＢＦブロックＢ２′を作成し（ステップＴ１−４）、作成したＢＦブロックＢ２′を上位階層側に接続されている中間ノード３０へ送信する。
【００５７】
中間ノード３０では、接続された下位側の複数の末端デバイス２０，２０，‥‥からそれぞれ送られてくるＢＦブロックＢ２′，Ｂ２′，‥‥をＢＦブロック格納部３２に格納する（ステップＴ２−１）。
【００５８】
このＢＦブロック格納部３２に格納した複数のＢＦブロックＢ２′，Ｂ２′，‥‥の各ＢＦ部分をビット列毎に論理和をとることで、一連のビット列のＢＦに集約する（ステップＴ２−２）。さらに、そのＢＦに当該中間ノード３０自体のノードＩＤコードＩ２を付加してＢＦブロックＢ２を作成し（ステップＴ２−３）、作成したＢＦブロックＢ２を上位階層側の中央サーバ４０へ送信する。
【００５９】
最上位の階層の中央サーバ４０においては、各末端デバイス２０，２０，‥‥や中間ノード３０，３０，‥‥から送られてくる複数のＢＦブロックＢ２′，Ｂ２′，‥‥をＢＦブロック格納部４１に格納する（ステップＴ３−１）。
【００６０】
中央サーバ４０で末端デバイスを探索する条件を決定する。決定する探索条件のパターンとしては、［デバイスＩＤ］、［（センサ）種類］、［（出力）値］、及び［（出力）時刻］中の１つのみ、または２つ乃至４つまでの組合せの計１５種が考えられる。なお、探索条件に［デバイスＩＤ］が含まれている場合には、対応してＢＦブロックＢ２′中のＢＦのみならずデバイスＩＤコードＩ１またはノードＩＤコードＩ２部分の探索を行なう。
【００６１】
ＢＦブロック探索部４２がその探索条件に対して複数のハッシュ関数を用いてビット列に変換する（ステップＴ４−１）。ＢＦブロック探索部４２は、作成した探索条件のビット列によりＢＦブロック格納部４１に格納されている複数のＢＦブロックＢ２′，Ｂ２′，‥‥からＢＦが一致するものを探索することで、ＢＦが一致するデバイスＩＤコードＩ１またはノードＩＤコードＩ２の有無を判断する（ステップＴ４−２）。
【００６２】
この探索処理により、ＢＦが一致するデバイスＩＤコードＩ１があったと判断した場合、探索対象は中央サーバ４０に直接接続されている末端デバイス２０であることとなるので、中央サーバ４０のＢＦブロック探索部４２では探索先が決定したものとして、その時点で探索処理を終了する（ステップＴ４−３）。
【００６３】
また前記ステップＴ４−２での探索処理により、ＢＦが一致するノードＩＤコードＩ２があったと判断した場合、中央サーバ４０のＢＦブロック探索部４２では、そのノードＩＤコードＩ２に該当する中間ノード３０に対して、直前の前記ステップＴ４−１で作成した探索条件のビット列を送信し、その中間ノード３０で探索を続行させる（ステップＴ４-３）。
【００６４】
中央サーバ４０から探索条件のビット列を受けた中間ノード３０のＢＦブロック探索部３３では、受けた探索条件のビット列によりＢＦブロック格納部３２に格納されている複数のＢＦブロックＢ２′，Ｂ２′，‥‥からＢＦが一致するものを探索することで、ＢＦが一致するデバイスＩＤコードＩ１またはノードＩＤコードＩ２の有無を判断する（ステップＴ５−１）。
【００６５】
この探索処理により、ＢＦが一致するデバイスＩＤコードＩ１があったと判断した場合、探索対象はこの中間ノード３０に直接接続されている末端デバイス２０であることとなるので、ＢＦブロック探索部３３では探索先が決定したものとして、その時点で探索処理を終了する（ステップＴ５−２）。
【００６６】
また前記ステップ５−１での探索処理により、ＢＦが一致するノードＩＤコードＩ２があったと判断した場合、中間ノード３０のＢＦブロック探索部３３では、そのノードＩＤコードＩ２に該当する、さらに下位の階層に存在する中間ノード３０に対して、直前の前記ステップＴ４−３で最上位階層の中央サーバ４０から受信した探索条件のビット列を送信し、下位の階層の中間ノード３０での探索処理を続行させる（ステップＴ５−２）。
【００６７】
こうして、最終的により下位の階層の中間ノード３０において、探索結果としてＢＦが一致する末端デバイス２０のデバイスＩＤコードＩ１が得られるまで、探索条件が引き継がれて探索処理が続行される。
【００６８】
図８は、前記図７における処理工程を示すシーケンス図である。
【００６９】
最下の階層の末端デバイス２０において、各センサ１０，１０，‥‥からのセンサデータＳＤを受取り、末端ＢＦ作成部２１が各センサデータに対してまず［（センサ）種類］の第１のＢＦを作成し、さらに［（センサ）種類・（出力）値・（出力）時刻］］の第２のＢＦを作成する。
【００７０】
続いて末端ＢＦ作成部２１では、これら第１及び第２のＢＦを１つにＢＦに取り纏めた上で、センサデータＳＤ，ＳＤ，‥‥毎の複数のＢＦを１つに集約し、及びデバイスＩＤコードＩ１を付加してＢＦブロックＢ２′を作成する（ステップＴ１−１〜Ｔ１−４）。
【００７１】
末端ＢＦ作成部２１は、作成したＢＦブロックＢ２′を上位階層側に接続されている中間ノード３０へ送信する。（ステップＴ１−５）。
【００７２】
ここで当該末端デバイス２０が、上位の階層で中間ノード３０ではなく中央サーバ４０に直接接続されている場合には、送信したＢＦブロックＢ２′は中央サーバ４０のＢＦブロック格納部４１に格納される。
【００７３】
中間ノード３０においては、下位の階層の複数の末端デバイス２０，２０，‥‥からそれぞれ送られてくるＢＦブロックＢ２′，Ｂ２′，‥‥をＢＦブロック格納部３２に格納する（ステップＴ２−１）。
【００７４】
このＢＦブロック格納部３２に格納した複数のＢＦブロックＢ２′，Ｂ２′，‥‥に対し、中間ＢＦ作成部３１が一連のビット列のＢＦに集約した上で、当該中間ノード３０自体のノードＩＤコードＩ２を付加してＢＦブロックＢ２′を作成する（ステップＴ２−２，Ｔ２−３）。中間ＢＦ作成部３１は、作成したＢＦブロックＢ２′を上位階層側の中央サーバ４０へ送信する（ステップＴ２−４）。
【００７５】
最上位の階層の中央サーバ４０において、下位の階層の末端デバイス２０，２０，‥‥や中間ノード３０，３０，‥‥から送られてくる複数のＢＦブロックＢ２′，Ｂ２′，‥‥をＢＦブロック格納部４１に格納する（ステップＴ３−１）。
【００７６】
中央サーバ４０で末端デバイスを探索する条件を決定した場合、ＢＦブロック探索部４２がその探索条件に対してビット列に変換し（ステップＴ４−１）、得た探索条件のビット列によりＢＦブロック格納部４１に格納される複数のＢＦブロックＢ２′，Ｂ２′，‥‥からＢＦの一致比較による探索を実行する（ステップＴ４−２）。
【００７７】
この探索処理により、ＢＦが一致するデバイスＩＤコードＩ１があったと判断した場合、探索対象は中央サーバ４０に直接接続されている末端デバイス２０であることとなるので、中央サーバ４０のＢＦブロック探索部４２では探索先が決定したものとして、その時点で探索処理を終了する（ステップＴ４−３）。
【００７８】
また前記ステップＴ４−２での探索処理により、ＢＦが一致するノードＩＤコードＩ２があったと判断した場合、ＢＦブロック探索部４２は探索で得たノードＩＤコードＩ２に該当する中間ノード３０に対して、直前の前記ステップＴ４−１で作成した探索条件のビット列を送信し、その中間ノード３０で探索を続行させる（ステップＴ４−４）。
【００７９】
中央サーバ４０から探索条件のビット列を受けた中間ノード３０のＢＦブロック探索部３３は、受けた探索条件のビット列によりＢＦブロック格納部３２に格納される複数のＢＦブロックＢ２′，Ｂ２′，‥‥からＢＦの一致比較による探索を実行する（ステップＴ５−１）。
【００８０】
この探索処理により、ＢＦが一致するデバイスＩＤコードＩ１があったと判断した場合、探索対象はこの中間ノード３０に直接接続されている末端デバイス２０であることとなるので、中間ノード３０，３０，‥‥のＢＦブロック探索部３３では探索先が決定したものとして、その時点で探索処理を終了する（ステップＴ５−２）。
【００８１】
前記第２の動作例においては、改善管理において利用する、探索条件と出力結果と和考慮して、用意すべきＢＦを選定し、選定した複数種類のＢＦを作成した上で、それら複数種類のＢＦを１つのＢＦに集約するよう変換して作成するものとした。
【００８２】
そのため、末端デバイス２０，２０，‥‥におけるＢＦを作成する際の計算量を抑えてそれぞれの処理の負担を軽減できるので、末端デバイス２０として高性能なデバイスだけでなく、性能の低いデバイスも存在するような、様々な末端デバイスを用いたサービス等においても利用できるなど、大幅なデータ量の削減が実現可能な環境を提案できる。
【００８３】
なお、本発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、前記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００８４】
１０…センサ
２０…末端デバイス
２１…末端ＢＦ作成部
３０…中間ノード
３１…中間ＢＦ作成部
３２…ＢＦブロック格納部
３３…ＢＦブロック探索部
４０…中央サーバ
４１…ＢＦブロック格納部
４２…ＢＦブロック探索部
Ｂ２，Ｂ２′…ＢＦブロック
Ｉ１…デバイスＩＤ
Ｉ２…ノードＩＤ
ＳＤ…センサデータ
【図１】
2018132943.tif 000003
【図２】
2018132943.tif 000004
【図３】
2018132943.tif 000005
【図４】
2018132943.tif 000006
【図５】
2018132943.tif 000007
【図６】
2018132943.tif 000008
【図７】
2018132943.tif 000009
【図８】
2018132943.tif 000010