本発明は、物体管理システムに使用される無線通信可能な通信ノード及び通信方法に関する。
身の回りには多くの人や物等の有体物が存在し、それらを含む多くの環境が存在する。例えば、民家1件当たりに存在する物品の数は平均して1万点以上あり、部屋、庭、家具等の環境は数十個存在するといわれている。更にオフィス等のビジネス空間では数十乃至数万人の人、数万乃至数百万点以上の物、数百乃至数万個の環境が存在するといわれている。このような状況の中で、人は、必要な人と連絡をとり、必要な物や環境を利用しながら生活しているが、有体物の数が非常に多いために様々な問題が発生している。例えば、人は自分が所有している総ての物品や環境を把握できないという問題が発生している。どの部屋のどの家具のどの引き出しにどのような物が格納されているかを総て把握することは非常に困難になっている。また、利用したいものを速やかに探し出せないということが頻繁にあり、時間を無駄に消費すると共に心理的なストレスにもつながっている。これらの原因としては、生活空間に存在する物や環境の数が膨大であること、膨大な数の物や環境総ての存在や位置を正確に把握するのに必要な能力が人の身体的能力(例えば記憶力等)をはるかに超えていること、整理や省スペース化のために物が引き出しや押入れ等に格納されて物が直接的に人目に触れにくくなっていること等が考えられる。更に、現在所有している物や環境が真に必要か否かを人が判断しにくくなっていることも原因に挙げられる。これは、物や環境が使用されているか否か、使用頻度、使用者等の情報が適宜に得られないことに起因する。
このような実空間中の実体(有体物や環境)を認識する技術として無線タグ又はRFID(Radio Frequency Identification)を用いるものがある。これは概してタグとリーダから構成され、タグが有体物に装着され、実空間内にリーダが設けられる。タグはタグを一意に特定可能な識別子を含む信号を送信し、その信号をリーダが受信する。タグとリーダの間の信号伝送は、電波、光、音波などの無線通信技術を用いて行われる。リーダはコンピュータに接続され、コンピュータは、タグの識別子や識別子に結び付けられた電子ファイル等を管理し、通信ネットワークを利用してこれらの情報を複数のコンピュータ間でやりとりしてもよい。従来のRFIDを用いる技術については例えば特許文献1,2に記載されている。
特開2005−085186号公報
特開2002−150241号公報
RFIDを用いる従来の技術では、物を引き出し等の環境毎に区別するには、環境毎にリーダを設定することが必要とされ、設置されるリーダ数が非常に多くなってしまう問題がある。更に、RFIDでは、リーダがタグを認識するので、タグの付された物品の存否のようなリーダとタグの関係を把握することはできるが、人がどの物品を使用したか等のような人と物品の関係を表す情報を得ることは困難である。
本発明は、上記問題点に対処するためになされたものであり、その課題は、人々、物及び環境の間で多種多様な関連性を示す情報の記憶、検出及び通信を可能にする装置及び方法を提供することである。
一実施例による通信ノードは、
通信ネットワークを介して互いに通信する複数の通信ノードを含むシステムにおいて使用される通信ノードであって、
当該通信ノードと他の通信ノードとがどのような関係であるかを示す関係性種別情報と、該他の通信ノードの識別情報とを含む関係性情報を記憶する記億部と、
当該通信ノードにおいて測定したセンシング情報と、他の通信ノードから受信したセンシング情報とを比較することで、当該通信ノードと該他の通信ノードとの間の関係性情報を生成し、前記関係性情報記憶部における関係性情報を更新する判定部と、
他の通信ノードからの要求に応答して、前記記憶部に記憶されている関係性情報を該他の通信ノードに送信する通信部と、
関係性情報及びセンシング情報を用いるアプリケーションプログラムを実行し、かつアプリケーションプログラムが他の通信ノードの関係性情報及び/又はセンシング情報を必要とする場合、当該関係性情報及び/又はセンシング情報を前記通信部を介して取得する制御部と
を有し、前記センシング情報は、通信ノードの電源の状態、消費電力、位置、温度、周湿度、気圧、明るさの内の何れかを表す、通信ノードである。
本発明によれば、人々、物及び環境の間で多種多様な関連性を示す情報の記憶、検出及び通信により、物体管理システムの管理能力を向上させることができる。
本発明の一態様では、通信ノードが伴う物体と別の通信ノードが伴う物体との間の相互関係を表す1以上の関係情報が記憶され、その関係情報が他の通信ノードと無線通信される。通信ノードが伴う第1の物体自身の情報だけでなく、その第1の物体と他の第2の物体との相互関係(関係性)も第1の物体に同行する通信ノードに記憶される。このため、第1の物体にアクセスすれば、その第1の物体と何らかの関係を有する第2の物体の情報を得ることができ、物体に関して一度に把握できる情報量を飛躍的に向上させることができる。
当該通信ノードが伴う物体に備わる属性を表す1以上の属性情報を記憶する属性記憶手段が更に設けられてもよい。関係情報と属性情報とを対応付けて管理することで、より緻密に物体を管理することができる。
当該通信ノードが伴う物体の属性情報と別の通信ノードが伴う物体の属性情報との比較結果に基づいて、物体同士の相互関係を表す関係情報を生成する生成手段が更に設けられてもよい。例えば、当該通信ノードが伴う物体と別の通信ノードが伴う物体との間の距離に基づいて、物体同士の相互関係を表す関係情報が生成されてもよい。
物体の状態又は物体周囲の環境状態を表すセンシング情報を用意する手段が更に設けられてもよい。センシング情報に基づいて、関係情報を更新又は生成することができ、関係情報を実環境に相応しい内容に維持することができる。
別の通信ノードとの関係情報の通信結果に応じて、前記関係記憶手段に記憶済みの関係情報が更新されてもよい。これにより、関係情報を周囲環境の変化に合わせて適応的に自律的に更新することができる。
関係情報は、物体相互の位置関係を表してもよいし、一方の物体が他方の物体を使用する、所有する、格納する、必要とする又は材料とする関係を表してもよいし、一方の物体と他方の物体が同種類の関係にあることを示してもよい。物体間の何らかの対応関係を示す関係情報を様々に設定することで、物体管理システムの物体管理能力を大幅に向上させることができる。
本発明の一態様で使用される通信装置は、実体に関する非相対的情報(例えば、属性情報やセンシング情報等)を記憶する機能と通信ネットワークを介して2以上の装置間で情報を送受信する通信機能を有する。通信装置は、前記通信機能により得た他装置からの非相対的情報及び自装置の非相対的情報に基づき、実体間の関係(装置間の近似性等)を判定する関係性判定機能と、判定結果に基づいて2以上の実体間の関係性情報を動的に生成し、上記関係性情報に基づき実体の動作を制御する制御機能とを有し、実世界に存在する実体間の規定を行う。
本発明の様々な態様によれば、人、物、環境の属性情報やセンシング情報を通信回線を通じて交換することで、人、物、環境の関係性を検出及び記憶することができる。更に、属性情報やセンシング情報に基づいて、他の物体との間に成立する関係性が自動的に生成されてもよい。これにより様々なアプリケーションが通信回線を通じてその関係性を極めて有効に活用できるようになる。
図1は本発明を利用することが可能なシステム構成例を示す。図1には、人、物、環境などの実体(有体物)に装着可能なノードと、ノード同士を相互に接続する通信リンクとが図示されている。通信リンクは有線リンクでも無線リンクでもよい。有線リンクには例えばxDSL、FTTH、イーサーネット等の双方向通信機能を有する任意のリンクが含まれてもよい。無線リンクにはセルラ通信システム、無線LAN、Zigbee、ブルートゥース等の双方向通信機能を有する任意のリンクが含まれてもよい。
図2も本発明を利用することが可能なシステム構成例を示す。このシステムも、複数のノードと任意の通信ネットワークから構成される。通信ネットワークは、回線交換機やパケット交換機で構成された任意の通信ネットワークや、ルータで構成されたインターネット等でもよい。
図3は本発明の第1実施例によるノードの構成例を示し、このノードは図1,2に示されるノードに使用可能である。ノードは、関係性情報記憶機能部31、通信機能部32及び制御機能部33から構成される。
(1)関係性情報記憶部
関係性情報記憶機能部31は、自ノードが付着する実体と他ノードが付着する実体の間の多種多様な関係性を示す関係性情報を記憶する。関係性情報は例えば図4に示されるように、関係性種別41、関係ノード識別子42、関係性強度43及び関係寿命44の複数のフィールドから構成されてもよい。
関係性種別は、近隣関係(図12)、格納関係(図13)、被格納関係(図14)、同種関係(図15)、所有関係(図16)、被所有関係(図17)、使用関係(図18)、被使用関係(図19)、同機能関係(図20)、優位関係(図21)、劣位関係(図22)、参照関係(図23)、被参照関係(図24)、材料関係(図25)、原因関係(図26)、結果関係(図27)、結果関係(図28)及び危険関係(図29)等の実体間の様々な関係性の種別を示す。これらの具体例については後述される。
関係ノード識別子42は、自ノードが付着する実体と何らかの関係性を有する他の実体に付着する他ノードを一意に特定できる識別子である。例えば、関係ノード識別子42はノードを相互接続する各種の通信リンクや通信ネットワークの通信方式で定義されている各種のアドレス情報でもよい。
関係性強度43は、自ノードが付着する実体と、他ノードが付着する実体との間の関係性の強さであり、関係性種別に応じて指標が異なる。指標の具体例についても図12乃至図29に関連して後述される。
関係性寿命44は関係性情報の有効期間を示す。ノードは関係性寿命を検査することで、有効でない関係性情報を破棄してもよい。
図3の関係性情報記憶機能部31は、図5に示されるような関係性情報管理テーブルを備えていてもよい。この関係性管理テーブルでは、1つの関係性情報は1つの行(レコード)で記憶可能であり、そのような行が複数個用意されている。
図6は、関係性情報記憶機能部31の動作例を示すフローチャートである。フローはステップ61から始まり、制御機能部33から関係性情報の読み出し要求の有無が判定される。フローは、読み出し要求がなければステップ63に進み、読み出し要求があればステップ62を経てステップ63に進む。ステップ62では、指定された関係性種別の関係性情報がテーブルから読み出され、それが制御機能部に通知される。ステップ63では、制御機能部33からの関係性情報の書き込み要求の有無が判定される。フローは、書き込み要求がなければステップ65に進み、書き込み要求があればステップ64を経てステップ65に進む。ステップ64では、制御機能部33から通知された関係性情報をテーブルに書き込む。ステップ65では、テーブル内の総ての関係性情報に関する関係性寿命が更新される。ステップ66では、関係性寿命が終了した関係性情報の有無が判定される。フローは、関係性寿命の終了した関係性情報がなければステップ61に戻って同様な手順が反復される。関係性寿命の終了した関係性情報があれば、フローはステップ67に進んでそれをテーブルから削除し、その後にフローはステップ61に戻る。
(2)通信機能部
図3の通信機能部32は、任意の通信リンクや通信ネットワークを介して(それらの通信プロトコルに準拠して)2以上のノード間で関係性情報の要求メッセージや応答メッセージを通信する。図7は関係性情報の要求メッセージのフォーマット例を示す。関係性情報の要求メッセージは図示されるようにメッセージ種別71と関係性種別72のフィールドを含んでもよい。メッセージ種別71はそのメッセージが関係性情報の要求メッセージであることを示す。関係性種別72は関係性情報の要求メッセージを送信したノードが必要とする関係性情報の種別を表す。図8は関係性情報の応答メッセージを示す。応答メッセージも図示されるようにメッセージ種別81と関係性種別82とを含んでもよい。メッセージ種別81はそのメッセージが関係性情報の応答メッセージであることを示す。関係性種別82は関係性情報の応答メッセージを送信したノードが保有する関係性情報の種別を表す。
図9は、図3の通信機能部32の動作例を示すフローチャートである。フローはステップ91から始まり、制御機能部31からの関係性情報の要求メッセージの有無が判定される。フローは、要求メッセージがなければステップ93に進み、要求メッセージがあればステップ92に進んだ後にステップ93に進む。ステップ92では、制御機能部31から通知された関係性情報の要求メッセージが、指定された宛先ノードに、通信ネットワークに準拠した通信プロトコルで送信される。ステップ93では、制御機能部31からの関係性情報の応答メッセージの有無が判定される。フローは、応答メッセージがなければステップ95に進み、応答メッセージがあればステップ94に進んだ後にステップ95に進む。ステップ94では、制御機能部31から通知された関係性情報の応答メッセージが、指定された宛先ノードに、通信ネットワークに準拠したプロトコルで送信される。ステップ95では、通信ネットワークを通じて自ノード宛の関係性情報の要求メッセージを受信したか否かが判定される。フローは、要求メッセージが受信されていなければステップ97に進み、要求メッセージが受信されていればステップ96に進んだ後にステップ97に進む。ステップ96では、関係性情報の要求メッセージとその送信元ノードの識別子とが制御機能部31に通知される。ステップ97では、通信ネットワークを通じて自ノード宛の関係性情報の応答メッセージを受信したか否かが判定される。フローは、応答メッセージが受信されていなければステップ91に戻り、応答メッセージが受信されていればステップ98に進んだ後にステップ91に戻る。ステップ98では、関係性情報の応答メッセージとその送信元ノードの識別子とが制御機能部31に通知される。
(3)制御機能部
図3の制御機能部33は、関係性情報を用いるアプリケーションプログラムを実行し、アプリケーションが必要とする関係性情報を関係性情報記憶機能部31から、或いは通信機能部32を介して取得する。
図10,11は制御機能部33の動作例を示すフローチャート(その1,2)を示す。フローはステップ101から始まり、アプリケーションが他ノードの関係性情報を必要とするか否かが判定される。必要とされなければフローはステップ103に進み、必要とされればフローはステップ103に進む前にステップ102に進む。ステップ102では、メッセージの宛先となるノード識別子が指定され、関係性情報の要求メッセージが通信機能部32に通知される。ステップ103ではアプリケーションが自ノードの関係性情報を必要とするか否かが判定される。必要とされなければフローはステップ105に進み、必要とされればフローはステップ105に進む前にステップ104に進む。ステップ104では、必要な関係性種別の関係性情報が関係性情報記憶機能部31から読み出される。ステップ105では、アプリケーションが自ノードの関係性情報の書き込みを必要とするか否かが判定される。必要とされなければフローはステップ111に進み、必要とされればフローはステップ111に進む前にステップ106に進む。ステップ106では関係性情報が関係性情報記憶機能部31に書き込まれる。図11のステップ111では、通信機能部32からの関係性情報の要求メッセージの有無が判定される。要求メッセージがなければフローはステップ115に進み、要求メッセージがあればフローはステップ112,113,114を経てステップ115に至る。ステップ112では、関係性情報の要求メッセージとその送信元ノードの識別子とが通信機能部32で受信される。ステップ113では、その要求メッセージで示される関係性種別の関係性情報が関係性情報記憶機能部31から読み出される。ステップ114では、関係性情報の応答メッセージの送信先ノードの識別子として、関係性情報の要求メッセージの送信元ノードの識別子が指定され、その応答メッセージが通信機能部32に通知される。ステップ115では通信機能部32からの関係性情報の応答メッセージの有無が判定される。応答メッセージがなければフローは図10のステップ101に戻り、応答メッセージがあればフローはステップ116の後にステップ101に戻る。ステップ116では、関係性情報の応答メッセージとその送信元の識別子とが通信機能部32で受信され、関係性情報がアプリケーションで利用される。
(4)関係性種別の具体例
図12は、関係性種別の一例である近隣関係を示す。近隣関係は、第1の実体と第2の実体が地理的に近くに存在することを示す。図示の近隣関係の例では、Aさんと机が地理的に近くに存在することが示される。図示の例では、Aさんが携行するノードの関係性情報記憶機能部31は、関係性種別が近隣関係であること、関係ノード識別子は机に付着するノードのノード識別子「#2」であること、Aさんと机の間の距離が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図13は、関係性種別の一例である格納関係を示す。格納関係は、第1の実体が第2の実体を格納していることを示す。図示の格納関係の例では、机の引き出しが書類を格納していることが示される。図示の例では、机の引き出しに付着するノードの関係性情報記憶機能部31は、関係性種別が格納関係であること、関係ノード識別子は書類のノードのノード識別子「#2」であること、机の引き出しが書類を格納した頻度が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図14は、関係性種別の一例である被格納関係を示す。被格納関係は、第1の実体が第2の実体に格納されていることを示す。図示の被格納関係の例では、書類が机の引き出しに格納されていることが示される。図示の例では、書類に付着するノードの関係性情報記憶機能部31は、関係性種別が被格納関係であること、関係ノード識別子は机の引き出しに付着するノードのノード識別子「#1」であること、書類が机の引き出しに格納された頻度が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図15は、関係性種別の一例である同種関係を示す。同種関係は、第1の実体と第2の実体が同じ種類の実体であることを示す。図示の同種関係の例では、A社製の椅子とB社製の椅子がいずれも椅子という同じ種類に属することが示される。図示の例では、A社製の椅子に付着するノードの関係性情報記憶機能部31は、関係性種別が同種関係であること、関係ノード識別子はB社製の椅子のノードのノード識別子「#2」であること、製造者が同じであるか否か関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図16は、関係性種別の一例である所有関係を示す。所有関係は、第1の実体が第2の実体を所有していることを示す。図示の所有関係の例では、Aさんがバッグを所有していることが示される。図示の例では、Aさんが携行するノードの関係性情報記憶機能部31は、関係性種別が所有関係であること、関係ノード識別子はAさんのバッグのノード識別子「#2」であること、Aさんがバッグを所有している時間が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図17は、関係性種別の一例である被所有関係を示す。被所有関係は、第1の実体が第2の実体に所有されていることを示す。図示の被所有関係の例では、バッグがAさんに所有されていることが示される。図示の例では、Aさんのバッグに付着するノードの関係性情報記憶機能部31は、関係性種別が被所有関係であること、関係ノード識別子はAさんの携行するノードのノード識別子「#1」であること、バッグがAさんに所有されている 時間が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図18は、関係性種別の一例である使用関係を示す。使用関係は、第1の実体が第2の実体を使用することを示す。図示の使用関係の例では、Aさんがバッグを使用していることが示される。図示の例では、Aさんが携行するノードの関係性情報記憶機能部31は、関係性種別が使用関係であること、関係ノード識別子はAさんが使用するバッグのノード識別子「#2」であること、Aさんがバッグを使用した期間が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図19は、関係性種別の一例である被使用関係を示す。被使用関係は、第1の実体が第2の実体に使用されていることを示す。図示の被使用関係の例では、バッグがAさんに使用されていることが示される。図示の例では、バッグに付着するノードの関係性情報記憶機能部31は、関係性種別が被使用関係であること、関係ノード識別子はAさんが携行するノード識別子「#1」であること、バッグがAさんに使用されている期間が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図20は、関係性種別の一例である同機能関係を示す。同機能関係は、第1の実体と第2の実体が同じ機能を発揮することを示す。図示の同機能関係の例では、椅子とソファーが何れも人を座らせる点で機能が共通していることが示される。図示の例では、椅子に付着するノードの関係性情報記憶機能部31は、関係性種別が同機能関係であること、関係ノード識別子はソファーに付着するノードのノード識別子「#2」であること、ス笑わせる機能の類似性が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図21は、関係性種別の一例である優位関係を示す。優位関係は、第1の実体が第2の実体よりも優れた特性を有することを示す。図示の優位関係の例では、高級腕時計が低級腕時計(高級でない腕時計)より価格的に及び/又は機能的に上位にあることが示される。図示の例では、高級腕時計に付着するノードの関係性情報記憶機能部31は、関係性種別が優位関係であること、関係ノード識別子は低級腕時計のノード識別子「#2」であること、価格的な高額性(又は価格差)又は機能的な優位性が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図22は、関係性種別の一例である劣位関係を示す。劣位関係は、第1の実体が第2の実体よりも劣った特性を有することを示す。図示の劣位関係の例では、低級腕時計が高級腕時計より価格的に及び/又は機能的に下位にあることが示される。図示の例では、低級腕時計に付着するノードの関係性情報記憶機能部31は、関係性種別が劣位関係であること、関係ノード識別子は高級腕時計のノード識別子「#1」であること、価格的な低額性(価格差)又は機能的な劣位性が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図23は、関係性種別の一例である参照関係を示す。参照関係は、第1の実体が第2の実体を参照又は要求していることを示す。図示の参照関係の例では、中華料理の素が野菜を必要なものとして参照していることが示される。図示の例では、中華料理の素に付着するノードの関係性情報記憶機能部31は、関係性種別が参照関係であること、関係ノード識別子は野菜に付着するノードのノード識別子「#2」であること、中華料理の素が野菜を必要としている度合いが関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図24は、関係性種別の一例である被参照関係を示す。被参照関係は、第1の実体が第2の実体により参照又は要求されることを示す。図示の被参照関係の例では、野菜が中華料理の素で必要なものとして参照されていることが示される。図示の例では、野菜に付着するノードの関係性情報記憶機能部31は、関係性種別が被参照関係であること、関係ノード識別子は中華料理の素に付着するノードのノード識別子「#1」であること、野菜が中華料理の素に必要とされている度合いが関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図25は、関係性種別の一例である製品関係を示す。製品関係は、第1の実体が第2の実体を材料とした製品であることを示す。図示の製品関係の例では、弁当が肉を材料の1つとする製品であることが示される。図示の例では、弁当に付着するノードの関係性情報記憶機能部31は、関係性種別が製品関係であること、関係ノード識別子は肉に付着するノードのノード識別子「#2」であること、弁当における肉の構成比が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図26は、関係性種別の一例である材料関係を示す。材料関係は、第1の実体が第2の実体(製品)の材料であることを示す。図示の材料関係の例では、肉が弁当の材料であることが示される。図示の例では、肉に付着するノードの関係性情報記憶機能部31は、関係性種別が材料関係であること、関係ノード識別子は弁当に付着するノードのノード識別子「#1」であること、弁当における肉の構成比が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図27は、関係性種別の一例である原因関係を示す。原因関係は、第1の実体が第2の実体(結果)の原因であることを示す。図示の原因関係の例では、ストーブがソファーの出火の原因になることが示される。図示の例では、ストーブに付着するノードの関係性情報記憶機能部31は、関係性種別が原因関係であること、関係ノード識別子はソファーに付着するノードのノード識別子「#2」であること、因果関係の強さ(出火しやすさ)が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図28は、関係性種別の一例である結果関係を示す。結果関係は、第1の実体が第2の実体(原因)に対する結果であることを示す。図示の結果関係の例では、ソファーの出火はストーブをソファーに近づけたことの結果であることが示される。図示の例では、ソファーに付着するノードの関係性情報記憶機能部31は、関係性種別が結果関係であること、関係ノード識別子はストーブに付着するノードのノード識別子「#1」であること、因果関係の強さ(出火しやすさ)が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図29は、関係性種別の一例である危険関係を示す。危険関係は、第1の実体が第2の実体にとって危険であることを示す。図示の危険関係の例では、ストーブが熱いことを知らない赤ん坊にとって、ストーブは危険であることが示される。図示の例では、ストーブに付着するノードの関係性情報記憶機能部31は、関係性種別が危険関係であること、関係ノード識別子は赤ん坊に付着するノードのノード識別子「#2」であること、危険性の程度が関係性強度で表されること、関係性寿命が残り1時間であることを記憶している。
図30は、本発明の第2実施例によるノードの構成例を示し、このノードは図1,2に示されるノードに使用可能である。ノードは、属性情報記憶機能部301、関係性情報記憶機能部302、通信機能部303及び制御機能部304から構成される。
(1)属性情報記憶機能部
属性情報記憶機能部301は、ノードが付着する実体の各種の属性情報を記憶する。図31は属性情報の構成を示す。属性情報は図示されるように属性種別311及び属性内容312から構成されてもよい。属性種別311は、実体の物理的特徴を示す属性(実体の形、色、温度、位置、材料等)、何らかの権利主体を示す属性(製造者、所有者、使用者、借用者等)、実体を一意に識別するための属性(身元情報、製品番号、製造番号等)、実体に関する履歴を示す属性(製造日、所有日、使用日、借用日、使用頻度、借用頻度等)、実体の価値を示す属性(製造価格、販売価格等)、実体の品質を示す属性(等級、ランク、消費期限等)、実体の論理的特徴を示す属性(人、物、環境、機能等)等の多種多様な属性を含んでもよい。属性内容312は属性種別によって特定された属性の具体的な内容を示す。属性情報記憶機能部301は図32に示されるような属性情報管理テーブルを備えていてもよい。この属性情報管理テーブルでは、1つの属性情報は1つの行(レコード)で記憶可能であり、そのような行が複数個用意されている。
図33は属性情報記憶機能部301の動作例を示すフローチャートである。フローはステップ331から始まり、制御機能部304から属性情報の読み出し要求の有無が判定される。フローは、読み出し要求がなければステップ333に進み、読み出し要求があればステップ332を経てステップ333に進む。ステップ332では、指定された属性種別の属性情報がテーブルから読み出され、それが制御機能部に通知される。ステップ333では、制御機能部304からの属性情報の書き込み要求の有無が判定される。フローは、書き込み要求がなければステップ331に戻り、書き込み要求があればステップ334を経てステップ331に戻る。ステップ334では、制御機能部33から通知された属性情報をテーブルに書き込む。
(2)関係性情報記憶機能部
図30の関係性情報記憶機能部302は、実施例1で説明済みのものと同様であるため、重複的な説明は省略される。
(3)通信機能部
図30の通信機能部303は、任意の通信リンクや通信ネットワークを介して(それらの通信プロトコルに準拠して)2以上のノード間で属性情報の要求メッセージ、属性情報の応答メッセージ、関係性情報の要求メッセージ、関係性情報の応答メッセージを通信する。図34は属性情報の要求メッセージのフォーマット例を示す。属性情報の要求メッセージは図示されるようにメッセージ種別341と関係性種別342のフィールドを含んでもよい。メッセージ種別341はそのメッセージが属性情報の要求メッセージであることを示す。属性種別342は属性情報の要求メッセージを送信したノードが必要とする属性情報の種別を表す。図35は属性情報の応答メッセージを示す。応答メッセージも図示されるようにメッセージ種別351と属性種別352とを含んでもよい。メッセージ種別351はそのメッセージが属性情報の応答メッセージであることを示す。属性情報352は属性情報の応答メッセージを送信したノードが保有する属性情報を表す。関係性情報の要求及び応答メッセージについては実施例1で説明済みのものと同様であるため、重複的な説明は省略される。
図36,37は、図30の通信機能部303の動作例を示すフローチャート(その1,2)である。フローはステップ361から始まり、制御機能部304からの関係性情報の要求メッセージの有無が判定される。フローは、要求メッセージがなければステップ363に進み、要求メッセージがあればステップ362に進んだ後にステップ363に進む。ステップ362では、制御機能部304から通知された関係性情報の要求メッセージが、指定された宛先ノードに、通信ネットワークに準拠した通信プロトコルで送信される。ステップ363では、制御機能部304からの関係性情報の応答メッセージの有無が判定される。フローは、応答メッセージがなければステップ365に進み、応答メッセージがあればステップ364に進んだ後にステップ365に進む。ステップ364では、制御機能部304から通知された関係性情報の応答メッセージが、指定された宛先ノードに、通信ネットワークに準拠したプロトコルで送信される。ステップ365では、通信ネットワークを通じて自ノード宛の関係性情報の要求メッセージを受信したか否かが判定される。フローは、要求メッセージが受信されていなければステップ367に進み、要求メッセージが受信されていればステップ366に進んだ後にステップ367に進む。ステップ366では、関係性情報の要求メッセージとその送信元ノードの識別子とが制御機能部304に通知される。ステップ367では、通信ネットワークを通じて自ノード宛の関係性情報の応答メッセージを受信したか否かが判定される。フローは、応答メッセージが受信されていなければ図37のステップ371に進み、応答メッセージが受信されていればステップ368に進んだ後にステップ371に進む。ステップ368では、関係性情報の応答メッセージとその送信元ノードの識別子とが制御機能部304に通知される。
図37のステップ371では、制御機能部304からの属性情報の要求メッセージの有無が判定される。フローは、要求メッセージがなければステップ373に進み、要求メッセージがあればステップ372に進んだ後にステップ373に進む。ステップ372では、制御機能部304から通知された属性情報の要求メッセージが、指定された宛先ノードに、通信ネットワークに準拠した通信プロトコルで送信される。ステップ373では、制御機能部304からの属性情報の応答メッセージの有無が判定される。フローは、応答メッセージがなければステップ375に進み、応答メッセージがあればステップ374に進んだ後にステップ375に進む。ステップ374では、制御機能部304から通知された属性情報の応答メッセージが、指定された宛先ノードに、通信ネットワークに準拠したプロトコルで送信される。ステップ375では、通信ネットワークを通じて自ノード宛の属性情報の要求メッセージを受信したか否かが判定される。フローは、要求メッセージが受信されていなければステップ377に進み、要求メッセージが受信されていればステップ376に進んだ後にステップ377に進む。ステップ376では、属性情報の要求メッセージとその送信元ノードの識別子とが制御機能部304に通知される。ステップ377では、通信ネットワークを通じて自ノード宛の属性情報の応答メッセージを受信したか否かが判定される。フローは、応答メッセージが受信されていなければ図36のステップ361に戻り、応答メッセージが受信されていればステップ378に進んだ後にステップ371に進む。ステップ378では、属性情報の応答メッセージとその送信元ノードの識別子とが制御機能部304に通知される。
(4)制御機能部
図30の制御機能部304は、関係性情報及び属性情報を用いるアプリケーションプログラムを実行し、アプリケーションが必要とする関係性情報を関係性情報記憶機能部302から或いは通信機能部303を介して取得し、アプリケーションが必要とする属性情報を属性情報記憶機能部301から或いは通信機能部303を介して取得する。
図38乃至41は制御機能部304の動作例を示すフローチャート(その1乃至4)を示す。フローはステップ381から始まり、アプリケーションが他ノードの関係性情報を必要とするか否かが判定される。必要とされなければフローはステップ383に進み、必要とされればフローはステップ382に進んだ後にステップ383に進む。ステップ382では、メッセージの宛先となるノード識別子が指定され、関係性情報の要求メッセージが通信機能部303に通知される。ステップ383ではアプリケーションが自ノードの関係性情報を必要とするか否かが判定される。必要とされなければフローはステップ385に進み、必要とされればフローはステップ384に進んだ後にステップ385に進む。ステップ384では、必要な関係性種別の関係性情報が関係性情報記憶機能部302から読み出される。ステップ385では、アプリケーションが自ノードの関係性情報の書き込みを必要とするか否かが判定される。必要とされなければフローは図39のステップ391に進み、必要とされればフローはステップ386に進んだ後にステップ391に進む。ステップ396では関係性情報が関係性情報記憶機能部302に書き込まれる。
図39のステップ391では、アプリケーションが他ノードの属性情報を必要とするか否かが判定される。必要とされなければフローはステップ393に進み、必要とされればフローはステップ392に進んだ後にステップ393に進む。ステップ392では、メッセージの宛先となるノード識別子が指定され、属性情報の要求メッセージが通信機能部303に通知される。ステップ393ではアプリケーションが自ノードの属性情報を必要とするか否かが判定される。必要とされなければフローはステップ395に進み、必要とされればフローはステップ394に進んだ後にステップ395に進む。ステップ394では、必要な属性種別の属性情報が属性情報記憶機能部301から読み出される。ステップ395では、アプリケーションが自ノードの属性情報の書き込みを必要とするか否かが判定される。必要とされなければフローは図40のステップ401に進み、必要とされればフローはステップ396に進んだ後にステップ401に進む。ステップ396では属性情報が属性情報記憶機能部301に書き込まれる。
図40のステップ401では、通信機能部303からの関係性情報の要求メッセージの有無が判定される。要求メッセージがなければフローはステップ405に進み、要求メッセージがあればフローはステップ402,403,404を経てステップ405に至る。ステップ402では、関係性情報の要求メッセージとその送信元ノードの識別子とが通信機能部303で受信される。ステップ403では、その要求メッセージで示される関係性種別の関係性情報が関係性情報記憶機能部302から読み出される。ステップ404では、関係性情報の応答メッセージの送信先ノードの識別子として、関係性情報の要求メッセージの送信元ノードの識別子が指定され、その応答メッセージが通信機能部303に通知される。ステップ405では通信機能部303からの関係性情報の応答メッセージの有無が判定される。応答メッセージがなければフローは図41のステップ411に進み、応答メッセージがあればフローはステップ406の後にステップ411に進む。ステップ406では、関係性情報の応答メッセージとその送信元の識別子とが通信機能部303で受信され、関係性情報がアプリケーションで利用される。
図41のステップ401では、通信機能部303からの属性情報の要求メッセージの有無が判定される。要求メッセージがなければフローはステップ415に進み、要求メッセージがあればフローはステップ412,413,414を経てステップ415に至る。ステップ412では、属性情報の要求メッセージとその送信元ノードの識別子とが通信機能部303で受信される。ステップ413では、その要求メッセージで示される属性種別の属性情報が属性情報記憶機能部301から読み出される。ステップ414では、属性情報の応答メッセージの送信先ノードの識別子として、属性情報の要求メッセージの送信元ノードの識別子が指定され、その応答メッセージが通信機能部303に通知される。ステップ415では通信機能部303からの属性情報の応答メッセージの有無が判定される。応答メッセージがなければフローは図38のステップ381に進み、応答メッセージがあればフローはステップ416の後にステップ381に進む。ステップ416では、属性情報の応答メッセージとその送信元の識別子とが通信機能部303で受信され、属性情報がアプリケーションで利用される。
図42は、本発明の第3実施例によるノードの構成例を示し、このノードは図1,2に示されるノードに使用可能である。ノードは、属性情報記憶機能部421、関係性情報記憶機能部422、通信機能部423、属性情報関係判定機能部424及び制御機能部425から構成される。
(1)属性情報記憶機能部
属性情報記憶機能部421は、第2実施例で説明済みのものと同様であるため、重複的な説明は省略される。
(2)関係性情報記憶機能部
関係性情報記憶機能部422は、実施例1で説明済みのものと同様であるため、重複的な説明は省略される。
(3)通信機能部
図30の通信機能部423は、任意の通信リンクや通信ネットワークを介して(それらの通信プロトコルに準拠して)2以上のノード間で、属性情報の通知メッセージ、属性情報の要求メッセージ、属性情報の応答メッセージ、関係性情報の要求メッセージ、関係性情報の応答メッセージを通信する。図43は属性情報の通知メッセージのフォーマット例を示す。属性情報の通知メッセージは図示されるようにメッセージ種別431と属性情報432のフィールドを含んでもよい。メッセージ種別431はそのメッセージが属性情報の通知メッセージであることを示す。属性情報432はその通知メッセージを送信したノードが保有する属性情報を表す。属性情報の要求メッセージ及び応答メッセージは第2実施例で説明済みのものと同様であるため、重複的な説明は省略される。関係性情報の要求及び応答メッセージについては第1実施例で説明済みのものと同様であるため、重複的な説明は省略される。
図44乃至46は、図42の通信機能部423の動作例を示すフローチャート(その1乃至3)である。フローはステップ441から始まり、制御機能部425からの関係性情報の要求メッセージの有無が判定される。フローは、要求メッセージがなければステップ443に進み、要求メッセージがあればステップ442に進んだ後にステップ443に進む。ステップ442では、制御機能部425から通知された関係性情報の要求メッセージが、指定された宛先ノードに、通信ネットワークに準拠した通信プロトコルで送信される。ステップ443では、制御機能部425からの関係性情報の応答メッセージの有無が判定される。フローは、応答メッセージがなければステップ445に進み、応答メッセージがあればステップ444に進んだ後にステップ445に進む。ステップ444では、制御機能部425から通知された関係性情報の応答メッセージが、指定された宛先ノードに、通信ネットワークに準拠したプロトコルで送信される。ステップ445では、通信ネットワークを通じて自ノード宛の関係性情報の要求メッセージを受信したか否かが判定される。フローは、要求メッセージが受信されていなければステップ447に進み、要求メッセージが受信されていればステップ446に進んだ後にステップ447に進む。ステップ446では、関係性情報の要求メッセージとその送信元ノードの識別子とが制御機能部444に通知される。ステップ447では、通信ネットワークを通じて自ノード宛の関係性情報の応答メッセージを受信したか否かが判定される。フローは、応答メッセージが受信されていなければ図35のステップ451に進み、応答メッセージが受信されていればステップ448に進んだ後にステップ451に進む。ステップ448では、関係性情報の応答メッセージとその送信元ノードの識別子とが制御機能部425に通知される。
図45のステップ451では、制御機能部425からの属性情報の要求メッセージの有無が判定される。フローは、要求メッセージがなければステップ453に進み、要求メッセージがあればステップ452に進んだ後にステップ453に進む。ステップ452では、制御機能部425から通知された属性情報の要求メッセージが、指定された宛先ノードに、通信ネットワークに準拠した通信プロトコルで送信される。ステップ453では、制御機能部425からの属性情報の応答メッセージの有無が判定される。フローは、応答メッセージがなければステップ455に進み、応答メッセージがあればステップ454に進んだ後にステップ455に進む。ステップ454では、制御機能部425から通知された属性情報の応答メッセージが、指定された宛先ノードに、通信ネットワークに準拠したプロトコルで送信される。ステップ455では、通信ネットワークを通じて自ノード宛の属性情報の要求メッセージを受信したか否かが判定される。フローは、要求メッセージが受信されていなければステップ457に進み、要求メッセージが受信されていればステップ456に進んだ後にステップ457に進む。ステップ456では、属性情報の要求メッセージとその送信元ノードの識別子とが制御機能部425に通知される。ステップ457では、通信ネットワークを通じて自ノード宛の属性情報の応答メッセージを受信したか否かが判定される。フローは、応答メッセージが受信されていなければ図46のステップ461に進み、応答メッセージが受信されていればステップ458に進んだ後にステップ461に進む。ステップ458では、属性情報の応答メッセージとその送信元ノードの識別子とが制御機能部425に通知される。
図46のステップ461では、制御機能部425からの属性情報の通知メッセージの有無が判定される。フローは、通知メッセージがなければステップ463に進み、通知メッセージがあればステップ462に進んだ後にステップ463に進む。ステップ462では、制御機能部425から通知された属性情報の通知メッセージが、指定された宛先ノードに、通信ネットワークに準拠した通信プロトコルで送信される。ステップ463では、通信ネットワークを通じて自ノード宛の属性情報の通知メッセージを受信したか否かが判定される。フローは、通知メッセージが受信されていなければ図44のステップ441に戻り、通知メッセージが受信されていればステップ464に進んだ後にステップ441に戻る。ステップ464では、属性情報の通知メッセージとその送信元ノードの識別子とが制御機能部425に通知される。
(4)属性情報関係性判定機能部
図42の属性情報関係性判定機能部424は、自ノードの属性情報記憶機能部421に記憶された自ノードの属性情報と、属性情報の通知メッセージによって得た他ノードの属性情報から2つの実体間の関係性を判定する。
図47は属性情報関係性判定機能部424の動作例を示すフローチャートである。ステップ471では、他ノードの属性情報が制御機能部425から得られたか否かが判定される。属性情報関係性判定機能部424は他ノードの属性情報が得られるまで待機する。他ノードの属性情報が得られると、フローはステップ472に進む。ステップ472では、他ノードの属性情報と同じ属性種別の属性情報が、属性情報記憶機能部421から読み出される。ステップ473では、他ノードの属性情報の内容と読み出された自ノードの属性情報の内容とが比較される。ステップ474では、属性内容に類似性があるか否かが判定される。類似性がなければフローはステップ471に戻り、類似性があればフローはステップ475に進む。ステップ475ではその類似性が関係性情報に反映されるように、関係性記憶機能部422内の関係性情報が更新又は追加される。以後フローはステップ471に戻り、同様な手順が反復される。
様々な関係性種別に関する類否判断の具体例が以下に列挙される。
近隣関係:2つの位置を示す属性から2つの実体間の距離が計算され、その距離が所定値以内ならば2つの実体は近隣関係にあると判断されてもよい。
格納関係又は被格納関係:2つの実体の位置を示す属性がほぼ同じであって、一方の実体の機能を示す属性が格納機能を有することを示し、他方の実体の機能を示す属性が格納機能を有しないことを示す場合に、各実体は格納関係又は被格納関係にあると判断されてもよい。
同種関係:2つの実体の種類を示す属性が同じであれば、2つの実体は同種関係にあると判断されてもよい。
所有関係又は被所有関係:2つの実体の所有者を示す属性が同じであって、一方の実体の属性が人であり、他方の実体の属性が物である場合に、2つの実体の各々は所有関係又は被所有関係にあると判断されてもよい。
使用関係又は被使用関係:2つの実体の使用者を示す属性が同じであって、一方の実体の属性が人であり、他方の実体の属性が物である場合に、2つの実体の各々は所有関係又は被所有関係にあると判断されてもよい。
同機能関係:2つの実体の機能を示す属性が同じであれば、2つの実体は同機能関係にあると判断されてもよい。
優位関係又は劣位関係:2つの実体の購入価格を示す属性を比較し、一方の実体の購入価格が他方の実体の購入価格より高ければ、一方の実体は他方の実体に対して優位関係にあると判断され、他方は一方に対して劣位関係にあると判断されてもよい。
(5)制御機能部
図42の制御機能部425は、関係性情報及び属性情報を用いるアプリケーションプログラムを実行し、アプリケーションが必要とする関係性情報を関係性情報記憶機能部422から或いは通信機能部423を介して取得し、アプリケーションが必要とする属性情報を属性情報記憶機能部421から或いは通信機能部423を介して取得する。更に、制御機能部425は、アプリケーションにより実体の新しい属性情報が属性情報記憶機能部421に書き込まれた場合に、その属性情報を他の実体のノードに通知させてもよい。そのような通知は、通信機能部423に接続される通信リンクや通信ネットワークのブロードキャスト機能及び/又はマルチキャスト機能等を用いてなされてもよい。
図48乃至51は制御機能部425の動作例を示すフローチャート(その1乃至4)を示す。フローはステップ481から始まり、アプリケーションが他ノードの関係性情報を必要とするか否かが判定される。必要とされなければフローはステップ483に進み、必要とされればフローはステップ482に進んだ後にステップ483に進む。ステップ482では、メッセージの宛先となるノード識別子が指定され、関係性情報の要求メッセージが通信機能部423に通知される。ステップ483ではアプリケーションが自ノードの関係性情報を必要とするか否かが判定される。必要とされなければフローはステップ485に進み、必要とされればフローはステップ484に進んだ後にステップ485に進む。ステップ484では、必要な関係性種別の関係性情報が関係性情報記憶機能部422から読み出される。ステップ485では、アプリケーションが自ノードの関係性情報の書き込みを必要とするか否かが判定される。必要とされなければフローは図49のステップ491に進み、必要とされればフローはステップ486に進んだ後にステップ491に進む。ステップ396では関係性情報が関係性情報記憶機能部422に書き込まれる。
図49のステップ491では、アプリケーションが他ノードの属性情報を必要とするか否かが判定される。必要とされなければフローはステップ493に進み、必要とされればフローはステップ492に進んだ後にステップ3493に進む。ステップ492では、メッセージの宛先となるノード識別子が指定され、属性情報の要求メッセージが通信機能部423に通知される。ステップ493ではアプリケーションが自ノードの属性情報を必要とするか否かが判定される。必要とされなければフローはステップ495に進み、必要とされればフローはステップ494に進んだ後にステップ495に進む。ステップ494では、必要な属性種別の属性情報が属性情報記憶機能部421から読み出される。ステップ495では、アプリケーションが自ノードの属性情報の書き込みを必要とするか否かが判定される。必要とされなければフローは図50のステップ501に進み、必要とされればフローはステップ496,497に進んだ後にステップ501に進む。ステップ496では属性情報が属性情報記憶機能部421に書き込まれる。ステップ497では複数の他ノードを宛先とするノード識別子が指定され、通信機能部423により属性情報の通知メッセージがそれらに通知される。
図50のステップ401では、通信機能部423からの関係性情報の要求メッセージの有無が判定される。要求メッセージがなければフローはステップ505に進み、要求メッセージがあればフローはステップ502,503,504を経てステップ505に至る。ステップ502では、関係性情報の要求メッセージとその送信元ノードの識別子とが通信機能部423で受信される。ステップ503では、その要求メッセージで示される関係性種別の関係性情報が関係性情報記憶機能部422から読み出される。ステップ504では、関係性情報の応答メッセージの送信先ノードの識別子として、関係性情報の要求メッセージの送信元ノードの識別子が指定され、その応答メッセージが通信機能部423に通知される。ステップ505では通信機能部423からの関係性情報の応答メッセージの有無が判定される。応答メッセージがなければフローは図51のステップ511に進み、応答メッセージがあればフローはステップ506の後にステップ511に進む。ステップ506では、関係性情報の応答メッセージとその送信元の識別子とが通信機能部423で受信され、関係性情報がアプリケーションで利用される。
図51のステップ511では、通信機能部423からの属性情報の要求メッセージの有無が判定される。要求メッセージがなければフローはステップ515に進み、要求メッセージがあればフローはステップ512,513,514を経てステップ515に至る。ステップ512では、属性情報の要求メッセージとその送信元ノードの識別子とが通信機能部423で受信される。ステップ513では、その要求メッセージで示される属性種別の属性情報が属性情報記憶機能部421から読み出される。ステップ514では、属性情報の応答メッセージの送信先ノードの識別子として、属性情報の要求メッセージの送信元ノードの識別子が指定され、その応答メッセージが通信機能部423に通知される。ステップ515では通信機能部423からの属性情報の応答メッセージの有無が判定される。応答メッセージがなければフローはステップ517に進み、応答メッセージがあればフローはステップ516の後にステップ517に進む。ステップ516では、属性情報の応答メッセージとその送信元の識別子とが通信機能部423で受信され、属性情報がアプリケーションで利用される。ステップ517では、通信機能部423からの属性情報の通知メッセージの有無が判定される。通知メッセージがなければブローは図48のステップ481に戻り、通知メッセージがあればフローはステップ518,519に進んだ後にステップ481に戻る。ステップ518では、属性情報の通知メッセージとその送信元ノード識別子とが通信機能部423で受信される。ステップ519では、送信元ノード識別子及び属性情報が属性情報関係性判定機能部424に通知される。
図52は本発明の第4実施例によるノードの構成例を示し、このノードは図1,2に示されるノードに使用可能である。ノードは、関係性情報記憶機能部521、通信機能部522、隣接関係判定機能部523及び制御機能部524から構成される。
(1)関係性情報記憶部
関係性情報記憶機能部521は、第1実施例で説明済みのものと同様であるため、重複的な説明は省略される。
(2)制御機能部
制御機能部524は、第1実施例で説明済みのものと同様であるため、重複的な説明は省略される。
(3)通信機能部
通信機能部522は、任意の通信リンクや通信ネットワークを介して(それらの通信プロトコルに準拠して)2以上のノード間で関係性情報の要求メッセージや応答メッセージを通信する。また、通信機能部522は通信リンクや通信ネットワークのトポロジにおいて、隣接ノードが出現した場合や消滅した場合に隣接ノード識別子情報を隣接関係判定機能部523に通知する。関係性情報の要求メッセージは第1実施例で説明済みのものと同様であるため、重複的な説明は省略される。
図53,54は、通信機能部522の動作例を示すフローチャート(その1,2)である。フローはステップ531から始まり、制御機能部524からの関係性情報の要求メッセージの有無が判定される。フローは、要求メッセージがなければステップ533に進み、要求メッセージがあればステップ532に進んだ後にステップ533に進む。ステップ532では、制御機能部524から通知された関係性情報の要求メッセージが、指定された宛先ノードに、通信ネットワークに準拠した通信プロトコルで送信される。ステップ533では、制御機能部524からの関係性情報の応答メッセージの有無が判定される。フローは、応答メッセージがなければステップ535に進み、応答メッセージがあればステップ534に進んだ後にステップ535に進む。ステップ534では、制御機能部524から通知された関係性情報の応答メッセージが、指定された宛先ノードに、通信ネットワークに準拠したプロトコルで送信される。ステップ535では、通信ネットワークを通じて自ノード宛の関係性情報の要求メッセージを受信したか否かが判定される。フローは、要求メッセージが受信されていなければステップ537に進み、要求メッセージが受信されていればステップ536に進んだ後にステップ537に進む。ステップ536では、関係性情報の要求メッセージとその送信元ノードの識別子とが制御機能部524に通知される。ステップ537では、通信ネットワークを通じて自ノード宛の関係性情報の応答メッセージを受信したか否かが判定される。フローは、応答メッセージが受信されていなければ図54のステップ541に進み、応答メッセージが受信されていればステップ538に進んだ後にステップ541に進む。ステップ538では、関係性情報の応答メッセージとその送信元ノードの識別子とが制御機能部524に通知される。
図54のステップ541では、隣接ノードが出現したか否かが判定される。出現していなければフローはステップ543に進み、出現していればフローはステップ542に進んだ後にステップ543に進む。ステップ542では新たに出現した隣接ノードのノード識別子を隣接関係判定機能部523に通知する。ステップ543では隣接ノードが消滅したか否かが判定される。消滅していなければフローは図53のステップ531に戻り、消滅していればフローはステップ544に進んだ後にステップ531に戻る。ステップ544では、いなくなった隣接ノードのノード識別子が隣接関係判定機能部523に通知される。
(4)隣接関係判定機能部
図52の隣接関係判定機能部523は、通信機能部522で受信した隣接ノード識別子に基づいて、自ノードが付着する実体と隣接ノードが付着する実体との間の近隣関係を判定する。
図55は隣接関係判定機能部523の隣接ノード管理テーブルの構成例を示す。隣接ノード管理テーブルは、図示されるように隣接ノード識別子記憶部551及び終始時間記憶部552から成る行を単位として、1以上の行から構成されてもよい。隣接ノード識別子は、隣接ノードを一意に特定可能な識別子である。例えば隣接ノード識別子はノードを相互接続する各種の通信リンクや通信ネットワークの通信方式で定義されている各種のアドレス情報で作成されてもよい。開始時間は隣接ノード識別子で特定されるノードが隣接ノードに該当することとなった時間を示す。終了時間は隣接ノード識別子で特定されるノードが隣接ノードに該当しなくなった時間を示す。開始時間及び終了時間は1つの隣接ノード識別子について1つ以上記憶されてもよい。
図56,57は隣接関係判定機能部523の動作例を示すフローチャート(その1,2)である。ステップ561では、新たに出現した隣接ノードのノード識別子の有無が判定される。ノード識別子がなければフローは図57のステップ571に進み、ノード識別子があればフローはステップ562に進む。ステップ562では、隣接ノード管理テーブル中にそのノード識別子に該当するものの有無が判定される。該当するものがあればフローはステップ563に進み、該当するものがなければフローはステップ564に進む。ステップ563では、合致する隣接ノード識別子の行の終始時間記憶部552に新しい開始時間が書き込まれる。ステップ564では、隣接ノード管理テーブル中の新しい行の隣接ノード識別子記憶部551にその隣接ノード識別子を書き込み、終始時間記憶部552に開始時間を書き込む。ステップ565では、隣接ノード管理テーブルの情報に基づいて、自ノード及び他ノードが隣接している度合いが算出される。ステップ566では、その度合いの高低が判定され、それが低ければフローは図57のステップ571に進み、それが高ければフローはステップ567に進んだ後にステップ571に進む。ステップ567では、自ノードと他ノードの属性が隣接関係を有するものと判断され、その関係性情報が関係性情報記憶部521に書き込まれる。
図57のステップ571では、既存の隣接ノードの中で退去又は消滅したノードの有無が判別される。いなくなったノードがなければフローは図56のステップ561に戻り、それがあればフローはステップ572に進む。ステップ572では、いなくなったノードのノード識別子が隣接ノード管理テーブル中で確認される。ステップ573では、その隣接ノード識別子の行の終始時間記憶部552に新しい終了時刻が書き込まれる。ステップ574では、隣接ノード管理テーブルの情報に基づいて、自ノード及び他ノードが隣接している度合いが算出される。ステップ575ではその度合いの高低が判定され、それが低ければフローは図56のステップ561に戻り、それが高ければフローはステップ576に進んだ後にステップ561に戻る。ステップ576では、自ノードと他ノードの属性が隣接関係を有するものと判断され、その関係性情報が関係性情報記憶部521に書き込まれる。
図58は本発明の第5実施例によるノードの構成例を示し、このノードは図1,2に示されるノードに使用可能である。ノードは、センシング機能部581、関係性情報記憶機能部582、通信機能部32、センシング情報関係性判定機能部584及び制御機能部585から構成される。
(1)センシング機能部
センシング機能部581は、実体の各種の物理的状態を測定し、センシング情報を出力する。センシング情報は、図59に示されるようにセンシング情報種別591及びセンシングデータ592から構成されてもよい。センシング情報種別はセンシング情報がどのような種別に属するかを指定する。センシング情報種別には、例えば、実体そのものの動作状態、電源ON/OFF状態、消費電力、温度、位置、環境状態(実体周辺の温度、湿度、気圧、照明等)、他の実体の存否等が含まれてもよい。センシングデータはセンシング情報種別で指定されるセンシング情報のデータ(具体的な値)を表す。
図60はセンシング機能部581の動作例のフローチャートである。ステップ601では制御機能部585からセンシング情報が要求されたか否かが判定される。要求されていなければフローはステップ603に進み、要求されていればフローはステップ602に進んだ後にステップ603に進む。ステップ602では要求されたセンシング情報種別のセンシングデータを制御機能部585に通知する。ステップ603ではセンシング情報関係性判定機能部584からのセンシング情報の要否が判定される。センシング情報が不要ならばフローはステッ601に戻り、それが必要ならばフローはステップ604に進んだ後にステップ601に戻る。ステップ604では、要求されたセンシング情報種別のセンシングデータをセンシング情報関係性判定機能部584に通知する。
(2)関係性情報記憶機能部
関係性情報記憶機能部582は、第1実施例で説明済みのものと同様であるため、重複的な説明は省略される。
(3)通信機能部
図58の通信機能部581は、任意の通信リンクや通信ネットワークを介して(それらの通信プロトコルに準拠して)2以上のノード間でセンシング情報の要求メッセージ、センシング情報の応答メッセージ、センシング情報の通知メッセージ、関係性情報の要求メッセージ及び関係性情報の応答メッセージ等を通信する。図61はセンシング情報の要求メッセージのフォーマット例を示す。センシング情報の要求メッセージは図示されるようにメッセージ種別611と関係性種別612のフィールドを含んでもよい。メッセージ種別611はそのメッセージがセンシング情報の要求メッセージであることを示す。センシング情報種別612はセンシング情報の要求メッセージを送信したノードが必要とするセンシング情報の種別を表す。図62はセンシング情報の応答メッセージのフォーマット例を示す。センシング情報の応答メッセージは図示されるようにメッセージ種別621とセンシング情報622のフィールドを含んでもよい。メッセージ種別621はそのメッセージがセンシング情報の応答メッセージであることを示す。センシング情報622は、センシング情報の応答メッセージを送信したノードが付着する実体の物理的状態を表す情報である。関係性情報の要求及び応答メッセージは第1実施例で説明済みものと同様であるため、重複的な説明は省略される。図63はセンシング情報の通知メッセージのフォーマット例を示す。センシング情報の通知メッセージも図示されるようにメッセージ種別631とセンシング情報632のフィールドを含んでもよい。メッセージ種別631はそのメッセージがセンシング情報の通知メッセージであることを示す。センシング情報632は、センシング情報の通知メッセージを送信したノードが付着する実体の物理的状態を表す情報である。
図64乃至66は、図58の通信機能部583の動作例を示すフローチャート(その1乃至3)である。フローはステップ641から始まり、制御機能部585からの関係性情報の要求メッセージの有無が判定される。フローは、要求メッセージがなければステップ643に進み、要求メッセージがあればステップ642に進んだ後にステップ643に進む。ステップ642では、制御機能部585から通知された関係性情報の要求メッセージが、指定された宛先ノードに、通信ネットワークに準拠した通信プロトコルで送信される。ステップ643では、制御機能部585からの関係性情報の応答メッセージの有無が判定される。フローは、応答メッセージがなければステップ645に進み、応答メッセージがあればステップ644に進んだ後にステップ645に進む。ステップ644では、制御機能部585から通知された関係性情報の応答メッセージが、指定された宛先ノードに、通信ネットワークに準拠したプロトコルで送信される。ステップ585では、通信ネットワークを通じて自ノード宛の関係性情報の要求メッセージを受信したか否かが判定される。フローは、要求メッセージが受信されていなければステップ647に進み、要求メッセージが受信されていればステップ646に進んだ後にステップ647に進む。ステップ646では、関係性情報の要求メッセージとその送信元ノードの識別子とが制御機能部585に通知される。ステップ647では、通信ネットワークを通じて自ノード宛の関係性情報の応答メッセージを受信したか否かが判定される。フローは、応答メッセージが受信されていなければ図65のステップ651に進み、応答メッセージが受信されていればステップ648に進んだ後にステップ651に進む。ステップ648では、関係性情報の応答メッセージとその送信元ノードの識別子とが制御機能部585に通知される。
図65のステップ651では、制御機能部585からのセンシング情報の要求メッセージの有無が判定される。フローは、要求メッセージがなければステップ653に進み、要求メッセージがあればステップ652に進んだ後にステップ653に進む。ステップ652では、制御機能部585から通知されたセンシング情報の要求メッセージが、指定された宛先ノードに、通信ネットワークに準拠した通信プロトコルで送信される。ステップ653では、制御機能部585からのセンシング情報の応答メッセージの有無が判定される。フローは、応答メッセージがなければステップ655に進み、応答メッセージがあればステップ654に進んだ後にステップ655に進む。ステップ654では、制御機能部585から通知されたセンシング情報の応答メッセージが、指定された宛先ノードに、通信ネットワークに準拠したプロトコルで送信される。ステップ655では、通信ネットワークを通じて自ノード宛のセンシング情報の要求メッセージを受信したか否かが判定される。フローは、要求メッセージが受信されていなければステップ657に進み、要求メッセージが受信されていればステップ656に進んだ後にステップ657に進む。ステップ656では、センシング情報の要求メッセージとその送信元ノードの識別子とが制御機能部585に通知される。ステップ657では、通信ネットワークを通じて自ノード宛のセンシング情報の応答メッセージを受信したか否かが判定される。フローは、応答メッセージが受信されていなければ図66のステップ661に進み、応答メッセージが受信されていればステップ658に進んだ後にステップ661に進む。ステップ658では、関係性情報の応答メッセージとその送信元ノードの識別子とが制御機能部585に通知される。
図66のステップ661では、制御機能部585からのセンシング情報の通知メッセージの有無が判定される。通知メッセージがなければフローはステップ663に進み、通知メッセージがあればフローはステップ662に進む。ステップ662では、制御機能部585から通知されたセンシング情報の通知メッセージが、指定された宛先ノードに、通信ネットワークに準拠した通信プロトコルで送信される。ステップ663では、通信ネットワークを通じて自ノード宛のセンシング情報の通知メッセージを受信したか否かが判定される。フローは、通知メッセージが受信されていなければ図64のステップ641に戻り、通知メッセージが受信されていればステップ664に進んだ後にステップ641に戻る。
(4)センシング情報関係性判定機能部
センシング情報関係性判定機能部584は、センシング機能部581から得た自ノードのセンシング情報と他ノードのセンシング情報との近似性を判定し、2つの実体間の関係性情報を生成する。従ってこの情報は一定の静的な情報ではなく動的に変わり得る情報である。
図67はセンシング情報関係性判定機能部584の動作例のフローチャートを示す。ステップ671では、他ノードのセンシング情報が制御機能部585から得られたか否かが判定される。センシング情報関係性判定機能部584は他ノードのセンシング情報が得られるまで待機する。他ノードのセンシング情報が得られると、フローはステップ672に進む。ステップ672では、他ノードのセンシング情報と同じセンシング情報種別のセンシング情報が、センシング情報機能部581から読み出される。ステップ673では、他ノードのセンシング情報の内容と読み出された自ノードのセンシング情報の内容とが比較される。ステップ674では、センシング情報の内容に類似性があるか否かが判定される。類似性がなければフローはステップ671に戻り、類似性があればフローはステップ675に進む。ステップ675ではその類似性がセンシング情報に反映されるように、関係性記憶機能部582内の関係性情報が更新又は追加される。以後フローはステップ671に戻り、同様な手順が反復される。
(5)制御機能部
図58の制御機能部585は、関係性情報及びセンシング情報を用いるアプリケーションプログラムを実行し、アプリケーションが必要とする関係性情報を関係性情報記憶機能部582から或いは通信機能部583を介して取得する。また、制御機能部585はアプリケーションが必要とするセンシング情報をセンシング機能部581から或いは通信機能部583を介して取得する。制御機能部585は、アプリケーションがセンシング情報を得た場合に、通信機能部が接続されている通信リンクや通信ネットワークのブロードキャスト機能及びマルチキャスト機能等を用いて複数の他ノードにセンシング情報を通知してもよい。
図68乃至71は制御機能部585の動作例を示すフローチャート(その1乃至4)を示す。フローはステップ681から始まり、アプリケーションが他ノードの関係性情報を必要とするか否かが判定される。必要とされなければフローはステップ683に進み、必要とされればフローはステップ682に進んだ後にステップ683に進む。ステップ682では、メッセージの宛先となるノード識別子が指定され、関係性情報の要求メッセージが通信機能部583に通知される。ステップ683ではアプリケーションが自ノードの関係性情報を必要とするか否かが判定される。必要とされなければフローはステップ685に進み、必要とされればフローはステップ685に進む前にステップ684に進む。ステップ684では、必要な関係性種別の関係性情報が関係性情報記憶機能部582から読み出される。ステップ685では、アプリケーションが自ノードの関係性情報の書き込みを必要とするか否かが判定される。必要とされなければフローは図69のステップ691に進み、必要とされればフローはステップ686に進んだ後にステップ691に進む。ステップ686では関係性情報が関係性情報記憶機能部582に書き込まれる。
図69のステップ691では、アプリケーションが他ノードのセンシング情報を必要とするか否かが判定される。必要とされなければフローはステップ693に進み、必要とされればフローはステップ692に進んだ後にステップ693に進む。ステップ692では、他ノードのノード識別子が指定され、センシング情報の要求メッセージが通信機能部583に通知される。ステップ693ではアプリケーションが自ノードの関係性情報を必要とするか否かが判定される。必要とされなければフローはステップ695に進み、必要とされればフローはステップ695に進む前にステップ694に進む。ステップ694では、自ノードのセンシング情報がセンシング機能部581から読み出される。ステップ695では、アプリケーションが自ノードのセンシング情報の書き込みを必要とするか否かが判定される。必要とされなければフローは図70のステップ701に進み、必要とされればフローはステップ696に進んだ後にステップ691に進む。ステップ696では複数の他ノード宛にセンシング情報の通知メッセージが送信される。
図70のステップ701では、通信機能部582からの関係性情報の要求メッセージの有無が判定される。要求メッセージがなければフローはステップ705に進み、要求メッセージがあればフローはステップ702,703,704を経てステップ705に至る。ステップ702では、関係性情報の要求メッセージとその送信元ノードの識別子とが通信機能部582で受信される。ステップ703では、その要求メッセージで示される関係性種別の関係性情報が関係性情報記憶機能部582から読み出される。ステップ704では、関係性情報の応答メッセージの送信先ノードの識別子として、関係性情報の要求メッセージの送信元ノードの識別子が指定され、その応答メッセージが通信機能部582に通知される。ステップ705では通信機能部582からの関係性情報の応答メッセージの有無が判定される。応答メッセージがなければフローは図71のステップ711に進み、応答メッセージがあればフローはステップ706の後にステップ711に進む。ステップ706では、関係性情報の応答メッセージとその送信元の識別子とが通信機能部582で受信され、関係性情報がアプリケーションで利用される。
図71のステップ711では、通信機能部582からのセンシング情報の要求メッセージの有無が判定される。要求メッセージがなければフローはステップ715に進み、要求メッセージがあればフローはステップ712,713,714を経てステップ715に至る。ステップ712では、センシング情報の要求メッセージとその送信元ノード識別子とが通信機能部582で受信される。ステップ703では、その要求メッセージで示されるセンシング情報種別に該当するセンシング情報がセンシング機能部581から読み出される。ステップ714では、センシング情報の応答メッセージの送信先ノードの識別子として、センシング情報の要求メッセージの送信元ノードの識別子が指定され、その応答メッセージが通信機能部582に通知される。ステップ715では通信機能部582からの関係性情報の応答メッセージの有無が判定される。応答メッセージがなければフローはステップ717に進み、応答メッセージがあればフローはステップ716の後にステップ717に進む。ステップ716では、センシング情報の応答メッセージとその送信元の識別子とが通信機能部582で受信され、センシング情報がアプリケーションで利用される。ステップ717では、通信機能部582からのセンシング情報の通知メッセージの有無が判定される。通知メッセージがなければフローは図68のステップ681に戻り、通知メッセージがあればフローはステップ718,719の後にステップ681に戻る。ステップ718では、センシング情報の通知メッセージとその送信元の識別子とが通信機能部582で受信される。ステップ719では、送信元ノード識別子とセンシング情報とがセンシング情報関係性判定機能部584に通知される。
図72は本発明の第6実施例によるノードの構成例を示す。本実施例で使用されるノードは上記の各実施例による特徴を結合させることによって得られる。図示の要素の各々については説明済みのものと同様であるため、重複的な説明は省略される。
システム構成例を示す図(その1)である。
システム構成例を示す図(その2)である。
ノード構成例を示す図である。
関係性情報の構成例を示す図である。
関係性情報管理テーブルの構成例を示す図である。
関係性情報記憶機能部の動作例を示すフローチャートである。
関係性情報要求メッセージの構成例を示す図である。
関係性情報応答メッセージの構成例を示す図である。
通信機能部の動作例を示すフローチャートである。
制御機能部の動作例を示すフローチャート(その1)である。
制御機能部の動作例を示すフローチャート(その2)である。
関係性種別の一例を示す図(近隣関係)である。
関係性種別の一例を示す図(格納関係)である。
関係性種別の一例を示す図(被格納関係)である。
関係性種別の一例を示す図(同種関係)である。
関係性種別の一例を示す図(所有関係)である。
関係性種別の一例を示す図(被所有関係)である。
関係性種別の一例を示す図(使用関係)である。
関係性種別の一例を示す図(被使用関係)である。
関係性種別の一例を示す図(同機能関係)である。
関係性種別の一例を示す図(優位関係)である。
関係性種別の一例を示す図(劣位関係)である。
関係性種別の一例を示す図(参照関係)である。
関係性種別の一例を示す図(被参照関係)である。
関係性種別の一例を示す図(製品関係)である。
関係性種別の一例を示す図(材料関係)である。
関係性種別の一例を示す図(原因関係)である。
関係性種別の一例を示す図(結果関係)である。
関係性種別の一例を示す図(危険関係)である。
ノード構成例を示す図である。
属性情報の構成例を示す図である。
属性情報管理テーブルの構成例を示す図である。
属性情報記憶機能部の動作例を示すフローチャートである。
属性情報要求メッセージの構成例を示す図である。
属性情報応答メッセージの構成例を示す図である。
通信機能部の動作例を示すフローチャート(その1)である。
通信機能部の動作例を示すフローチャート(その2)である。
制御機能部の動作例を示すフローチャート(その1)である。
制御機能部の動作例を示すフローチャート(その2)である。
制御機能部の動作例を示すフローチャート(その3)である。
制御機能部の動作例を示すフローチャート(その4)である。
ノード構成例を示す図である。
属性情報通知メッセージの構成例を示す図である。
通信機能部の動作例を示すフローチャート(その1)である。
通信機能部の動作例を示すフローチャート(その2)である。
通信機能部の動作例を示すフローチャート(その3)である。
属性情報関係性判定機能部の動作例を示すフローチャートである。
制御機能部の動作例を示すフローチャート(その1)である。
制御機能部の動作例を示すフローチャート(その2)である。
制御機能部の動作例を示すフローチャート(その3)である。
制御機能部の動作例を示すフローチャート(その4)である。
ノード構成例を示す図である。
通信機能部の動作例を示すフローチャート(その1)である。
通信機能部の動作例を示すフローチャート(その2)である。
隣接ノード管理テーブルの構成例を示す図である。
隣接関係判定機能部の動作例を示すフローチャート(その1)である。
隣接関係判定機能部の動作例を示すフローチャート(その2)である。
ノード構成例を示す図である。
センシング情報の構成例を示す図である。
センシング機能部の動作例を示すフローチャートである。
センシング情報要求メッセージの構成例を示す図である。
センシング情報応答メッセージの構成例を示す図である。
センシング情報通知メッセージの構成例を示す図である。
通信機能部の動作例を示すフローチャート(その1)である。
通信機能部の動作例を示すフローチャート(その2)である。
通信機能部の動作例を示すフローチャート(その3)である。
通信機能部の動作例を示すフローチャート(その4)である。
制御機能部の動作例を示すフローチャート(その1)を示す。
制御機能部の動作例を示すフローチャート(その2)を示す。
制御機能部の動作例を示すフローチャート(その3)を示す。
制御機能部の動作例を示すフローチャート(その4)を示す。
ノード構成例を示す図である。
符号の説明
31 関係性情報記憶機能部; 32 通信機能部; 33 制御機能部
41 関係性種別; 42 関係ノード識別子; 43 関係性強度; 44 関係性寿命;
71 メッセージ種別; 72 関係性種別
81 メッセージ種別; 82 関係性情報
301 属性情報記憶機能部; 302 関係性情報記憶機能部; 303 通信機能部; 304 制御機能部;
311 属性種別; 312 属性内容; 341 メッセージ種別; 342 属性種別;
351 メッセージ種別; 352 属性情報
421 属性情報記憶機能部; 422 関係性情報記憶機能部; 423 通信機能部; 424 属性関係性判定機能部; 425 制御機能部;
431 メッセージ種別; 432 属性情報;
521 関係性情報記憶機能部; 522 通信機能部; 523 隣接関係判定機能部; 524 制御機能部;
551 隣接ノード識別子記憶部; 552 終始時間記憶部;
581 センシング機能部; 582 関係性情報記憶機能部; 583 通信機能部; 584 センシング情報関係性判定機能部; 585 制御機能部;
591 センシング情報種別; 592 センシングデータ;
611 メッセージ種別; 612 センシング情報種別;
621 メッセージ種別; 622 センシング情報;
631 メッセージ種別; 632 センシング情報