(57)【特許請求の範囲】
【請求項１】
複数のセンサノードからのセンサ情報が入力され、互いに異なるアルゴリズムに従って前記センサ情報を処理することで同質のメタ情報を生成する複数のメタ情報生成モジュールと、
前記複数のメタ情報生成モジュールからのメタ情報が入力され、あるアルゴリズムに従って前記メタ情報を処理することで最尤なメタ情報を生成するメタ情報統合モジュールと、
前記最尤なメタ情報を蓄積するデータベースを形成する記憶部と、
前記センサ情報は監視対象の情報を含み、前記メタ情報は前記監視対象の位置情報を含み、
前記複数のメタ情報生成モジュールは、第１のセンサ情報が入力されタイムスタンプ及び情報の信頼度を付加した第１のメタ情報を生成する第１のメタ情報生成モジュールと、第２のセンサ情報が入力されタイムスタンプ及び情報の信頼度を付加した第２のメタ情報を生成する第２のメタ情報生成モジュールを有し、
前記第１及び第２のメタ情報から前記監視対象の確定位置の情報を生成して出力する判定モジュールとを備え、
前記第１のメタ情報生成モジュールは、第１のメタ情報に付加される現在時刻のタイムスタンプと前記判定モジュールからフィードバックされた情報のタイムスタンプを比較し、前記情報が現在時刻より閾値以上古い場合はフィードバックされた情報を使わずに前記第１のセンサ情報を出力し、前記フィードバックされた情報が現在時刻から前記閾値未満の場合は前記情報の信頼度と前記第１のメタ情報に付加される信頼度を比較して信頼度の高い方を採用するか、或いは、２つの信頼度を重みとして加重平均を取って出力することを特徴とする、メタ情報生成装置。
【請求項２】
前記最尤なメタ情報は、前記センサ情報を出力するセンサでは直接観測できない事象を、複数のセンサ情報を組み合わせて推定することを特徴とする、請求項１記載のメタ情報生成装置。
【請求項３】
前記複数のセンサノード、前記複数のメタ情報生成モジュール、及び前記メタ情報統合モジュールは、夫々モジュール間のメッセージ通信にパブリッシュ・サブスクライブ（Publish-Subscribe）方式のメッセージ通信部を使用することを特徴とする、請求項１又は２記載のメタ情報生成装置。
【請求項４】
コンピュータにメタ情報を生成させるプログラムであって、
複数のセンサノードからのセンサ情報が入力され、互いに異なるアルゴリズムに従って前記センサ情報を処理することで同質のメタ情報を生成する複数のメタ情報生成モジュールと、
前記複数のメタ情報生成モジュールからのメタ情報が入力され、あるアルゴリズムに従って前記メタ情報を処理することで最尤なメタ情報を生成するメタ情報統合モジュール
として前記コンピュータを機能させ、
前記最尤なメタ情報をデータベースを形成する記憶部に蓄積し、
前記センサ情報は監視対象の情報を含み、前記メタ情報は前記監視対象の位置情報を含み、
前記複数のメタ情報生成モジュールは、第１のセンサ情報が入力されタイムスタンプ及び情報の信頼度を付加した第１のメタ情報を生成する第１のメタ情報生成モジュールと、第２のセンサ情報が入力されタイムスタンプ及び情報の信頼度を付加した第２のメタ情報を生成する第２のメタ情報生成モジュールを有し、
前記第１及び第２のメタ情報から前記監視対象の確定位置の情報を生成して出力する判定モジュール
として前記コンピュータを更に機能させ、
前記第１のメタ情報生成モジュールは、第１のメタ情報に付加される現在時刻のタイムスタンプと前記判定モジュールからフィードバックされた情報のタイムスタンプを比較し、前記情報が現在時刻より閾値以上古い場合はフィードバックされた情報を使わずに前記第１のセンサ情報を出力し、前記フィードバックされた情報が現在時刻から前記閾値未満の場合は前記情報の信頼度と前記第１のメタ情報に付加される信頼度を比較して信頼度の高い方を採用するか、或いは、２つの信頼度を重みとして加重平均を取って出力することを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メタ情報生成装置及びプログラムに関する。
【背景技術】
【０００２】
複数のセンサが検知したセンサ情報からコンテキスト或いはメタ情報を生成するメタ情報生成装置が知られている。生成されたメタ情報は、例えばビルのメンテナンス、病院の患者管理などに利用できる。ビルのメンテナンスには、例えば空調の管理及び制御などが含まれる。一方、病院の患者管理には、例えば患者の容体又は姿勢の管理などが含まれる。
【０００３】
しかし、センサの種類及び数が増大するに伴い、膨大な量のセンサ情報を処理する必要が生じ、信頼性の高いメタ情報を比較的簡単なシステム構成で生成することは難しい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００３−５２７７１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のメタ情報生成装置では、監視対象であるユーザの状況に応じてセンサ情報からユーザの位置などに関するメタ情報を生成することは難しいという問題があった。
【０００６】
そこで、本発明は、監視対象の状況に応じてセンサ情報から監視対象の位置などに関するメタ情報を生成することのできるメタ情報生成装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一観点によれば、複数のセンサノードからのセンサ情報が入力され、互いに異なるアルゴリズムに従って前記センサ情報を処理することで同質のメタ情報を生成する複数のメタ情報生成モジュールと、前記複数のメタ情報生成モジュールからのメタ情報が入力され、あるアルゴリズムに従って前記メタ情報を処理することで最尤なメタ情報を生成するメタ情報統合モジュールと、前記最尤なメタ情報を蓄積するデータベースを形成する記憶部と、前記センサ情報は監視対象の情報を含み、前記メタ情報は前記監視対象の位置情報を含み、前記複数のメタ情報生成モジュールは、第１のセンサ情報が入力されタイムスタンプ及び情報の信頼度を付加した第１のメタ情報を生成する第１のメタ情報生成モジュールと、第２のセンサ情報が入力されタイムスタンプ及び情報の信頼度を付加した第２のメタ情報を生成する第２のメタ情報生成モジュールを有し、前記第１及び第２のメタ情報から前記監視対象の確定位置の情報を生成して出力する判定モジュールとを備え、前記第１のメタ情報生成モジュールは、第１のメタ情報に付加される現在時刻のタイムスタンプと前記判定モジュールからフィードバックされた情報のタイムスタンプを比較し、前記情報が現在時刻より閾値以上古い場合はフィードバックされた情報を使わずに前記第１のセンサ情報を出力し、前記フィードバックされた情報が現在時刻から前記閾値未満の場合は前記情報の信頼度と前記第１のメタ情報に付加される信頼度を比較して信頼度の高い方を採用するか、或いは、２つの信頼度を重みとして加重平均を取って出力するメタ情報生成装置が提供される。
【０００８】
本発明の一観点によれば、コンピュータにメタ情報を生成させるプログラムであって、複数のセンサノードからのセンサ情報が入力され、互いに異なるアルゴリズムに従って前記センサ情報を処理することで同質のメタ情報を生成する複数のメタ情報生成モジュールと、前記複数のメタ情報生成モジュールからのメタ情報が入力され、あるアルゴリズムに従って前記メタ情報を処理することで最尤なメタ情報を生成するメタ情報統合モジュールとして前記コンピュータを機能させ、前記最尤なメタ情報をデータベースを形成する記憶部に蓄積し、前記センサ情報は監視対象の情報を含み、前記メタ情報は前記監視対象の位置情報を含み、前記複数のメタ情報生成モジュールは、第１のセンサ情報が入力されタイムスタンプ及び情報の信頼度を付加した第１のメタ情報を生成する第１のメタ情報生成モジュールと、第２のセンサ情報が入力されタイムスタンプ及び情報の信頼度を付加した第２のメタ情報を生成する第２のメタ情報生成モジュールを有し、前記第１及び第２のメタ情報から前記監視対象の確定位置の情報を生成して出力する判定モジュールとして前記コンピュータを更に機能させ、前記第１のメタ情報生成モジュールは、第１のメタ情報に付加される現在時刻のタイムスタンプと前記判定モジュールからフィードバックされた情報のタイムスタンプを比較し、前記情報が現在時刻より閾値以上古い場合はフィードバックされた情報を使わずに前記第１のセンサ情報を出力し、前記フィードバックされた情報が現在時刻から前記閾値未満の場合は前記情報の信頼度と前記第１のメタ情報に付加される信頼度を比較して信頼度の高い方を採用するか、或いは、２つの信頼度を重みとして加重平均を取って出力するプログラムが提供される。
【発明の効果】
【０００９】
開示のメタ情報生成装置及びプログラムによれば、監視対象の状況に応じてセンサ情報から監視対象の位置に関するメタ情報を生成することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例におけるメタ情報生成装置の一例を示す図である。
【図２】メタ情報生成モジュール群の各メタ情報生成モジュールが購読する情報の種類の一例を示す図である
【図３】メタ情報を生成する情報処理の一例を説明する図である。
【図４】フィードバックループを持つシステムの一例を示す図である。
【図５】付加されるタイムスタンプ及び情報の信頼度を、メタ情報と共に示す図である。
【図６】オフィス内のセンサノード及びメタ情報生成装置の構成、及びオフィスデスクのレイアウトの一例を説明する図である。
【図７】オフィス内のオフィスワーカに関するメタ情報生成処理を説明する図である。
【図８】Client-Server方式の通信部を用いたメタ情報生成装置の一例を示す図である。
【図９】病院内のメタ情報生成装置の構成とベッドなどのレイアウトの一例を説明する図である。
【図１０】本発明の他の実施例におけるメタ情報生成装置の一例を示す図である。
【図１１】転落検知モジュールの動作の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
開示のメタ情報生成装置及びプログラムでは、複数のセンサノードからのセンサ情報が入力され、互いに異なるアルゴリズムに従ってセンサ情報を処理することで複数のメタ情報生成モジュールが同質のメタ情報を生成することを許容する。複数の同質又は異質のメタ情報生成モジュールからのメタ情報が入力され、あるアルゴリズムに従ってメタ情報を処理することでメタ情報統合モジュールが最尤なメタ情報を生成する。最尤なメタ情報は、データベースに蓄積される。センサ情報は監視対象の情報を含み、メタ情報は監視対象の位置情報を含む。
【００１２】
以下に、開示のメタ情報生成装置及びプログラムの各実施例を図面と共に説明する。
【実施例】
【００１３】
図１は、本発明の一実施例におけるメタ情報生成装置の一例を示す図である。図１に示すメタ情報生成装置１００は、ＣＰＵ（Central Processing Unit）等のプロセッサと記憶部を備えた汎用のコンピュータシステムで形成可能である。ＣＰＵが記憶部に格納されたプログラムを実行することで、コンピュータシステムをメタ情報生成装置として機能させ、メタ情報生成処理が実行される。記憶部は、コンピュータ読み取り可能な記憶媒体で形成可能であり、後述する各種データベースを含んでも良い。記憶部は、複数の記憶装置で形成されていても良いことは言うまでもない。
【００１４】
この例では、メタ情報生成装置１００を構成するモジュール間のメッセージ通信にはパブリッシュ・サブスクライブ（Publish-Subscribe）方式のメッセージ通信部を使用し、以下の説明ではPub/Subと記述する。Pub/Sub（出版購読型）メッセージングモデルは、メッセージを送信する出版側（Publisher）と、メッセージを受信する購読側（Subscriber）のモジュール間でメッセージを送受信するためのメッセージングモデルである。Pub/Subの具体的な実装としては、ＪＭＳ（Java（登録商標） Message Service）がある。Pub/Subメッセージングモデルでは、メッセージの送信側（Publisher）は特定の受信側（Subscriber）を想定せずにメッセージを送信する。又、 受信側も指定したメッセージのみを受信し、送信側についての知識を持たない。このようにPub/Subモデルはメッセージの送信側と受信側の結合度合いが低いため、Publisher又はSubscriberの追加が容易であり、メタ情報生成装置１００を動的に構成できる。メタ情報生成装置１００では、抽出したいメタ情報（又は、コンテキスト）を後から追加する場合、必要なセンサの種類を増やしたり、センサ情報を受信してメタ情報を生成するモジュールを増やしたりしたい場合がある。Pub/Subモデルを使うことでスケーラブル、且つ、動的にメタ情報生成装置１００を構成することができる。
【００１５】
図１では、例えばセンサノード群１０１の各センサノード１〜Ｎ（Ｎは２以上の自然数）からセンサ情報がPublishされる。図２は、メタ情報生成モジュール群１０２の各メタ情報生成モジュール２−１〜２−Ｍ（Ｍは２以上の自然数）が購読（Subscribe）する情報の種類の一例を示す図である。購読する情報の種類は、複数種類のオン（On）又はオフ（Off）（オン／オフ）イベントの組み合わせを含むオン／オフ情報、時系列信号などの連続量の情報、アプリオリ（事前）情報、過去データ及び／又は過去データからマイニング（mining）された情報、及び上記情報の組み合わせを含む。アプリオリ情報は、アプリオリデータベース１１１に蓄積されている。
【００１６】
オン／オフ情報の具体例には、例えばＰＣ（Personal Computer）キーロガー（Keylogger）が反応した／反応しなくなったこと、近接センサがオン／オフであることなどの情報が含まれる。連続量の情報には、例えば加速度センサなど時系列信号をサンプリングしたセンサ情報、マイクロホンで収集した時系列の音声信号をサンプリングしたデータ、カメラで撮影した動画などが含まれる。アプリオリ情報には、例えば建物の構造情報、オフィスにおける机や棚などのレイアウト情報、通路が直線、或いは、通路Ａと通路Ｂは交差しているなどの情報、及びスケジュールなどを含む。過去データ及び／又は過去データからマイニング（mining）された情報の一例として、時刻tから時刻ｔ＋α（α＞０）の間にユーザが居た場所、あるユーザがよく利用する移動経路などがある。
【００１７】
図１に示すメタ情報クラスＣ１には、メタ情報生成モジュール群１０２及びメタ情報統合モジュール１０４が含まれる。又、メタ情報クラスＣ２には、メタ情報生成モジュール２２−１〜２２−Ｋ（Ｋは２以上の自然数）及びメタ情報統合モジュール１２４が含まれる。
【００１８】
メタ情報生成モジュール群１０２は、センサ情報を、あるルール又はアルゴリズムに従って処理することでメタ情報を生成し、生成したメタ情報をpublishする機能を有する。各メタ情報生成モジュール２−１〜２−Ｍに入力されるセンサ情報の組み合わせは異なっても良い。又、各メタ情報生成モジュール２−１〜２−Ｍで用いるルール又はアルゴリズムは互いに異なる。メタ情報を生成する情報処理の一例を図３と共に説明する。図３は、メタ情報を生成する情報処理の一例を説明する図である。図３は、Subscribeする情報の種類がオン／オフ情報、連続量の情報、オン／オフ情報と連続量の組み合わせ、アプリオリな情報とオン／オフ情報の組み合わせ、及びマイニングされた情報の場合の処理方法とその具体例を示す。例えば、Subscribeする情報の種類がオン／オフ情報の場合、処理方法はオン／オフに対応する情報をPublishする。この処理方法の具体例は、ＰＣキーロガーの反応オンのときは該当ＰＣの位置を、そのＰＣを使用する権限を有するユーザの現在位置として、その位置にユーザが居る尤度（もしくは確度）を1.0とする情報を出力する。ＰＣキーロガーの反応がオフのときがｍ該当ＰＣの位置にユーザが居る尤度を0.0とする情報を出力する。この例では、尤度は0.0から1.0の範囲の実数値で表わしているが、百分率など別の表現でも良い。
【００１９】
同質のメタ情報を出力するメタ情報生成モジュール２−１〜２−Ｍは、１つのメタ情報クラスＣ１として扱う。メタ情報クラスＣ１内の各メタ情報生成モジュール２−１〜２−Ｍの出力は、メタ情報統合モジュール１０４に入力される。メタ情報統合モジュール１０４では、あるルール又はアルゴリズムに基づき、各メタ情報生成モジュール２−１〜２−Ｍの出力を用いて最尤なメタ情報を生成する。
【００２０】
別のメタ情報生成モジュール１３３，１３２、又は、メタ情報生成モジュール１３１，１３２をカスケードに接続し、更に上位のメタ情報を生成してコンテキストデータベース１０５に蓄積するようにしても良い。
【００２１】
メタ情報生成モジュール同士の結合により、図４に示すようにフィードバックループを構成することがある。図４は、フィードバックループを持つシステムの一例を示す図である。フィードバックループが構成されると、フィードバック情報が入力されるメタ情報生成モジュールでは、メタ情報の推定が不安定になる場合がある。以下に、図４を用いてこのような場合の具体例を説明する。
【００２２】
図４において、モジュール１００４には、ＧＰＳ（Global Positioning System）などの無線による測位システム（センサノード）１００１から、ある監視対象のユーザの位置情報（例えば、ｘ，ｙ座標）が入力される。この測位システム１００１は、観測誤差を含み、例えば１０ｍの観測誤差を持つ。一方、モジュール１００５は、ユーザが通過したことを検知する通過検知センサ１００２及びユーザの動き（モーション）を検知するモーションセンサ内蔵のスマートホン（Smartphone）上で計算された歩行者（ユーザ）デッドレコニング（Pedestrian (User) Dead Reckoning）情報が入力され、モジュール１００５で推定された監視対象のユーザの測位結果は１ｍの誤差精度で得られる。モジュール１００４は、無線測位システムに基づく大域的位置の判定（即ち、トラッキング処理）を行い、出力をモジュール１００６に入力する。モジュール１００５は、通過センサ１００２とデッドレコニング１００３に基づく大域的位置の判定を行い、出力をモジュール１００６に入力する。この例では、モジュール１００４では１秒周期で処理が行われ、モジュール１００５では１０秒周期と、モジュール１００４と比べて長周期の間隔で処理が行われる。
【００２３】
モジュール１００６がモジュール１００５の出力をユーザの確定位置として出力すると、このユーザの確定位置の出力がモジュール１００４にフィードバックされる。モジュール１００４に、モジュール１００６からフィードバックされた情報と、センサノード１００１からの情報が入力された場合、どちらの入力情報もユーザの位置情報（例えば、ｘ，ｙ座標）である。このとき、センサノード１００１の出力は最新時刻の情報ではあるが１０ｍの誤差があり、一方でモジュール１００６の出力はある時刻において最も精度が高いが、センサノード１００１の情報よりは古い。このため、モジュール１００４では、どの情報を使えば最も信頼性の高いメタ情報を推定できるかが課題となる。そこで、本実施例では、モジュールが出力するメタ情報に、タイムスタンプ及び情報の信頼度を付加する。
【００２４】
図５は、付加されるタイムスタンプ及び情報の信頼度を、メタ情報と共に示す図である。図５において、タイムスタンプはメタ情報を生成した時刻を示す。情報の信頼度は、その情報の信頼度（例えば、尤度、確信度、誤差分布など）を示す。出力される（Publish）されるメタ情報（又は、コンテキスト）は、目的のメタ情報である。
【００２５】
同種の情報が入力としてフィードバックされる場合、以下の処理を行う。図４のモジュール１００４の場合であれば、センサノード１００１とモジュール１００６からはユーザの座標xyが入力される。先ず、タイムスタンプを比較し、フィードバックされた情報が現在時刻より閾値以上古い場合はフィードバック情報を使わず、センサノード１００１の情報を利用する。一方、フィードバックされた情報が現在時刻から閾値未満の場合、情報の信頼度を比較して信頼度の高い方を採用するか、或いは、信頼度を重みとして加重平均を取ること等の処理を行う。
【００２６】
生成されたメタ情報は、コンテキスト（又は、メタ情報）データベース１０５に蓄積されたり、メタ情報（コンテキスト）を利用するアプリケーション１０６で使用されたりする。又、コンテキストデータベース１０５に蓄積されたメタ情報に、データマイニングエンジン１１２においてデータマイニング処理を施して別のメタ情報（又は、コンテキスト）を抽出し、抽出したメタ情報（又は、コンテキスト）を subscriberで利用する。データマイニングエンジン１１２で抽出したメタ情報（又は、コンテキスト）は、マイニングデータデータベース１１３に蓄積しても良い。
【００２７】
次に、オフィスワーカ（Office Worker）について、オフィスワーカの位置、会話しているなどの行動、会議中などのオフィスワーカの業務の状態などを検知する場合の一例を説明する。以下の説明では、オフィスワーカのことをユーザと呼ぶ。図６は、オフィス内のセンサノード及びメタ情報生成装置の構成、及びオフィスデスクのレイアウトの一例を説明する図である。図６中、（ａ）はオフィス内のセンサノード及びメタ情報生成装置の構成を示し、（ｂ）はオフィス内のレイアウトを示す。
【００２８】
図６（ａ）において、ユーザ２００は携帯端末２０１を携帯している。携帯端末２０１は、Wi-Fi（Wireless Fidelity,登録商標）、Bluetooth（登録商標）などの通信機能を持ち、センサノードに相当する加速度センサやジャイロセンサなどのモーションセンサ、マイクロホンを内蔵している。携帯端末２０１は、無線ＬＡＮ（Local Area Network）アクセスポイント２１１及びネットワーク２１０を介してサーバ２０６に接続される。図６（ｂ）に示すように、ユーザＡは自席でＰＣ２０２を業務で使用し、このユーザＡのＰＣ２０２の設置場所は固定であり既知であるものとする。ＰＣ２０２は、ネットワーク２１０を介してサーバ２０６に接続される。また、会議室２１５や会議卓にBluetoothアンカー２０５が夫々設置されている。
【００２９】
図７は、図６のオフィス内のオフィスワーカに関するメタ情報生成処理を説明する図である。ユーザＡが図６（ｂ）の自席でＰＣ１０２を操作している場合、ＰＣキーロガーが反応したという情報が図７のセンサノード３０１からPublishされる。そのPublishされた情報をモジュール３０５がSubscribeして、キーロガーが反応したという情報を、ユーザＡが自席に居るという位置情報に変換する。また、ユーザが携帯する携帯端末２０１がＰＣ１０２のBluetoothアダプタを検知し、ＲＳＳＩ（Received Signal Strength Indicator）の計測値を出力する。このとき、ＰＣ１０２に接続されセンサノードに相当する人感センサも反応し、ＰＣ１０２の前に人が居るという位置情報を出力する。
【００３０】
モジュール３０５から３０７は夫々のロジックに従い、センサ情報をメタ情報であるユーザＡの位置に変換して出力する。モジュール３０８では、モジュール３０５，３０６，３０７の出力のうち、尤度が高い位置情報が選択される。ユーザＡが自席に居るがＰＣ１０２を操作してない場合は、モジュール３０６のみが位置情報を出力する。その結果、モジュール３０８はユーザＡが自席に居ると判定する。又、ユーザＡが会議室２１５に移動した場合、ユーザＡが携帯する携帯端末２０１が会議室２１５のBluetoothアンカー２０５を検知し、モジュール３０７がユーザＡは会議室２１５に居ると判定する。このようにして、ユーザの状況に合わせて利用可能なセンサからユーザの位置、即ち、メタ情報を推定することができる。
【００３１】
図７の例では、モジュール３０５の出力は、ユーザＡの位置が自席であり、尤度が１．０であることを示す。モジュール３０６の出力は、ユーザＡの位置が自席であり、尤度が０．８であることを示す。モジュール３０７の出力は、ユーザＡの位置が会議室２１５であり、尤度が０．７であることを示す。モジュール３０８の出力は、ユーザＡの最も尤度の高い位置及び尤度を示す情報を出力する。
【００３２】
又、モジュール３１０では、ユーザＡ，Ｂ夫々の位置情報を使い、２人とも会議室２１５に居れば会議に参加していると判定する。このように、センサ情報から生成されたメタ情報（位置情報）を使い、更なるメタ情報を生成できる。
【００３３】
モジュール３１１では、ユーザＡ，Ｂの位置情報、及び発話の検知情報から、２人が会話しているかどうかを判定する。これにより、「会話しているかどうか」という、センサでは直接観測できない状態を推定することができる。
【００３４】
モジュール３０９には、センサノードからのセンサ情報に基づいてユーザＢの位置情報クラスが生成されて出力される。モジュール３０９は、尤度が最も高い最新の位置情報をユーザＢの位置情報と判定する。
【００３５】
モジュール３１０又はモジュール３１１の出力情報は、ユーザコンテキストデータベース３１２に蓄積しても良い。ユーザコンテキストデータベース３１２内の位置情報などは、位置可視化アプリケーション３１３からの検索（Query）に対して読み出されて応答（Reply）されても良い。
【００３６】
上記実施例では、Publish-Subscribe方式のメッセージ通信部（Pub/Sub）を用いているが、変形例では例えばクライアント・サーバ（Client-Server）方式の通信部を用いても良いことは言うまでもない。図８は、Client-Server方式の通信部を用いたメタ情報生成装置の一例を示す図である。図８中、センサノード２００１〜２００３は図７のセンサノード３０１〜３０３に相当し、モジュール２００４〜２００７は図７のモジュール３０５〜３０８に相当するので、これらの動作の説明は省略する。図８に示すように、通信部Pub/Subの代わりに通信部Client/Serverが設けられるので、１つのServerに対して１つのClient、即ち、１つのユニークな通信ポートを設ける必要がある。このため、図８において追加モジュール２００８を追加で設ける場合、追加モジュール２００８用にモジュール２００７つのユニークな（即ち、専用の）通信ポート（Client）を設ける必要がある。
【００３７】
これに対し、Pub/Sub方式のメッセージ通信部を用いる上記実施例では、新たなセンサの追加、メタ情報推定モジュールの追加が上記変形例と比較して容易であり、拡張性に優れている。Pub/Subを用いた場合と、用いずにメタ情報生成装置を構成したときの比較を以下に説明する。
【００３８】
（１）モジュール同士のネットワークの構成の容易性 
Client/Server方式の場合、論理的なネットワークを決めた後、それに従って物理的な接続を作る必要がある。つまり、２つのモジュール間のClient/Serverを構成する必要がある。又、サーバのネットワーク上の位置（例えば、サーバアドレス）を把握してプログラミングを行う必要がある。
【００３９】
これに対し、Pub/Sub方式の場合、各Subscriberが購読するメッセージを定義すれば良く、各Publisherがどのようなメッセージを出力しているかを意識する必要がない。つまり、カスケード/フィードバック接続などの論理的な接続関係を決めた後、各モジュールがPub/Subするメッセージを定義すれば良い。又、SubscriberはPublisherのネットワーク上の位置を気にせずにメッセージを受信できる。即ち、Publisherのある計算機のアドレスを知る必要が無いので、計算機のアドレス、台数を気にせずに、分散システムの構築が容易となる。
【００４０】
（２）モジュールの拡張性
Client/Server方式の場合、１つのServerにつき１つのユニークな通信ポートを割り当てる必要がある。このため、モジュールが増えてくるとポートの管理が複雑になる。又、モジュール（Server）を追加する度に、それと接続するClientとの通信プロトコルを決める必要がある。例えば、図８においてモジュール２００８を追加すると、モジュール２００７との通信プロトコルを新たに決める必要が生じる。
【００４１】
これに対し、Pub/Sub方式の場合、センサノードを追加する場合、そのノードからネットワーク上に流れるメッセージ（Publish情報）を追加すれば良い。メタ情報生成モジュールを追加する場合、そのモジュールが購読するメッセージを定義し、そのモジュールから出版されるメッセージを追加すれば良い。従って、システム設計者又は開発者は、Client/Serverのようなポートのリソース管理をする必要がない。
【００４２】
（３）メッセージの優先度及び有効期限の設定
Client/Server方式の場合、Serverが送信した順番でClientはメッセージを受信する。複数のServerからのメッセージに優先度をつけて処理したい場合や有効期限を設定したい場合、開発者は自分でプログラムを書く必要がある。
【００４３】
これに対し、Pub/Sub方式の場合、Subscriberは処理するメッセージの優先度や有効期限を設定できる。例えば、現在時刻からある閾値以上古い情報は使わないなどの処理を、Subscriberにおける設定だけで行える。
【００４４】
次に、本発明の他の実施例におけるメタ情報生成装置の一例を図９以降と共に説明する。この例では、病院において、患者がベッドから転落したことを検知し、患者の近くに居る手の空いている看護師に警告を通知する。
【００４５】
図９は、病院内のメタ情報生成装置の構成とベッドなどのレイアウトの一例を説明する図である。病院６００において、サーバ（計算機）６０２及び通信装置６０３はネットワーク６０１を介して接続されている。通信装置６０３は、センサ情報アップローダ６０７、看護師６１３（Ａ）の携帯端末６１２、及び看護師６１７（Ｂ）の携帯端末６１６と通信可能である。病室６１０には入院患者１０９（α）が入院している。病室６１０内には複数（２個のみ図示）の測距センサ６０４、マットセンサ６０５、動き検知型人感センサ６０６、センサ情報アップローダ６０７、及び病床ベッド６０８が設けられている。この例では、Bluetoothアンカー６１１が設置された場所６１４に携帯端末６１２を携帯した看護師Ａがおり、赤外線（ＩＲ：Infra-Red）通信アンカー６１５が設置された場所６１８に携帯端末６１６を携帯した看護師Ｂがいるものとする。
【００４６】
図１０は、本発明の他の実施例におけるメタ情報生成装置の一例を示す図である。図１０に示すメタ情報生成装置７００は、ＣＰＵ等のプロセッサと記憶部を備えた汎用のコンピュータシステムで形成可能である。ＣＰＵが記憶部に格納されたプログラムを実行することで、コンピュータシステムをメタ情報生成装置として機能させ、メタ情報生成処理が実行される。記憶部は、コンピュータ読み取り可能な記憶媒体で形成可能であり、後述する各種データベースを含んでも良い。記憶部は、複数の記憶装置で形成されていても良いことは言うまでもない。この例では、メタ情報生成装置７００を構成するモジュール間のメッセージ通信にはパブリッシュ・サブスクライブ（Publish-Subscribe）方式のメッセージ通信部を使用するものとするが、Client/Server方式を使用しても良い。
【００４７】
図９において、患者αがベッド６０８から転落したとする。この場合、ベッド６０８から転落したときの動きに反応し、人感センサ６０６がオンになる。ことのき、ベッド６０８下方に設置している測距センサ６０４は患者αまでの距離を出力する。以上のセンサ情報が夫々のセンサ（即ち、センサノード）７０１〜７０４からPublishされ、転落検知モジュール７１３がSubscribeする。センサノード７０１，７０２は測距センサ６０４の情報をPublishし、センサノード７０３はマットセンサ６０５の情報をPublishし、センサノード７０４は人感センサ６０６の情報をPublishする。転落検知モジュール７１３では、例えば図１１に示すような手順に従って、患者αがベッド６０８から転落したか否かを判定する。
【００４８】
図１１は、転落検知モジュールの動作の一例を説明するフローチャートである。図１１において、ステップＳ１は、人感センサ６０６がオンであるかを判定し、判定結果がＹＥＳであると、ステップＳ２はマットセンサ６０９がオンであるか否かを判定する。ステップＳ２の判定結果がＹＥＳであると、ステップＳ３は、マットセンサ６０９の連続オン時間が閾値以上であるか否かを判定する。ステップＳ３の判定結果がＹＥＳであると、ステップＳ４は、複数の測距センサ６０４の何れかの計測値が閾値以下であるか否かを判定する。ステップＳ４の判定結果がＹＥＳであると、ステップＳ５は、測距センサ６０４の連続反応時間が閾値以上であるか否かを判定する。ステップＳ１〜Ｓ５のいずれかの判定結果がＮＯであると、処理はステップＳ１へ戻る。一方、ステップＳ５の判定結果がＹＥＳであると、ステップＳ６は、患者がベットから転落したというメタ情報をPublishし、処理は終了する。
【００４９】
尚、転落検知モジュール７１３の処理で用いるルールは、図１１のルールに限定されない。転落時のセンサノード７０１〜７０４からのセンサ情報の出力パターンをセンサログ７１８に蓄積しておき、センサログ７１８から転落パターン分析モジュール７１９で転落時のセンサ出力パターンを抽出し、そのセンサ出力パターンに基づく転落判定法を転落検知モジュール７１３に実装しても良い。例えば、ベイジアン（Bayesian）ネットワークや隠れマルコフモデル（ＨＭＭ：Hidden Markov Model）で転落時のセンサ出力をモデル化しておき、状態遷移確率を学習する方法を用いても良い。
【００５０】
以上の方法で転落検知モジュール７１３でPublishされた患者がベットから転落したというメタ情報は、コンテキストデーターベース７２０にSubscribe される。コンテキストデータベースは患者がベットから転落したというメタ情報をSubscribeすると直ちに転落警告アプリケーション７２１に通知する(Notify)。転落警告アプリケーション７２１は、患者がベットから転落したという通知を受けると、コンテキストデータベース７２０に対して、手が空いていてかつ転落した患者αに最も近い看護師を検索する(Query)。
【００５１】
看護師Ａが携帯している携帯端末６１２、或いは、看護師Ｂが携帯している携帯端末６１６は、看護師Ａ又はＢが環境に設置されているBluetoothアンカー６１１又はＩＲアンカー６１５の検出エリアに入ると、アンカーを検知する機能を有している。携帯端末６１２は、アンカー検知情報をpublishするpublisherが実装されたセンサノード７０５を含む。各アンカーの設置位置は既知であり、看護師Ａ，Ｂの位置推定モジュール７１４，７１６はその既知の設置位置の情報を参照できる。又、携帯端末６１２，６１６は、加速度センサやジャイロセンサなど、看護師Ａ，Ｂの動きを捉えるセンサを内蔵しており、これらのセンサ情報から看護師Ａ，Ｂの活動の度合い（活動量）を測ったり、歩行動作による移動量をデッドレコニング（慣性航法）で測ったりする機能を有している。携帯端末６１２は、デッドレコニングによる移動量をPublishするPublisherが実装されたセンサノード７０６と、看護師Ａの活動量をPublishするPublisherが実装されたセンサノード７０７を含む。
【００５２】
本実施例では、看護師Ａ，Ｂの位置は次のように推定される。位置推定モジュール７１４はセンサノード７０５からアンカー検知イベント、及びセンサノード７０６から移動量をSubscribeする。位置推定モジュール７１４は、設置位置が既知であるアンカーの情報を参照する機能を有している。通常、デッドレコニングで得られる移動量は相対移動量なので、位置推定モジュール７１４ではアンカー検知イベントを検出した場合にその位置を起点として、デッドレコニングによる相対移動量を加算して現在の位置を求める。推定された位置はコンテキストデータベース７２０にSubscribeされ、看護師Ａの位置情報がデータベースに登録される。
【００５３】
看護師Ａの手が空いているかどうか（Busy/Available）は、状態判別モジュール７１５で判断される。ここでは看護師Ａについて説明する。状態判別モジュール７１５は、看護師Ａの位置を位置推定モジュール７１４から、看護師Ａの活動量をセンサノード７０７から、また看護師Ａのスケジュールをスケジューラ７０８から夫々Subscribeする。状態判別モジュール７１５が、位置推定モジュール７１４から看護師Ａの位置が患者βの病室であることをSubscribeし、スケジュール７０８から現在時刻は患者βに対する看護が予定されていることをSubscribeし、センサノード７０７から活動量が高いことをSubscribeしたとする。この場合、状態判別モジュール７１５は看護師Ａが患者βに対して看護をしている、つまり手が空いていないと判定し、看護師Ａの状態はBusyであることをPublishする。コンテキストデーターベース７２０はこの情報をSubscribeし、看護師Ａの状態をBusyと設定する。
【００５４】
看護師Ｂは現在廊下を移動しており、看護スケジュールが予定されていない場合、状態判別モジュール７１７は看護師Ｂの手が空いていると判定し、看護師Ｂの状態はAvailable であることをPublishする。コンテキストデーターベース７２０はこの情報をSubscribeし、看護師Ｂの状態をAvailableと設定する。
【００５５】
転落警告アプリケーション７２１は、コンテキストデータベース７２０から患者が転落したイベントの通知を受けた場合、直ちに看護師の位置と状態をコンテキストデータベース７２０に問い合わせる(Query)。コンテキストデータベース７２０は、Availableな看護師とその位置を転落警告アプリケーション７２１に応答する(Reply)。転落警告アプリケーション７２１は応答にあった看護師の中から転落した患者に一番位置の近い看護師を選択し、その看護師の携帯端末に対して患者が転落したアラームを通知する。
【００５６】
尚、看護師Ｂの携帯端末６１６は、デッドレコニングによる移動量をPublishするPublisherが実装されたセンサノード７１０と、看護師Ｂの活動量をPublishするPublisherが実装されたセンサノード７１１を含む。看護師Ｂのスケジュールは、スケジューラ７１２からPublishする。これらの看護師Ｂに関連するセンサノード７１０〜７１１及びスケジューラ７１２は、看護師Ａに関連する上記センサノード７０６〜７０８と同様の構成で良いため、その説明は省略する。
【００５７】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
複数のセンサノードからのセンサ情報が入力され、互いに異なるアルゴリズムに従って前記センサ情報を処理することで同質のメタ情報を生成する複数のメタ情報生成モジュールと、
前記複数のメタ情報生成モジュールからのメタ情報が入力され、あるアルゴリズムに従って前記メタ情報を処理することで最尤なメタ情報を生成するメタ情報統合モジュールと、
前記最尤なメタ情報を蓄積するデータベースを形成する記憶部を備え、
前記センサ情報は監視対象の情報を含み、前記メタ情報は前記監視対象の位置情報を含むことを特徴とする、メタ情報生成装置。
（付記２）
前記複数のメタ情報生成モジュールは、第１のセンサ情報が入力されタイムスタンプ及び情報の信頼度を付加した第１のメタ情報を生成する第１のメタ情報生成モジュールと、第２のセンサ情報が入力されタイムスタンプ及び情報の信頼度を付加した第２のメタ情報を生成する第２のメタ情報生成モジュールを有し、
前記第１及び第２のメタ情報から前記監視対象の確定位置の情報を生成して出力する判定モジュールを更に備え、
前記第１のメタ情報生成モジュールは、第１のメタ情報に付加される現在時刻のタイムスタンプと前記判定モジュールからフィードバックされた情報のタイムスタンプを比較し、前記情報が現在時刻より閾値以上古い場合はフィードバックされた情報を使わずに前記第１のセンサ情報を出力し、前記フィードバックされた情報が現在時刻から前記閾値未満の場合は前記情報の信頼度と前記第１のメタ情報に付加される信頼度を比較して信頼度の高い方を採用するか、或いは、２つの信頼度を重みとして加重平均を取って出力することを特徴とする、付記１記載のメタ情報生成装置。
（付記３）
前記センサ情報の種類は、複数種類のオン又はオフイベントの組み合わせを含むオン／オフ情報、連続量の情報、アプリオリ情報、過去データ及び／又は過去データからマイニングされた情報、及びこれらの情報の組み合わせのうち、少なくとも１つを含むことを特徴とする、付記１又は２記載のメタ情報生成装置。
（付記４）
前記センサ情報が入力される第１のメタ情報生成モジュールと、
前記第１のメタ情報生成モジュールとカスケード接続された第２のメタ情報生成モジュールを更に備え、
前記第２のメタ情報が生成する上位のメタ情報は前記データベースに蓄積されることを特徴とする、付記１記載のメタ情報生成装置。
（付記５）
前記最尤なメタ情報は、前記センサ情報を出力するセンサでは直接観測できない事象を、複数のセンサ情報を組み合わせて推定することを特徴とする、付記１乃至４のいずれか１項記載のメタ情報生成装置。
（付記６）
前記複数のセンサノード、前記複数のメタ情報生成モジュール、及び前記メタ情報統合モジュールは、夫々モジュール間のメッセージ通信にパブリッシュ・サブスクライブ（Publish-Subscribe）方式のメッセージ通信部を使用することを特徴とする、付記１乃至５のいずれか１項記載のメタ情報生成装置。
（付記７）
コンピュータにメタ情報を生成させるプログラムであって、
複数のセンサノードからのセンサ情報が入力され、互いに異なるアルゴリズムに従って前記センサ情報を処理することで同質のメタ情報を生成する複数のメタ情報生成モジュールと、
前記複数のメタ情報生成モジュールからのメタ情報が入力され、あるアルゴリズムに従って前記メタ情報を処理することで最尤なメタ情報を生成するメタ情報統合モジュール
として前記コンピュータを機能させ、
前記最尤なメタ情報をデータベースを形成する記憶部に蓄積し、
前記センサ情報は監視対象の情報を含み、前記メタ情報は前記監視対象の位置情報を含むことを特徴とする、プログラム。
（付記８）
前記複数のメタ情報生成モジュールは、第１のセンサ情報が入力されタイムスタンプ及び情報の信頼度を付加した第１のメタ情報を生成する第１のメタ情報生成モジュールと、第２のセンサ情報が入力されタイムスタンプ及び情報の信頼度を付加した第２のメタ情報を生成する第２のメタ情報生成モジュールを有し、
前記第１及び第２のメタ情報から前記監視対象の確定位置の情報を生成して出力する判定モジュール
として前記コンピュータを更に機能させ、
前記第１のメタ情報生成モジュールは、第１のメタ情報に付加される現在時刻のタイムスタンプと前記判定モジュールからフィードバックされた情報のタイムスタンプを比較し、前記情報が現在時刻より閾値以上古い場合はフィードバックされた情報を使わずに前記第１のセンサ情報を出力し、前記フィードバックされた情報が現在時刻から前記閾値未満の場合は前記情報の信頼度と前記第１のメタ情報に付加される信頼度を比較して信頼度の高い方を採用するか、或いは、２つの信頼度を重みとして加重平均を取って出力することを特徴とする、付記７記載のプログラム。
（付記９）
前記センサ情報の種類は、複数種類のオン又はオフイベントの組み合わせを含むオン／オフ情報、連続量の情報、アプリオリ情報、過去データ及び／又は過去データからマイニングされた情報、及びこれらの情報の組み合わせのうち、少なくとも１つを含むことを特徴とする、付記７又は８記載のプログラム。
（付記１０）
前記センサ情報が入力される第１のメタ情報生成モジュールと、
前記第１のメタ情報生成モジュールとカスケード接続された第２のメタ情報生成モジュール
として前記コンピュータを更に機能させ、
前記第２のメタ情報が生成する上位のメタ情報を前記データベースに蓄積することを特徴とする、付記７記載のプログラム。
（付記１１）
前記最尤なメタ情報は、前記センサ情報を出力するセンサでは直接観測できない事象を、複数のセンサ情報を組み合わせて推定することを特徴とする、付記７乃至１０のいずれか１項記載のプログラム。
（付記１２）
前記複数のセンサノード、前記複数のメタ情報生成モジュール、及び前記メタ情報統合モジュールは、夫々モジュール間のメッセージ通信にパブリッシュ・サブスクライブ（Publish-Subscribe）方式のメッセージ通信部を使用することを特徴とする、付記７乃至１１のいずれか１項記載のプログラム。
【００５８】
以上、開示のメタ情報生成装置及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【符号の説明】
【００５９】
１−１〜１−Ｎ      センサノード
２−１〜２−Ｍ      メタ情報生成モジュール
１０４      メタ情報統合モジュール
１０５      コンテキストデータベース
１１２      データマイニングエンジン
【図１】
0005736910.tif 000002
【図２】
0005736910.tif 000003
【図３】
0005736910.tif 000004
【図４】
0005736910.tif 000005
【図５】
0005736910.tif 000006
【図６】
0005736910.tif 000007
【図７】
0005736910.tif 000008
【図８】
0005736910.tif 000009
【図９】
0005736910.tif 000010
【図１０】
0005736910.tif 000011
【図１１】
0005736910.tif 000012