(57)【要約】  デバイス管理装置が、ユーザのデバイス検索要求から空間又は時空間に関する検索条件を領域条件として抽出し、その領域条件を含むクエリを作成し、そのクエリをネットワークを通じて複数のデバイスに送信する。各々のデバイスは、自デバイスの対象領域がクエリで指定された領域条件に合致するか否かを判定し、合致すると判定した場合にクエリの応答をデバイス管理装置に返す。デバイス管理装置は、デバイスから送られてくる応答に基づいて、デバイス検索要求に対するデバイス検索結果を作成し、デバイス検索結果をユーザに提示する。
2014050192.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを通じて複数のデバイスと通信可能に構成されるデバイス管理装置であって、
前記複数のデバイスの各々は、空間又は時空間で規定される対象領域と因果関係を有するデバイスであり、
前記デバイス管理装置は、
ユーザからのデバイス検索要求を取得する検索要求取得部と、
前記取得したデバイス検索要求から空間又は時空間に関する検索条件を領域条件として抽出し、前記複数のデバイスの中から前記領域条件に合致する対象領域を有するデバイスを抽出するためのクエリを作成するクエリ作成部と、
自デバイスの対象領域が前記領域条件に合致するか否かを各デバイスに判定させるために、前記作成したクエリをネットワークを通じて前記複数のデバイスに送信するクエリ送信部と、
前記クエリに含まれる領域条件に合致するデバイスから送られてくる応答に基づいて、前記デバイス検索要求に対するデバイス検索結果を作成する検索結果作成部と、
を備えることを特徴とするデバイス管理装置。
【請求項２】
前記検索結果作成部は、前記作成したデバイス検索結果を、前記デバイス検索要求を行ったユーザに提示することを特徴とする請求項１に記載のデバイス管理装置。
【請求項３】
前記複数のデバイスの中から前記デバイス検索要求を満たす可能性がある複数の候補デバイスを抽出するラフ探索部をさらに備え、
前記クエリ送信部は、前記ラフ探索部によって抽出された複数の候補デバイスを前記クエリの送信先とすることを特徴とする請求項１又は２に記載のデバイス管理装置。
【請求項４】
前記ラフ探索部は、
空間又は時空間の全体を複数の領域に区分することで形成される複数の領域ブロックの各々に対し、当該領域ブロックに自デバイスの対象領域が重なる可能性のあるデバイスを一つ以上対応付けた、インデックスを参照して、
前記デバイス検索要求から抽出された前記領域条件に合致する領域ブロックを前記複数の領域ブロックの中から選択し、前記インデックスにおいて前記選択した領域ブロックに対応付けられているデバイスを前記候補デバイスとすることを特徴とする請求項３に記載のデバイス管理装置。
【請求項５】
前記複数のデバイスは、自デバイスの対象領域がクエリに含まれる領域条件に合致するか否かを判定し応答を返す判定機能を有しているクエリ対応のデバイスと、前記判定機能を有していないクエリ非対応のデバイスと、を含んでおり、
前記デバイス管理装置は、クエリ非対応のデバイスの場合は、当該デバイスにクエリを送信する代わりに、クエリ非対応のデバイスの対象領域を表す情報を記憶する記憶部から取得した情報に基づいて当該デバイスの対象領域が前記領域条件に合致するか否かを判定する処理を行うことを特徴とする請求項１〜４のうちいずれか１項に記載のデバイス管理装置。
【請求項６】
空間又は時空間で規定される対象領域と因果関係を有するデバイスであって、
空間又は時空間に関する条件である領域条件を含むクエリをネットワークを通じて受信する受信部と、
前記受信したクエリに含まれる領域条件と自デバイスの対象領域とを比較することにより、自デバイスの対象領域が前記領域条件に合致するか否かを判定する判定部と、
前記判定部によって前記領域条件に合致すると判定された場合に、前記クエリに対する応答をネットワークを通じて前記デバイス管理装置に送信する送信部と、を備えていることを特徴とするデバイス。
【請求項７】
複数のデバイスの中から、要求条件を満たすデバイスを検索するためのデバイス検索方法であって、
前記複数のデバイスの各々は、空間又は時空間で規定される対象領域と因果関係を有するデバイスであり、
コンピュータが、ユーザからのデバイス検索要求を取得するステップと、
コンピュータが、前記取得したデバイス検索要求から空間又は時空間に関する検索条件を領域条件として抽出し、前記複数のデバイスの中から前記領域条件に合致する対象領域を有するデバイスを抽出するためのクエリを作成するステップと、
コンピュータが、自デバイスの対象領域が前記領域条件に合致するか否かを各デバイスに判定させるために、前記作成したクエリをネットワークを通じて前記複数のデバイスに送信するステップと、
コンピュータが、前記クエリに含まれる領域条件に合致するデバイスから送られてくる応答に基づいて、前記デバイス検索要求に対するデバイス検索結果を作成するステップと、を含むことを特徴とするデバイス検索方法。
【請求項８】
請求項７に記載のデバイス検索方法の各ステップをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、様々な場所にある多数のデバイスの中から目的に合致するものを簡単に検索できるようにするための技術に関する。
【背景技術】
【０００２】
ユビキタス社会を実現するための一手段として、センサネットワークが注目を集めている。センサネットワークとは、検知機能と通信機能をもつセンサデバイスを様々な場所に設置しそれらをネットワーク化することで、センシングデータの収集、管理、シームレスな利用を可能化する技術である（特開２００５−２６０６９７号公報参照）。センサネットワークが実現すれば、あらゆる場所の状況を何処からでも素早く正確に把握することが容易となるので、製造現場や物流などの産業分野への応用はもちろんのこと、交通・各種インフラといった社会システムや、医療・教育などの生活に関わる分野まで、幅広い応用が期待されている。【０００３】
ところで、センサネットワークにおいては、センサの数が増えるほどシステム全体としての検知性能（分解能、検知可能な情報の種類など）が高くなるという利点がある一方で、選択肢が多すぎると、目的の情報を得るために最適なセンサを見つけるのが難しくなり、ユーザの利便性低下やサーバの負荷増大といった弊害が出てくる。このような問題を解決すべく、特開２００５−２６０６９７号公報のシステムでは、広い検出領域をもつ上位センサの下に、その検出領域の中に包含される狭い検出領域の下位センサ群をぶら下げる、というツリー構造のネットワークを用いている。これにより、ネットワークの階層構造を順に辿ることで、目的とするセンサに効率的にアクセスできるようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２６０６９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
センサネットワークを構成するセンサ群の中から所望のセンサを抽出する方法としては、従来、サーバが、各センサの位置情報や種別などをデータベースで一元管理し、ユーザの要求を検索キーとしてデータベースを検索する、というものが一般的であった。特開２００５−２６０６９７号公報のシステムも、ネットワークの階層構造とセンサの位置を対応させることで検索を簡単化している点は特徴的であるが、各センサの位置情報をサーバで一元管理しているという点では従来のものと変わりがない。【０００６】
このような従来システムには、次のような問題がある。センサネットワークを利用するユーザの要求は、例えば「京都駅０番線ホームの混雑状況を知りたい」というように、センシングの対象となる領域（空間）で指定されるのが通常であるのに対し、データベースで管理されるのはセンサの設置場所であることが殆どである。しかし、センサの設置場所とそのセンシング領域とは必ずしも一致しない。すなわち、仮に「京都駅０番線ホーム」に設置されている監視カメラがあったとしても、そのカメラが撮影しているのは０番線ホームではなく、電車の発着とか、対面のホームとか、改札の状況かもしれない。それゆえ、従来システムの場合は、センシングしたい領域の近傍に設置されているセンサを一先ず検索した後、ユーザ自身が各センサの設置方向やレンジなどのパラメータを確認して、ふるい落としを行う必要があった。【０００７】
もちろん、各センサの正確なセンシング領域をデータベースにあらかじめ登録しておき、サーバ側でユーザ要求と各センサのセンシング領域の一致を判断する、というシステム構成も理論的には可能である。しかしながら、センサネットワークを構成するすべてのセンサのセンシング領域をサーバで管理し、一極集中で演算するのは、処理負荷の観点から現実的ではない。また、ＰＴＺ（パン／チルト／ズーム）機能をもつ監視カメラや移動型（可搬型）のセンサのように、センシング領域が時々刻々と変化するセンサもあるが、サーバで一元管理する構成では、そのようなセンシング領域の変化にリアルタイムに対応することが難しい。【０００８】
なお、ここまでセンサを例に挙げて説明をしたが、アクチュエータ（或いはコントローラ）のようなデバイスによるネットワークの場合にも、全く同様の課題が発生し得る。「センサ」と「アクチュエータ」とは、「状態を検知（取得）する」のか「状態を変化させる」のかという違いはあるものの、所定の範囲の対象領域と因果関係を有するという点、及び、デバイスの設置場所と対象領域とが必ずしも一致しないという点では共通だからである。【０００９】
本発明は、上記実情に鑑みなされたものであって、その目的とするところは、様々な場所にある多数のデバイスの中から、ユーザの要求に合致するものを正確かつ高速に検索可能とするための技術を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明（特許請求の範囲に記載の各請求項が前提としている特徴的な動作原理）では、ユーザ要求に基づく領域条件を含むクエリを各デバイスに送り、デバイス側で領域条件に合致するか否かの判定を行い、各デバイスからの応答を集約することで検索結果を作成する、という構成を採用する。領域条件に合致するか否かの判定を各デバイスに行わせる構成を採用したことにより、多数のデバイスの中から、ユーザの要求に合致するものを正確かつ高速に検索することができる。【００１１】
請求項１に係るデバイス管理装置は、ネットワークを通じて複数のデバイスと通信可能に構成されるデバイス管理装置であって、前記複数のデバイスの各々は、空間又は時空間で規定される対象領域と因果関係を有するデバイスであり、前記デバイス管理装置は、ユーザからのデバイス検索要求を取得する検索要求取得部と、前記取得したデバイス検索要求から空間又は時空間に関する検索条件を領域条件として抽出し、前記複数のデバイスの中から前記領域条件に合致する対象領域を有するデバイスを抽出するためのクエリを作成するクエリ作成部と、自デバイスの対象領域が前記領域条件に合致するか否かを各デバイスに判定させるために、前記作成したクエリをネットワークを通じて前記複数のデバイスに送信するクエリ送信部と、前記クエリに含まれる領域条件に合致するデバイスから送られてくる応答に基づいて、前記デバイス検索要求に対するデバイス検索結果を作成する検索結果作成部と、を備えることを特徴とする。【００１２】
「空間」とは２次元（ｘ，ｙ）又は３次元（ｘ，ｙ，ｚ）で規定される領域であり、「時空間」とは「空間」に「時間（ｔ）」の次元を加えたもの、つまり３次元（ｘ，ｙ；ｔ）又は４次元（ｘ，ｙ，ｚ；ｔ）で規定される領域をいう。「デバイス」とは、空間又は時空間で規定される対象領域と因果関係を有するデバイスである。例えば、デバイスには、センサ、アクチュエータ（センサからの情報を受けてアクチュエータの動作を制御するコントローラを内蔵する形態も含む）、が該当する。さらにセンサとしてもアクチュエータとしても動作可能なデバイス（例：ピエゾ素子による機械振動と電気振動の双方向変換）もある。センサとは、対象領域の状態を検知（取得）するデバイスである。センサの場合、対象領域の状態（「原因」）とセンサによって検知（取得）される情報（「結果」）との間に因果関係がある。アクチュエータとは、対象領域の状態を変化させるデバイスである。アクチュエータの場合、アクチュエータの作用や動作（「原因」）と対象領域の状態変化（「結果」）との間に因果関係がある。センサには、例えば、画像センサ、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、ＲＦＩＤセンサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ、ガスセンサなどが該当する。またアクチュエータには、例えば、モータ、ソレノイド、コントローラ、ロボット、照明、スピーカ、ディスプレイ、デジタルサイネージ、空調など様々なものが該当する。携帯電話、スマートフォン、スレート型端末のように、センサ（画像センサなど）とアクチュエータ（ディスプレイ、スピーカなど）の両方を備えるデバイスも存在する。デバイス管理装置が管理する「複数のデバイス」の中には、様々な種類のデバイスを混在させることが可能である。【００１３】
請求項１に係るデバイス管理装置の構成によれば、デバイスの「対象領域」とユーザの要求に基づく「領域条件」とが比較されるので、ユーザが意図する空間又は時空間と因果関係を有するデバイスを正確に抽出することができる。また、各デバイスに判定処理を行わせるので（分散処理）、デバイス管理装置側で一極集中処理を行うのに比べ、処理負荷を格段に軽減できる。また、デバイス自身が判定処理を行うので、移動型デバイスのように対象領域が時々刻々変化する場合であっても、その時点における実際の対象領域に基づく判定結果が得られる。【００１４】
請求項２に係るデバイス管理装置は、前記検索結果作成部が、前記作成したデバイス検索結果を、前記デバイス検索要求を行ったユーザに提示することを特徴とする。請求項２に係るデバイス管理装置の構成によれば、ユーザの要求した領域条件に合致するデバイスの情報をユーザに提供することが容易に実現できる。【００１５】
請求項３に係るデバイス管理装置は、前記複数のデバイスの中から前記デバイス検索要求を満たす可能性がある複数の候補デバイスを抽出するラフ探索部をさらに備えており、前記クエリ送信部は、前記ラフ探索部によって抽出された複数の候補デバイスを前記クエリの送信先とすることを特徴とする。請求項３に係るデバイス管理装置の構成によれば、ラフ探索によってクエリの送信先を絞り込むことにより、ネットワークの負荷、並びに、デバイス管理装置及びデバイスの処理負荷を軽減することができる。【００１６】
請求項４に係るデバイス管理装置は、前記ラフ探索部は、空間又は時空間の全体を複数の領域に区分することで形成される複数の領域ブロックの各々に対し、当該領域ブロックに自デバイスの対象領域が重なる可能性のあるデバイスを一つ以上対応付けた、インデックスを参照して、前記デバイス検索要求から抽出された前記領域条件に合致する領域ブロックを前記複数の領域ブロックの中から選択し、前記インデックスにおいて前記選択した領域ブロックに対応付けられているデバイスを前記候補デバイスとすることを特徴とする。請求項４に係るデバイス管理装置の構成によれば、インデックスを参照することにより、与えられた領域条件から候補デバイス（クエリ送信先）を選定する処理を極めて高速に行うことができる。【００１７】
前記複数のデバイスが、自デバイスの対象領域がクエリに含まれる領域条件に合致するか否かを判定し応答を返す判定機能を有しているクエリ対応のデバイスと、前記判定機能を有していないクエリ非対応のデバイスと、を含んでいる場合も想定される。請求項５に係るデバイス管理装置は、クエリ非対応のデバイスの場合は、当該デバイスにクエリを送信する代わりに、クエリ非対応のデバイスの対象領域を表す情報を記憶する記憶部から取得した情報に基づいて当該デバイスの対象領域が前記領域条件に合致するか否かを判定する処理を行うことを特徴とする。請求項５に係るデバイス管理装置の構成により、クエリ非対応のデバイスも検索対象に含めることができる。【００１８】
請求項６に係るデバイスは、空間又は時空間で規定される対象領域と因果関係を有するデバイスであって、空間又は時空間に関する条件である領域条件を含むクエリをネットワークを通じて受信する受信部と、前記受信したクエリに含まれる領域条件と自デバイスの対象領域とを比較することにより、自デバイスの対象領域が前記領域条件に合致するか否かを判定する判定部と、前記判定部によって前記領域条件に合致すると判定された場合に、前記クエリに対する応答をネットワークを通じて前記デバイス管理装置に送信する送信部と、を備えていることを特徴とする。【００１９】
請求項７に係るデバイス検索方法は、複数のデバイスの中から、要求条件を満たすデバイスを検索するためのデバイス検索方法であって、前記複数のデバイスの各々は、空間又は時空間で規定される対象領域と因果関係を有するデバイスであり、コンピュータが、ユーザからのデバイス検索要求を取得するステップと、コンピュータが、前記取得したデバイス検索要求から空間又は時空間に関する検索条件を領域条件として抽出し、前記複数のデバイスの中から前記領域条件に合致する対象領域を有するデバイスを抽出するためのクエリを作成するステップと、コンピュータが、自デバイスの対象領域が前記領域条件に合致するか否かを各デバイスに判定させるために、前記作成したクエリをネットワークを通じて前記複数のデバイスに送信するステップと、コンピュータが、前記クエリに含まれる領域条件に合致するデバイスから送られてくる応答に基づいて、前記デバイス検索要求に対するデバイス検索結果を作成するステップと、を含むことを特徴とする。【００２０】
請求項７に係るデバイス検索方法によれば、デバイスの「対象領域」とユーザの要求に基づく「領域条件」とが比較されるので、ユーザが意図する空間又は時空間と因果関係を有するデバイスを正確に抽出することができる。また、各デバイスに判定処理を行わせるので（分散処理）、コンピュータ側で一極集中処理を行うのに比べ、処理負荷を格段に軽減できる。また、デバイス自身が判定処理を行うので、移動型デバイスのように対象領域が時々刻々変化する場合であっても、その時点における実際の対象領域に基づく判定結果が得られる。【００２１】
請求項８に係るプログラムは、請求項７に記載のデバイス検索方法の各ステップをコンピュータに実行させることを特徴とするプログラムである。【００２２】
請求項８に係るプログラムによれば、デバイスの「対象領域」とユーザの要求に基づく「領域条件」とが比較されるので、ユーザが意図する空間又は時空間と因果関係を有するデバイスを正確に抽出することができる。また、各デバイスに判定処理を行わせるので（分散処理）、当該プログラムを実行するコンピュータ側で一極集中処理を行うのに比べ、処理負荷を格段に軽減できる。また、デバイス自身が判定処理を行うので、移動型デバイスのように対象領域が時々刻々変化する場合であっても、その時点における実際の対象領域に基づく判定結果が得られる。
【発明の効果】
【００２３】
本発明によれば、多数のデバイスの中から、ユーザの要求に合致するものを正確かつ高速に検索することができる。
【図面の簡単な説明】
【００２４】
【図１】デバイスネットワークシステムの構成を示す図。
【図２】デバイス検索処理の使用例を示す図。
【図３】デバイス検索処理の別の使用例を示す図。
【図４】デバイス検索処理の全体フローを示すフローチャート。
【図５】ラフ探索の処理フローを示すフローチャート。
【図６】ラフ探索で用いる転置インデックスを模式的に示す図。
【図７】詳細探索の処理フローを示すフローチャート。
【発明を実施するための形態】
【００２５】
＜システム構成＞
図１を参照して、本発明の実施形態に係るデバイスネットワークシステムの構成例を説明する。
【００２６】
デバイスネットワークシステムは、デバイスネットワーク１とデバイス管理装置２とから構成されている。デバイスネットワーク１は、様々な場所に存在する多数のデバイス１０によって構成されるネットワークである。ネットワークの構成や通信方式などは任意に設計でき、特に限定されない。各々のデバイス１０は、例えばインターネットなどの広域ネットワークを介してデバイス管理装置２と通信可能である。デバイス管理装置２は、デバイスネットワーク１を構成する各デバイス１０に関する情報や各デバイスから収集した情報などを管理すると共に、デバイス１０を利用したいと望むユーザ向けの各種サービス（デバイス検索もその一つ）を提供するサーバ装置である。ユーザは、ユーザ端末３から、インターネットなどの広域ネットワークを通じて、デバイス管理装置２の提供するサービスにアクセスすることが可能である。
【００２７】
各々のデバイス１０は、空間又は時空間で規定される対象領域と因果関係を有するデバイスであって、「センサ」と「アクチュエータ」とに大別できる。ここで「空間」とは２次元（ｘ，ｙ）又は３次元（ｘ，ｙ，ｚ）で規定される領域であり、「時空間」とは「空間」に「時間（ｔ）」の次元を加えたもの、つまり３次元（ｘ，ｙ；ｔ）又は４次元（ｘ，ｙ，ｚ；ｔ）で規定される領域をいう。センサには、例えば、画像センサ、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、ＲＦＩＤセンサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ、ガスセンサなどが該当し、本システムではいかなる種類のセンサも利用することができる。またアクチュエータには、例えば、モータ、ソレノイド、コントローラ、ロボット、照明、スピーカ、ディスプレイ、デジタルサイネージ、空調など様々なものが該当し、本システムではいかなる種類のアクチュエータも利用することができる。携帯電話、スマートフォン、スレート型端末のように、センサ（画像センサなど）とアクチュエータ（ディスプレイ、スピーカなど）の両方を備えるデバイスも存在する。なお、デバイスネットワーク１の中には、様々な種類のデバイスを混在させることが可能である。
【００２８】
デバイス管理装置２は、検索要求取得部２０、ラフ探索部２１、記憶部２２、クエリ作成部２３、クエリ判定部２４、検索結果作成部２５などの機能を有している。デバイス管理装置２は、ハードウエア的には、ＣＰＵ、主記憶装置（メモリ）、補助記憶装置（ＨＤＤ、ＳＳＤなど）、通信装置、入力装置、表示装置などを備えるコンピュータにより構成することができる。図１に示す各機能ブロックは、補助記憶装置に格納されたコンピュータプログラムを主記憶装置にロードし、ＣＰＵが当該プログラムを実行することで具現化されるものである。なお、デバイス管理装置２は単体のコンピュータで構成してもよいし、協働する複数のコンピュータで構成することもできる。
【００２９】
ユーザ端末３としては、例えば、パーソナルコンピュータ、携帯電話、スマートフォン、スレート型端末などを利用可能である。なお、本実施形態では、インターネット経由でユーザがデバイス検索を行う例を挙げるが、デバイス管理装置自体をユーザが操作する構成、或いは、デバイス管理装置の一部又は全部の機能をユーザ端末３側に実装する構成でも構わない。
【００３０】
＜デバイス検索サービス＞
以下、デバイス管理装置２が提供するデバイス検索サービスについて、詳しく説明する。デバイス検索サービスとは、デバイスネットワーク１を構成する多数のデバイス１０の中から、ユーザが目的達成に最適なデバイスを見つけることを、容易化するためのサービスである。まずは図２と図３を用いて検索サービスの具体的な使用例から説明する。
【００３１】
ユーザがユーザ端末３を用いてデバイス検索サービスにアクセスすると、図２（ａ）のような検索条件入力画面が表示される。この画面では、例えば「京都駅０番線ホームの８時前後の混雑状況を知りたい。」というように、検索条件（検索の目的）を自由文で入力することができる。図２（ｂ）は検索条件入力画面の別の例である。この画面の場合は、エリア、時間、内容を別々のボックスに入力する。検索ボタンが押されると、検索要求がユーザ端末３からデバイス管理装置２へ送信され、デバイス管理装置２においてデバイス検索処理が実行される。デバイス検索処理の詳細は後述する。
【００３２】
図２（ｃ）はデバイス管理装置２から返信される検索結果画面の一例である。ホームの混雑状況を把握する手段としては、例えば、画像センサ（カメラ）の映像、音センサによる雑踏音のレベル、自動改札機の入場記録などが想定される。また、画像センサ一つとっても、０番線ホームに設置された画像センサもあれば、対面のホームや別の場所から０番線ホームを撮影する画像センサも含まれる。デバイス検索サービスでは、ユーザが入力した検索条件を満たす可能性があるデバイスがすべて索出され、検索条件との一致度が高いデバイスから順にリスト表示される。また、このデバイスリストには、必要に応じて、各デバイスの仕様、利用条件、利用料金、デバイスの提供者などの情報（これらをまとめて「デバイス情報」と呼ぶ）も表示される。ユーザは、検索結果として提示されたデバイスリストを見て、どのデバイスを利用するかを比較検討しながら選定することができる。
【００３３】
図３は別の使用例を示している。図３（ａ）の検索条件入力画面では、「京都駅０番線ホームにいる人に８時前後に広告を発信したい。」という条件（目的）が入力されている。ホームにいる人々に情報を伝達する手段としては、例えば、ホームに設置されたデジタルサイネージ（ＤＳ）、アナウンス用スピーカなどが想定される。また、ホーム上に設置（固定）されていないもの、例えば、近隣のビルの壁面に設置された大型ディスプレイ、０番線に入線する電車の外面、ホームにいる人が所持するスマートフォン、或いは、飛行船なども広告伝達媒体になり得る。図３（ｂ）に示すデバイスリストでは、これらの利用可能なデバイスが一覧表示される。
【００３４】
図２及び図３の例からも分かるように、センサであるとアクチュエータであるとにかかわらず、デバイス１０の設置位置（又は存在位置）とデバイス１０が因果関係を有する領域とは必ずしも一致しない。そこで、本システムのデバイス検索サービスでは、ユーザが入力した領域条件とデバイスが因果関係を有する対象領域との比較で、デバイスの検索を行えるようにする。これにより、ユーザの目的や希望に合致したデバイスを精度良く抽出することができる。しかも、ユーザが想定していない目的達成手段もリストアップ（レコメンド）されるので、ユーザの利用機会の増大が期待できる。
【００３５】
（デバイス検索処理の全体フロー）
続いて、図４を参照して、デバイス管理装置２によるデバイス検索処理を説明する。
【００３６】
まず、検索要求取得部２０がユーザ端末３から検索要求を取得し（ステップＳ４０）、検索要求の中から空間又は時空間に関する検索条件を領域条件として抽出する（ステップＳ４１）。例えば、図２（ａ）のように「京都駅０番線ホームの８時前後の混雑状況を知りたい。」という検索要求が得られた場合、検索要求取得部２０は形態素解析や意味解析を行うことで、このテキストの中から「（京都駅０番線ホーム）且つ（８時前後）」という条件を抽出する。抽出された領域条件は、ラフ探索部２１及びクエリ作成部２３に渡される。
【００３７】
次に、ラフ探索部２１が、記憶部２２に記憶されている転置インデックスを参照することで、領域条件を満たす可能性があるデバイス１０の候補（「候補デバイス」と呼ぶ）を抽出する（ステップＳ４２）。ラフ探索の目的は、後段の詳細探索の処理負荷を軽減することにある。したがって、デバイスネットワーク１を構成するデバイス１０の数が少ないとか、デバイス１０の処理能力及びネットワークの帯域に余裕があるなど、詳細探索の処理負荷が問題とならない場合には、ラフ探索は省略しても構わない。
【００３８】
次に、ステップＳ４３の詳細探索では、クエリ作成部２３が、ステップＳ４１で抽出した領域条件を含むクエリを作成し、クエリ判定部２４が、ラフ探索で抽出された候補デバイス１０に対してクエリを送信する。クエリとは、コンピュータプログラム等において用いられる情報探索（情報検索）の処理要求であり、例えば探索範囲や探索条件等が記述されたデータである。ここでは、デバイスネットワーク１を構成する複数のデバイス１０の中からステップＳ４１で抽出した領域条件に合致する対象領域を有するデバイスを抽出するためのクエリが作成される。クエリを受信した各々のデバイス１０は、自デバイスの対象領域がクエリの領域条件に合致するか否かを判定し、その判定結果をデバイス管理装置２に返答する。
【００３９】
検索結果作成部２５は、各デバイス１０からの応答を集約し、デバイスリストを作成する（ステップＳ４４）。そして、検索結果作成部２５からユーザ端末２にデバイスリストが送信され、ユーザに検索結果として提示される（ステップＳ４５）。以上で、デバイス検索処理が完了する。
【００４０】
（ラフ探索）
図５及び図６を用いて、ラフ探索（ステップＳ４２）の詳細を説明する。図５はラフ探索の処理フローを示すフローチャートであり、図６はラフ探索で用いる転置インデックスを模式的に示す図である。
【００４１】
転置インデックスとは、空間又は時空間の全体を複数の領域に区分することで形成される複数の領域ブロックの各々に対し、当該領域ブロックに自デバイスの対象領域が重なる可能性のあるデバイスを一つ以上対応付けたデータ（テーブル）である。従来システムでは、デバイスＩＤをキーとしてデバイスの設置場所などの情報を取得するというのが一般的であったのに対し、ラフ探索では、逆引きの探索、すなわち、領域条件をキーとしてデバイスＩＤを取得するという処理を行う。この処理を高速かつ簡易に行うため、デバイス検索装置２では図６に示すような転置インデックスをあらかじめ用意している。
【００４２】
図６は、空間軸であるｘ，ｙと時間軸であるｔからなる３次元の時空間の例である。３次元時空間が複数の直方体に分割され、各々の領域ブロックに対してデバイスＩＤが対応付けられている。デバイスＩＤは冗長に割り当ててよい。すなわち、デバイスの対象領域が複数の領域ブロックにまたがる場合や、移動型・可搬型のデバイスのように対象領域が変化し得る場合などは、対象領域が重なり得るすべての領域ブロックに当該デバイスのＩＤを対応付けておく。転置インデックスはラフ探索で参照されるものなので、正確性（厳密性）よりもむしろ冗長性が高いほうが好ましい。
【００４３】
デバイスＩＤの数が多い領域ブロックについては、図６のように、サブブロックに細分化されている。例えば、駅周辺や繁華街などセンサやアクチュエータの設置密度が高いところでは領域ブロックを細分化し、郊外などでは領域ブロックを大きくする。これにより、ラフ探索の効率を向上することができる。ブロックの大きさを均等にするのではなく、登録されるデバイスＩＤの数がほぼ均等になるようにブロックの大きさを可変にすることでも、同様の効果を得ることができる。
【００４４】
転置インデックスは、デバイス管理装置２が、記憶部２２に格納され、又は、各デバイス１０から収集されるデバイス情報（メタ情報）から自動で生成する。転置インデックスの生成／更新は、夜間などにバッチ処理を実施してもよいし、デバイスの追加／変更などのタイミングで実施してもよい。移動型・可搬型のデバイスの場合は、デバイスから定期的に位置情報を収集し、実質的にリアルタイムに転置インデックスの更新を行ってもよい。或いは、移動の履歴に基づいて統計的に将来の領域を予測し、該当する領域ブロックに自動的にＩＤを登録することも好ましい。
【００４５】
なお、転置インデックスに登録するＩＤは、個々のデバイスに割り当てられている固有のＩＤの他、複数のデバイスからなるデバイス集合を示すＩＤや、複数のデバイスのうちの代表デバイスのＩＤだけを登録することもできる。また、デバイスネットワーク１が複数のセグメントに分かれており、各セグメントにゲートウェイが設置されている場合には、そのゲートウェイのＩＤを登録する構成も採り得る。また、図６では、ｘ，ｙ，ｔの３次元時空間を例示したが、少なくとも１つの空間軸を含んでいる多次元の空間又は時空間であれば同様の処理が可能である。また、空間軸と時間軸の他に、センサの検知頻度、分解能、対象物の種類など、デバイスの属性に関する軸を加えることも好ましい。
【００４６】
ラフ探索部２１は、図５に示すように、転置インデックスに基づき、検索要求取得部２０から取得した領域条件にあてはまる領域ブロックを１つ以上抽出する（ステップＳ５０）。次に、ラフ探索部２１は、抽出した領域ブロックの中で端に位置する領域ブロック（つまり、領域条件で規定される空間又は時空間の境界を含む領域ブロック）について、サブブロックに細分化されている領域ブロックか否かを確認し（ステップＳ５１）、サブブロックがある場合はサブブロック単位で領域条件にあてはまるか否かの再判定を行う（ステップＳ５２）。このように領域の境界部分でのみ詳細な領域判定を行うことで、ラフ探索の効率を高めることができる。
【００４７】
以上の処理を経て、領域条件にあてはまると判定された領域ブロック（又はサブブロック）が得られたら、ラフ探索部２１は、転置インデックスを参照して、対応するデバイスＩＤを取得し、そのＩＤのリスト（候補デバイスのリスト）をクエリ判定部２４に渡して、処理を終了する（ステップＳ５３）。
【００４８】
（詳細探索）
図７を用いて、詳細探索（ステップＳ４３）の詳細を説明する。図７は詳細探索の処理フローを示すフローチャートである。
【００４９】
ステップＳ７０において、クエリ作成部２３が、ステップＳ４１で得られた領域条件を含むクエリを作成する。このとき、領域条件以外の条件（例えば、利用料金、検知頻度、デバイスの種別など）をクエリに含めることもできる。
【００５０】
次に、クエリ判定部２４が、ラフ探索で得られた候補デバイスのそれぞれに対して、クエリ条件を満たしているか否かの判定を行う。このとき、候補デバイスがクエリ対応デバイスかクエリ非対応デバイスかで処理を異ならせる（ステップＳ７１）。クエリ対応デバイスとは、自デバイスの対象領域がクエリに含まれる領域条件に合致するか否かを判定し応答を返す判定機能を備えているデバイスのことであり、クエリ非対応デバイスとはそのような判定機能を備えていないデバイスのことである。クエリ対応か非対応かは、記憶部２２に格納されているデバイス情報を参照することで判断可能である。
【００５１】
クエリ対応デバイスの場合、クエリ判定部２４は、クエリを当該デバイスに送信する（ステップＳ７２）。そして、デバイス自身が、受信したクエリに基づき、クエリに含まれる各々の条件に自デバイスが該当するか否かを判定する。デバイスは、条件をすべて満たす場合は「一致」応答を、一部の条件のみを満たす場合は「部分一致」応答を、デバイス管理装置２に返す。ただし、不可避な条件（ユーザにより必須条件に指定された条件、ユーザの目的を達成するために必須の条件など）を一つでも満たさない場合、又は、一切の条件を満たさない場合には、デバイスは応答を返さない。このとき「不一致」応答を返すという構成も採り得るが、ネットワークの負荷軽減の観点からは不要な応答は発生させない方が好ましい。デバイス１０から受信した応答は、検索結果作成部２５に集約される（ステップＳ７３）。
【００５２】
ここで、クエリの送出方法は、デバイスネットワーク１の形態によって様々な方法が考えられる。例えば、送信先デバイスのアドレスをクエリパケットの宛先に設定して送信するのが基本的な構成である。この方法は、固有アドレスに基づいてパケット転送されるネットワークであれば、いかなるネットワークにも適用できる。候補デバイスに個別にパケットを送出する方法でもよいし、一つのパケットの宛先に複数の宛先を指定する方法でもよい。後者のようなマルチキャストが可能であれば、ネットワーク負荷の軽減を図ることができるという利点がある。また、特定の領域に含まれるデバイス全部や、特定の種類のデバイス全部に転送されるような、特殊なクエリパケットを用いてもよい。また、前述したように転置インデックスに、デバイス群の集合を示すＩＤや、代表デバイスのＩＤや、セグメントのゲートウェイＩＤなどが登録されている場合には、それらのＩＤを宛先に設定することも好ましい。また、現実空間におけるデバイス同士の近さとデバイスネットワークにおけるデバイス同士の近さとが対応している場合には、マルチホップにより近くに存在するデバイスにクエリパケットを転送することも好ましい。この場合は、探索時間を制限するため、もしくは単純なメッシュネットワークにおいて無限ループになることを防ぐため、クエリの転送回数や転送時間の上限をクエリに指定しておくとよい。
【００５３】
一方、クエリ非対応デバイスの場合、クエリ判定部２４が、記憶部２２に格納されているデバイス情報を参照して、この候補デバイスの対象領域とクエリの領域条件とが「一致」か「部分一致」かそれ以外かを判定する（ステップＳ７４）。クエリ非対応デバイスが多数存在する場合には、分散処理によって各デバイスに対する判定を並列に実行するとよい。クエリ非対応デバイスの判定結果についても、検索結果作成部２５に集約される（ステップＳ７３）。
【００５４】
（検索結果作成）
検索結果作成部２５は、詳細探索の結果に基づき、「一致」と判定されたデバイスをデバイスリストに追加する。また、「部分一致」と判定されたデバイスに関しては、検索結果作成部２５は、そのデバイスを他の「部分一致」デバイスと組み合わせることで、クエリ条件をすべて満たすことができるかどうかを判定する。複数のデバイスの組み合わせにより条件を満たすことができる場合は、その複数のデバイスを１セットとしてデバイスリストに加える。例えば、ユーザが条件として指定した領域の右半分しかカバーできないデバイスがあった場合に、残りの左半分をカバーできるデバイスがあれば、そのデバイス対をデバイスリストに載せるのである。なお、どのように組み合わせてもすべての条件を満たすことができない場合には、一致度とともにデバイスリストに加えるか、デバイスリストからは除外するとよい。以上の処理により得られた検索結果が、図２（ｃ）、図３（ｂ）に示したものである。
【００５５】
＜本実施形態の利点＞
以上述べた本実施形態の構成によれば、デバイス１０の「対象領域」とユーザの要求に基づく「領域条件」とが比較されるので、ユーザが意図する空間又は時空間と因果関係を有するデバイス１０を正確に抽出することができる。また、各デバイス１０に判定処理を行わせるので、デバイス管理装置２側で一極集中処理を行うのに比べ、処理負荷を格段に軽減できる。また、デバイス自身が判定処理を行うので、移動型・可搬型のデバイスのように対象領域が時々刻々変化する場合であっても、その時点における実際の対象領域に基づく判定結果が得られる。また、本実施形態では、ラフ探索によってクエリの送信先を絞り込むので、ネットワークの負荷、並びに、デバイス管理装置２及びデバイス１０の処理負荷を軽減することができる。さらに、デバイス管理装置２側でもクエリ判定が行えるようにしたので、クエリ非対応デバイスも検索対象に含めることができる。
【００５６】
なお、上述した実施形態は本発明の一具体例を示したものであり、本発明の範囲をそれらの具体例に限定する趣旨のものではない。例えば、デバイスネットワークを構成する全てのデバイスがクエリ対応の場合には、クエリ非対応に関する処理は不要となる。また、ラフ探索である程度の数までデバイスを絞り込めた場合には、詳細探索を省略することもできる。
【符号の説明】
【００５７】
１：デバイスネットワーク
２：デバイス管理装置
３：ユーザ端末
１０：デバイス
２０：検索要求取得部
２１：ラフ探索部
２２：記憶部
２３：クエリ作成部
２４：クエリ送信部
２５：検索結果作成部
【図１】
2014050192.tif 000003
【図２】
2014050192.tif 000004
【図３】
2014050192.tif 000005
【図４】
2014050192.tif 000006
【図５】
2014050192.tif 000007
【図６】
2014050192.tif 000008
【図７】
2014050192.tif 000009
【手続補正書】
【提出日】平成25年10月31日(2013.10.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを通じて複数のデバイスと通信可能に構成されるデバイス管理装置であって、
前記複数のデバイスの各々は、空間又は時空間で規定される対象領域と因果関係を有するデバイスであり、
前記複数のデバイスは、自デバイスが存在する位置とは異なる前記対象領域の状態を取得するデバイスであるセンサ、もしくは、自デバイスが存在する位置とは異なる前記対象領域の状態を変化させるデバイスであるアクチュエータ、又は、その両方を含み、
前記デバイス管理装置は、
ユーザからのデバイス検索要求を取得する検索要求取得部と、
前記取得したデバイス検索要求から空間又は時空間に関する検索条件を領域条件として抽出し、前記複数のデバイスの中から前記領域条件に合致する対象領域を有するデバイスを抽出するためのクエリを作成するクエリ作成部と、
自デバイスの対象領域が前記領域条件に合致するか否かを各デバイスに判定させるために、前記作成したクエリをネットワークを通じて前記複数のデバイスに送信するクエリ送信部と、
前記クエリに含まれる領域条件に合致するデバイスから送られてくる応答に基づいて、前記デバイス検索要求に対するデバイス検索結果を作成する検索結果作成部と、
を備えることを特徴とするデバイス管理装置。
【請求項２】
前記検索結果作成部は、前記作成したデバイス検索結果を、前記デバイス検索要求を行ったユーザに提示することを特徴とする請求項１に記載のデバイス管理装置。
【請求項３】
前記複数のデバイスの中から前記デバイス検索要求を満たす可能性がある複数の候補デバイスを抽出するラフ探索部をさらに備え、
前記クエリ送信部は、前記ラフ探索部によって抽出された複数の候補デバイスを前記クエリの送信先とすることを特徴とする請求項１又は２に記載のデバイス管理装置。
【請求項４】
前記ラフ探索部は、
空間又は時空間の全体を複数の領域に区分することで形成される複数の領域ブロックの各々に対し、当該領域ブロックに自デバイスの対象領域が重なる可能性のあるデバイスを一つ以上対応付けた、インデックスを参照して、
前記デバイス検索要求から抽出された前記領域条件に合致する領域ブロックを前記複数の領域ブロックの中から選択し、前記インデックスにおいて前記選択した領域ブロックに対応付けられているデバイスを前記候補デバイスとすることを特徴とする請求項３に記載のデバイス管理装置。
【請求項５】
前記複数のデバイスは、自デバイスの対象領域がクエリに含まれる領域条件に合致するか否かを判定し応答を返す判定機能を有しているクエリ対応のデバイスと、前記判定機能を有していないクエリ非対応のデバイスと、を含んでおり、
前記デバイス管理装置は、クエリ非対応のデバイスの場合は、当該デバイスにクエリを送信する代わりに、クエリ非対応のデバイスの対象領域を表す情報を記憶する記憶部から取得した情報に基づいて当該デバイスの対象領域が前記領域条件に合致するか否かを判定する処理を行うことを特徴とする請求項１〜４のうちいずれか１項に記載のデバイス管理装置。
【請求項６】
空間又は時空間で規定される対象領域と因果関係を有するデバイスであって、
前記デバイスは、自デバイスが存在する位置とは異なる前記対象領域の状態を取得するデバイスであるセンサ、もしくは、自デバイスが存在する位置とは異なる前記対象領域の状態を変化させるデバイスであるアクチュエータであり、
空間又は時空間に関する条件である領域条件を含むクエリをネットワークを通じて受信する受信部と、
前記受信したクエリに含まれる領域条件と自デバイスの対象領域とを比較することにより、自デバイスの対象領域が前記領域条件に合致するか否かを判定する判定部と、
前記判定部によって前記領域条件に合致すると判定された場合に、前記クエリに対する応答をネットワークを通じて前記デバイス管理装置に送信する送信部と、を備えていることを特徴とするデバイス。
【請求項７】
複数のデバイスの中から、要求条件を満たすデバイスを検索するためのデバイス検索方法であって、
前記複数のデバイスの各々は、空間又は時空間で規定される対象領域と因果関係を有するデバイスであり、
前記複数のデバイスは、自デバイスが存在する位置とは異なる前記対象領域の状態を取得するデバイスであるセンサ、もしくは、自デバイスが存在する位置とは異なる前記対象領域の状態を変化させるデバイスであるアクチュエータ、又は、その両方を含み、
コンピュータが、ユーザからのデバイス検索要求を取得するステップと、
コンピュータが、前記取得したデバイス検索要求から空間又は時空間に関する検索条件を領域条件として抽出し、前記複数のデバイスの中から前記領域条件に合致する対象領域を有するデバイスを抽出するためのクエリを作成するステップと、
コンピュータが、自デバイスの対象領域が前記領域条件に合致するか否かを各デバイスに判定させるために、前記作成したクエリをネットワークを通じて前記複数のデバイスに送信するステップと、
コンピュータが、前記クエリに含まれる領域条件に合致するデバイスから送られてくる応答に基づいて、前記デバイス検索要求に対するデバイス検索結果を作成するステップと、を含むことを特徴とするデバイス検索方法。
【請求項８】
請求項７に記載のデバイス検索方法の各ステップをコンピュータに実行させることを特徴とするプログラム。
【国際調査報告】
2014050192.tif 000010
2014050192.tif 000011