説明

競合調停システム、エージェント装置、競合調停方法、及び、コンピュータプログラム

【課題】複数の場所に亘ってサービス競合の解消を行う競合調停システムを提供する。
【解決手段】競合調停システムは、ユーザ、デバイス、及び、場それぞれに対応して設けられ、相互に通信を行う通信部と、ユーザ、センサ、装置、及び場の状態を示す状態情報と、状態の変化を示すイベント情報、状態の組み合わせによる条件情報、及び、装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶する記憶部と、プロファイル情報、及び、受信した処理情報に応じて処理を行う制御部とを備えるエージェントを具備し、場に対応するエージェントは、該場に位置し、サービス享受対象であるユーザに対応するエージェント又は装置に対応するエージェントからサービス起動情報を受信し、該エージェントそれぞれの状態が受信した該サービス起動情報が有するイベント情報及び条件情報と一致したとき、該サービス起動情報が有する処理情報を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、実空間において生じるサービスの競合を調停する競合調停システム、エージェント装置、競合調停方法、及び、コンピュータプログラムに関する。
【背景技術】
【0002】
コンピュータシステム上において、単体では問題なく動作するサービスを複数同時に行うと、サービスの競合、例えば、複数のタスクを同時実行する際の資源などの競合が生じ、サービスの提供が円滑に行えないなどの問題が発生していた。このような問題は、これまで、競合する資源などをコンピュータシステム上の情報として表した仮想空間においてよく研究されており、様々なオペレーティングシステムの実装においてCPUのタスクスケジューリングや、使用ポートの競合検出、ファイルの排他的制御におけるロックなど非常に多岐にわたっている。
【0003】
上述の問題は、仮想空間だけでなく、実空間においても同様に生じる問題であり、単体では正常に動作するサービスでも、複数のサービスを同時に動作させることにより、サービスの競合が発生する。実空間においても、競合を自律的に検出し、検出した競合を解消すべく調停し、あるいは、サービスの割り込みや、既に提供しているサービスの停止などを行う仕組みが望まれていた。ここでいうサービスは、例えば、部屋にいる人が寒いと感じて室温をエアコンにより高くすることや、日中に室内が室外より暗いとき、ブラインドやカーテンを開けることなどである。
【0004】
上述のような、実空間におけるサービスの競合解消方法として、ホームネットワークシステムを対象としたものが研究されている。ホームネットワークシステムにおいては、部屋や家ごとに設けられ、当該部屋や家に備えられたネットワーク家電製品を集中管理するホームサーバにより管理し、サービスを提供するネットワーク家電製品に生じる競合の発生を特徴付ける要因をサービス、ユーザ、インタフェースの3つの属性に分類して競合の検出や解消を行っていた。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】「ホームネットワークにおけるサービス競合の分類と解消について」、信学会 IN研究会 IN2005−165、p.p55−60、Mar.2006
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述のホームネットワークシステムを用いたサービス競合の解消は、予め定められたホームサーバにより管理される1つの場所、例えば、部屋や、家などに限定されてしまい、複数の場所に亘って提供されるサービスを提供することが困難であった。
【0007】
本発明は、上記問題を解決すべくなされたもので、その目的は、複数の場所に亘ってサービス競合の解消を行う競合調停システムを提供することにある。
【課題を解決するための手段】
【0008】
(1)上記問題を解決するために、本発明は、サービスを提供する複数の場において、サービスの競合を調停する競合調停システムであって、ユーザ、センサ、制御対象となる装置、及び、前記装置によりサービスが提供される前記場それぞれに対応して設けられ、相互に通信を行う通信部と、前記ユーザ、前記センサ、前記装置、及び前記場の状態を示す状態情報と、前記状態の変化を示すイベント情報、前記状態の組み合わせによる条件情報、及び、前記装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶する記憶部と、前記プロファイル情報、及び、受信した前記処理情報に応じて処理を行う制御部とを備えるエージェントを具備し、前記場に対応する前記エージェントは、該場に位置し、サービス享受対象である前記ユーザに対応するエージェント又は前記装置に対応する前記エージェントから前記サービス起動情報を受信し、該エージェントそれぞれの状態が受信した該サービス起動情報が有する前記イベント情報及び前記条件情報と一致したとき、該サービス起動情報が有する前記処理情報を実行することを特徴とする競合調停システムである。
【0009】
(2)また、本発明は、前記場に対応する前記エージェントは、前記サービス起動情報が有する前記処理情報により制御する前記装置が、該場に位置しない場合、該装置が位置する前記場に対応する前記エージェントに該処理情報を送信し、他の前記場に対応する前記エージェントから前記処理情報を受信した場合、受信した該処理情報を実行することを特徴とする。
【0010】
(3)また、本発明は、サービスを提供する複数の場において、サービスの競合を調停する競合調停システムにおける競合調停方法であって、ユーザ、センサ、制御対象となる装置、及び、前記装置によりサービスが提供される前記場それぞれに対応して設けられるエージェントを設けるステップと、前記エージェントが、相互に通信を行うステップと、前記エージェントが、前記ユーザ、前記センサ、前記装置、及び前記場の状態を示す状態情報と、前記状態の変化を示すイベント情報、前記状態の組み合わせによる条件情報、及び、前記装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶するステップと、前記エージェントが、前記プロファイル情報、及び、受信した前記処理情報に応じて処理を行うステップと、前記場に対応する前記エージェントが、該場に位置し、サービス享受対象である前記ユーザに対応するエージェント又は前記装置に対応する前記エージェントから前記サービス起動情報を受信し、該エージェントそれぞれの状態が受信した該サービス起動情報が有する前記イベント情報及び前記条件情報と一致したとき、該サービス起動情報が有する前記処理情報を実行するステップとを有することを特徴とする競合調停方法である。
【0011】
(4)また、本発明は、複数の場においてサービスを提供する競合調停システムにおけるエージェント装置であって、ユーザに対応して設けられ、相互に通信を行う通信部と、前記ユーザ、前記センサ、前記装置、及び前記場の状態を示す状態情報と、前記状態の変化を示すイベント情報、前記状態の組み合わせによる条件情報、及び、前記装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶する記憶部と、前記プロファイル情報、及び、受信した前記処理情報に応じて処理を行う制御部とを備えることを特徴とするエージェント装置である。
【0012】
(5)また、本発明は、複数の場においてサービスを提供する競合調停システムにおけるエージェント装置であって、センサ、制御対象となる装置に対応して設けられ、相互に通信を行う通信部と、前記ユーザ、前記センサ、前記装置、及び前記場の状態を示す状態情報と、前記状態の変化を示すイベント情報、前記状態の組み合わせによる条件情報、及び、前記装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶する記憶部と、前記プロファイル情報、及び、受信した前記処理情報に応じて処理を行う制御部とを備えることを特徴とするエージェント装置である。
【0013】
(6)また、本発明は、複数の場においてサービスを提供する競合調停システムにおけるエージェント装置であって、装置によりサービスが提供される前記場に対応して設けられ、相互に通信を行う通信部と、前記ユーザ、前記センサ、前記装置、及び前記場の状態を示す状態情報と、前記状態の変化を示すイベント情報、前記状態の組み合わせによる条件情報、及び、前記装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶する記憶部と、前記プロファイル情報、及び、受信した前記処理情報に応じて処理を行う制御部とを備えることを特徴とするエージェント装置である。
【0014】
(7)また、本発明は、複数の場においてサービスを提供する競合調停システムに用いられ、ユーザ、センサ、制御対象となる装置、及び、前記装置によりサービスが提供される前記場それぞれに対応して設けられるエージェントに用いられるコンピュータプログラムであって、相互に通信を行うステップと、前記ユーザ、前記センサ、前記装置、及び前記場の状態を示す状態情報と、前記状態の変化を示すイベント情報、前記状態の組み合わせによる条件情報、及び、前記装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶するステップと、前記プロファイル情報、及び、受信した前記処理情報に応じて処理を行うステップと、前記場に対応する前記エージェントが、該場に位置し、サービス享受対象である前記ユーザに対応するエージェント又は前記装置に対応する前記エージェントから前記サービス起動情報を受信し、該エージェントそれぞれの状態が受信した該サービス起動情報が有する前記イベント情報及び前記条件情報と一致したとき、該サービス起動情報が有する前記処理情報を実行するステップとをコンピュータに実行させることを特徴とするコンピュータプログラムである。
【発明の効果】
【0015】
この発明によれば、競合調停システムは、複数の場所に亘ってサービス競合の解消を行うことができる。
【図面の簡単な説明】
【0016】
【図1】本実施形態による競合調停システム100の構成を示す概略ブロック図である。
【図2】本実施形態における各エージェントAの構成を示す概略ブロック図である。
【図3】人を示すヒューマンエージェントHAが備える記憶部4に記憶されるプロファイル情報の一例を示す図である。
【図4】サービスを享受するデバイスを示すデバイスエージェントDAが備える記憶部4に記憶されるプロファイル情報の一例を示す図である。
【図5】サービスを提供するデバイスを示すデバイスエージェントDAが備える記憶部4に記憶されるプロファイル情報の一例を示す図である。
【図6】場を示すフィールドエージェントFAが備える記憶部4に記憶されるプロファイル情報の一例を示す図である。
【図7】第1実施形態における競合調停システム101の動作例を示す模式図である。
【図8】第2実施形態における競合調停システム102の動作例を示す模式図である。
【図9】第3実施形態における競合調停システム103の動作例を示す模式図である。
【発明を実施するための形態】
【0017】
以下、本発明の一実施形態による競合調停システムを図面を参照して説明する。
図1は、本実施形態による競合調停システム100の構成を示す概略ブロック図である。図1に示すように、競合調停システム100は、場(実空間における特定の場所、例えば、部屋や家など)を示すフィールドエージェントFA1〜FAuと、それぞれのフィールドエージェントに対応する場に位置する人を示すヒューマンエージェントHA1〜HAsと、それぞれのフィールドエージェントに対応する場に位置するデバイス(サービスを提供する装置や、センサなど)を示すデバイスエージェントDA1〜DAtを具備している。このように、競合調停システム100では、場、人、デバイスそれぞれを、フィールドエージェント、ヒューマンエージェント、デバイスエージェントとして仮想化して管理する。
【0018】
フィールドエージェントFA、ヒューマンエージェントHA、デバイスエージェントDAのそれぞれのエージェントは、それぞれの特徴を示す情報をプロファイル情報として記憶している。プロファイル情報には、デバイスからサービスを享受するための情報又は状態を示すユーザプロファイル情報と、サービスを提供するデバイスの情報及び状態を示すサービスプロファイルとがある。
場を示すフィールドエージェントと、人を示すヒューマンエージェントとは、サービスを享受するのみであるので、プロファイル情報として、ユーザプロファイル情報を記憶する。サービスを享受するデバイスを示すデバイスエージェントは、プロファイル情報として、ユーザプロファイル情報を記憶する。一方、サービスを提供するデバイスを示すデバイスエージェントは、プロファイル情報として、サービスプロファイル情報を記憶する。サービスを享受し、かつ、サービスを提供するデバイスを示すデバイスエージェントは、プロファイル情報として、ユーザプロファイル情報とサービスプロファイル情報の両方を記憶する。
【0019】
プロファイル情報は、各エージェントの状態を示す情報と、サービス起動情報とを含む。サービス起動情報とは、エージェントの状態の変化を示すイベント情報と、エージェントの状態の組み合わせで示される条件情報と、デバイスに対してサービスを処理させる命令情報とを含んで構成される。例えば、サービス起動情報として、イベント情報は、「部屋Q(場)に人Pが入室した」という情報であり、条件情報は、「部屋Qに人P以外存在しない」という情報であり、命令情報は、「部屋Qに位置するテレビR(デバイス)をオンにする」という情報である。
【0020】
フィールドエージェントは、ヒューマンエージェント又はデバイスエージェントからイベント情報が入力されると、当該フィールドエージェントが示す場に位置する人を示すヒューマンエージェントや、当該フィールドエージェントが示す場に位置するデバイスを示すデバイスエージェントが記憶するプロファイル情報に応じて、デバイスに対して命令情報を送信して、命令情報に示された動作を行わせる。
例えば、上述のサービス起動情報をヒューマンエージェントが記憶している場合、フィールドエージェントは、人Pが入出すると、テレビRをオンにするというサービスを処理する。
【0021】
図2は、本実施形態における各エージェントAの構成を示す概略ブロック図である。エージェントAは、通信部1と、入力部2と、制御部3と、記憶部4と、出力部5とを備える。
通信部1は、他のエージェントA’と通信を行い、受信した情報を入力部2に入力すると共に、出力部5から出力される情報を他のエージェントA’に送信する。
入力部2は、通信部1から入力された情報を制御部3に出力する。また、入力部2は、エージェントAがデバイスエージェントのとき、対応するデバイスが出力する情報を受信し、受信した情報を制御部3に出力する。
【0022】
制御部3は、入力部2から入力された情報に基づいて、記憶部4に記憶されているプロファイル情報を読み出して出力部5に出力する。また、制御部3は、自エージェントにデバイスが対応付けられている場合、入力された命令情報に応じてデバイスの状態を変更してサービスを提供する処理を出力部5を介して行い、記憶部4に記憶されているプロファイル情報を更新する。
また、制御部3は、エージェントAがヒューマンエージェントの場合、デバイスよりサービスを提供されると、プロファイル情報に含まれる享受しているサービスの情報を更新する。
また、制御部3は、エージェントAがフィールドエージェントの場合、自エージェントが示す場に存在する人及びデバイスのエージェントA’のプロファイル情報よりサービス起動情報を受信して、サービス起動情報に含まれるイベント情報及び条件情報に応じて、サービス起動情報に含まれる命令情報を実行するか否かを判定する。
【0023】
記憶部4は、プロファイル情報を記憶する。出力部5は、制御部3が出力する情報を通信部1に出力する。また、出力部5は、エージェントAがデバイスエージェントのとき、命令情報に応じた動作の指示情報を対応するデバイスに送信する。
【0024】
図3は、ヒューマンエージェントHAが備える記憶部4に記憶されるプロファイル情報の一例を示す図である。図3に示すように、ヒューマンエージェントのプロファイル情報は、自エージェントに対応付けられる人を一意に識別するためのID(要素名:id)と、該人の名前(要素名:name)と、該人が持っているデバイスを識別するID(要素名:has)と、該人が位置する場を一意に識別する場のID(複数可)(要素名:belong)と、該人が受けているサービスの状態を示す情報(複数可)(要素名:state)と、サービス起動情報(複数可)(要素名:rule)との項目が含まれる。
【0025】
ヒューマンエージェントのプロファイル情報に含まれる項目それぞれの例として、idは「H−003」であり、nameは「山田太郎」であり、hasは「D−012」などであり、belongはフィールドエージェントの識別子「F−001」であり、stateは「D−005=ON」(D−005で識別されるデバイスエージェントが示すデバイスが提供しているサービスの状態がオン状態である)などである。
【0026】
図4は、サービスを享受するデバイスを示すデバイスエージェントDAが備える記憶部4に記憶されるプロファイル情報の一例を示す図である。サービスを享受するデバイスは、例えば、部屋に持ち込まれると無線通信などでニュースなどの情報を受信して記憶するような情報端末などである。図4に示すようにこのようなデバイスを示すデバイスエージェントのプロファイル情報には、該デバイスを一意に識別するID(要素名:id)と、該デバイスの表示名(要素名:name)と、該デバイスが位置する場のID或は該デバイスを所持している人のID(要素名:belong)と、該デバイスが受けているサービスの状態を示す情報(複数可)(要素名:u−state)と、サービス起動情報(複数可)(要素名:rule)との項目が含まれる。
【0027】
デバイスエージェントのプロファイル情報に含まれる項目それぞれの例として、idは「D−012」であり、nameは「PDA」であり、belongはヒューマンエージェントの識別子「H−003」であり、u−stateは「サービスなし」などである。
【0028】
図5は、サービスを提供するデバイスを示すデバイスエージェントDAが備える記憶部4に記憶されるプロファイル情報の一例を示す図である。サービスを提供するデバイスは、例えば、ニュースなどの情報や、娯楽番組などを提供するテレビや、室内温度を調整する空調設備などである。図5に示すように、デバイスエージェントDAのプロファイル情報は、該デバイスを一意に識別するID(要素名:id)と、該デバイスの表示名(要素名:name)と、該デバイスが行う動作(複数可)(要素名:action)と、該デバイスが位置する場のIDあるいは該デバイスを所持する人のID(要素名:belong)と、該デバイスが提供しているサービスの状態を示す情報(要素名:s−state)と、該デバイスが提供するサービスを享受している人のID(要素名:users)(複数可)との項目が含まれる。
【0029】
デバイスエージェントのプロファイル情報に含まれる項目それぞれの例として、idは「D−005」であり、nameは「液晶テレビ」であり、actionは「ON(デバイスである液晶テレビの電源をオン状態にする)」などであり、belongはフィールドエージェントの識別子「F−001」であり、s−sateはサービスの現在の状態を示す「ON」であり、usersはヒューマンエージェントの識別子「H−003」などである。
【0030】
図6は、場を示すフィールドエージェントFAが備える記憶部4に記憶されるプロファイル情報の一例を示す図である。図6に示すように、フィールドエージェントのプロファイル情報には、該場を一意に識別するID(要素名:id)と、該場の表示名(要素名:name)と、該場の特徴、例えば、屋外か室内かを示す情報(要素名:field)と、該場に位置する人及びデバイスのID(複数可)(要素名:has)と、他の場との連携状況(複数可)(要素名:state)と、サービス起動情報(要素名:rule)(複数可)との項目が含まれる。
【0031】
フィールドエージェントのプロファイルに含まれる項目それぞれの例として、idは「F−001」であり、nameは「リビングルーム」であり、filedは「indoor(室内を示す)」であり、hasはヒューマンエージェントの識別子「H−003」などであり、stateは「F−002=con(F−002で識別されるフィールドエージェントと接続(connected)されていることを示す)」などである。
【0032】
上述のように、ヒューマンエージェント、デバイスエージェント、及び、フィールドエージェントは、プロファイル情報を有し、各項目には、実空間にある人、デバイス、及び、場の状態を示す情報が含まれる構成となっている。
また、id、name、belong、s−stateなどユニークな値しか取らない項目を除き、プロファイル情報に含まれる各項目には、実空間にある人、デバイス、及び、場の状態を示す複数の情報が含まれてもよいし、プロファイル情報には、人や、デバイスに提供する複数のサービスや、サービスを提供するための条件であるイベント情報及び条件情報に応じて、複数のサービス起動情報を設定してもよい。
【0033】
<第1実施形態>
図7は、第1実施形態における競合調停システム101の動作例を示す模式図である。図7(a)は、競合調停システム101の全体構成と動作とを示し、図7(b)は、フィールドエージェントFA(Q)の動作を示している。
【0034】
競合調停システム101は、部屋Qを示すフィールドエージェントFA(Q)と、人Pを示すヒューマンエージェントHA(P)と、人の入出を検出するセンサSを示すデバイスエージェントDA(S)と、テレビを示すデバイスエージェントDA(R)とを含み構成される。
なお、センサSは、例えば、検出対象となる人が携帯する非接触ICカードやRFID(Radio Frequency IDentification)から受信する識別子を検出することにより部屋への入室及び退出を検出することができるリーダー装置などである。また、非接触ICカードやRFIDには、携帯する人を一意に識別するために互いに異なる識別子が割り当てられている。
【0035】
また、ヒューマンエージェントHA(P)のプロファイル情報のサービス起動情報(rule)には、「人Pが部屋Qに入室したとき(イベント情報)、部屋Qに人P以外の人がいなければ(条件情報)、テレビRの電源をオンにする(命令情報)」が設定されている。また、フィールドFA(Q)は、部屋Qに位置するセンサSのデバイスエージェントDA(S)、テレビRのデバイスエージェントDA(R)、及び、人PのヒューマンエージェントHA(P)と通信を行うことにより、それぞれのプロファイル情報を読み出すことができ、フィールドエージェントFA(Q)において、制御部3は、部屋Qに位置するデバイス及び人を示す各エージェントからプロファイル情報を読み出して、「場に存在する人及びデバイスのID(has)」を更新する。また、それぞれのエージェントは、互いに通信を行えることを前提に説明を行う。
【0036】
センサSが、人Pが部屋Qに入室したことを検出すると、「人Pが部屋Qに入室した」イベント情報をデバイスエージェントDA(S)に送信する(ステップS71)。
デバイスエージェントDA(S)において、入力部2は、センサSが送信したイベント情報を受信し、受信したイベント情報を制御部3に出力する。制御部3は、入力されたイベント情報を自エージェントが位置する場のフィールドエージェントFA(Q)に出力部5及び通信部1を介して送信する(ステップS72)。このとき、制御部3は、記憶部4に記憶されているプロファイル情報の「デバイスが位置する場のID(belong)」を読み出すことにより、送信先となるフィールドエージェントFA(Q)を特定する。
【0037】
フィールドエージェントFA(Q)において、通信部1は、デバイスエージェントDA(S)からイベント情報を受信し、受信したイベント情報を入力部2を介して制御部3に出力する。制御部3は、イベント情報を受信すると、記憶部4に記憶されている「場に存在する人及びデバイスのID(has)」により示されるヒューマンエージェントHA(P)に、出力部5及び送信部1を介して送信する(ステップS73)。
【0038】
ヒューマンエージェントHA(P)において、通信部1は、フィールドエージェントFA(Q)からイベント情報を受信し、受信したイベント情報を入力部2を介して制御部3に出力する。制御部3は、イベント情報を受信すると、受信したイベント情報が含まれるサービス起動情報「人Pが部屋Qに入室したとき(イベント情報)、部屋Qに人P以外の人がいなければ(条件情報)、テレビRの電源をオンにする(命令情報)」を読み出して、読み出したサービス起動情報を出力部5及び通信部1を介して、イベント情報の送信元であるフィールドエージェントFA(Q)に送信する(ステップS74)。
【0039】
フィールドエージェントFA(Q)において、通信部1が、ヒューマンエージェントHA(P)よりサービス起動情報を受信し、受信したサービス起動情報を入力部2を介して制御部3に出力する。制御部3は、入力されたサービス起動情報に含まれるイベント情報及び条件情報が、記憶部4に記憶されているプロファイル情報と一致しているか否かを判断する(ステップS75)。
【0040】
入力されたイベント情報及び条件情報と、記憶されているプロファイル情報とが一致しない場合(ステップS75;No)、制御部3は、サービス起動情報に対する処理を終了する。
一方、入力されたイベント情報及び条件情報と、記憶されているプロファイル情報とが一致する場合(ステップS75;Yes)、制御部3は、記憶部4に記憶されているプロファイル情報と一致しているサービス起動情報に含まれる命令情報を選択する(ステップS76)。
【0041】
制御部3は、選択した命令情報「テレビRの電源をオンにする」の動作を行うデバイスのデバイスエージェントDA(R)を、記憶部4に記憶されているプロファイル情報の「場に存在する人及びデバイスのID(has)」により特定して、特定したデバイスエージェントDA(R)の「デバイスが提供しているサービスの状態(s−state)」と命令情報による動作とが不一致であるか否かを判定する(ステップS77)。
【0042】
サービスの状態と命令情報による動作とが一致する場合(ステップS77:No)、制御部3は、サービス起動情報に対する処理を終了する。
一方、サービスの状態と命令情報による動作とが不一致の場合(ステップS77:Yes)、制御部3は、命令情報をデバイスエージェントDA(R)に送信する(ステップS78)。
【0043】
デバイスエージェントDA(R)において、通信部1が、フィールドエージェントFA(Q)から命令情報を受信し、受信した命令情報を入力部2を介して制御部3に出力する。制御部3は、入力された命令情報の動作を実行するために、出力部5を介してデバイスであるテレビRに「電源をオンにする」指示を出力して、テレビRの電源をオンにさせる。また、制御部3は、記憶部4に記憶されているプロファイル情報の「デバイスが提供しているサービスの状態(s−state)」を「ON」に更新する(ステップS79)。
【0044】
上述のように、各エージェントが、イベント情報やサービス起動情報を互いに送受信して、フィールドエージェントFA(Q)の制御部3が受信した情報と、プロファイル情報に含まれる状態を示す情報(has、belong、state、u−state、s−stateなど)とを比較して、イベントや状態に応じて命令情報をデバイスエージェントDA(R)に送信して実行することで、人やデバイスにサービス起動情報の命令情報に示されたサービスを適切に提供することができる。
【0045】
なお、上述の動作において、部屋Qに人P以外の人P2がいる場合、フィールドエージェントFA(Q)において、制御部3は、記憶部4に記憶されている「場に存在する人及びデバイスのID(has)」より人P以外の人P2が存在することを検出するので、ステップS75の条件が成立せず、サービスの提供「テレビRの電源をオンにさせる」は実行されない。
【0046】
<第2実施形態>
図8は、第2実施形態における競合調停システム102の動作例を示す模式図である。図8(a)は、競合調停システム102の全体構成と動作を示し、図8(b)は、フィールドエージェントFA(Q)の動作を示している。
【0047】
本実施形態の競合調停システム102は、上述の第1実施形態の競合調停システム101(図7)対して、DVDレコーダTが部屋Qに備えられる点が異なり、部屋Qを示すフィールドエージェントFA(Q)と、人Pを示すヒューマンエージェントHA(P)と、人の入出を検出するセンサSを示すデバイスエージェントDA(S)と、テレビを示すデバイスエージェントDA(R)と、DVDレコーダTを示すデバイスエージェントDA(T)とを含み構成される。
また、ヒューマンエージェントHA(P)のプロファイル情報のサービス起動情報(rule)には、「人Pが部屋Qに入室したとき(イベント情報)、部屋Qに人P以外の人がいなければ(条件情報)、テレビRの電源をオンにし(命令情報1)かつDVDレコーダTに録画しておいたニュース番組を再生させる(命令情報2)」が設定されている点も、第1実施形態と異なる。
【0048】
第2実施形態におけるステップS81からステップS85までの動作は、サービス起動情報が異なる点を除いて、第1実施形態におけるステップS71からステップS75までの動作と同じであるので、その説明を省略する。
【0049】
フィールドエージェントFA(Q)において、ヒューマンエージェントHA(P)から入力されたイベント情報及び条件情報と、記憶部4に記憶されているプロファイル情報とが一致しない場合(ステップ85;No)、制御部3は、サービス起動情報に対する処理を終了する。
一方、入力されたイベント情報及び条件情報と、記憶されているプロファイル情報とが一致する場合(ステップ85;Yes)、制御部3は、記憶部4に記憶されているプロファイル情報と一致しているサービス起動情報に含まれる命令情報「テレビRの電源をオンにし(命令情報1)かつDVDレコーダTに録画しておいたニュース番組を再生させる(命令情報2)」を選択する(ステップS86)。
【0050】
制御部3は、選択した命令情報「テレビRの電源をオンにし(命令情報1)かつDVDレコーダTに録画しておいたニュース番組を再生させる(命令情報2)」の動作を行うデバイスのデバイスエージェントDA(R)、DA(T)を、記憶部4に記憶されているプロファイル情報の「場に存在する人及びデバイスのID(has)」により特定して、特定したデバイスエージェントDA(R)、DA(T)それぞれの「デバイスが提供しているサービスの状態(s−state)」と命令情報による動作とが不一致であるか否かを判定する(ステップS87)。
【0051】
デバイスエージェントDA(R)、DA(T)のいずれか一方あるいは両方のサービスの状態と命令情報による動作とが一致する場合(ステップS87:No)、制御部3は、サービス起動情報に対する処理を終了する。
一方、両方のエージェントのサービスの状態と命令情報による動作とが不一致の場合(ステップS87:Yes)、制御部3は、出力部5を介してデバイスエージェントDA(R)に命令情報1を送信し、デバイスエージェントDA(T)に命令情報2を送信する(ステップS88)。
【0052】
デバイスエージェントDA(R)において、通信部1が、フィールドエージェントFA(Q)から命令情報1を受信し、受信した命令情報1を入力部2を介して制御部3に出力する。制御部3は、入力された命令情報の動作を実行するために、出力部5を介してデバイスであるテレビRに「電源をオンにする」指示を出力して、テレビRの電源をオンにさせる。また、制御部3は、記憶部4に記憶されているプロファイル情報の「デバイスが提供しているサービスの状態(s−state)」を「ON」に更新する(ステップS89a)。
【0053】
また、デバイスエージェントDA(T)において、通信部1が、フィールドエージェントFA(Q)から命令情報2を受信し、受信した命令情報2を入力部2を介して制御部3に出力する。制御部3は、入力された命令情報の動作を実行するために、出力部5を介してデバイスであるDVDレコーダTに「録画しておいたニュース番組を再生させる」指示を出力して、DVDレコーダTに録画しておいたニュース番組を再生させる。また、制御部3は、記憶部4に記憶されているプロファイル情報の「デバイスが提供しているサービスの状態(s−state)」を「ニュース番組を再生中」に更新する(ステップS89b)。
【0054】
上述のように、本実施形態では、1つのイベント情報に対して、2つの命令情報1、2が実行される点に特徴があり、1つのイベント情報により複数の動作を実行することができる。このように、複数の命令情報を設定することにより、1つの状態の変化(イベント)に起因して複数のデバイスに対して動作を実行させることができ、より複雑なサービスの提供を実空間にて行うことができる。
【0055】
なお、テレビRはオフ状態であり、DVDレコーダTが録画中であるような場合、ステップS87において条件が不成立となり、フィールドエージェントFA(Q)の制御部3は、命令情報1及び命令情報2を実行することなく処理を終了する。
【0056】
<第3実施形態>
図9は、第3実施形態における競合調停システム103の動作例を示す模式図である。図9(a)は、競合調停システム103全体の構成と動作とを示し、(b)は、フィールドエージェントFA(Q)の動作を示し、(c)は、フィールドエージェントFA(U)の動作を示している。本実施形態では、複数の場が連携して動作することを説明する。
【0057】
競合調停システム103は、部屋Qを示すフィールドエージェントFA(Q)と、人Pを示すヒューマンエージェントHA(P)と、人の入出を検出するセンサSを示すデバイスエージェントDA(S)と、部屋Uを示すフィールドエージェントFA(U)と、エアコンVを示すデバイスエージェントDA(V)とを含み構成される。
また、ヒューマンエージェントHA(P)のプロファイル情報のサービス起動情報(rule)には、「人Pが部屋Qを退室したとき(イベント情報)、無条件に(条件情報)、エアコンVの電源をオンにする(命令情報)」が設定されている。
【0058】
センサSが、人Pが部屋Qを退室したことを検出すると、「人Pが部屋Qを退室した」イベント情報をデバイスエージェントDA(S)に送信する(ステップS91)。
デバイスエージェントDA(S)において、入力部2は、センサSが送信したイベント情報を受信し、受信したイベント情報を制御部3に出力する。制御部3は、入力されたイベント情報を自エージェントが位置する場のフィールドエージェントFA(Q)に出力部5及び通信部1を介して送信する(ステップS92)。このとき、制御部3は、記憶部4に記憶されているプロファイル情報の「デバイスが位置する場のID(belong)」を読み出すことにより、送信先となるフィールドエージェントFA(Q)を特定する。
【0059】
フィールドエージェントFA(Q)において、通信部1は、デバイスエージェントDA(S)からイベント情報を受信し、受信したイベント情報を入力部2を介して制御部3に出力する。制御部3は、イベント情報を受信すると、記憶部4に記憶されている「場に存在する人及びデバイスのID(has)」により示されるヒューマンエージェントHA(P)に、出力部5及び送信部1を介して送信する(ステップS93)。
【0060】
ヒューマンエージェントHA(P)において、通信部1は、フィールドエージェントFA(Q)からイベント情報を受信し、受信したイベント情報を入力部2を介して制御部3に出力する。制御部3は、イベント情報を受信すると、受信したイベント情報が含まれるサービス起動情報「人Pが部屋Qを退室したとき(イベント情報)、無条件に(条件情報)、エアコンVの電源をオンにする(命令情報)」を読み出して、読み出したサービス情報を出力部5及び通信部1を介してイベント情報の送信元であるフィールドエージェントFA(Q)に送信する(ステップS94)。
【0061】
フィールドエージェントFA(Q)において、通信部1が、ヒューマンエージェントHA(P)よりサービス起動情報を受信し、受信したサービス起動情報を入力部2を介して制御部3に出力する。制御部3は、入力されたサービス起動情報に含まれるイベント情報及び条件情報が、記憶部4に記憶されているプロファイル情報と一致しているか否かを判断する(ステップS95)。
【0062】
入力されたイベント情報及び条件情報と、記憶されているプロファイル情報とが一致しない場合(ステップS95;No)、制御部3は、サービス起動情報に対する処理を終了する。
一方、入力されたイベント情報及び条件情報と、記憶されているプロファイル情報とが一致する場合(ステップS95;Yes)、制御部3は、記憶部4に記憶されているプロファイル情報と一致しているサービス起動情報に含まれる命令情報を選択する(ステップS96)。
【0063】
制御部3は、記憶部4のプロファイル情報の「場に存在する人及びデバイスのID(has)」に命令情報「エアコンVの電源をオンにする」の動作対象エアコンVが存在しないことを検出して、例えば、各エージェントのプロファイル情報が蓄積されているデータベースを用いるなどして、エアコンVが存在する部屋Uを示すフィールドエージェントFA(U)を特定し、出力部5及び通信部1を介して命令情報を送信する(ステップS97)。
ここで、上述のデータベースは、各エージェントのプロファイル情報を記憶すると共に、一定時間間隔、あるいは、各エージェントのプロファイル情報の変更などに応じて、記憶しているプロファイル情報を更新し、各エージェントからの問合せに対して、プロファイル情報を出力する機能を有する。
【0064】
フィールドエージェントFA(U)において、通信部1が、フィールドエージェントFA(Q)から命令情報を受信し、受信した命令情報を入力部2を介して制御部3に出力する。制御部3は、入力された命令情報「エアコンVの電源をオンにする」の動作を行うデバイスのデバイスエージェントDA(V)を、記憶部4に記憶されているプロファイル情報の「場に存在する人及びデバイスのID(has)」により特定して、デバイスエージェントDA(V)の「デバイスが提供しているサービスの状態(s−state)」と命令情報による動作とが不一致であるか否かを判定する(ステップS98)。
【0065】
サービスの状態と命令情報による動作とが一致する場合(ステップS98:No)、制御部3は、サービス起動情報に対する処理を終了する。
一方、サービスの状態と命令情報による動作とが不一致の場合(ステップS98:Yes)、制御部3は、命令情報をデバイスエージェントDA(V)に送信する(ステップS99)。
【0066】
デバイスエージェントDA(V)において、通信部1が、フィールドエージェントFA(U)から命令情報を受信し、受信した命令情報を入力部2を介して制御部3に出力する。制御部3は、入力された命令情報の動作を実行するために、出力部5を介してデバイスであるエアコンVに「電源をオンにする」指示を出力して、エアコンVの電源をオンにさせる。また、制御部3は、記憶部4に記憶されているプロファイル情報の「デバイスが提供しているサービスの状態(s−state)」を「ON」に更新する(ステップS100)。
【0067】
上述のように、ユーザプロファイル情報のサービス起動情報に含まれる命令情報に、他の場にあるデバイスの動作を設定することにより、1つの場に限定されたサービスだけでなく、複数の場に亘って提供されるサービスを人やデバイスに対して提供することができる。
また、第1実施形態から第3実施形態において示したように、実空間そのものである場、場に存在する人及びデバイスのそれぞれをエージェントとして表し、それぞれのエージェントにプロファイル情報として状態を記憶することにより、実空間における状態をより正確に表現することができる。
【0068】
また、各エージェントは、他のエージェントと通信して受信する他のエージェントの状態と、それぞれ記憶するプロファイル情報に含まれるイベント情報及び条件情報とが一致するとき、プロファイル情報に含まれる命令情報に応じてデバイスにサービスを提供させることにより、サービスの競合を自律的に回避してサービスを提供することができる。
また、デバイスに対して、サービスを享受するデバイスエージェントと、サービスを提供するデバイスエージェントとの2通りを用いることにより、人及び場に対してだけでなく、デバイス(物)に対してもサービスを提供する処理を行うことができる。
【0069】
なお、各エージェントの記憶部4に記憶されているプロファイル情報に含まれる項目は、デバイスの特徴を示す項目を追加し、サービス起動情報が有する条件情報の設定に応じて変更してもよい。例えば、空調設備を示すデバイスエージェントDAには、設定温度や消費電力などの項目をプロファイル情報に設けるなどの変更である。
なお、各エージェントは、コンピュータシステム上にデータ構造として構成され、通信部1、入力部2、制御部3、記憶部4、及び、出力部5それぞれの処理をコンピュータシステムにより処理することで競合調停システムを構成してもよい。
【0070】
上述の各エージェントは内部に、コンピュータシステムを有していてもよい。その場合、上述の処理過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われることになる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【符号の説明】
【0071】
1…通信部、2…入力部、3…制御部、4…記憶部、5…出力部
100、101、102、103…競合調停システム

