実空間アプリケーションサービスの制御システム及び制御方法
【課題】シナリオの導入及び解除に伴うコスト低減、適切な機器競合の検出及び解消方法、シナリオを複数ユーザで利用可能とする利用形態の多様性を実現することができる実空間アプリケーションサービスの制御システムを提供する。
【解決手段】実空間アプリケーションサービスは、これに対応するアプリケーションソフトウェアが実行されることにより実現され、その内容はアプリケーションソフトウェアの記述できる範囲において自由に変えることができるともに、アプリケーションソフトウェアは複数同時に存在し、動作することが可能であり、実空間アプリケーションサービス、実空間アプリケーションサービスを制御するシステムのユーザ、機器、実空間アプリケーションサービス及び実空間アプリケーションサービスが提供される場所のそれぞれに対応したソフトウェアエージェントを具備する。
【解決手段】実空間アプリケーションサービスは、これに対応するアプリケーションソフトウェアが実行されることにより実現され、その内容はアプリケーションソフトウェアの記述できる範囲において自由に変えることができるともに、アプリケーションソフトウェアは複数同時に存在し、動作することが可能であり、実空間アプリケーションサービス、実空間アプリケーションサービスを制御するシステムのユーザ、機器、実空間アプリケーションサービス及び実空間アプリケーションサービスが提供される場所のそれぞれに対応したソフトウェアエージェントを具備する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネットなどのネットワークによって相互に接続された、家電を始めとする様々な機器、センサ、アクチュエータなどを用いることにより実現される実空間アプリケーションサービスの制御システム及び制御方法に関する。
【背景技術】
【0002】
情報家電を利用したホームネットワークサービスは、既に実用化フェーズから普及フェーズに差し掛かりつつある技術として一般への認知度も徐々に高まりつつある。ホームセキュリティ、ホームコントロール、エンターテインメント、生活支援などの分野で様々なサービスの提案が行われ、機械警備(ホームセキュリティ)、老人の見守りシステム、ホームオートメーション、遠隔検針など、実用化されているものも多い。将来的に、その到来が予想されている、あらゆるモノがネットワークにつながるユビキタスネットワーク社会においては、上記の情報家電だけでなく、その他の様々な機器、センサ、アクチュエータなどがネットワーク接続され、ホームネットワークサービス(現在と区別するため、ホームネットワークサービスの進化形を“実空間アプリケーション”と呼ぶ)の多様性、付加価値性もいっそう向上していくことが予想される。
【0003】
実空間アプリケーションの制御においては、ネットワーク接続されるモノの種類や数が飛躍的に増えるために、大きなスケーラビリティが要求される。従来、人、機器、場の一つ一つに対応して、エージェントと呼ばれる小さなソフトウェアを生成し、人、機器、場の状態管理、通信制御などを実行させることにより、スケーラビリティの要求条件を満足させることを目的とした技術が提案されている(非特許文献1〜3)。
【0004】
図14は、従来技術におけるサービス提供の仕組みを示す図である。ここでは、人Pが部屋Qに入室した時、誰もいなければ自動的にテレビRの電源をオンにするというシナリオを持つサービスが提供されるものとする。以下、順を追って、従来システムの動作を説明する。人Pが部屋Qに入室すると、それをセンサSが検出する。センサSは、自らに対応する機器エージェントDA(S)に人Pが入室したことを通知する(ステップS101)。続いて、DA(S)は、部屋QのエージェントであるFA(Q)に、人Pが入室したことを通知する(ステップS102)。
【0005】
さらに、FA(Q)は人PのエージェントであるHA(P)に人Pが入室したことを通知する(ステップS103)。HA(P)には、サービス起動条件Tが保持され、HA(P)は人Pの入室通知を受け取ると、サービス起動条件Tを含む人Pのプロファイル情報をFA(Q)へ返信する(ステップS104)。FA(Q)はサービス起動条件Tを検査し、部屋Q内に人Pだけが存在する場合に、テレビRの電源をオンにするように、テレビRの機器エージェントDA(R)に対して命令を送信する(ステップS105)。それを受信したDA(R)は、電源オン命令を実際の機器を操作するコマンドに翻訳して、テレビRに送信する(ステップS106)。これにより、テレビRの電源が入ることになる。
【0006】
ステップS101、S102、S103、S104、S106は予め規定されたステップであり、あるイベント(E)が発生した時に、特定の条件(C)であれば、指定されたアクション(A)を実行することが定められたECAルールにより実現される。条件によらず常に同じ動作を行う。ステップS105は、サービス起動条件Tに従って実施される条件判断の結果に応じて変わるものであるが、やはりECAルールを用いて実現される。また、使用される機器は、そのプロファイル情報として、自身を使用中である人Pの識別子を保持する。他の人が当該機器を使用しようとする場合、当該プロファイル情報が参照され、既に当該機器を使用している実空間アプリケーションがない場合に限って、その使用が許可されることにより、複数の実空間アプリケーションが同一の機器を使用しようとする機器競合の発生を防止する仕組みとなっている。このようなエージェントは前述の通り小さなソフトウェアであるので、これらのセンサやアクチュエータ(例えばテレビR)に通信回線が接続されたサーバにてエージェントを実行することにより、上記のシナリオを実行することができる。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】神林,武本,秦,内山,寺元,“実空間エージェントによるサービス提供の実現手法に関する一検討,”信学会総合大会,B−20−13,Mar.2009.
【非特許文献2】秦,神林,内山,武本,寺元,“実空間サービスのためのデバイス制御オーバレイネットワーク,”信学会総合大会,B−20−14,Mar.2009.
【非特許文献3】武本神林,秦,内山,寺元,“実空間サービス実現のためのエージェントモデル,”信学会総合大会,B−20−15,Mar.2009.
【発明の概要】
【発明が解決しようとする課題】
【0008】
前述した従来技術によると、実現しようとするシナリオはECAルールの集合に分解して、予めイベントに対応するエージェントに埋め込んでおく必要がある。実空間アプリケーションサービス開発者が意図するシナリオを、操作対象の機器、ステップ毎の操作内容、あるいは実行順序等を考慮して、複数のECAルールに分解する作業は、シナリオが複雑になるほど技術的な難易度が上がり、容易に解決できる課題ではない。また、シナリオ導入時及び削除時に、複数の機器、場、人のエージェントに分散して、ECAルールやプロファイル情報を配置することは、サービス開発者または利用者に多大なコスト負担を強いることになる。さらに、このような複数ECAルールのエージェント埋め込みによる実現手法では、シナリオが複数存在する場合に、同一のエージェントに複数のルールが設定されることとなり、ルールとシナリオの対応を取るための管理が難しくなる。このため複数のシナリオが混じってしまうといった不都合が起きる可能性が高くなるという問題がある。
【0009】
このシナリオは、複数のECAルールにより実現されるが、ある1つのシナリオを一塊のものとして管理する仕組みはない。従って、そのシナリオに関する情報、例えば、シナリオの名称やIDといった基本的なものから、シナリオが使用する全機器のリストは何か、といった情報まで、それらを管理・保持する仕組みがない。このことは、シナリオ単位を認識して実施すべき様々な処理ができないことを意味する。機器競合の検出については、個々の機器エージェントにより独立に実施されるため、実空間アプリケーションが複数の機器を使用する場合、そのシナリオが部分的に可能である、あるいは不可能であるなどの現象が起きる可能性があり、アプリケーションの実行形態として不適切であるといった問題がある。また、個々のシナリオを人に帰属させ、機器を占有し使用する主体を人としているので、例えば、TV視聴のような、複数の人が同一のシナリオを一緒に体験するようなケースには対応できないという問題がある。
【0010】
本発明は、このような事情に鑑みてなされたもので、情報家電だけでなく様々な機器、センサ、アクチュエータなど、膨大な数の物を取り扱うためのスケーラビリティ性を実現するエージェントを用いた実空間アプリケーション制御方法において、シナリオの導入及び解除に伴うコスト低減、適切な機器競合の検出及び解消方法、シナリオを複数ユーザで利用可能とする利用形態の多様性を実現することができる実空間アプリケーションサービスの制御システム及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、ソフトウェアエージェントを介してネットワークに接続された機器を制御することにより提供される実空間アプリケーションサービスを制御するシステムであって、前記実空間アプリケーションサービスは、これに対応するアプリケーションソフトウェアが実行されることにより実現され、その内容は前記アプリケーションソフトウェアの記述できる範囲において自由に変えることができるともに、前記アプリケーションソフトウェアは複数同時に存在し、動作することが可能であり、前記実空間アプリケーションサービス、前記実空間アプリケーションサービスを制御するシステムのユーザ、前記機器、前記実空間アプリケーションサービス及び前記実空間アプリケーションサービスが提供される場所のそれぞれに対応したソフトウェアエージェントを具備することを特徴とする。
【0012】
本発明は、前記ソフトウェアエージェントは、相互に情報通信を行う通信手段、情報を記憶する記憶手段及び動作を制御する制御手段を具備し、前記実空間アプリケーションサービスが提供される場所に対応したソフトウェアエージェントが具備する記憶手段には、前記実空間アプリケーションサービスが提供される場所の状態、属性に関する情報、当該場所に設置された機器のリスト、当該機器の個々について、機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、前記機器に対応するソフトウェアエージェントが具備する記憶手段には、前記機器の状態、属性に関する情報、前記機器と通信するためのプロトコル等の情報、前記機器を操作するためのコマンドに関する情報、当該機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、前記ユーザに対応するソフトウェアエージェントが具備する記憶手段には、前記ユーザの状態、属性に関する情報、当該ユーザが享受する実空間アプリケーションサービスの識別情報を保持され、前記実空間アプリケーションサービスに対応するソフトウェアエージェントが具備する記憶手段には、当該アプリケーションサービスが使用する機器の状態、属性、及び機器に対応するソフトウェアエージェントと通信するための情報、当該アプリケーションサービスのユーザの識別情報が保持されることを特徴とする。
【0013】
本発明は、前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、1つの親ソフトウェアエージェントの下に子ソフトウェアエージェントが接続されるツリー構造を有し、当該実空間アプリケーションサービスが使用する機器の組み合わせ毎に子ソフトウェアエージェントがひとつ生成されることを特徴とする。
【0014】
本発明は、前記実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントは、その場所に設置された個々の機器について、機器を使用する実空間アプリケーションサービスの情報を保持し、前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントに問い合わせすることにより取得し、他の実空間アプリケーションサービスに使用されていない場合、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントが保持する機器使用情報を更新して使用する権利を得ることを特徴とする。
【0015】
本発明は、前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該機器に対応するソフトウェアエージェントに問い合わせすることにより取得し、他の実空間アプリケーションサービスに使用されていない場合、当該機器が保持する当該機器を使用する実空間アプリケーションサービス情報を更新して使用する権利を得ることを特徴とする。
【0016】
本発明は、前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、使用する各々の機器の占有する際に、当該機器を、当該アプリケーションサービスが起動されてから終了するまで占有し続けるか、または、操作するたびに占有し、当該操作が終了したら占有を解放するかのいずれを使うかを当該機器のプロファイル情報として保持することを特徴とする。
【0017】
本発明は、前記実空間アプリケーションサービスは自身が必要とする機器を使用する権利を得た後、機器操作命令及び機器からの入力情報を、自身に対応するソフトウェアエージェントと当該機器に対応するソフトウェアエージェント間の通信を経由して送信または受信することを特徴とする。
【0018】
本発明は、ソフトウェアエージェントを介してネットワークに接続された機器を制御することにより提供される実空間アプリケーションサービスを制御するシステムにおける制御方法であって、前記実空間アプリケーションサービスは、これに対応するアプリケーションソフトウェアが実行されることにより実現され、その内容は前記アプリケーションソフトウェアの記述できる範囲において自由に変えることができるともに、前記アプリケーションソフトウェアは複数同時に存在し、動作することが可能であり、前記実空間アプリケーションサービス、前記実空間アプリケーションサービスを制御するシステムのユーザ、前記機器、前記実空間アプリケーションサービス及び前記実空間アプリケーションサービスが提供される場所のそれぞれに対応したソフトウェアエージェントを具備することを特徴とする。
【0019】
本発明は、前記ソフトウェアエージェントは、相互に情報通信を行う通信手段、情報を記憶する記憶手段及び動作を制御する制御手段を具備し、前記実空間アプリケーションサービスが提供される場所に対応したソフトウェアエージェントが具備する記憶手段には、前記実空間アプリケーションサービスが提供される場所の状態、属性に関する情報、当該場所に設置された機器のリスト、当該機器の個々について、機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、前記機器に対応するソフトウェアエージェントが具備する記憶手段には、前記機器の状態、属性に関する情報、前記機器と通信するためのプロトコル等の情報、前記機器を操作するためのコマンドに関する情報、当該機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、前記ユーザに対応するソフトウェアエージェントが具備する記憶手段には、前記ユーザの状態、属性に関する情報、当該ユーザが享受する実空間アプリケーションサービスの識別情報を保持され、前記実空間アプリケーションサービスに対応するソフトウェアエージェントが具備する記憶手段には、当該アプリケーションサービスが使用する機器の状態、属性、及び機器に対応するソフトウェアエージェントと通信するための情報、当該アプリケーションサービスのユーザの識別情報が保持されることを特徴とする。
【0020】
本発明は、前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、1つの親ソフトウェアエージェントの下に子ソフトウェアエージェントが接続されるツリー構造を有し、当該実空間アプリケーションサービスが使用する機器の組み合わせ毎に子ソフトウェアエージェントがひとつ生成されることを特徴とする。
【0021】
本発明は、前記実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントは、その場所に設置された個々の機器について、機器を使用する実空間アプリケーションサービスの情報を保持し、前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントに問い合わせすることにより取得し、他の実空間アプリケーションサービスに使用されていない場合、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントが保持する機器使用情報を更新して使用する権利を得ることを特徴とする。
【0022】
本発明は、前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該機器に対応するソフトウェアエージェントに問い合わせすることにより取得し、他の実空間アプリケーションサービスに使用されていない場合、当該機器が保持する当該機器を使用する実空間アプリケーションサービス情報を更新して使用する権利を得ることを特徴とする。
【0023】
本発明は、前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、使用する各々の機器の占有する際に、当該機器を、当該アプリケーションサービスが起動されてから終了するまで占有し続けるか、または、操作するたびに占有し、当該操作が終了したら占有を解放するかのいずれを使うかを当該機器のプロファイル情報として保持することを特徴とする。
【0024】
本発明は、前記実空間アプリケーションサービスは自身が必要とする機器を使用する権利を得た後、機器操作命令及び機器からの入力情報を、自身に対応するソフトウェアエージェントと当該機器に対応するソフトウェアエージェント間の通信を経由して送信または受信することを特徴とする。
【発明の効果】
【0025】
本発明によれば、エージェントモデルを用いた実空間アプリケーションサービス制御システムにおいて、複数のECAルールをエージェントに保持させ、それらの連携によりシナリオを実現させていた従来方式と比較して、シナリオの導入、削除、及び管理が大幅に容易になる。また、機器の使用権の確保及び機器の操作を実空間アプリケーションサービスが、自身に対応するエージェントを通して実施することにより、一つの実空間アプリケーションサービスが同時に複数の機器を占有して操作すること、及び、複数のユーザで同一の実空間アプリケーションサービスを使用する協調利用が実現可能になるという効果が得られる。
【図面の簡単な説明】
【0026】
【図1】本発明の第1実施形態におけるソフトウェア及びハードウェアの構成を示す図である。
【図2】図1に示すシステムの動作を示すフローチャートである。
【図3】図1に示すシステムの詳細な処理動作を示すシーケンス図である。
【図4】図1に示すシステムの詳細な処理動作を示すシーケンス図である。
【図5】本発明の第2実施形態におけるソフトウェア及びハードウェアの構成を示す図である。
【図6】図5に示すシステムの動作を示すフローチャートである。
【図7】図5に示すシステムにおいて、後続のユーザが利用申請をしてから実空間アプリケーション1のプロファイル情報を更新する詳細な処理動作を示すシーケンス図である。
【図8】機器セット毎にエージェントを割り当てる構成を示す図である。
【図9】である。
【図10】本発明の第3実施形態におけるソフトウェア及びハードウェアの構成を示す図である。
【図11】実空間アプリケーション12が使用する機器を確保する処理動作を示すシーケンス図である。
【図12】実空間アプリケーション12が使用する機器を確保する処理動作を示すシーケンス図である。
【図13】本発明の第4実施形態における実空間アプリケーションの実行処理動作を示すシーケンス図である。
【図14】従来技術におけるサービス提供の仕組みを示す図である。
【発明を実施するための形態】
【0027】
<第1実施形態>
以下、図面を参照して、本発明の第1実施形態による実空間アプリケーションサービスの制御システムを説明する。図1は第1実施形態におけるソフトウェア及びハードウェアの構成を示す図である。ここでは、実体として、ある部屋に人が1人存在し、2つの機器を使用するための実空間アプリケーションが動作する想定である。それぞれの実体には、対応するソフトウェアエージェントが存在する。部屋には、部屋エージェント(以下、FAと称する)2、実空間アプリケーション1には、実空間アプリケーションエージェント(以下、SAと称する)3、人には、人エージェント(以下、HAと称する)4が存在する。また、実際の機器7には、機器エージェント(以下、DAと称する)5、機器8には、機器エージェント(以下、DAと称する)6が存在する。図1に示すシステムは、実空間アプリケーション1が存在するアプリケーション層、各エージェントが存在するプラットフォーム層、機器が存在する物理層から構成する。実空間アプリケーション1はアプリケーションの提供元から提供されるものである。
【0028】
各ソフトウェアエージェントは、相互に情報通信を行う通信手段、情報を記憶する記憶手段及び動作を制御する制御手段を備えている。FA2が備える記憶手段には、実空間アプリケーションサービスが提供される場所の状態、属性に関する情報、当該場所に設置された機器のリスト、当該機器の個々について、機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持されている。DA5、6が備える記憶手段には機器の状態、属性に関する情報、機器と通信するためのプロトコル等の情報、機器を操作するためのコマンドに関する情報、当該機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持されている。また、HA4が備える記憶手段には、ユーザ(人)の状態、属性に関する情報、当該ユーザが享受する実空間アプリケーションサービスの識別情報を保持されている。さらに、SA3が備える記憶手段には、当該アプリケーションサービスが使用する機器の状態、属性、及び機器に対応する各ソフトウェアエージェントと通信するための情報、当該アプリケーションサービスのユーザの識別情報が保持されている。
【0029】
次に、図2を参照して、実空間アプリケーション1を起動し実行させる処理動作を説明する。図2は、図1に示すシステムの動作を示すフローチャートである。まず、SA3が起動依頼を受信する(ステップS1)と、SA3は、実空間アプリケーション(図面においてはアプリケーションをAPと図示する)1を起動する(ステップS2)。起動依頼は、例えば、人が部屋に入室したら自動的に起動するように予め設定されることや人が持つ携帯端末に表示される利用可能サービスが一覧から選択されることなどによって実空間アプリケーション1への起動依頼が発出される。
【0030】
実空間アプリケーション1は起動した後、待機状態となり、実空間アプリケーション1が使用する機器が確保できるか否かを判定することにより、他の実空間アプリケーションに既に対象機器が使用されていないかチェックする(ステップS3)。対象機器が使用されていなければ(対象機器が使用可能であれば)、HA4が管理する人のプロファイルに、実空間アプリケーション1を使用していることを示す情報を追加してプロファイルを更新する(ステップS4)。以上の処理が完了した後、実空間アプリケーション1が実行され、実際の機器操作が行われる(ステップS5)。一方、使用する対象機器が既に他の実空間アプリケーションに使用されている場合は、実空間アプリケーション1は実行されず、実空間アプリケーション1の実行は失敗となる(ステップS6)。
【0031】
次に、図3を参照して、図1に示すシステムの詳細な処理動作を説明する。図3は、図1に示すシステムの詳細な処理動作を示すシーケンス図である。まず、HA4は、SA3に対して、実空間アプリケーション1を起動するトリガを送信する(ステップS11)。これ受けて、SA3が、実空間アプリケーション1に対して起動命令を送信する(ステップS12)と、実空間アプリケーション1が起動し、応答をSA3に返す(ステップS13)。
【0032】
次に、SA3は、FA2に対して機器占有依頼を送信する(ステップS14)。これを受けて、FA2が、DA5に対して機器占有依頼を送信する(ステップS15)と、DA5は、機器7が占有可能であればプロファイルを更新し(ステップS16)、応答をFA2へ返す(ステップS17)。また、FA2が、DA6に対して機器占有依頼を送信する(ステップS18)と、DA6は、機器8が占有可能であればプロファイルを更新し(ステップS19)、応答をFA2へ返す(ステップS20)。そして、FA2は、機器占有依頼に対する応答(OK)をSA3へ返す(ステップS21)。
【0033】
次に、SA3は、実空間アプリケーション1に対して実行許可を送信する(ステップS22)。これを受けて、実空間アプリケーション1は、実行可能状態となり、応答をSA3に返す(ステップS23)。SA3は、応答が返された時点で、HA4に対して起動トリガに対する起動OKの応答を返す(ステップS24)。これを受けて、HA4は、プロファイルを更新する(ステップS25)。これ以降、実空間アプリケーション1が、必要に応じて、SA3に対して、機器7、機器8を操作するために機器操作命令を送信すると(ステップS26、S28)、SA3は、DA5、DA6に対して、機器操作命令を送信する(ステップS27、S29)。
【0034】
このように、機器7、8の占有状況をFA2が把握しているので、機器占有依頼はFA2に送信され、他の実空間アプリケーションに対象機器が使用されていない場合、機器のプロファイル情報が更新され、実空間アプリケーション1が当該機器を使用することが可能な状態となる。
【0035】
次に、図4を参照して、図1に示すシステムにおける他の詳細な処理動作を説明する。図4に示す処理動作は、図3に示す処理動作と異なり、機器占有のためのネゴシエーションを個々の機器エージェント(DA5、DA6)と個別に実施するものである。まず、HA4は、SA3に対して、実空間アプリケーション1を起動するトリガを送信する(ステップS31)。これ受けて、SA3が、実空間アプリケーション1に対して起動命令を送信する(ステップS32)と、実空間アプリケーション1が起動し、応答をSA3に返す(ステップS33)。
【0036】
次に、SA3が、DA5に対して機器占有依頼を送信する(ステップS34)と、DA5は、機器7が占有可能であればプロファイルを更新し(ステップS35)、応答をSA3へ返す(ステップS36)。また、SA3が、DA6に対して機器占有依頼を送信する(ステップS37)と、DA6は、機器8が占有可能であればプロファイルを更新し(ステップS38)、応答をSA3へ返す(ステップS39)。
【0037】
次に、SA3は、実空間アプリケーション1に対して実行許可を送信する(ステップS40)。これを受けて、実空間アプリケーション1は、実行可能状態となり、応答をSA3に返す(ステップS41)。SA3は、応答が返された時点で、HA4に対して起動トリガに対する起動OKの応答を返す(ステップS42)。これを受けて、HA4は、プロファイルを更新する(ステップS43)。これ以降、実空間アプリケーション1が、必要に応じて、SA3に対して、機器7、機器8を操作するために機器操作命令を送信すると(ステップS44、S46)、SA3は、DA5、DA6に対して、機器操作命令を送信する(ステップS45、S47)。
【0038】
図4に示す処理動作の利点は、機器占有処理の負荷を分散させ、FA2に集中することを回避できる点である。しかしながら一方で、シーケンス全体の量は増えるので、各エージェントの導入形態、例えば、部屋のエージェントと機器のエージェントは同じサーバ上にインストールされるのか否かなどを考慮して決定することが望ましい。
【0039】
このように、実空間アプリケーション1からの機器操作命令は対応するエージェント(SA3)を経由して行うことにより、アプリケーション層から、個々の機器を直接操作させないようにすることが可能となり、セキュリティを向上させることができる。従来技術においては、予めエージェントに埋め込まれた複数のルールが実空間で起きるイベントによって起動し、連携することにより実現される仕組みであり、ある1つのシナリオを一塊のものとして管理する機能はない。従って、そのシナリオに関する情報、例えば、シナリオの名称やIDといった基本的なものから、シナリオが使用する全機器のリストは何か、といった情報まで、それらを管理・保持する仕組みがない。
【0040】
第1実施形態では、シナリオは一つの一つの実空間アプリケーションサービスとして提供され、その実空間アプリケーションサービスに関する情報は、それに対応するエージェントで管理・保持されるため、シナリオの導入及び削除を始めとする管理が容易となる。また、実空間アプリケーションサービスと、それに対応するエージェントは、様々な処理を分担して担うことができるため、負荷分散を図ることができる。例えば、実空間アプリケーションサービスの利用に関わる認証処理をエージェントで一部代行するといったことが可能となる。
【0041】
なお、図1に示すシステムのソフトウェア実装は、既存のエージェントプラットフォームを用いて行うことができ、例えば、オープンソースソフトウェアであるPIAX(http://www.piax.org/)などを用いることが可能である。
【0042】
<第2実施形態>
次に、本発明の第2実施形態による実空間アプリケーションサービスの制御システムを説明する。図5は第2実施形態におけるソフトウェア及びハードウェアの構成を示す図である。この図において、図1に示すシステムと同一の部分には同一の符号を付し、その説明を省略する。図5に示すシステムが図1に示すシステムと異なる点は、実空間アプリケーション1を利用する人(ユーザ)が二人であり、それに対応する人エージェントHA41、HA42が存在することである。
【0043】
次に、図6を参照して、既にユーザ1(HA41)が実空間アプリケーション1を使用している状態で、別のユーザ2(HA42)が実空間アプリケーション1を使用する意向を表明した場合の一連の処理動作を説明する。図6は、図5に示すシステムの動作を示すフローチャートである。既に利用ユーザがいる状態他のユーザから使用希望が発出された場合の対応方法は、2段階に分けられる。第1段階は、当該ユーザの利用資格の有無の確認である。例えば、その場所が個人宅である場合、住人は許可するが、そうではないゲストには許可しないといった認証処理である。この第1段階を通過すると、次の第2段階としては、当該実空間アプリケーション1を既に利用している先行ユーザと一緒に利用するか(これを協調利用と呼ぶ)、同じ実空間アプリケーション1を、もう一つ別に起動して、先行ユーザと後続ユーザが別々に利用するかといったプロセス制御処理である。
【0044】
図6に示す処理動作はユーザ1とユーザ2が協調利用する際の処理動作である。認証処理及びプロセス制御処理ともに、基本的にはサービス提供元である実空間アプリケーション1が判断することが妥当である。認証処理については、エージェントHA2が保持するユーザ2のプロファイル情報を基に行う。また、プロセス制御処理は、必要に応じて、ユーザ2への問い合わせを行い、その意向を確認する。ただし、一般的に実空間アプリケーション1においては、実際の機器操作によりサービスが提供されるため、特に一般家庭における家電を想定した場合、同じ種類の機器が複数あることがレアケースなので、必然的に協調利用が選択されることが多いと考えられる。複数プロセス起動が選択されるのは、公共スペース等において機器が多数ある場合である。
【0045】
まず、HA42から実区間アプリケーション1の使用希望が発出される(ステップS51)と、実空間アプリケーション1は、利用を許可するか否かを判断する(ステップS52)。この判断の結果、実空間アプリケーション1がユーザ2の利用を許可すると、SA3及びHA42はプロファイル情報を更新する(ステップS53)。実空間アプリケーション1のシナリオとして、ユーザからの意思表示や操作などが必要なケースでは、実空間アプリケーション1は、対応するSA3のプロファイル情報として保持されるユーザに対して、その依頼を送出する。
【0046】
サービス提供方法が個々のユーザによって異なる場合、例えば、ユーザが携帯している電子端末への表示という形態の場合、SA3のプロファイル情報として保持される個々のユーザの携帯端末に対して情報が表示されることになる。すなわち、協調利用も含めて、「実空間アプリケーションを利用する」という行為は、実空間アプリケーション1の対応するエージェント(SA3)のプロファイル情報(利用ユーザ)に記載されるということと等価である。そして、HA41(ユーザ1)とHA42(ユーザ2)が一緒に実空間アプリケーション1を使用する(ステップS54)。一方、実空間アプリケーション1の利用が許可されない場合は、HA42(ユーザ2)は、実空間アプリケーション1を使用することはできない(ステップS55)。
【0047】
次に、図7を参照して、図5に示すシステムの詳細な処理動作を説明する。図7は、図5に示すシステムにおいて、後続のユーザが利用申請をしてから実空間アプリケーション1のプロファイル情報を更新する詳細な処理動作を示すシーケンス図である。まず、HA42は、SA3に対して、実空間アプリケーション1の使用リクエストを送信する(ステップS61)。これを受けて、SA3は、実空間アプリケーション1に対して、使用許可判断を要請する情報を送信する(ステップS62)。この要請を受けた実空間アプリケーション1が、SA3に対して「OK」の応答を返す(ステップS63)と、SA3は、プロファイルを更新する(ステップS64)。続いて、SA3は、HA42に対して、実空間アプリケーション1の使用を許可し、プロファイル更新を指示する情報を送信する(ステップS65)。これを受けて、HA42は、プロファイルを更新する(ステップS66)。
【0048】
従来技術のように、シナリオが人(ユーザ)に帰属し、機器を占有し使用する主体が人である場合、複数の人に帰属する各シナリオが別なシナリオと認識されるため、協調ではなく競合として検出されてしまうという問題があった。第2実施形態では、機器を占有し使用する主体が実空間アプリケーション(実効的には、実空間アプリケーションの対応するエージェント)であり、人は実空間アプリケーションを利用する関係であるため、複数の人が同時に同じシナリオ(実空間アプリケーション)を利用しようとしても、機器とそれを占有し使用する実空間アプリケーションとの関係には何ら影響を与えることがないため、協調利用が可能となる。
【0049】
実空間アプリケーションとそのエージェントの対応関係は、実空間にどういう機器が存在するか、当該実空間アプリケーションが複数プロセス並行して動作している場合などがあり、単純に一つの実空間アプリケーションがあれば、対応するエージェントも一つのように決定することができない。もし、一つの実空間アプリケーションに一つのエージェントを対応させると、機器セットが2つ存在し、それぞれ別プロセスで動作している場合に、両プロセスの動作が混同されて区別がつかなくなるという問題が起きる。一方、プロセス単位でエージェントを割り当てると、実空間アプリケーションが意図したとおりの動作が実現できない可能性がある。これは、実空間アプリケーションの動作形態(プロセス構成)を制限することになり、やはり問題が生じる。実際の機器の組み合わせ(機器セット)毎にエージェントを割り当てることにより、これらの問題は回避することが可能である。
【0050】
次に、図8を参照して、図5に示すシステムの変形例を説明する。図8は、機器セット毎にエージェントを割り当てる構成を示す図である。ここでは、実空間アプリケーション1が使用する機器7、機器8で構成する機器セットは、部屋(FA2)に一組だけ存在するが、例えば、他に機器9、機器10で構成する機器セットがもう一組ある場合、実空間アプリケーション1に対応するエージェントは、実空間アプリケーション1に対応するエージェントSA3の配下に、各機器セットに対応する実空間アプリケーション1のエージェントSA31及びSA32を割り当て、それぞれの配下に、機器セットに対応する機器のエージェントDA51、DA52、DA53、DA54を接続する。機器セット毎に実空間アプリケーション1に対応するエージェントを割り当てるとは、このような構成をとることを指す。
【0051】
<第3実施形態>
次に、本発明の第3実施形態による実空間アプリケーションサービスの制御システムを説明する。図9は第3実施形態におけるソフトウェア及びハードウェアの構成を示す図である。この図において、図1、図5に示すシステムと同一の部分には同一の符号を付し、その説明を省略する。図9に示すシステムが図1、図5に示すシステムと異なる点は、2つの実空間アプリケーション11、12が同一の機器8(DA52)を利用しようとする機器競合状態にあることである。
【0052】
次に、図10を参照して、先行して実空間アプリケーション11が機器7(DA51)と機器8(DA52)を使用しているところに、機器8(DA52)と機器9(DA53)を使用する後続の実空間アプリケーション12が起動された場合の処理動作を説明する。図10は、図9に示すシステムの動作を示すフローチャートである。まず、実空間アプリケーション12が機器8と機器9の使用希望を発出すると(ステップS71)、機器8、機器9が他の実空間アプリケーションにより使用されているかを判断する(ステップS72)。この判断の結果、機器8または機器9が使用されていれば、実空間アプリケーション12は、起動することができない(ステップS76)。一方、機器8または機器9が使用されていない場合、SA32は使用する機器を確保する(ステップS73)。そして、HA43のプロファイルを更新し(ステップS74)、実空間アプリケーションを実行する(ステップS75)。
【0053】
次に、図11を参照して、図10に示すステップS72、S73の処理動作の詳細を説明する。図11は、実空間アプリケーション12が使用する機器を確保する処理動作を示すシーケンス図である。まず、HA43は、SA32に対して、実空間アプリケーションを起動するトリガを送信する(ステップS81)。これを受けて、SA32は、実空間アプリケーション12に対して、起動命令を送信する(ステップS82)。実空間アプリケーション12は、起動した後にOKの応答を返す(ステップS83)。SA32は、FA2に対して機器占有依頼を送信する(ステップS84)。機器が設置されている部屋に対応するFA2は、当該機器が使用されているか否かに関する情報を保持しており、機器の占有状況を返す。
【0054】
FA2は、機器8が実空間アプリケーション11により既に使用されているため、「機器8はNG、機器9はOK」のように、機器占有依頼に対する応答を返す(ステップS85)。これを受けて、SA32は、実空間アプリケーション12が必要としている機器を占有することができないため、起動できないことを示す起動NGをHA43に対して送信する(ステップS86)。もし、機器8と機器9が両方とも使用可能な場合、FA2から機器8と機器9のプロファイル更新が実行され、実空間アプリケーション12において使用可能な状態となる。
【0055】
次に、図12を参照して、図10に示すステップS72、S73の処理動作の変形例の詳細を説明する。まず、HA43は、SA32に対して、実空間アプリケーションを起動するトリガを送信する(ステップS91)。これを受けて、SA32は、実空間アプリケーション12に対して、起動命令を送信する(ステップS92)。実空間アプリケーション12は、起動した後にOKの応答を返す(ステップS93)。SA32は、DA52に対して機器占有依頼を送信する(ステップS94)。ここで、DA52は、既に占有されているため、占有できないことを示すNGを応答として返す(ステップS95)。続いて、SA32は、DA53に対して機器占有依頼を送信する(ステップS96)。ここで、DA53は、プロファイルを更新し(ステップS97)、占有できることを示すOKを応答として返す(ステップS98)。
【0056】
次に、SA32は、占有するべき機器が全て占有できたかを判断し、できていなければ、占有した機器(ここでは、DA53)に対して解放依頼を送信する(ステップS99)。DA53は、プロファイルを更新し(ステップS100)、解放したことを示すOKを応答として返す(ステップS101)。これを受けて、SA32は、実空間アプリケーション12が必要としている機器を占有することができないため、起動できないことを示す起動NGをHA43に対して送信する(ステップS102)。もし、機器8と機器9が両方とも使用可能な場合、FA2から機器8と機器9のプロファイル更新が実行され、実空間アプリケーション12において使用可能な状態となる。
【0057】
このように、機器に対応するソフトウェアエージェント(DA51、DA52、DA53)は、担当機器の使用状況、すなわち、どの実空間アプリケーションに使用されているかを、プロファイルの一項目として保持する機能を有しているため、実空間アプリケーションは、自身の使用する機器が確保できるか否かについて、当該機器のエージェントに問い合わせれば知ることができる。その結果、もし使用可能であれば、使用したい旨、当該機器エージェントに申し出て、当該機器エージェントが許可すれば、そのプロファイルが更新されて、当該実空間アプリケーションは当該機器を確保することができ、使用することができるようになる。
【0058】
図11及び図12に示した使用機器の確保処理動作は、いずれも、実空間アプリケーションのエージェントが、使用する全ての機器の使用状況を確認し、それらが全て使用可能となる場合に当該実空間アプリケーションを実行させるため、従来技術の問題点として指摘した必要な機器の一部使用に起因する不適切なアプリケーション実行を回避することが可能である。また、このように、実空間アプリケーションを制御するシステムの一部である実空間アプリケーションのエージェントによって占有されるということは、当該システムが介入して実空間アプリケーションサービスから機器の使用権を一時的に乗っ取るといったことも可能となることを意味する。このことにより、競合が検出された場合に、一時的に実空間アプリケーションサービスの実行を制限するといった調停操作が可能となる。以上説明したことは、従来技術では実現できない「シナリオ単位を認識して実施すべき様々な処理」の実行例である。
【0059】
図11に示した使用機器の確保処理動作は、その場所にある全ての機器の使用状況を場所(部屋)のエージェントが管理する場合に実行でき、場所のエージェントに負荷を集中させている。図12に示した使用機器の確保処理動作は、この作業を機器のエージェントに分担させる形態である。両者に機能的な違いはなく、場所に置かれた機器の数、機器競合の発生頻度などに起因して、その処理効率が影響を受ける。従って、想定するシステム構成及びパフォーマンスの要求条件により最適な方を選択すればよい。
【0060】
<第4実施形態>
次に、本発明の第4実施形態による実空間アプリケーションサービスの制御システムを説明する。前述した第1実施形態〜第3実施形態は、実空間アプリケーションが起動した時点で、使用する機器の占有処理を実行し、当該実空間アプリケーションが終了するまで占有し続けるものであった。本実施形態は、実空間アプリケーションが起動した時点では占有処理を実行せず、機器操作が発生した時点で初めて占有処理を実行し、当該機器操作が終了した時点で占有を解除するものである。このような実空間アプリケーションの例としては、部屋の住人が帰宅した時に自動的に照明や空調機器の電源をONとするものが考えられる。すなわち発生頻度の低い何らかのイベントを契機として機器操作を行うものである。このような実空間アプリケーションにおいて、起動と占有を同時に実行してしまうと、ほとんど機器操作が行われないのに、その機器が占有されて、他の実空間アプリケーションが使用することができないという非効率な状態を招いてしまう。本実施形態は、そのような非効率な機器使用を避けるためのものである。
【0061】
次に、図13を参照して、本実施形態における実空間アプリケーションの実行処理動作を説明する。ソフトウェア及びハードウェアの構成は図1に示す構成と同様である。図13は本実施形態における実空間アプリケーションの実行処理動作を示すシーケンス図である。まず、HA4は、SA3に対して、実空間アプリケーション1を起動するトリガを送信する(ステップS111)。これ受けて、SA3が、実空間アプリケーション1に対して起動命令を送信する(ステップS112)と、実空間アプリケーション1が起動し、応答をSA3に返す(ステップS113)。SA3は、応答が返された時点で、HA4に対して起動トリガに対する起動OKの応答を返す(ステップS114)。これを受けて、HA4は、プロファイルを更新する(ステップS115)。この処理動作によって待ち受け待機状態となる(ステップS116)。
【0062】
次に、実空間アプリケーション1が、必要に応じて、SA3に対して機器操作命令を送信する(ステップS117)と、SA3が、FA2に対して、機器占有依頼を送信し(ステップS118)、FA2から機器占有OKの応答を受ける(ステップS119)と、DA5に対して、機器操作命令を送信する(ステップS120)。そして、機器操作が終わると、SA3がFA2に対して機器占有解除依頼を送信し(ステップS121)、FA2から機器占有解除OKの応答を受けると、SA3は実空間アプリケーション1に対して、機器占有解除ができたことを示すOKの応答を返す(ステップS123)。
【0063】
次に、HA4は、SA3に対して、実空間アプリケーション1を終了するトリガを送信する(ステップS124)。これ受けて、SA3が、実空間アプリケーション1に対して終了命令を送信する(ステップS125)と、実空間アプリケーション1が終了し、応答をSA3に返す(ステップS126)。SA3は、応答が返された時点で、HA4に対して終了トリガに対する終了OKの応答を返す(ステップS127)。これを受けて、HA4は、プロファイルを更新する(ステップS128)。
【0064】
このように、本実施形態では実空間アプリケーション1が起動された時点で使用する機器の占有を実行せず、いったん待ち受け状態にて待機する。その状態で、実空間アプリケーション1から機器操作命令が発せられると、実空間アプリケーション1のエージェント(SA3)から場所のエージェント(FA2)へ機器占有依頼が送信され、成功すれば機器操作(DA5、DA6)を実行し、当該操作が終了すると、占有解除を実行する。以降、実空間アプリケーション1の終了依頼が来るまで、これを繰り返す。本実施形態では、機器操作の都度、当該機器の占有と解除を実施する処理動作について説明したが、第1実施形態〜第3実施形態に示したように、実空間アプリケーションが起動している間占有し続ける機器と混在していてもよい。どちらの方法を採用するかは、実空間アプリケーション1のエージェント(SA3)が保持するプロファイル情報として機器毎に規定される。
【0065】
なお、図1、5、8、9における各エージェントの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより実空間アプリケーションサービスの制御処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0066】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【産業上の利用可能性】
【0067】
インターネットなどのネットワークによって相互に接続された、家電を始めとする様々な機器、センサ、アクチュエータなどを用いることにより実現される実空間アプリケーションサービスの制御を行うことが不可欠な用途に適用できる。
【符号の説明】
【0068】
1・・・実空間アプリケーション、2・・・FA(部屋エージェント)、3、31、32・・・SA(実空間アプリケーションエージェント)、4、41、42、43・・・HA(人エージェント)、5、6、51、52、53、54・・・DA(機器エージェント)、7、8、9・・・機器
【技術分野】
【0001】
本発明は、インターネットなどのネットワークによって相互に接続された、家電を始めとする様々な機器、センサ、アクチュエータなどを用いることにより実現される実空間アプリケーションサービスの制御システム及び制御方法に関する。
【背景技術】
【0002】
情報家電を利用したホームネットワークサービスは、既に実用化フェーズから普及フェーズに差し掛かりつつある技術として一般への認知度も徐々に高まりつつある。ホームセキュリティ、ホームコントロール、エンターテインメント、生活支援などの分野で様々なサービスの提案が行われ、機械警備(ホームセキュリティ)、老人の見守りシステム、ホームオートメーション、遠隔検針など、実用化されているものも多い。将来的に、その到来が予想されている、あらゆるモノがネットワークにつながるユビキタスネットワーク社会においては、上記の情報家電だけでなく、その他の様々な機器、センサ、アクチュエータなどがネットワーク接続され、ホームネットワークサービス(現在と区別するため、ホームネットワークサービスの進化形を“実空間アプリケーション”と呼ぶ)の多様性、付加価値性もいっそう向上していくことが予想される。
【0003】
実空間アプリケーションの制御においては、ネットワーク接続されるモノの種類や数が飛躍的に増えるために、大きなスケーラビリティが要求される。従来、人、機器、場の一つ一つに対応して、エージェントと呼ばれる小さなソフトウェアを生成し、人、機器、場の状態管理、通信制御などを実行させることにより、スケーラビリティの要求条件を満足させることを目的とした技術が提案されている(非特許文献1〜3)。
【0004】
図14は、従来技術におけるサービス提供の仕組みを示す図である。ここでは、人Pが部屋Qに入室した時、誰もいなければ自動的にテレビRの電源をオンにするというシナリオを持つサービスが提供されるものとする。以下、順を追って、従来システムの動作を説明する。人Pが部屋Qに入室すると、それをセンサSが検出する。センサSは、自らに対応する機器エージェントDA(S)に人Pが入室したことを通知する(ステップS101)。続いて、DA(S)は、部屋QのエージェントであるFA(Q)に、人Pが入室したことを通知する(ステップS102)。
【0005】
さらに、FA(Q)は人PのエージェントであるHA(P)に人Pが入室したことを通知する(ステップS103)。HA(P)には、サービス起動条件Tが保持され、HA(P)は人Pの入室通知を受け取ると、サービス起動条件Tを含む人Pのプロファイル情報をFA(Q)へ返信する(ステップS104)。FA(Q)はサービス起動条件Tを検査し、部屋Q内に人Pだけが存在する場合に、テレビRの電源をオンにするように、テレビRの機器エージェントDA(R)に対して命令を送信する(ステップS105)。それを受信したDA(R)は、電源オン命令を実際の機器を操作するコマンドに翻訳して、テレビRに送信する(ステップS106)。これにより、テレビRの電源が入ることになる。
【0006】
ステップS101、S102、S103、S104、S106は予め規定されたステップであり、あるイベント(E)が発生した時に、特定の条件(C)であれば、指定されたアクション(A)を実行することが定められたECAルールにより実現される。条件によらず常に同じ動作を行う。ステップS105は、サービス起動条件Tに従って実施される条件判断の結果に応じて変わるものであるが、やはりECAルールを用いて実現される。また、使用される機器は、そのプロファイル情報として、自身を使用中である人Pの識別子を保持する。他の人が当該機器を使用しようとする場合、当該プロファイル情報が参照され、既に当該機器を使用している実空間アプリケーションがない場合に限って、その使用が許可されることにより、複数の実空間アプリケーションが同一の機器を使用しようとする機器競合の発生を防止する仕組みとなっている。このようなエージェントは前述の通り小さなソフトウェアであるので、これらのセンサやアクチュエータ(例えばテレビR)に通信回線が接続されたサーバにてエージェントを実行することにより、上記のシナリオを実行することができる。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】神林,武本,秦,内山,寺元,“実空間エージェントによるサービス提供の実現手法に関する一検討,”信学会総合大会,B−20−13,Mar.2009.
【非特許文献2】秦,神林,内山,武本,寺元,“実空間サービスのためのデバイス制御オーバレイネットワーク,”信学会総合大会,B−20−14,Mar.2009.
【非特許文献3】武本神林,秦,内山,寺元,“実空間サービス実現のためのエージェントモデル,”信学会総合大会,B−20−15,Mar.2009.
【発明の概要】
【発明が解決しようとする課題】
【0008】
前述した従来技術によると、実現しようとするシナリオはECAルールの集合に分解して、予めイベントに対応するエージェントに埋め込んでおく必要がある。実空間アプリケーションサービス開発者が意図するシナリオを、操作対象の機器、ステップ毎の操作内容、あるいは実行順序等を考慮して、複数のECAルールに分解する作業は、シナリオが複雑になるほど技術的な難易度が上がり、容易に解決できる課題ではない。また、シナリオ導入時及び削除時に、複数の機器、場、人のエージェントに分散して、ECAルールやプロファイル情報を配置することは、サービス開発者または利用者に多大なコスト負担を強いることになる。さらに、このような複数ECAルールのエージェント埋め込みによる実現手法では、シナリオが複数存在する場合に、同一のエージェントに複数のルールが設定されることとなり、ルールとシナリオの対応を取るための管理が難しくなる。このため複数のシナリオが混じってしまうといった不都合が起きる可能性が高くなるという問題がある。
【0009】
このシナリオは、複数のECAルールにより実現されるが、ある1つのシナリオを一塊のものとして管理する仕組みはない。従って、そのシナリオに関する情報、例えば、シナリオの名称やIDといった基本的なものから、シナリオが使用する全機器のリストは何か、といった情報まで、それらを管理・保持する仕組みがない。このことは、シナリオ単位を認識して実施すべき様々な処理ができないことを意味する。機器競合の検出については、個々の機器エージェントにより独立に実施されるため、実空間アプリケーションが複数の機器を使用する場合、そのシナリオが部分的に可能である、あるいは不可能であるなどの現象が起きる可能性があり、アプリケーションの実行形態として不適切であるといった問題がある。また、個々のシナリオを人に帰属させ、機器を占有し使用する主体を人としているので、例えば、TV視聴のような、複数の人が同一のシナリオを一緒に体験するようなケースには対応できないという問題がある。
【0010】
本発明は、このような事情に鑑みてなされたもので、情報家電だけでなく様々な機器、センサ、アクチュエータなど、膨大な数の物を取り扱うためのスケーラビリティ性を実現するエージェントを用いた実空間アプリケーション制御方法において、シナリオの導入及び解除に伴うコスト低減、適切な機器競合の検出及び解消方法、シナリオを複数ユーザで利用可能とする利用形態の多様性を実現することができる実空間アプリケーションサービスの制御システム及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、ソフトウェアエージェントを介してネットワークに接続された機器を制御することにより提供される実空間アプリケーションサービスを制御するシステムであって、前記実空間アプリケーションサービスは、これに対応するアプリケーションソフトウェアが実行されることにより実現され、その内容は前記アプリケーションソフトウェアの記述できる範囲において自由に変えることができるともに、前記アプリケーションソフトウェアは複数同時に存在し、動作することが可能であり、前記実空間アプリケーションサービス、前記実空間アプリケーションサービスを制御するシステムのユーザ、前記機器、前記実空間アプリケーションサービス及び前記実空間アプリケーションサービスが提供される場所のそれぞれに対応したソフトウェアエージェントを具備することを特徴とする。
【0012】
本発明は、前記ソフトウェアエージェントは、相互に情報通信を行う通信手段、情報を記憶する記憶手段及び動作を制御する制御手段を具備し、前記実空間アプリケーションサービスが提供される場所に対応したソフトウェアエージェントが具備する記憶手段には、前記実空間アプリケーションサービスが提供される場所の状態、属性に関する情報、当該場所に設置された機器のリスト、当該機器の個々について、機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、前記機器に対応するソフトウェアエージェントが具備する記憶手段には、前記機器の状態、属性に関する情報、前記機器と通信するためのプロトコル等の情報、前記機器を操作するためのコマンドに関する情報、当該機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、前記ユーザに対応するソフトウェアエージェントが具備する記憶手段には、前記ユーザの状態、属性に関する情報、当該ユーザが享受する実空間アプリケーションサービスの識別情報を保持され、前記実空間アプリケーションサービスに対応するソフトウェアエージェントが具備する記憶手段には、当該アプリケーションサービスが使用する機器の状態、属性、及び機器に対応するソフトウェアエージェントと通信するための情報、当該アプリケーションサービスのユーザの識別情報が保持されることを特徴とする。
【0013】
本発明は、前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、1つの親ソフトウェアエージェントの下に子ソフトウェアエージェントが接続されるツリー構造を有し、当該実空間アプリケーションサービスが使用する機器の組み合わせ毎に子ソフトウェアエージェントがひとつ生成されることを特徴とする。
【0014】
本発明は、前記実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントは、その場所に設置された個々の機器について、機器を使用する実空間アプリケーションサービスの情報を保持し、前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントに問い合わせすることにより取得し、他の実空間アプリケーションサービスに使用されていない場合、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントが保持する機器使用情報を更新して使用する権利を得ることを特徴とする。
【0015】
本発明は、前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該機器に対応するソフトウェアエージェントに問い合わせすることにより取得し、他の実空間アプリケーションサービスに使用されていない場合、当該機器が保持する当該機器を使用する実空間アプリケーションサービス情報を更新して使用する権利を得ることを特徴とする。
【0016】
本発明は、前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、使用する各々の機器の占有する際に、当該機器を、当該アプリケーションサービスが起動されてから終了するまで占有し続けるか、または、操作するたびに占有し、当該操作が終了したら占有を解放するかのいずれを使うかを当該機器のプロファイル情報として保持することを特徴とする。
【0017】
本発明は、前記実空間アプリケーションサービスは自身が必要とする機器を使用する権利を得た後、機器操作命令及び機器からの入力情報を、自身に対応するソフトウェアエージェントと当該機器に対応するソフトウェアエージェント間の通信を経由して送信または受信することを特徴とする。
【0018】
本発明は、ソフトウェアエージェントを介してネットワークに接続された機器を制御することにより提供される実空間アプリケーションサービスを制御するシステムにおける制御方法であって、前記実空間アプリケーションサービスは、これに対応するアプリケーションソフトウェアが実行されることにより実現され、その内容は前記アプリケーションソフトウェアの記述できる範囲において自由に変えることができるともに、前記アプリケーションソフトウェアは複数同時に存在し、動作することが可能であり、前記実空間アプリケーションサービス、前記実空間アプリケーションサービスを制御するシステムのユーザ、前記機器、前記実空間アプリケーションサービス及び前記実空間アプリケーションサービスが提供される場所のそれぞれに対応したソフトウェアエージェントを具備することを特徴とする。
【0019】
本発明は、前記ソフトウェアエージェントは、相互に情報通信を行う通信手段、情報を記憶する記憶手段及び動作を制御する制御手段を具備し、前記実空間アプリケーションサービスが提供される場所に対応したソフトウェアエージェントが具備する記憶手段には、前記実空間アプリケーションサービスが提供される場所の状態、属性に関する情報、当該場所に設置された機器のリスト、当該機器の個々について、機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、前記機器に対応するソフトウェアエージェントが具備する記憶手段には、前記機器の状態、属性に関する情報、前記機器と通信するためのプロトコル等の情報、前記機器を操作するためのコマンドに関する情報、当該機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、前記ユーザに対応するソフトウェアエージェントが具備する記憶手段には、前記ユーザの状態、属性に関する情報、当該ユーザが享受する実空間アプリケーションサービスの識別情報を保持され、前記実空間アプリケーションサービスに対応するソフトウェアエージェントが具備する記憶手段には、当該アプリケーションサービスが使用する機器の状態、属性、及び機器に対応するソフトウェアエージェントと通信するための情報、当該アプリケーションサービスのユーザの識別情報が保持されることを特徴とする。
【0020】
本発明は、前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、1つの親ソフトウェアエージェントの下に子ソフトウェアエージェントが接続されるツリー構造を有し、当該実空間アプリケーションサービスが使用する機器の組み合わせ毎に子ソフトウェアエージェントがひとつ生成されることを特徴とする。
【0021】
本発明は、前記実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントは、その場所に設置された個々の機器について、機器を使用する実空間アプリケーションサービスの情報を保持し、前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントに問い合わせすることにより取得し、他の実空間アプリケーションサービスに使用されていない場合、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントが保持する機器使用情報を更新して使用する権利を得ることを特徴とする。
【0022】
本発明は、前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該機器に対応するソフトウェアエージェントに問い合わせすることにより取得し、他の実空間アプリケーションサービスに使用されていない場合、当該機器が保持する当該機器を使用する実空間アプリケーションサービス情報を更新して使用する権利を得ることを特徴とする。
【0023】
本発明は、前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、使用する各々の機器の占有する際に、当該機器を、当該アプリケーションサービスが起動されてから終了するまで占有し続けるか、または、操作するたびに占有し、当該操作が終了したら占有を解放するかのいずれを使うかを当該機器のプロファイル情報として保持することを特徴とする。
【0024】
本発明は、前記実空間アプリケーションサービスは自身が必要とする機器を使用する権利を得た後、機器操作命令及び機器からの入力情報を、自身に対応するソフトウェアエージェントと当該機器に対応するソフトウェアエージェント間の通信を経由して送信または受信することを特徴とする。
【発明の効果】
【0025】
本発明によれば、エージェントモデルを用いた実空間アプリケーションサービス制御システムにおいて、複数のECAルールをエージェントに保持させ、それらの連携によりシナリオを実現させていた従来方式と比較して、シナリオの導入、削除、及び管理が大幅に容易になる。また、機器の使用権の確保及び機器の操作を実空間アプリケーションサービスが、自身に対応するエージェントを通して実施することにより、一つの実空間アプリケーションサービスが同時に複数の機器を占有して操作すること、及び、複数のユーザで同一の実空間アプリケーションサービスを使用する協調利用が実現可能になるという効果が得られる。
【図面の簡単な説明】
【0026】
【図1】本発明の第1実施形態におけるソフトウェア及びハードウェアの構成を示す図である。
【図2】図1に示すシステムの動作を示すフローチャートである。
【図3】図1に示すシステムの詳細な処理動作を示すシーケンス図である。
【図4】図1に示すシステムの詳細な処理動作を示すシーケンス図である。
【図5】本発明の第2実施形態におけるソフトウェア及びハードウェアの構成を示す図である。
【図6】図5に示すシステムの動作を示すフローチャートである。
【図7】図5に示すシステムにおいて、後続のユーザが利用申請をしてから実空間アプリケーション1のプロファイル情報を更新する詳細な処理動作を示すシーケンス図である。
【図8】機器セット毎にエージェントを割り当てる構成を示す図である。
【図9】である。
【図10】本発明の第3実施形態におけるソフトウェア及びハードウェアの構成を示す図である。
【図11】実空間アプリケーション12が使用する機器を確保する処理動作を示すシーケンス図である。
【図12】実空間アプリケーション12が使用する機器を確保する処理動作を示すシーケンス図である。
【図13】本発明の第4実施形態における実空間アプリケーションの実行処理動作を示すシーケンス図である。
【図14】従来技術におけるサービス提供の仕組みを示す図である。
【発明を実施するための形態】
【0027】
<第1実施形態>
以下、図面を参照して、本発明の第1実施形態による実空間アプリケーションサービスの制御システムを説明する。図1は第1実施形態におけるソフトウェア及びハードウェアの構成を示す図である。ここでは、実体として、ある部屋に人が1人存在し、2つの機器を使用するための実空間アプリケーションが動作する想定である。それぞれの実体には、対応するソフトウェアエージェントが存在する。部屋には、部屋エージェント(以下、FAと称する)2、実空間アプリケーション1には、実空間アプリケーションエージェント(以下、SAと称する)3、人には、人エージェント(以下、HAと称する)4が存在する。また、実際の機器7には、機器エージェント(以下、DAと称する)5、機器8には、機器エージェント(以下、DAと称する)6が存在する。図1に示すシステムは、実空間アプリケーション1が存在するアプリケーション層、各エージェントが存在するプラットフォーム層、機器が存在する物理層から構成する。実空間アプリケーション1はアプリケーションの提供元から提供されるものである。
【0028】
各ソフトウェアエージェントは、相互に情報通信を行う通信手段、情報を記憶する記憶手段及び動作を制御する制御手段を備えている。FA2が備える記憶手段には、実空間アプリケーションサービスが提供される場所の状態、属性に関する情報、当該場所に設置された機器のリスト、当該機器の個々について、機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持されている。DA5、6が備える記憶手段には機器の状態、属性に関する情報、機器と通信するためのプロトコル等の情報、機器を操作するためのコマンドに関する情報、当該機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持されている。また、HA4が備える記憶手段には、ユーザ(人)の状態、属性に関する情報、当該ユーザが享受する実空間アプリケーションサービスの識別情報を保持されている。さらに、SA3が備える記憶手段には、当該アプリケーションサービスが使用する機器の状態、属性、及び機器に対応する各ソフトウェアエージェントと通信するための情報、当該アプリケーションサービスのユーザの識別情報が保持されている。
【0029】
次に、図2を参照して、実空間アプリケーション1を起動し実行させる処理動作を説明する。図2は、図1に示すシステムの動作を示すフローチャートである。まず、SA3が起動依頼を受信する(ステップS1)と、SA3は、実空間アプリケーション(図面においてはアプリケーションをAPと図示する)1を起動する(ステップS2)。起動依頼は、例えば、人が部屋に入室したら自動的に起動するように予め設定されることや人が持つ携帯端末に表示される利用可能サービスが一覧から選択されることなどによって実空間アプリケーション1への起動依頼が発出される。
【0030】
実空間アプリケーション1は起動した後、待機状態となり、実空間アプリケーション1が使用する機器が確保できるか否かを判定することにより、他の実空間アプリケーションに既に対象機器が使用されていないかチェックする(ステップS3)。対象機器が使用されていなければ(対象機器が使用可能であれば)、HA4が管理する人のプロファイルに、実空間アプリケーション1を使用していることを示す情報を追加してプロファイルを更新する(ステップS4)。以上の処理が完了した後、実空間アプリケーション1が実行され、実際の機器操作が行われる(ステップS5)。一方、使用する対象機器が既に他の実空間アプリケーションに使用されている場合は、実空間アプリケーション1は実行されず、実空間アプリケーション1の実行は失敗となる(ステップS6)。
【0031】
次に、図3を参照して、図1に示すシステムの詳細な処理動作を説明する。図3は、図1に示すシステムの詳細な処理動作を示すシーケンス図である。まず、HA4は、SA3に対して、実空間アプリケーション1を起動するトリガを送信する(ステップS11)。これ受けて、SA3が、実空間アプリケーション1に対して起動命令を送信する(ステップS12)と、実空間アプリケーション1が起動し、応答をSA3に返す(ステップS13)。
【0032】
次に、SA3は、FA2に対して機器占有依頼を送信する(ステップS14)。これを受けて、FA2が、DA5に対して機器占有依頼を送信する(ステップS15)と、DA5は、機器7が占有可能であればプロファイルを更新し(ステップS16)、応答をFA2へ返す(ステップS17)。また、FA2が、DA6に対して機器占有依頼を送信する(ステップS18)と、DA6は、機器8が占有可能であればプロファイルを更新し(ステップS19)、応答をFA2へ返す(ステップS20)。そして、FA2は、機器占有依頼に対する応答(OK)をSA3へ返す(ステップS21)。
【0033】
次に、SA3は、実空間アプリケーション1に対して実行許可を送信する(ステップS22)。これを受けて、実空間アプリケーション1は、実行可能状態となり、応答をSA3に返す(ステップS23)。SA3は、応答が返された時点で、HA4に対して起動トリガに対する起動OKの応答を返す(ステップS24)。これを受けて、HA4は、プロファイルを更新する(ステップS25)。これ以降、実空間アプリケーション1が、必要に応じて、SA3に対して、機器7、機器8を操作するために機器操作命令を送信すると(ステップS26、S28)、SA3は、DA5、DA6に対して、機器操作命令を送信する(ステップS27、S29)。
【0034】
このように、機器7、8の占有状況をFA2が把握しているので、機器占有依頼はFA2に送信され、他の実空間アプリケーションに対象機器が使用されていない場合、機器のプロファイル情報が更新され、実空間アプリケーション1が当該機器を使用することが可能な状態となる。
【0035】
次に、図4を参照して、図1に示すシステムにおける他の詳細な処理動作を説明する。図4に示す処理動作は、図3に示す処理動作と異なり、機器占有のためのネゴシエーションを個々の機器エージェント(DA5、DA6)と個別に実施するものである。まず、HA4は、SA3に対して、実空間アプリケーション1を起動するトリガを送信する(ステップS31)。これ受けて、SA3が、実空間アプリケーション1に対して起動命令を送信する(ステップS32)と、実空間アプリケーション1が起動し、応答をSA3に返す(ステップS33)。
【0036】
次に、SA3が、DA5に対して機器占有依頼を送信する(ステップS34)と、DA5は、機器7が占有可能であればプロファイルを更新し(ステップS35)、応答をSA3へ返す(ステップS36)。また、SA3が、DA6に対して機器占有依頼を送信する(ステップS37)と、DA6は、機器8が占有可能であればプロファイルを更新し(ステップS38)、応答をSA3へ返す(ステップS39)。
【0037】
次に、SA3は、実空間アプリケーション1に対して実行許可を送信する(ステップS40)。これを受けて、実空間アプリケーション1は、実行可能状態となり、応答をSA3に返す(ステップS41)。SA3は、応答が返された時点で、HA4に対して起動トリガに対する起動OKの応答を返す(ステップS42)。これを受けて、HA4は、プロファイルを更新する(ステップS43)。これ以降、実空間アプリケーション1が、必要に応じて、SA3に対して、機器7、機器8を操作するために機器操作命令を送信すると(ステップS44、S46)、SA3は、DA5、DA6に対して、機器操作命令を送信する(ステップS45、S47)。
【0038】
図4に示す処理動作の利点は、機器占有処理の負荷を分散させ、FA2に集中することを回避できる点である。しかしながら一方で、シーケンス全体の量は増えるので、各エージェントの導入形態、例えば、部屋のエージェントと機器のエージェントは同じサーバ上にインストールされるのか否かなどを考慮して決定することが望ましい。
【0039】
このように、実空間アプリケーション1からの機器操作命令は対応するエージェント(SA3)を経由して行うことにより、アプリケーション層から、個々の機器を直接操作させないようにすることが可能となり、セキュリティを向上させることができる。従来技術においては、予めエージェントに埋め込まれた複数のルールが実空間で起きるイベントによって起動し、連携することにより実現される仕組みであり、ある1つのシナリオを一塊のものとして管理する機能はない。従って、そのシナリオに関する情報、例えば、シナリオの名称やIDといった基本的なものから、シナリオが使用する全機器のリストは何か、といった情報まで、それらを管理・保持する仕組みがない。
【0040】
第1実施形態では、シナリオは一つの一つの実空間アプリケーションサービスとして提供され、その実空間アプリケーションサービスに関する情報は、それに対応するエージェントで管理・保持されるため、シナリオの導入及び削除を始めとする管理が容易となる。また、実空間アプリケーションサービスと、それに対応するエージェントは、様々な処理を分担して担うことができるため、負荷分散を図ることができる。例えば、実空間アプリケーションサービスの利用に関わる認証処理をエージェントで一部代行するといったことが可能となる。
【0041】
なお、図1に示すシステムのソフトウェア実装は、既存のエージェントプラットフォームを用いて行うことができ、例えば、オープンソースソフトウェアであるPIAX(http://www.piax.org/)などを用いることが可能である。
【0042】
<第2実施形態>
次に、本発明の第2実施形態による実空間アプリケーションサービスの制御システムを説明する。図5は第2実施形態におけるソフトウェア及びハードウェアの構成を示す図である。この図において、図1に示すシステムと同一の部分には同一の符号を付し、その説明を省略する。図5に示すシステムが図1に示すシステムと異なる点は、実空間アプリケーション1を利用する人(ユーザ)が二人であり、それに対応する人エージェントHA41、HA42が存在することである。
【0043】
次に、図6を参照して、既にユーザ1(HA41)が実空間アプリケーション1を使用している状態で、別のユーザ2(HA42)が実空間アプリケーション1を使用する意向を表明した場合の一連の処理動作を説明する。図6は、図5に示すシステムの動作を示すフローチャートである。既に利用ユーザがいる状態他のユーザから使用希望が発出された場合の対応方法は、2段階に分けられる。第1段階は、当該ユーザの利用資格の有無の確認である。例えば、その場所が個人宅である場合、住人は許可するが、そうではないゲストには許可しないといった認証処理である。この第1段階を通過すると、次の第2段階としては、当該実空間アプリケーション1を既に利用している先行ユーザと一緒に利用するか(これを協調利用と呼ぶ)、同じ実空間アプリケーション1を、もう一つ別に起動して、先行ユーザと後続ユーザが別々に利用するかといったプロセス制御処理である。
【0044】
図6に示す処理動作はユーザ1とユーザ2が協調利用する際の処理動作である。認証処理及びプロセス制御処理ともに、基本的にはサービス提供元である実空間アプリケーション1が判断することが妥当である。認証処理については、エージェントHA2が保持するユーザ2のプロファイル情報を基に行う。また、プロセス制御処理は、必要に応じて、ユーザ2への問い合わせを行い、その意向を確認する。ただし、一般的に実空間アプリケーション1においては、実際の機器操作によりサービスが提供されるため、特に一般家庭における家電を想定した場合、同じ種類の機器が複数あることがレアケースなので、必然的に協調利用が選択されることが多いと考えられる。複数プロセス起動が選択されるのは、公共スペース等において機器が多数ある場合である。
【0045】
まず、HA42から実区間アプリケーション1の使用希望が発出される(ステップS51)と、実空間アプリケーション1は、利用を許可するか否かを判断する(ステップS52)。この判断の結果、実空間アプリケーション1がユーザ2の利用を許可すると、SA3及びHA42はプロファイル情報を更新する(ステップS53)。実空間アプリケーション1のシナリオとして、ユーザからの意思表示や操作などが必要なケースでは、実空間アプリケーション1は、対応するSA3のプロファイル情報として保持されるユーザに対して、その依頼を送出する。
【0046】
サービス提供方法が個々のユーザによって異なる場合、例えば、ユーザが携帯している電子端末への表示という形態の場合、SA3のプロファイル情報として保持される個々のユーザの携帯端末に対して情報が表示されることになる。すなわち、協調利用も含めて、「実空間アプリケーションを利用する」という行為は、実空間アプリケーション1の対応するエージェント(SA3)のプロファイル情報(利用ユーザ)に記載されるということと等価である。そして、HA41(ユーザ1)とHA42(ユーザ2)が一緒に実空間アプリケーション1を使用する(ステップS54)。一方、実空間アプリケーション1の利用が許可されない場合は、HA42(ユーザ2)は、実空間アプリケーション1を使用することはできない(ステップS55)。
【0047】
次に、図7を参照して、図5に示すシステムの詳細な処理動作を説明する。図7は、図5に示すシステムにおいて、後続のユーザが利用申請をしてから実空間アプリケーション1のプロファイル情報を更新する詳細な処理動作を示すシーケンス図である。まず、HA42は、SA3に対して、実空間アプリケーション1の使用リクエストを送信する(ステップS61)。これを受けて、SA3は、実空間アプリケーション1に対して、使用許可判断を要請する情報を送信する(ステップS62)。この要請を受けた実空間アプリケーション1が、SA3に対して「OK」の応答を返す(ステップS63)と、SA3は、プロファイルを更新する(ステップS64)。続いて、SA3は、HA42に対して、実空間アプリケーション1の使用を許可し、プロファイル更新を指示する情報を送信する(ステップS65)。これを受けて、HA42は、プロファイルを更新する(ステップS66)。
【0048】
従来技術のように、シナリオが人(ユーザ)に帰属し、機器を占有し使用する主体が人である場合、複数の人に帰属する各シナリオが別なシナリオと認識されるため、協調ではなく競合として検出されてしまうという問題があった。第2実施形態では、機器を占有し使用する主体が実空間アプリケーション(実効的には、実空間アプリケーションの対応するエージェント)であり、人は実空間アプリケーションを利用する関係であるため、複数の人が同時に同じシナリオ(実空間アプリケーション)を利用しようとしても、機器とそれを占有し使用する実空間アプリケーションとの関係には何ら影響を与えることがないため、協調利用が可能となる。
【0049】
実空間アプリケーションとそのエージェントの対応関係は、実空間にどういう機器が存在するか、当該実空間アプリケーションが複数プロセス並行して動作している場合などがあり、単純に一つの実空間アプリケーションがあれば、対応するエージェントも一つのように決定することができない。もし、一つの実空間アプリケーションに一つのエージェントを対応させると、機器セットが2つ存在し、それぞれ別プロセスで動作している場合に、両プロセスの動作が混同されて区別がつかなくなるという問題が起きる。一方、プロセス単位でエージェントを割り当てると、実空間アプリケーションが意図したとおりの動作が実現できない可能性がある。これは、実空間アプリケーションの動作形態(プロセス構成)を制限することになり、やはり問題が生じる。実際の機器の組み合わせ(機器セット)毎にエージェントを割り当てることにより、これらの問題は回避することが可能である。
【0050】
次に、図8を参照して、図5に示すシステムの変形例を説明する。図8は、機器セット毎にエージェントを割り当てる構成を示す図である。ここでは、実空間アプリケーション1が使用する機器7、機器8で構成する機器セットは、部屋(FA2)に一組だけ存在するが、例えば、他に機器9、機器10で構成する機器セットがもう一組ある場合、実空間アプリケーション1に対応するエージェントは、実空間アプリケーション1に対応するエージェントSA3の配下に、各機器セットに対応する実空間アプリケーション1のエージェントSA31及びSA32を割り当て、それぞれの配下に、機器セットに対応する機器のエージェントDA51、DA52、DA53、DA54を接続する。機器セット毎に実空間アプリケーション1に対応するエージェントを割り当てるとは、このような構成をとることを指す。
【0051】
<第3実施形態>
次に、本発明の第3実施形態による実空間アプリケーションサービスの制御システムを説明する。図9は第3実施形態におけるソフトウェア及びハードウェアの構成を示す図である。この図において、図1、図5に示すシステムと同一の部分には同一の符号を付し、その説明を省略する。図9に示すシステムが図1、図5に示すシステムと異なる点は、2つの実空間アプリケーション11、12が同一の機器8(DA52)を利用しようとする機器競合状態にあることである。
【0052】
次に、図10を参照して、先行して実空間アプリケーション11が機器7(DA51)と機器8(DA52)を使用しているところに、機器8(DA52)と機器9(DA53)を使用する後続の実空間アプリケーション12が起動された場合の処理動作を説明する。図10は、図9に示すシステムの動作を示すフローチャートである。まず、実空間アプリケーション12が機器8と機器9の使用希望を発出すると(ステップS71)、機器8、機器9が他の実空間アプリケーションにより使用されているかを判断する(ステップS72)。この判断の結果、機器8または機器9が使用されていれば、実空間アプリケーション12は、起動することができない(ステップS76)。一方、機器8または機器9が使用されていない場合、SA32は使用する機器を確保する(ステップS73)。そして、HA43のプロファイルを更新し(ステップS74)、実空間アプリケーションを実行する(ステップS75)。
【0053】
次に、図11を参照して、図10に示すステップS72、S73の処理動作の詳細を説明する。図11は、実空間アプリケーション12が使用する機器を確保する処理動作を示すシーケンス図である。まず、HA43は、SA32に対して、実空間アプリケーションを起動するトリガを送信する(ステップS81)。これを受けて、SA32は、実空間アプリケーション12に対して、起動命令を送信する(ステップS82)。実空間アプリケーション12は、起動した後にOKの応答を返す(ステップS83)。SA32は、FA2に対して機器占有依頼を送信する(ステップS84)。機器が設置されている部屋に対応するFA2は、当該機器が使用されているか否かに関する情報を保持しており、機器の占有状況を返す。
【0054】
FA2は、機器8が実空間アプリケーション11により既に使用されているため、「機器8はNG、機器9はOK」のように、機器占有依頼に対する応答を返す(ステップS85)。これを受けて、SA32は、実空間アプリケーション12が必要としている機器を占有することができないため、起動できないことを示す起動NGをHA43に対して送信する(ステップS86)。もし、機器8と機器9が両方とも使用可能な場合、FA2から機器8と機器9のプロファイル更新が実行され、実空間アプリケーション12において使用可能な状態となる。
【0055】
次に、図12を参照して、図10に示すステップS72、S73の処理動作の変形例の詳細を説明する。まず、HA43は、SA32に対して、実空間アプリケーションを起動するトリガを送信する(ステップS91)。これを受けて、SA32は、実空間アプリケーション12に対して、起動命令を送信する(ステップS92)。実空間アプリケーション12は、起動した後にOKの応答を返す(ステップS93)。SA32は、DA52に対して機器占有依頼を送信する(ステップS94)。ここで、DA52は、既に占有されているため、占有できないことを示すNGを応答として返す(ステップS95)。続いて、SA32は、DA53に対して機器占有依頼を送信する(ステップS96)。ここで、DA53は、プロファイルを更新し(ステップS97)、占有できることを示すOKを応答として返す(ステップS98)。
【0056】
次に、SA32は、占有するべき機器が全て占有できたかを判断し、できていなければ、占有した機器(ここでは、DA53)に対して解放依頼を送信する(ステップS99)。DA53は、プロファイルを更新し(ステップS100)、解放したことを示すOKを応答として返す(ステップS101)。これを受けて、SA32は、実空間アプリケーション12が必要としている機器を占有することができないため、起動できないことを示す起動NGをHA43に対して送信する(ステップS102)。もし、機器8と機器9が両方とも使用可能な場合、FA2から機器8と機器9のプロファイル更新が実行され、実空間アプリケーション12において使用可能な状態となる。
【0057】
このように、機器に対応するソフトウェアエージェント(DA51、DA52、DA53)は、担当機器の使用状況、すなわち、どの実空間アプリケーションに使用されているかを、プロファイルの一項目として保持する機能を有しているため、実空間アプリケーションは、自身の使用する機器が確保できるか否かについて、当該機器のエージェントに問い合わせれば知ることができる。その結果、もし使用可能であれば、使用したい旨、当該機器エージェントに申し出て、当該機器エージェントが許可すれば、そのプロファイルが更新されて、当該実空間アプリケーションは当該機器を確保することができ、使用することができるようになる。
【0058】
図11及び図12に示した使用機器の確保処理動作は、いずれも、実空間アプリケーションのエージェントが、使用する全ての機器の使用状況を確認し、それらが全て使用可能となる場合に当該実空間アプリケーションを実行させるため、従来技術の問題点として指摘した必要な機器の一部使用に起因する不適切なアプリケーション実行を回避することが可能である。また、このように、実空間アプリケーションを制御するシステムの一部である実空間アプリケーションのエージェントによって占有されるということは、当該システムが介入して実空間アプリケーションサービスから機器の使用権を一時的に乗っ取るといったことも可能となることを意味する。このことにより、競合が検出された場合に、一時的に実空間アプリケーションサービスの実行を制限するといった調停操作が可能となる。以上説明したことは、従来技術では実現できない「シナリオ単位を認識して実施すべき様々な処理」の実行例である。
【0059】
図11に示した使用機器の確保処理動作は、その場所にある全ての機器の使用状況を場所(部屋)のエージェントが管理する場合に実行でき、場所のエージェントに負荷を集中させている。図12に示した使用機器の確保処理動作は、この作業を機器のエージェントに分担させる形態である。両者に機能的な違いはなく、場所に置かれた機器の数、機器競合の発生頻度などに起因して、その処理効率が影響を受ける。従って、想定するシステム構成及びパフォーマンスの要求条件により最適な方を選択すればよい。
【0060】
<第4実施形態>
次に、本発明の第4実施形態による実空間アプリケーションサービスの制御システムを説明する。前述した第1実施形態〜第3実施形態は、実空間アプリケーションが起動した時点で、使用する機器の占有処理を実行し、当該実空間アプリケーションが終了するまで占有し続けるものであった。本実施形態は、実空間アプリケーションが起動した時点では占有処理を実行せず、機器操作が発生した時点で初めて占有処理を実行し、当該機器操作が終了した時点で占有を解除するものである。このような実空間アプリケーションの例としては、部屋の住人が帰宅した時に自動的に照明や空調機器の電源をONとするものが考えられる。すなわち発生頻度の低い何らかのイベントを契機として機器操作を行うものである。このような実空間アプリケーションにおいて、起動と占有を同時に実行してしまうと、ほとんど機器操作が行われないのに、その機器が占有されて、他の実空間アプリケーションが使用することができないという非効率な状態を招いてしまう。本実施形態は、そのような非効率な機器使用を避けるためのものである。
【0061】
次に、図13を参照して、本実施形態における実空間アプリケーションの実行処理動作を説明する。ソフトウェア及びハードウェアの構成は図1に示す構成と同様である。図13は本実施形態における実空間アプリケーションの実行処理動作を示すシーケンス図である。まず、HA4は、SA3に対して、実空間アプリケーション1を起動するトリガを送信する(ステップS111)。これ受けて、SA3が、実空間アプリケーション1に対して起動命令を送信する(ステップS112)と、実空間アプリケーション1が起動し、応答をSA3に返す(ステップS113)。SA3は、応答が返された時点で、HA4に対して起動トリガに対する起動OKの応答を返す(ステップS114)。これを受けて、HA4は、プロファイルを更新する(ステップS115)。この処理動作によって待ち受け待機状態となる(ステップS116)。
【0062】
次に、実空間アプリケーション1が、必要に応じて、SA3に対して機器操作命令を送信する(ステップS117)と、SA3が、FA2に対して、機器占有依頼を送信し(ステップS118)、FA2から機器占有OKの応答を受ける(ステップS119)と、DA5に対して、機器操作命令を送信する(ステップS120)。そして、機器操作が終わると、SA3がFA2に対して機器占有解除依頼を送信し(ステップS121)、FA2から機器占有解除OKの応答を受けると、SA3は実空間アプリケーション1に対して、機器占有解除ができたことを示すOKの応答を返す(ステップS123)。
【0063】
次に、HA4は、SA3に対して、実空間アプリケーション1を終了するトリガを送信する(ステップS124)。これ受けて、SA3が、実空間アプリケーション1に対して終了命令を送信する(ステップS125)と、実空間アプリケーション1が終了し、応答をSA3に返す(ステップS126)。SA3は、応答が返された時点で、HA4に対して終了トリガに対する終了OKの応答を返す(ステップS127)。これを受けて、HA4は、プロファイルを更新する(ステップS128)。
【0064】
このように、本実施形態では実空間アプリケーション1が起動された時点で使用する機器の占有を実行せず、いったん待ち受け状態にて待機する。その状態で、実空間アプリケーション1から機器操作命令が発せられると、実空間アプリケーション1のエージェント(SA3)から場所のエージェント(FA2)へ機器占有依頼が送信され、成功すれば機器操作(DA5、DA6)を実行し、当該操作が終了すると、占有解除を実行する。以降、実空間アプリケーション1の終了依頼が来るまで、これを繰り返す。本実施形態では、機器操作の都度、当該機器の占有と解除を実施する処理動作について説明したが、第1実施形態〜第3実施形態に示したように、実空間アプリケーションが起動している間占有し続ける機器と混在していてもよい。どちらの方法を採用するかは、実空間アプリケーション1のエージェント(SA3)が保持するプロファイル情報として機器毎に規定される。
【0065】
なお、図1、5、8、9における各エージェントの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより実空間アプリケーションサービスの制御処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0066】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【産業上の利用可能性】
【0067】
インターネットなどのネットワークによって相互に接続された、家電を始めとする様々な機器、センサ、アクチュエータなどを用いることにより実現される実空間アプリケーションサービスの制御を行うことが不可欠な用途に適用できる。
【符号の説明】
【0068】
1・・・実空間アプリケーション、2・・・FA(部屋エージェント)、3、31、32・・・SA(実空間アプリケーションエージェント)、4、41、42、43・・・HA(人エージェント)、5、6、51、52、53、54・・・DA(機器エージェント)、7、8、9・・・機器
【特許請求の範囲】
【請求項1】
ソフトウェアエージェントを介してネットワークに接続された機器を制御することにより提供される実空間アプリケーションサービスを制御するシステムであって、
前記実空間アプリケーションサービスは、これに対応するアプリケーションソフトウェアが実行されることにより実現され、その内容は前記アプリケーションソフトウェアの記述できる範囲において自由に変えることができるともに、前記アプリケーションソフトウェアは複数同時に存在し、動作することが可能であり、
前記実空間アプリケーションサービス、前記実空間アプリケーションサービスを制御するシステムのユーザ、前記機器、前記実空間アプリケーションサービス及び前記実空間アプリケーションサービスが提供される場所のそれぞれに対応したソフトウェアエージェントを具備することを特徴とする実空間アプリケーションサービスを制御するシステム。
【請求項2】
前記ソフトウェアエージェントは、相互に情報通信を行う通信手段、情報を記憶する記憶手段及び動作を制御する制御手段を具備し、
前記実空間アプリケーションサービスが提供される場所に対応したソフトウェアエージェントが具備する記憶手段には、前記実空間アプリケーションサービスが提供される場所の状態、属性に関する情報、当該場所に設置された機器のリスト、当該機器の個々について、機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、
前記機器に対応するソフトウェアエージェントが具備する記憶手段には、前記機器の状態、属性に関する情報、前記機器と通信するためのプロトコル等の情報、前記機器を操作するためのコマンドに関する情報、当該機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、
前記ユーザに対応するソフトウェアエージェントが具備する記憶手段には、前記ユーザの状態、属性に関する情報、当該ユーザが享受する実空間アプリケーションサービスの識別情報を保持され、
前記実空間アプリケーションサービスに対応するソフトウェアエージェントが具備する記憶手段には、当該アプリケーションサービスが使用する機器の状態、属性、及び機器に対応するソフトウェアエージェントと通信するための情報、当該アプリケーションサービスのユーザの識別情報が保持されることを特徴とする請求項1に記載の実空間アプリケーションサービスを制御するシステム。
【請求項3】
前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、1つの親ソフトウェアエージェントの下に子ソフトウェアエージェントが接続されるツリー構造を有し、当該実空間アプリケーションサービスが使用する機器の組み合わせ毎に子ソフトウェアエージェントがひとつ生成されることを特徴とする請求項1に記載の実空間アプリケーションサービスを制御するシステム。
【請求項4】
前記実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントは、その場所に設置された個々の機器について、機器を使用する実空間アプリケーションサービスの情報を保持し、
前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントに問い合わせすることにより取得し、
他の実空間アプリケーションサービスに使用されていない場合、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントが保持する機器使用情報を更新して使用する権利を得ることを特徴とする請求項1から請求項3のいずれかに記載の実空間アプリケーションサービスを制御するシステム。
【請求項5】
前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該機器に対応するソフトウェアエージェントに問い合わせすることにより取得し、
他の実空間アプリケーションサービスに使用されていない場合、当該機器が保持する当該機器を使用する実空間アプリケーションサービス情報を更新して使用する権利を得ることを特徴とする請求項1から請求項4のいずれかに記載の実空間アプリケーションサービスを制御するシステム。
【請求項6】
前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、使用する各々の機器の占有する際に、当該機器を、当該アプリケーションサービスが起動されてから終了するまで占有し続けるか、または、操作するたびに占有し、当該操作が終了したら占有を解放するかのいずれを使うかを当該機器のプロファイル情報として保持することを特徴とする請求項1から請求項5のいずれかに記載の実空間アプリケーションサービスを制御するシステム。
【請求項7】
前記実空間アプリケーションサービスは自身が必要とする機器を使用する権利を得た後、機器操作命令及び機器からの入力情報を、自身に対応するソフトウェアエージェントと当該機器に対応するソフトウェアエージェント間の通信を経由して送信または受信することを特徴とする請求項1から請求項6のいずれかに記載の実空間アプリケーションサービスを制御するシステム。
【請求項8】
ソフトウェアエージェントを介してネットワークに接続された機器を制御することにより提供される実空間アプリケーションサービスを制御するシステムにおける制御方法であって、
前記実空間アプリケーションサービスは、これに対応するアプリケーションソフトウェアが実行されることにより実現され、その内容は前記アプリケーションソフトウェアの記述できる範囲において自由に変えることができるともに、前記アプリケーションソフトウェアは複数同時に存在し、動作することが可能であり、
前記実空間アプリケーションサービス、前記実空間アプリケーションサービスを制御するシステムのユーザ、前記機器、前記実空間アプリケーションサービス及び前記実空間アプリケーションサービスが提供される場所のそれぞれに対応したソフトウェアエージェントを具備することを特徴とする実空間アプリケーションサービスの制御方法。
【請求項9】
前記ソフトウェアエージェントは、相互に情報通信を行う通信手段、情報を記憶する記憶手段及び動作を制御する制御手段を具備し、
前記実空間アプリケーションサービスが提供される場所に対応したソフトウェアエージェントが具備する記憶手段には、前記実空間アプリケーションサービスが提供される場所の状態、属性に関する情報、当該場所に設置された機器のリスト、当該機器の個々について、機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、
前記機器に対応するソフトウェアエージェントが具備する記憶手段には、前記機器の状態、属性に関する情報、前記機器と通信するためのプロトコル等の情報、前記機器を操作するためのコマンドに関する情報、当該機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、
前記ユーザに対応するソフトウェアエージェントが具備する記憶手段には、前記ユーザの状態、属性に関する情報、当該ユーザが享受する実空間アプリケーションサービスの識別情報を保持され、
前記実空間アプリケーションサービスに対応するソフトウェアエージェントが具備する記憶手段には、当該アプリケーションサービスが使用する機器の状態、属性、及び機器に対応するソフトウェアエージェントと通信するための情報、当該アプリケーションサービスのユーザの識別情報が保持されることを特徴とする請求項8に記載の実空間アプリケーションサービスの制御方法。
【請求項10】
前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、1つの親ソフトウェアエージェントの下に子ソフトウェアエージェントが接続されるツリー構造を有し、当該実空間アプリケーションサービスが使用する機器の組み合わせ毎に子ソフトウェアエージェントがひとつ生成されることを特徴とする請求項8に記載の実空間アプリケーションサービスの制御方法。
【請求項11】
前記実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントは、その場所に設置された個々の機器について、機器を使用する実空間アプリケーションサービスの情報を保持し、
前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントに問い合わせすることにより取得し、
他の実空間アプリケーションサービスに使用されていない場合、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントが保持する機器使用情報を更新して使用する権利を得ることを特徴とする請求項8から請求項10のいずれかに記載の実空間アプリケーションサービスの制御方法。
【請求項12】
前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該機器に対応するソフトウェアエージェントに問い合わせすることにより取得し、
他の実空間アプリケーションサービスに使用されていない場合、当該機器が保持する当該機器を使用する実空間アプリケーションサービス情報を更新して使用する権利を得ることを特徴とする請求項8から請求項11のいずれかに記載の実空間アプリケーションサービスの制御方法。
【請求項13】
前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、使用する各々の機器の占有する際に、当該機器を、当該アプリケーションサービスが起動されてから終了するまで占有し続けるか、または、操作するたびに占有し、当該操作が終了したら占有を解放するかのいずれを使うかを当該機器のプロファイル情報として保持することを特徴とする請求項8から請求項12のいずれかに記載の実空間アプリケーションサービスの制御方法。
【請求項14】
前記実空間アプリケーションサービスは自身が必要とする機器を使用する権利を得た後、機器操作命令及び機器からの入力情報を、自身に対応するソフトウェアエージェントと当該機器に対応するソフトウェアエージェント間の通信を経由して送信または受信することを特徴とする請求項8から請求項13のいずれかに記載の実空間アプリケーションサービスの制御方法。
【請求項1】
ソフトウェアエージェントを介してネットワークに接続された機器を制御することにより提供される実空間アプリケーションサービスを制御するシステムであって、
前記実空間アプリケーションサービスは、これに対応するアプリケーションソフトウェアが実行されることにより実現され、その内容は前記アプリケーションソフトウェアの記述できる範囲において自由に変えることができるともに、前記アプリケーションソフトウェアは複数同時に存在し、動作することが可能であり、
前記実空間アプリケーションサービス、前記実空間アプリケーションサービスを制御するシステムのユーザ、前記機器、前記実空間アプリケーションサービス及び前記実空間アプリケーションサービスが提供される場所のそれぞれに対応したソフトウェアエージェントを具備することを特徴とする実空間アプリケーションサービスを制御するシステム。
【請求項2】
前記ソフトウェアエージェントは、相互に情報通信を行う通信手段、情報を記憶する記憶手段及び動作を制御する制御手段を具備し、
前記実空間アプリケーションサービスが提供される場所に対応したソフトウェアエージェントが具備する記憶手段には、前記実空間アプリケーションサービスが提供される場所の状態、属性に関する情報、当該場所に設置された機器のリスト、当該機器の個々について、機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、
前記機器に対応するソフトウェアエージェントが具備する記憶手段には、前記機器の状態、属性に関する情報、前記機器と通信するためのプロトコル等の情報、前記機器を操作するためのコマンドに関する情報、当該機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、
前記ユーザに対応するソフトウェアエージェントが具備する記憶手段には、前記ユーザの状態、属性に関する情報、当該ユーザが享受する実空間アプリケーションサービスの識別情報を保持され、
前記実空間アプリケーションサービスに対応するソフトウェアエージェントが具備する記憶手段には、当該アプリケーションサービスが使用する機器の状態、属性、及び機器に対応するソフトウェアエージェントと通信するための情報、当該アプリケーションサービスのユーザの識別情報が保持されることを特徴とする請求項1に記載の実空間アプリケーションサービスを制御するシステム。
【請求項3】
前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、1つの親ソフトウェアエージェントの下に子ソフトウェアエージェントが接続されるツリー構造を有し、当該実空間アプリケーションサービスが使用する機器の組み合わせ毎に子ソフトウェアエージェントがひとつ生成されることを特徴とする請求項1に記載の実空間アプリケーションサービスを制御するシステム。
【請求項4】
前記実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントは、その場所に設置された個々の機器について、機器を使用する実空間アプリケーションサービスの情報を保持し、
前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントに問い合わせすることにより取得し、
他の実空間アプリケーションサービスに使用されていない場合、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントが保持する機器使用情報を更新して使用する権利を得ることを特徴とする請求項1から請求項3のいずれかに記載の実空間アプリケーションサービスを制御するシステム。
【請求項5】
前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該機器に対応するソフトウェアエージェントに問い合わせすることにより取得し、
他の実空間アプリケーションサービスに使用されていない場合、当該機器が保持する当該機器を使用する実空間アプリケーションサービス情報を更新して使用する権利を得ることを特徴とする請求項1から請求項4のいずれかに記載の実空間アプリケーションサービスを制御するシステム。
【請求項6】
前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、使用する各々の機器の占有する際に、当該機器を、当該アプリケーションサービスが起動されてから終了するまで占有し続けるか、または、操作するたびに占有し、当該操作が終了したら占有を解放するかのいずれを使うかを当該機器のプロファイル情報として保持することを特徴とする請求項1から請求項5のいずれかに記載の実空間アプリケーションサービスを制御するシステム。
【請求項7】
前記実空間アプリケーションサービスは自身が必要とする機器を使用する権利を得た後、機器操作命令及び機器からの入力情報を、自身に対応するソフトウェアエージェントと当該機器に対応するソフトウェアエージェント間の通信を経由して送信または受信することを特徴とする請求項1から請求項6のいずれかに記載の実空間アプリケーションサービスを制御するシステム。
【請求項8】
ソフトウェアエージェントを介してネットワークに接続された機器を制御することにより提供される実空間アプリケーションサービスを制御するシステムにおける制御方法であって、
前記実空間アプリケーションサービスは、これに対応するアプリケーションソフトウェアが実行されることにより実現され、その内容は前記アプリケーションソフトウェアの記述できる範囲において自由に変えることができるともに、前記アプリケーションソフトウェアは複数同時に存在し、動作することが可能であり、
前記実空間アプリケーションサービス、前記実空間アプリケーションサービスを制御するシステムのユーザ、前記機器、前記実空間アプリケーションサービス及び前記実空間アプリケーションサービスが提供される場所のそれぞれに対応したソフトウェアエージェントを具備することを特徴とする実空間アプリケーションサービスの制御方法。
【請求項9】
前記ソフトウェアエージェントは、相互に情報通信を行う通信手段、情報を記憶する記憶手段及び動作を制御する制御手段を具備し、
前記実空間アプリケーションサービスが提供される場所に対応したソフトウェアエージェントが具備する記憶手段には、前記実空間アプリケーションサービスが提供される場所の状態、属性に関する情報、当該場所に設置された機器のリスト、当該機器の個々について、機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、
前記機器に対応するソフトウェアエージェントが具備する記憶手段には、前記機器の状態、属性に関する情報、前記機器と通信するためのプロトコル等の情報、前記機器を操作するためのコマンドに関する情報、当該機器を使用する実空間アプリケーションサービスの識別情報、機器操作に先立ち実行する占有操作種別に関する情報が保持され、
前記ユーザに対応するソフトウェアエージェントが具備する記憶手段には、前記ユーザの状態、属性に関する情報、当該ユーザが享受する実空間アプリケーションサービスの識別情報を保持され、
前記実空間アプリケーションサービスに対応するソフトウェアエージェントが具備する記憶手段には、当該アプリケーションサービスが使用する機器の状態、属性、及び機器に対応するソフトウェアエージェントと通信するための情報、当該アプリケーションサービスのユーザの識別情報が保持されることを特徴とする請求項8に記載の実空間アプリケーションサービスの制御方法。
【請求項10】
前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、1つの親ソフトウェアエージェントの下に子ソフトウェアエージェントが接続されるツリー構造を有し、当該実空間アプリケーションサービスが使用する機器の組み合わせ毎に子ソフトウェアエージェントがひとつ生成されることを特徴とする請求項8に記載の実空間アプリケーションサービスの制御方法。
【請求項11】
前記実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントは、その場所に設置された個々の機器について、機器を使用する実空間アプリケーションサービスの情報を保持し、
前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントに問い合わせすることにより取得し、
他の実空間アプリケーションサービスに使用されていない場合、当該実空間アプリケーションサービスが提供される場所に対応するソフトウェアエージェントが保持する機器使用情報を更新して使用する権利を得ることを特徴とする請求項8から請求項10のいずれかに記載の実空間アプリケーションサービスの制御方法。
【請求項12】
前記実空間アプリケーションサービスは、自身に対応するソフトウェアエージェントを介して、使用する機器の使用状況を、当該機器に対応するソフトウェアエージェントに問い合わせすることにより取得し、
他の実空間アプリケーションサービスに使用されていない場合、当該機器が保持する当該機器を使用する実空間アプリケーションサービス情報を更新して使用する権利を得ることを特徴とする請求項8から請求項11のいずれかに記載の実空間アプリケーションサービスの制御方法。
【請求項13】
前記実空間アプリケーションサービスに対応するソフトウェアエージェントは、使用する各々の機器の占有する際に、当該機器を、当該アプリケーションサービスが起動されてから終了するまで占有し続けるか、または、操作するたびに占有し、当該操作が終了したら占有を解放するかのいずれを使うかを当該機器のプロファイル情報として保持することを特徴とする請求項8から請求項12のいずれかに記載の実空間アプリケーションサービスの制御方法。
【請求項14】
前記実空間アプリケーションサービスは自身が必要とする機器を使用する権利を得た後、機器操作命令及び機器からの入力情報を、自身に対応するソフトウェアエージェントと当該機器に対応するソフトウェアエージェント間の通信を経由して送信または受信することを特徴とする請求項8から請求項13のいずれかに記載の実空間アプリケーションサービスの制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−18608(P2012−18608A)
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2010−156767(P2010−156767)
【出願日】平成22年7月9日(2010.7.9)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【出願人】(000102739)エヌ・ティ・ティ・アドバンステクノロジ株式会社 (265)
【Fターム(参考)】
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願日】平成22年7月9日(2010.7.9)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【出願人】(000102739)エヌ・ティ・ティ・アドバンステクノロジ株式会社 (265)
【Fターム(参考)】
[ Back to top ]