(57)【要約】【課題】センサー情報を複数の計算機で効率よく共有するとともに、共有したセンサー情報の蓄積やセンサー情報を利用したアプリケーションの開発を容易にする。【解決手段】計算機PC-1にセンサー情報を取得するセンサープロセスと、計算機PC-3にそのセンサー情報に基づきサービス処理を行う第２のプロセス（アプリケーションプロセス）と、計算機PC-2に第３のプロセス（データベースプロセス）をそれぞれ備え、かつそれぞれの計算機に各計算機のＩＰアドレスを管理しＩＰアドレスと各プロセスで用いられるメソッドの種類とに基づき各プロセス間に共有フレームワークを形成する仲介デーモンを常駐させる。これにより、第２のプロセスでは、第１のプロセスにより取得され第３のプロセスよりデータベースに格納されたセンサー情報を、照会メソッドが発行するだけで共有フレームワークを介して取得できることから、アプリケーションを容易に開発できる。【選択図】  図１
2006243900.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される第１及び第２の計算機を含む複数の計算機間で情報を共有する情報共有装置であって、
前記第１の計算機内に設けられ、かつ前記情報を発生する情報源に接続されて少なくとも前記情報源からの情報を取得する処理を実行する第１の処理手段と、
前記第２の計算機内に設けられ、前記情報源からの情報に基づいてサービス処理を実行する第２の処理手段と、
それぞれの計算機内に設けられ、前記ネットワークに接続されるとともに、各計算機のＩＰアドレスを管理し、少なくとも前記ＩＰアドレスと各処理手段で用いられる前記情報の操作を表すメソッドの種類とに基づいて各処理手段間に仮想的な通信経路を示す情報共有フレームワークを形成する通信制御手段と
を備え、前記第１の処理手段は、前記情報源から取得した前記情報を前記情報共有フレームワークを介して前記第２の処理手段に送り前記情報に応じたサービス処理を実行させることを特徴とする情報共有装置。
【請求項２】
請求項１において、
ネットワークに接続された第３の計算機内に、データベースに接続されるとともに、前記第１の処理手段により取得された前記情報の前記データベースへの格納と前記データベースからの読み出しの処理を実行する第３の処理手段を備え、
前記第３の処理手段は、前記第１の処理手段により前記情報の格納を表す格納メソッドが発行され前記情報共有フレームワークを介して伝達されると、この格納メソッドに添付され前記第１の処理手段により取得された前記情報を前記情報共有フレームワークを介し入力して前記データベースに格納するとともに、前記第２の処理手段により前記情報の照会を表す照会メソッドが発行され前記情報共有フレームワークを介して伝達されると、前記データベースから前記情報を読み出して前記情報共有フレームワークを介して前記第２の処理手段に送り前記情報に応じたサービス処理を実行させることを特徴とする情報共有装置。
【請求項３】
請求項１において、
ネットワークに接続された第３の計算機内に、データベースに接続されるとともに、前記第１の処理手段により取得された前記情報の前記データベースへの格納と前記データベースからの読み出しの処理を実行する第３の処理手段を備え、
前記第３の処理手段は、前記第２の処理手段により前記情報の取得要求を表す要求メソッドが発行され前記情報共有フレームワークを介して伝達されると、前記情報共有フレームワークを介して前記第１の処理手段から伝達された前記情報の格納を表す格納メソッドに添付される前記取得情報を前記データベースに格納するとともに、前記取得情報を添付した通知メソッドを発行して前記情報共有フレームワークを介し前記第２の処理手段に送り前記取得情報に応じたサービス処理を実行させることを特徴とする情報共有装置。
【請求項４】
請求項１において、
前記情報源はセンサーであり、前記第１の処理手段により取得された情報はセンサー情報であることを特徴とする情報共有装置。
【請求項５】
ネットワークに接続される第１及び第２の計算機を含む複数の計算機間で情報を共有する情報共有方法であって、
複数の計算機内に、前記ネットワークを介する各計算機間の通信を制御する通信制御プログラムをそれぞれ常駐させる第１のステップと、
前記通信制御プログラムの実行により各計算機のＩＰアドレスを取得する第２のステップと、
前記第１及び第２の計算機内にそれぞれ設けられた第１及び第２の処理プログラムを起動し実行させる第３のステップと、
少なくとも前記ＩＰアドレスと各処理プログラムで用いられる前記情報の操作を表すメソッドの種類とに基づいて各処理プログラム間に仮想的な通信経路を示す情報共有フレームワークを形成する第４のステップと、
第１の処理プログラムの実行により取得した情報源からの前記情報を前記情報共有フレームワークを介して前記第２の処理プログラム側に送り、前記第２の処理プログラムに前記情報に応じたサービス処理を実行させる第５のステップと
を有することを特徴とする情報共有方法。
【請求項６】
請求項５において、
前記ネットワークに接続される第３の計算機内に設けられた第３の処理プログラムを起動し、前記第１の処理プログラムの実行により取得された前記情報のデータベースへの格納と前記データベースからの読み出しの処理を実行させる第６のステップを有し、
前記第５のステップは、
前記第１の処理プログラムの実行により前記情報が取得され前記取得情報の格納を表す格納メソッドが発行されるとこの格納メソッドとこの格納メソッドに添付される前記取得情報とを前記情報共有フレームワークを介して第３の処理プログラムに伝達し、この格納メソッドに添付される前記取得情報を前記データベースに格納させる第７のステップと、前記第２の処理プログラムの実行により前記情報の照会を表す照会メソッドが発行されるとこの照会メソッドを前記情報共有フレームワークを介して前記第３の処理プログラムに伝達し、前記データベースから前記取得情報を読み出させて前記情報共有フレームワークを介し前記第２の処理プログラムに送信させ前記取得情報に応じたサービス処理を実行させる第８のステップとを含むことを特徴とする情報共有方法。
【請求項７】
請求項５において、
前記ネットワークに接続される第３の計算機内に設けられた第３の処理プログラムを起動し、前記第１の処理プログラムの実行により取得された前記情報のデータベースへの格納と前記データベースからの読み出しの処理を実行させる第６のステップを有し、
前記第５のステップは、
前記第２の処理プログラムの実行により要求メソッドが発行されるとこの要求メソッドを前記情報共有フレームワークを介して前記第３の処理プログラムに伝達する第９のステップと、前記第１の処理プログラムの実行により前記情報が取得され前記取得情報の格納を表す格納メソッドが発行されるとこの格納メソッドとこの格納メソッドに添付される前記取得情報とを前記情報共有フレームワークを介して第３の処理プログラムに伝達しこの格納メソッドに添付される前記取得情報を前記データベースに格納させるとともに、前記第３の処理プログラムに、前記取得情報を添付した通知メソッドを発行させて前記情報共有フレームワークを介し前記第２の処理プログラムに送信させ前記取得情報に応じたサービス処理を実行させる第１０のステップとを含むことを特徴とする情報共有方法。
【請求項８】
コンピュータに、請求項１〜４の何れかに記載の情報共有装置の機能を実現させる情報共有プログラム。
【請求項９】
請求項８記載の情報共有プログラムがコンピュータに読み出し可能に格納された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサーネットワークもしくはセンサーウェブと呼ばれる技術分野に属し、特にネットワーク接続機能を有する計算機に取り込んだ温度や加速度などのセンサー情報を複数の計算機で効率よく共有するとともに、共有したセンサー情報の蓄積やセンサー情報を利用したアプリケーションの開発を容易にする情報共有装置、情報共有方法、情報共有プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
センサ情報を利用したアプリケーションでは、センサーからの情報（例えば、温度センサーや加速度センサー、リーダで受信するＲＦＩＤタグの情報など）を利用して、利用者に役立つサービスを提供するようにしている。
【０００３】
このような場合、センサーはアプリケーションが動作する計算機に直接接続されるか、或いはセンサー情報を収集する計算機と接続され、この計算機とアプリケーションが動作する計算機とがネットワークを介して接続される構成となっている。
【０００４】
前者の場合、センサー情報は、アプリケーションのプロセスにより直接収集されるか、このアプリケーションプロセスとは別に同じ計算機上にプロセスを用意し、そのプロセスとアプリケーション間の情報の受け渡しによりアプリケーションによるサービスを実現している。
【０００５】
これに対して、後者のアプリケーションがネットワークを介してセンサー情報にアクセスする場合は、必然的にセンサー情報を取得するプロセスとアプリケーションのプロセスは分割され、それぞれが異なる計算機上で動作することになる。それらのプロセス間の通信は非特許文献１のようにクライアント・サーバの形式を採ることが多く、また開発を容易にするという観点では分散オブジェクト技術である非特許文献２，３に記載されている技術を用いた例がある。
【０００６】
一方、センサーを、ネットワーク機能を有する小型計算機に取り付け、小型計算機間の通信により、センサーネットワークを構成する場合もある。このような場合、小型計算機上で動作するネットワークＯＳにより、ノード間の通信到達範囲に応じて柔軟にネットワーク接続経路を計算する例が多く、構成されるネットワークのトポロジーはスター型やメッシュ型、或いはそのハイブリッド型となる（非特許文献４，５）。
【０００７】
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【非特許文献１】平松薫、納谷太、森啓、大里延康：Java（登録商標）アプレットを用いたネットワーク型ロボットインタフェース、情報処理学会論文誌、vol.39,No.12,pp.3315-3323，1998
【非特許文献２】平松薫、納谷太、森啓、大里延康：HORBを利用した実世界オブジェクト操作環境の構築、第２回HORBシンポジウム、pp.20-26,1998
【非特許文献３】http://horb.a02.aist.go.jp/horb-jp/
【非特許文献４】http://www.intel.com/research/exploratory/motes.htm
【非特許文献５】http://www.arsjp.com/SensorNetwork/SN_index.htm
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１〜３に記載されているようなシステムは、利用するセンサーの追加や種類の変更、システムを構成する計算機やデータベースシステムの変更が発生したときに、それにかかわるプロセスのプログラムだけではなく、システム全体の修正を必要とする場合がある。たとえば、クライアント・サーバ型の通信では、計算機に割り当てられたＩＰアドレスやプロセスが利用するポート番号を指定して通信を行うため、計算機の移設や更新によりＩＰアドレスが変更になると、その計算機で動作するプロセスと通信する全てのプロセスの設定変更が必要になってしまう。
【０００９】
また、非特許文献４，５に記載されているシステムでは、小型計算機の計算性能やメモリ容量の限界から個別に高度の処理を行うことは難しく、より高機能の計算機へセンサー情報を送信して処理を行わせる場合も、ネットワークトポロジーの関係から発生イベントに関する情報の実時間性の確保や情報の同期を行うことは非常に困難である。
【００１０】
本発明は、以上のような問題点に鑑みてなされたものであり、その目的とするところは、センサー管理用プログラム及びアプリケーションプログラムの開発を容易に行うことができる装置及び方法を提供することにある。すなわち、本発明は、センサーの追加・変更や計算機の移設・更新などのシステム構成の変更によって必要となるプロセスの通信設定の変更を最小化するとともに、センサの数とアプリケーションプロセスの数が１：１，１：ｎ，ｍ：１，ｍ：ｎの関係になる場合であってもこれらの間の接続・通信を効率よく実現し、さらに、データベースを利用してセンサーとアプリケーションの間でセンサー情報を一旦蓄積してシステムを運用する場合であっても、センサーとデータベースの間、及びデータベースとアプリケーションの間の接続・通信を同様に効率よく実現することを目的とする。
【課題を解決するための手段】
【００１１】
このような課題を解決するために本発明は、センサー情報の蓄積やセンサー情報を利用したアプリケーションのために、ネットワーク接続機能を有する計算機にセンサー情報を取り込み、そのセンサー情報を複数の計算機で効率よく共有し通信するセンサー情報共有装置及び方法である。本発明を利用することによりアプリケーションを容易に開発することができる。
【００１２】
すなわち、本発明は、ネットワークに接続される第１及び第２の計算機を含む複数の計算機間でセンサー情報を共有する情報共有装置であって、第１の計算機（PC-1）内に設けられ、かつセンサー情報を検出するセンサーSNに接続されて少なくともセンサーからのセンサー情報を取得する処理を実行する第１のプロセス（センサープロセス）と、第２の計算機（PC-3）内に設けられ、第１のプロセスにより取得された情報に基づいてサービス処理を実行する第２のプロセス（アプリケーションプロセス）と、それぞれの計算機内に設けられ、ネットワークに接続されるとともに、各計算機のＩＰアドレスを管理し、少なくともＩＰアドレスと各プロセスで用いられるメソッドの種類とに基づいて各プロセス間に情報共有フレームワークを形成する仲介デーモンとを備え、第１のプロセスは、取得したセンサー情報を情報共有フレームワークを介して第２のプロセスに送りサービス処理を実行させるものである。
【００１３】
この場合、ネットワークに接続された第３の計算機（PC-2）内に、データベースＤＢに接続されるとともに、第１のプロセスにより取得された情報のデータベースへの格納とデータベースからの読み出しの処理を実行する第３のプロセス（データベースプロセス）を備え、第３のプロセスは、第１のプロセスにより格納メソッドが発行され情報共有フレームワークを介して伝達されると、この格納メソッドに添付されたセンサー情報を情報共有フレームワークを介し入力してデータベースに格納するとともに、第２のプロセスにより照会メソッドが発行され情報共有フレームワークを介して伝達されると、データベースからそのセンサー情報を読み出して情報共有フレームワークを介して第２のプロセスに送りサービス処理を実行させる。
【００１４】
また、第３のプロセスは、第２のプロセスにより要求メソッドが発行されると、第１のプロセスから伝達された格納メソッドに添付される取得情報をデータベースに格納するとともに、その取得情報を添付した通知メソッドを発行して情報共有フレームワークを介し第２のプロセスに送りサービス処理を実行させることもできる。
【００１５】
また、本発明は、複数の計算機内に、ネットワークを介する各計算機間の通信を制御する仲介デーモンをそれぞれ常駐させる第１のステップと、仲介デーモンにより各計算機のＩＰアドレスを取得させる第２のステップと、第１及び第２の計算機内のプロセスを起動し実行させる第３のステップと、少なくともＩＰアドレスと各プロセスで用いられるメソッドの種類とに基づいて各プロセス間に情報共有フレームワークを形成する第４のステップと、第１のプロセスにより取得したセンサー情報を第２のプロセス側に送り、センサー情報に基づくサービス処理を実行させる第５のステップとを有する情報共有方法である。
【００１６】
この場合、第３の計算機内に設けられた第３のプロセスを起動し、第１のプロセスにより取得された情報のデータベースへの格納とデータベースからの読み出しの処理を実行させる第６のステップを有し、第５のステップは、第１のプロセスによりセンサー情報が取得され格納メソッドが発行されるとこの格納メソッドとこれに添付される取得情報とを情報共有フレームワークを介して第３のプロセスに伝達しデータベースに格納させる第７のステップと、第２のプロセスにより照会メソッドが発行されるとこの照会メソッドを情報共有フレームワークを介して第３のプロセスに伝達し、データベースからセンサー情報を読み出させて情報共有フレームワークを介して第２のプロセスへ送信させサービス処理を実行させる第８のステップとを含む。
【００１７】
ここで、第５のステップは、第２のプロセスにより要求メソッドが発行されると、この要求メソッドを情報共有フレームワークを介して第３のプロセスに伝達する第９のステップと、第１のプロセスによりセンサー情報が取得され格納メソッドが発行されるとこの格納メソッドとこれに添付される取得情報とを情報共有フレームワークを介して第３のプロセスに伝達しデータベースに格納させるとともに、第３のプロセスに、センサー情報を添付した通知メソッドを発行させて情報共有フレームワークを介し第２のプロセスに送信させサービス処理を実行させる第１０のステップとを含むようにしても良い。
【００１８】
すなわち、本発明のセンサーネットワークとそのアプリケーションでは、ネットワークに接続された計算機上で仲介デーモンを実行させ、その仲介デーモンが実行されている計算機上でプロセスを実行してセンサーからのセンサー情報の取得、データベースへのセンサー情報の格納及び読み出し、そしてアプリケーションによるサービスの提供を行う。
【００１９】
ここで、仲介デーモンは、計算機のＩＰアドレスとポート番号、及び起動中のプロセスを管理し、プロセスが指定した名前のセンサー情報共有フレームワークにより、仮想的に通信経路を確立させ、センサー情報の受け渡しができるようにその通信の仲介を行う。
【００２０】
一方、プロセスは、センサー情報を取得するためのセンサープロセス、センサー情報を蓄積するためのデータベースプロセス、利用者にサービスを提供するためのアプリケーションプロセスに分けられる。
【００２１】
センサープロセスは、計算機に直接接続されたセンサー、もしくはセンサーとネットワーク接続機能を備えた組込型ボードからセンサー情報を収集し、データベースプロセスもしくはアプリケーションプロセスへ受け渡す。このとき、センサーからセンサー情報を取得するための手続き、組込型ボードとの間の通信、そして、センサー情報の精度やサンプリンググレードの管理などのセンサーの制御は、センサープロセスが実施する。これにより、センサープロセス以降のデータベースプロセス及びアプリケーションプロセスは、センサーに関する詳細な制御を行う必要が無く、センサー情報共有フレームワークの名前を指定するだけでセンサープロセスからセンサー情報を受け取ることができる。
【００２２】
また、センサープロセスに対してはセンサー情報の更新通知を依頼することもできる。これにより、センサー情報の逐次ポーリングを行わなくても、センサーの状態が変化が発生した際に他のプロセスがセンサー情報を受け取ることができる。
【００２３】
データベースプロセスは、データベース管理システムＤＢＭＳと接続され、データベースＤＢへセンサー情報を格納するためのメソッドと、データベースからセンサー情報の読み出すためのメソッドをセンサー情報共有フレームワークを介し、名前と関連づけた形で他のプロセスに供給する。このとき、データベース管理システムとの間で必要となる手続きはデータベースプロセスの中に隠蔽されるので、センサープロセスとアプリケーションプロセスはそれらを意識することなく、センサー情報の格納と読み出しを行うことができる。
【００２４】
アプリケーションプロセスは、センサー情報共有フレームワークの名前を指定してセンサー情報を読み出し、センサー情報に応じたサービスを利用者に提供する。前述したように、センサーの制御やデータベースの管理は、それぞれセンサープロセスとデータベースプロセスが行うので、アプリケーションプロセスはそれらを意識することなくセンサー情報を利用し、サービスを提供することができる。
【００２５】
また、本発明は、コンピュータに、ネットワークを介する各計算機間の通信を制御し各計算機のＩＰアドレスを取得する機能と、センサー情報を取得する第１の処理機能と、前記取得情報に応じたサービス処理を実行する第２の処理機能と、ＩＰアドレスと各処理機能で用いられるメソッドの種類とに基づいて各処理機能間に情報共有フレームワークを形成する機能と、第１の処理機能により取得された情報を第２の処理機能側に送り、第２の処理機能にセンサー情報に基づくサービス処理を実行させる機能とを実現させる情報共有プログラムである。
また、本発明は、上記情報共有プログラムを格納した記録媒体である。
【発明の効果】
【００２６】
以上説明したように、本発明により、センサー情報を、ネットワーク接続機能を有する計算機に取り込み、そのセンサー情報を複数の計算機で効率よく共有し通信できるため、センサー情報の共有・蓄積の効率が向上し、センサーネットワークにおけるセンサー情報を利用したアプリケーションの開発が容易になる。
【発明を実施するための最良の形態】
【００２７】
図１は、ネットワーク接続機能を有する計算機ＰＣ−１，ＰＣ−２，ＰＣ−３それぞれに、仲介デーモン（通信制御プログラム：通信制御手段）１１，２１，３１を起動し、センサープロセス１２（第１の処理手段：第１の処理プログラム）、データベースプロセス２２（第３の処理手段：第３の処理プログラム）、アプリケーションプロセス３２（第２の処理手段：第２の処理プログラム）を起動したセンサーネットワークを示している。
【００２８】
この場合、各プロセス１２，２２，３２は、センサー情報共有フレームワークライブラリを利用して、センサー情報共有フレームワークに対応する仮想オブジェクトを生成し、各プロセス１２，２２，３２がセンサー情報共有フレームワークに提供する機能に対応する仮想オブジェクトのメソッドを上書きする。そして、仲介デーモン１１，２１，３１を通してセンサー情報共有フレームワーク（以下、情報共有フレームワーク）１Ａを利用してセンサー情報の受け渡しを行う。
【００２９】
センサープロセス１２は、センサＳＮ１〜ＳＮ３と接続され、各センサＳＮ１〜ＳＮ３により検出されたセンサー情報を収集する。このとき、センサープロセス１２はセンサー情報を取得できれば良いため、センサーＳＮ１〜ＳＮ３と計算機PC-1の間の接続は、シリアルポート、デジタル入出力ポート、アナログ入力など、計算機PC-1が有する入出力インタフェースを介したものであっても、組込型センサーボードからのネットワークを介したものであっても構わない。
【００３０】
また、サービス側からセンサー情報を使いやすくするために、センサー情報の単位変換や誤差補正、センサーの初期化やサンプリングレートの設定・変更など、センサーの正規化やセンサー自体の制御に関わる処理をセンサープロセス１２内に隠蔽することもできる。
【００３１】
収集されたセンサー情報は、情報共有フレームワーク１Ａの格納メソッドを利用して、データベースプロセス２２に送られ、データベース管理システムDBMSに設けられたデータベースＤＢに格納される。このとき、格納メソッドにより送られるセンサー情報は、スイッチのオン・オフなどを表す“１”，“０”（true/false）であっても、温度、湿度、照度などを表すスカラー量であっても、加速度センサーなどを表す多次元のベクトルであっても、カメラなどで撮影された画像・映像であっても、これらを抽象化したラベルであっても、これらセンサー情報を保持するメモリやファイルなど記録媒体へのポインタであっても構わない
【００３２】
また、その形式は、センサーＳＮ１〜ＳＮ３からの出力を計算機PC-1に取り込んだ状態のままの形式であっても、それを圧縮したバイナリデータのあっても、ＣＳＶ形式であっても、ＸＭＬ形式のメッセージに埋め込まれた情報であっても構わない。すなわち、それを受け取ったデータベースプロセス１２が解析して、データベースＤＢへの格納に適した形式に変換しデータベースＤＢに格納できるものであれば構わない。
【００３３】
アプリケーションプロセス３２は、必要に応じて情報共有フレームワーク１Ａの照会メソッドを利用し、データベースプロセス２２から最新のセンサー情報を取得してユーザ装置５０に対するサービス処理を実行しユーザに提供する。
【００３４】
このとき、照会メソッドに時刻もしくは時区間を条件として指定すると、その指定した過去の時刻もしくは時区間の間に記録されたセンサー情報を取得することができる。また、データベースプロセス２２が補間機能を有していれば、その時刻もしくは時区間に対応するセンサー情報が無くてもその前後のセンサー情報から内挿した情報を取得することができる。
【００３５】
図１の例は、アプリケーションプロセス３２がセンサー情報をポーリングする動作を行っているのに対し、図２の例は、センサー情報の受け渡しをイベント通知により行う例である。この図２の例においても、各計算機PC-1〜PC-3上で仲介デーモン１１，２１，３１を起動し、各プロセス１２，２２，３２を起動するところまでは図１と同じである。
【００３６】
図２の例では、次に、アプリケーションプロセス３２が、要求メソッドを使って情報共有フレームワーク１Ａから取得できるセンサー情報を利用することを登録する。この登録を行うと、センサープロセス１２によって格納メソッドで送信されたセンサー情報がデータベースプロセス２２によりデータベースＤＢに格納されるだけではなく、アプリケーションプロセス３２にも通知される。これにより、アプリケーションプロセス３２では随時ポーリングを行うことなく、センサー情報の変化をきっかけに、サービス処理を起動し実行することができる。
【００３７】
ここで、実際の通信経路は、仲介デーモン１１，２１，３１間のメッシュ型接続と、プロセス１２，２２，３２間で仮想的に構成される情報共有フレームワーク１Ａに各プロセス１２，２２，３２が提供するメソッドとにより決定される。まず、仲介デーモンは起動された後、専用ポートを使ってブロードキャストし、同一計算機での二重起動をチェックし、他の計算機で起動されている仲介デーモンからの回答を待つ。ここで、回答が無かった場合には、その専用ポートにて接続要求を待機し、回答があった場合には互いのＩＰアドレスを交換し仲介デーモンリストに記録する。
【００３８】
そして、各プロセス１２，２２，３２は起動された後、ＩＤと、接続する情報共有フレームワーク１Ａの名前nameＡと、提供するメソッドの種類とを同一計算機の仲介デーモンに通知し、それを各仲介デーモンに配付させ、それぞれのプロセスリストに記録させる。この２つのリストを使って、各プロセス間でセンサー情報を受け渡しするための仮想的な通信経路である情報共有フレームワークが形成され、プロセスの種類やその利用状況に応じて、センサー情報の多様な受け渡し方法を設定することができる。
【００３９】
図１及び図２を用いてその動作手順を説明する。まず、計算機PC-1〜PC-3にて仲介デーモン１１，２１，３１を起動し、交換した情報（即ち、交換したＩＰアドレス情報）に基づき仲介デーモンリストを作成する。次に計算機PC-1〜PC-3にて、それぞれセンサープロセス１２、データベースプロセス２２、アプリケーションプロセス３２を起動し、各仲介デーモンのプロセスリストにその情報（即ち、ＩＤと接続する情報共有フレームワーク１Ａの名前nameＡと、提供するメソッドの種類とからなる情報）を記録する。
【００４０】
ここで、図１のシステムの場合は、各プロセス１２，２２，３２がライブラリを用いて作成した情報共有フレームワークに対応する各仮想オブジェクトのうちで、センサープロセス１２は格納メソッドを、アプリケーションプロセス３２は照会メソッドを上書きし、各プロセスが果たす機能をプロセスリストに登録する。これにより、各プロセス１２，２２，３２間の仮想的な通信経路である前記情報共有フレームワーク１Ａが形成される。
そして、センサープロセス１２が格納メソッドを発行すると、この格納メソッドは取得されたセンサー情報とともに情報共有フレームワーク１Ａに伝達され、これによりデータベースプロセス２２はそのセンサー情報をデータベースＤＢに格納するとともに、アプリケーションプロセス３２により照会メソッドが発行されて情報共有フレームワーク１Ａを介しデータベースプロセス２２に伝達されると、データベースプロセス２２はデータベースＤＢに格納されているセンサー情報を読み出して情報共有フレームワーク１Ａを介しアプリケーションプロセス３２に送ってアプリケーションプロセス３２にそのセンサー情報に応じたサービス処理を行わせる。
【００４１】
また、図２のシステムの場合は、各プロセス１２，２２，３２がライブラリを用いて作成した情報共有フレームワークに対応する各仮想オブジェクトのうちで、センサープロセス１２は格納メソッドを、データベースプロセス２２は通知メソッドを、アプリケーションプロセス３２は要求メソッドを上書きし、各プロセスが果たす機能をプロセスリストに登録する。これにより、各プロセス１２，２２，３２間の仮想的な通信経路である前記情報共有フレームワーク１Ａが形成される。
そして、アプリケーションプロセス３２が要求メソッドを発行すると、センサープロセス１２が格納メソッドを発行してセンサー情報をデータベースプロセス２２にデータベースＤＢに格納させる際にデータベースプロセス２２から通知メソッドが発行され、センサー情報がアプリケーションプロセス３２に受け渡される。
【００４２】
このように、各プロセス１２，２２，３２は、それぞれ情報共有フレームワーク１Ａの名前を指定して所定のメソッドを発行するだけでよく、各仲介デーモン１１，２１，３１がそれぞれ自身の仲介デーモンリストとプロセスリストを用いて接続先を決定し、決定した接続先とソケット通信を確立して実際のセンサー情報の受け渡しを行う。
【００４３】
以下、図４〜図７のシーケンス図を参照して、本システムの動作を詳細に説明する。まず、図１のシステムの動作を図４，図５のシーケンス図に基づいて説明する。
計算機PC-1に常駐する仲介デーモン１１が起動されると（図４のステップＳ１）、仲介デーモン１１は専用ポートを用いてネットワークを介し他の計算機PC-2,PC-3に常駐する仲介デーモン２１，３１に対し接続要求を行う（ステップＳ２，Ｓ３）。なお、仲介デーモン２１，３１が起動されていなければ、この接続要求に対する接続応答が返送されないため、仲介デーモン１１は待機する。
【００４４】
ここで、仲介デーモン２１，３１が起動されると（ステップＳ４，Ｓ５）、各仲介デーモン２１，３１はそれぞれの専用ポートを介して仲介デーモン１１からの接続要求を識別し、専用ポートから接続応答を返送する（ステップＳ６，Ｓ７）。
【００４５】
こうして、各仲介デーモン１１，２１，３１が専用ポート及びネットワークを介して接続されると、各仲介デーモン１１，２１，３１は互いにＩＰアドレスを交換してそれぞれ自身の仲介デーモンリスト（後述する図８のメモリ１１２，１２２，１３２に設けられているリスト）に登録する（ステップＳ８）。
【００４６】
その後、計算機PC-1内のセンサープロセス１２が起動されると（ステップＳ９）、センサープロセス１２は、自身のＩＤと、自身が接続する情報共有ワーク（＝多機能パイプ）の名前と、自身が用いる（扱う）メソッドの種類（格納メソッド、照会メソッド、通知メソッド、要求メソッドなど）を、仲介デーモン１１に通知する（ステップＳ１２）。
【００４７】
また、計算機PC-2内のデータベースプロセス２２が起動されると（ステップＳ１０）、データベースプロセス２２は、自身のＩＤと、自身が接続する情報共有ワークの名前と、自身が用いるメソッドの種類を、仲介デーモン２１に通知する（ステップＳ１３）。
【００４８】
また、計算機PC-3内のアプリケーションプロセス３２が起動されると（ステップＳ１１）、アプリケーションプロセス２２は、自身のＩＤと、自身が接続する情報共有ワークの名前と、自身が用いるメソッドの種類を、仲介デーモン３１に通知する（ステップＳ１４）。
【００４９】
各仲介デーモン１１，２１，３１は、それぞれ自身の属するプロセスから、そのプロセスのＩＤ、そのプロセスが接続する情報共有ワークの名前、そのプロセスが用いるメソッドの種類が通知されると、これらを入力して他の仲介デーモンへ専用ポート及びネットワークを介し配付する（ステップＳ１５）。
【００５０】
その後、仲介デーモン１１は、センサープロセス１２から通知された、そのプロセスのＩＤ、そのプロセスが接続する情報共有ワークの名前、そのプロセスが用いるメソッドの種類と、他の仲介デーモン２１，３１から配付された、各仲介デーモン２１，３１が属するプロセス２２，３２のＩＤ、それらのプロセス２２，３２が接続する情報共有ワークの名前、それらのプロセス２２，３２が用いるメソッドの種類とを自身のプロセスリスト（図８のメモリ１１２に設けられているリスト）に登録する（ステップＳ１６）。
【００５１】
また、仲介デーモン２１は、データベースプロセス２２から通知された、そのプロセスのＩＤ、そのプロセスが接続する情報共有ワークの名前、そのプロセスが用いるメソッドの種類と、他の仲介デーモン１１，３１から配付された、各仲介デーモン１１，３１が属するプロセス１２，３２のＩＤ、それらのプロセス１２，３２が接続する情報共有ワークの名前、それらのプロセス１２，３２が用いるメソッドの種類とを自身のプロセスリスト（図８のメモリ１２２に設けられているリスト）に登録する（ステップＳ１７）。
【００５２】
また、仲介デーモン３１は、アプリケーションプロセス３２から通知された、そのプロセスのＩＤ、そのプロセスが接続する情報共有ワークの名前、そのプロセスが用いるメソッドの種類と、他の仲介デーモン１１，２１から配付された、各仲介デーモン１１，２１が属するプロセス１２，２２のＩＤ、それらのプロセス１２，２２が接続する情報共有ワークの名前、それらのプロセス１２，２２が用いるメソッドの種類とを自身のプロセスリスト（図８のメモリ１３２に設けられているリスト）に登録する（ステップＳ１７）。
【００５３】
図１のシステムでは、センサー情報の格納を表す格納メソッドがセンサープロセス１２で用いるメソッドとして、また、センサー情報の照会を表す照会メソッドがアプリケーションプロセス３２で用いるメソッドしてそれぞれプロセスリストに登録される。
【００５４】
以上のように構成された仲介デーモンリストとプロセスリストとにより、各プロセス１２，２２，３２間に仮想的な通信経路である情報共有フレームワークが形成される。以降、各仲介デーモンは１１，２１，３１は、それぞれ自身に属する各プロセス１２，２２，３２が発行するメソッドと各プロセス１２，２２，３２が指定する情報共有フレームワークの名前とを入力すると、上記の２つのリストから接続先の仲介デーモンを決定してその仲介デーモンと通信を行い、センサー情報を受け渡しする。
【００５５】
すなわち、図５のステップＳ２０において、計算機PC-1内のセンサープロセス１２がセンサーＳＮにより検出されたセンサー情報を取得すると、センサープロセス１２は情報共有フレームワークの名前を指定し、かつ取得したセンサー情報の格納を表す格納メソッドを発行してそのメソッドにセンサー情報を添付する（ステップＳ２１）。
【００５６】
仲介デーモン１１はセンサープロセス１２が発行した格納メソッドを入力すると、仲介デーモンリストとプロセスリストとを参照して、接続先の仲介デーモンを決定する。図１のシステムでは格納メソッドの送信先（即ち、接続先）として、センサー情報の格納先を示す計算機PC-2内のデータベースプロセス２２に属する仲介デーモン２１が上記２つのリストから決定される。そして、仲介デーモン１１は、接続先であるデータベースプロセス２２が属する仲介デーモン２１宛に専用ポート及びネットワークを介してその格納メソッドとこれに添付されたセンサー情報を送る（ステップＳ２２）。
【００５７】
この場合、仲介デーモン２１は、自身の２つのリストから、この格納メソッドは自身が受け取るべきメソッドであると判断し、その格納メソッドに添付されたセンサー情報を受信してデータベースプロセス２２に与える。データベースプロセス２２はこのセンサ情報を入力すると、この入力したセンサー情報をデータベース管理システムDBMS内のデータベースＤＢに格納する（ステップＳ２３）。
【００５８】
ここで、計算機PC-3内のアプリケーションプロセス３２がサービス処理に先立ち、情報共有フレームワークの名前を指定し、かつセンサー情報の照会を示す照会メソッドを発行すると（ステップＳ２４）、同一計算機PC-3内の仲介デーモン３１は、この照会メソッドを入力し、自身の２つのリストから接続先仲介デーモンを決定する。図１のシステムでは照会メソッドの送信先（即ち、接続先）として、センサー情報の格納先を示す計算機PC-2内のデータベースプロセス２２に属する仲介デーモン２１が上記２つのリストから決定される。そして、仲介デーモン３１は上記の仲介デーモン２１と専用ポート及びネットワークを介して通信を行うことにより、データベースＤＢに格納されているセンサー情報をデータベースプロセス２２に読み出させ、この読み出したセンサー情報を仲介デーモン２１経由で取得する（ステップＳ２５）。
【００５９】
アプリケーションプロセス３２は、仲介デーモン３１が取得したセンサー情報を入力すると、このセンサー情報に基づいたサービス処理を実行する（ステップＳ２６）。
【００６０】
次に、図２のシステムの動作を図６，図７のシーケンス図に基づいて説明する。ここで、図６のシーケンス図の各ステップＳ５１〜Ｓ６９に示される動作は、図４のシーケンス図の各ステップＳ１〜Ｓ１９に示す動作とほぼ同じ動作であるので、その動作説明は省略する。
【００６１】
ここで、図４では、前述したように、センサー情報の格納を表す格納メソッドがセンサープロセス１２で用いるメソッドとして、また、センサー情報の照会を表す照会メソッドがアプリケーションプロセス３２で用いるメソッドしてそれぞれプロセスリストに登録されたのに対して、図６では、格納メソッドがセンサープロセス１２で用いるメソッドとして、また、センサー情報がデータベースＤＢに格納されたことを通知する通知メソッドがデータベースプロセス２２で用いるメソッドとして、さらに、センサー情報の取得要求を表す要求メソッドがアプリケーションプロセス３２で用いるメソッドとしてそれぞれプロセスリストに登録される。
【００６２】
以上のように構成されたプロセスリストと前記の仲介デーモンリストとにより、各プロセス１２，２２，３２間に情報共有フレームワークが形成される。そして、以降、各仲介デーモンは１１，２１，３１は、それぞれ自身に属する各プロセス１２，２２，３２が発行するメソッドと各プロセス１２，２２，３２が指定する情報共有フレームワークの名前とをそれぞれ入力すると、上記の２つのリストから接続先の仲介デーモンを決定してその仲介デーモンと通信を行い、センサー情報を受け渡しする。
【００６３】
すなわち、図７のステップＳ７０において、計算機PC-3内のアプリケーションプロセス３２がサービス処理に先立ち、情報共有フレームワークの名前を指定し、かつセンサー情報の取得要求を示す要求メソッドを発行すると、同一計算機PC-3内の仲介デーモン３１は、この要求メソッドを入力し、自身の２つのリストから接続先仲介デーモンを決定する。図２のシステムでは要求メソッドの送信先（即ち、接続先）として、センサー情報の格納先を示す計算機PC-2内のデータベースプロセス２２に属する仲介デーモン２１が上記２つのリストから決定される。そして、仲介デーモン３１は上記の仲介デーモン２１に専用ポート及びネットワークを介して要求メソッドを送る（ステップＳ７１）。この場合、仲介デーモン２１は自身の２つのリストから、この要求メソッドは自身が受け取るべきメソッドであると判断し、アプリケーションプロセス３２側からセンサー情報の取得要求があることを認識する。
【００６４】
ここで、計算機PC-1内のセンサープロセス１２がセンサーＳＮにより検出されたセンサー情報を取得すると（ステップＳ７２）、センサープロセス１２は情報共有フレームワークの名前を指定し、かつ取得したセンサー情報の格納を表す格納メソッドを発行してそのメソッドにセンサー情報を添付する（ステップＳ７３）。
【００６５】
仲介デーモン１１はセンサープロセス１２が発行した格納メソッドを入力すると、仲介デーモンリストとプロセスリストとを参照して、接続先の仲介デーモンを決定する。図２のシステムでは格納メソッドの送信先（即ち、接続先）として、センサー情報の格納先を示す計算機PC-2内のデータベースプロセス２２に属する仲介デーモン２１が上記２つのリストから決定される。そして、仲介デーモン１１は、接続先であるデータベースプロセス２２が属する仲介デーモン２１宛に専用ポート及びネットワークを介してその格納メソッドとこれに添付されたセンサー情報を送る（ステップＳ７４）。
【００６６】
この場合、仲介デーモン２１は、自身の２つのリストから、この格納メソッドは自身が受け取るべきメソッドであると判断し、その格納メソッドに添付されたセンサー情報を受信してデータベースプロセス２２に与える。データベースプロセス２２はこのセンサ情報をデータベース管理システムDBMS内のデータベースＤＢに格納するとともに、センサー情報の取得通知を示す通知メソッドを発行してそのメソッドにセンサー情報を添付する（ステップＳ７５）。
【００６７】
仲介デーモン２１はデータベースプロセス２２が発行した通知メソッドを入力すると、自身の２つのリストを参照するとともに、既にアプリケーションプロセス３２側からの要求メソッドを受け取っていることを認識して、上記通知メソッドの送信先として、アプリケーションプロセス３２が属する仲介デーモン３１を決定する。そして、その仲介デーモン３１宛に専用ポート及びネットワークを介してその通知メソッドとこれに添付されたセンサー情報を送る（ステップＳ７６）。
【００６８】
仲介デーモン３１は、仲介デーモン２１からの通知メソッドとこれに添付されたセンサー情報を受信すると、自身の２つのリストを参照するとともに既に自身が要求メソッドを送っていることを認識して、この通知メソッドは自身が受け取るべきメソッドであると判断する。そして、その通知メソッドに添付されたセンサー情報をアプリケーションプロセス３２に与え、そのセンサー情報に基づいたサービス処理を実行させる（ステップＳ７７）。
【００６９】
このように、各プロセス１２，２２，３２が、それぞれ情報共有フレームワーク１Ａの名前を指定して所定のメソッドを発行するだけで、各プロセス１２，２２，３２はセンサー情報の受け渡しを行うことができる。
【００７０】
次に、図３はアプリケーションプロセス３２が２種類のセンサー情報を利用するために、要求メソッドを使って２つの情報共有フレームワーク１Ａ，１Ｂに登録し、２つのセンサープロセス１２，４２が格納したセンサー情報をアプリケーションプロセス３２が通知により受け取る例を示している。
【００７１】
もちろん、図１，２のように１つのセンサープロセス１２が複数のセンサーを管理するようにしても良いが、センサーから出力される情報量が多くなる場合やセンサー情報の高速通信が要求される場合などは、センサープロセスを２つ用意して、負荷分散を図ることができる。
【００７２】
また、この例では、２つのセンサープロセス１２，４２からのセンサー情報を、１つのデータベースプロセス２２が１つのデータベースＤＢに蓄積するようにしているが、１つのデータベースプロセス２２が複数のデータベースに分散させてセンサー情報を蓄積しても良く、さらに、複数のデータベースプロセスを用意してそれぞれに蓄積するように構成しても構わない。何れの構成でも、アプリケーションプロセス３２はセンサー情報を同様の方法で利用することができる。
【００７３】
図８は、本システム（図１，２のシステム）のハードウェア構成を示す図である。本システムは、インターネット等のネットワーク１００に、計算機PC-1，PC-2，PC-3が接続され、計算機PC-1にセンサーＳＮが、計算機PC-2にデータベースＤＢを有するデータベース管理システムDBMSが、計算機PC-3にユーザ装置５０がそれぞれ接続された構成となっている。
【００７４】
ここで、計算機PC-1にはＣＰＵ１１０，記録媒体１１１及びメモリ１１２が設けられ、記録媒体１１１内には通信制御プログラムである仲介デーモン１１と、センサー情報の取得処理プログラムであるセンサープロセス１２が記憶されている。そして、ＣＰＵ１１０が記録媒体１１１から仲介デーモン１１及びセンサープロセス１２を読み出して実行することにより、前述した仲介デーモン１１及びセンサープロセス１２のそれそれの機能が実現される。なお、メモリ１１２には前述したように仲介デーモン１１用の仲介デーモンリストとプロセスリストとが設けられる。
【００７５】
次に、計算機PC-2にはＣＰＵ１２０，記録媒体１２１及びメモリ１２２が設けられ、記録媒体１２１内には通信制御プログラムである仲介デーモン２１と、データベースＤＢへのセンサー情報の格納と読み出しの処理を行うプログラムであるデータベースプロセス２２が記憶されている。そして、ＣＰＵ１２０が記録媒体１２１から仲介デーモン２１及びデータベースプロセス２２を読み出して実行することにより、前述した仲介デーモン２１及びデータベースプロセス２２のそれそれの機能が実現される。なお、メモリ１２２には前述したように仲介デーモン２１用の仲介デーモンリストとプロセスリストとが設けられる。
【００７６】
次に、計算機PC-3にはＣＰＵ１３０，記録媒体１３１及びメモリ１３２が設けられ、記録媒体１３１内には通信制御プログラムである仲介デーモン３１と、センサー情報に基づいたサービス処理を行うプログラムであるアプリケーションプロセス３２が記憶されている。そして、ＣＰＵ１３０が記録媒体１３１から仲介デーモン３１及びアプリケーションプロセス３２を読み出して実行することにより、前述した仲介デーモン３１及びアプリケーションプロセス３２のそれそれの機能が実現される。なお、メモリ１３２には前述したように仲介デーモン２１用の仲介デーモンリストとプロセスリストとが設けられる。
【００７７】
なお、本実施の形態では、センサープロセス１２が取得したセンサー情報を、データベースプロセス２２がデータベースＤＢに格納するとともに、アプリケーションプロセス３２の照会または要求メソッドの発行によりそのセンサー情報をアプリケーションプロセス３２側に送るようにしているが、アプリケーションプロセス３２が要求メソッドを発行すると、この要求メソッドをセンサープロセス側に送って認識させる一方、センサープロセスがセンサー情報を取得すると通知メソッドを発行させて、その通知メソッドに取得センサー情報を添付させてアプリケーションプロセス３２側に送信させるように構成することもできる。この場合、データベースＤＢや、データベースプロセス２２，これに属する仲介デーモン２１等を省略することができる。
【００７８】
また、本実施の形態では、センサー情報を共有する例について説明したが、共有する情報はセンサー情報に限らず、他の情報であっても良い。
【図面の簡単な説明】
【００７９】
【図１】アプリケーションプロセスがポーリングによりセンサー情報を取得する場合のシステムの概要構成を示す図である。
【図２】アプリケーションプロセスがイベント通知によりセンサー情報を取得する場合のシステムの概要構成を示す図である。
【図３】アプリケーションプロセスが複数の情報共有フレームワークを利用して、複数のセンサープロセスからイベント通知によりセンサー情報を取得する場合のシステムの概略構成を示す図である。
【図４】図１のシステムの動作を示すシーケンス図である。
【図５】図１のシステムの動作を示すシーケンス図である。
【図６】図２のシステムの動作を示すシーケンス図である。
【図７】図２のシステムの動作を示すシーケンス図である。
【図８】本システムのハードウェア構成を示す図である。
【符号の説明】
【００８０】
１Ａ，１Ｂ…センサー情報共有フレームワーク、１１，２１，３１，４１…仲介デーモン、１２，４２…センサープロセス、２２…データベースプロセス、３２…アプリケーションプロセス、５０…ユーザ装置、１００…ネットワーク、１１０，１２０，１３０…ＣＰＵ、１１１，１２１，１３１…記録媒体、１１２，１２２，１３２…メモリ、PC-0〜PC-3…計算機、SN，SN0，SN1〜SN3…センサー、ＤＢ…データベース、DBMS…データベース管理システム。
【図１】
2006243900.tif 000003
【図２】
2006243900.tif 000004
【図３】
2006243900.tif 000005
【図４】
2006243900.tif 000006
【図５】
2006243900.tif 000007
【図６】
2006243900.tif 000008
【図７】
2006243900.tif 000009
【図８】
2006243900.tif 000010