【特許請求の範囲】
【請求項1】
サービスを提供する複数の場において、サービスの競合を調停する競合調停システムであって、
ユーザ、センサ、制御対象となる装置、及び、前記装置によりサービスが提供される前記場それぞれに対応して設けられ、相互に通信を行う通信部と、前記ユーザ、前記センサ、前記装置、及び前記場の状態を示す状態情報と、前記状態の変化を示すイベント情報、前記状態の組み合わせによる条件情報、及び、前記装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶する記憶部と、前記プロファイル情報、及び、受信した前記処理情報に応じて処理を行う制御部とを備えるエージェントを具備し、
前記場に対応する前記エージェントは、該場に位置し、サービス享受対象である前記ユーザに対応するエージェント又は前記装置に対応する前記エージェントから前記サービス起動情報を受信し、該エージェントそれぞれの状態が受信した該サービス起動情報が有する前記イベント情報及び前記条件情報と一致したとき、該サービス起動情報が有する前記処理情報を実行する
ことを特徴とする競合調停システム。
【請求項2】
前記場に対応する前記エージェントは、前記サービス起動情報が有する前記処理情報により制御する前記装置が、該場に位置しない場合、該装置が位置する前記場に対応する前記エージェントに該処理情報を送信し、他の前記場に対応する前記エージェントから前記処理情報を受信した場合、受信した該処理情報を実行する
ことを特徴とする請求項1に記載の競合調停システム。
【請求項3】
サービスを提供する複数の場において、サービスの競合を調停する競合調停システムにおける競合調停方法であって、
ユーザ、センサ、制御対象となる装置、及び、前記装置によりサービスが提供される前記場それぞれに対応して設けられるエージェントを設けるステップと、
前記エージェントが、相互に通信を行うステップと、
前記エージェントが、前記ユーザ、前記センサ、前記装置、及び前記場の状態を示す状態情報と、前記状態の変化を示すイベント情報、前記状態の組み合わせによる条件情報、及び、前記装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶するステップと、
前記エージェントが、前記プロファイル情報、及び、受信した前記処理情報に応じて処理を行うステップと、
前記場に対応する前記エージェントが、該場に位置し、サービス享受対象である前記ユーザに対応するエージェント又は前記装置に対応する前記エージェントから前記サービス起動情報を受信し、該エージェントそれぞれの状態が受信した該サービス起動情報が有する前記イベント情報及び前記条件情報と一致したとき、該サービス起動情報が有する前記処理情報を実行するステップと
を有することを特徴とする競合調停方法。
【請求項4】
複数の場においてサービスを提供する競合調停システムにおけるエージェント装置であって、
ユーザに対応して設けられ、
相互に通信を行う通信部と、
前記ユーザ、前記センサ、前記装置、及び前記場の状態を示す状態情報と、前記状態の変化を示すイベント情報、前記状態の組み合わせによる条件情報、及び、前記装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶する記憶部と、
前記プロファイル情報、及び、受信した前記処理情報に応じて処理を行う制御部と
を備えることを特徴とするエージェント装置。
【請求項5】
複数の場においてサービスを提供する競合調停システムにおけるエージェント装置であって、
センサ、制御対象となる装置に対応して設けられ、
相互に通信を行う通信部と、
前記ユーザ、前記センサ、前記装置、及び前記場の状態を示す状態情報と、前記状態の変化を示すイベント情報、前記状態の組み合わせによる条件情報、及び、前記装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶する記憶部と、
前記プロファイル情報、及び、受信した前記処理情報に応じて処理を行う制御部と
を備えることを特徴とするエージェント装置。
【請求項6】
複数の場においてサービスを提供する競合調停システムにおけるエージェント装置であって、
装置によりサービスが提供される前記場に対応して設けられ、
相互に通信を行う通信部と、
前記ユーザ、前記センサ、前記装置、及び前記場の状態を示す状態情報と、前記状態の変化を示すイベント情報、前記状態の組み合わせによる条件情報、及び、前記装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶する記憶部と、
前記プロファイル情報、及び、受信した前記処理情報に応じて処理を行う制御部と
を備えることを特徴とするエージェント装置。
【請求項7】
複数の場においてサービスを提供する競合調停システムに用いられ、ユーザ、センサ、制御対象となる装置、及び、前記装置によりサービスが提供される前記場それぞれに対応して設けられるエージェントに用いられるコンピュータプログラムであって、
相互に通信を行うステップと、
前記ユーザ、前記センサ、前記装置、及び前記場の状態を示す状態情報と、前記状態の変化を示すイベント情報、前記状態の組み合わせによる条件情報、及び、前記装置を動作させる処理情報を有するサービス起動情報とを含むプロファイル情報を記憶するステップと、
前記プロファイル情報、及び、受信した前記処理情報に応じて処理を行うステップと、
前記場に対応する前記エージェントが、該場に位置し、サービス享受対象である前記ユーザに対応するエージェント又は前記装置に対応する前記エージェントから前記サービス起動情報を受信し、該エージェントそれぞれの状態が受信した該サービス起動情報が有する前記イベント情報及び前記条件情報と一致したとき、該サービス起動情報が有する前記処理情報を実行するステップと
をコンピュータに実行させることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−198356(P2010−198356A)
【公開日】平成22年9月9日(2010.9.9)
【国際特許分類】
【出願番号】特願2009−42797(P2009−42797)
【出願日】平成21年2月25日(2009.2.25)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成20年度、総務省、『ユビキタスサービスプラットフォーム技術に関わる研究開発』委託事業、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】