(57)【要約】【課題】  機密性の高い情報を利用して、提供可能なサービスを判断できるサービスを制御できるようにする。【解決手段】  装置検出手段１ａにより、コントローラ３からネットワーク４に接続された装置のサービスプロファイルが収集されると共に、コントローラ３の識別情報が取得される。利用条件取得手段１ｂにより、管理データベース２から、周辺装置の利用条件が取得される。利用可能サービス判断手段１ｃにより、ネットワーク４上の装置の何れかを含む１つ以上の装置で提供可能であり、且つ利用条件が満たされる利用可能サービスが判断される。そして、装置制御手段１ｄにより、利用可能サービス判断手段１ｃで利用可能と判断された装置が遠隔制御され、利用可能サービスが提供される。【選択図】  図１
2006338198.tif 000002
【特許請求の範囲】
【請求項１】
コントローラが接続されたネットワーク上の装置で連携して提供可能なサービスを制御するサービス制御プログラムにおいて、
コンピュータを、
前記コントローラと通信し、前記コントローラ周辺のネットワークに接続された周辺装置のサービスプロファイルを収集する装置検出手段、
装置毎の利用条件が予め登録された管理データベースを参照し、前記装置検出手段が取得した前記サービスプロファイルに対応する前記周辺装置の利用条件を取得する利用条件取得手段、
前記装置検出手段が取得した前記サービスプロファイルと、前記利用条件取得手段が取得した前記利用条件とに基づいて、前記周辺装置の何れかを含む１つ以上の装置で提供可能な利用可能サービスを判断する利用可能サービス判断手段、
前記利用可能サービス判断手段で利用可能と判断された利用可能サービスを提供するために利用される装置を遠隔制御し、前記利用可能サービスを提供する装置制御手段、
として機能させることを特徴とするサービス制御プログラム。
【請求項２】
前記装置検出手段は、前記周辺装置のサービスプロファイルを収集する際に、前記コントローラを使用しているユーザの識別情報を取得し、
前記利用条件にはユーザが利用する権利を有するサービスに関する情報が含まれており、前記利用可能サービス判断手段は、前記周辺装置の何れかを含む１つ以上の装置で提供可能であり、且つ前記ユーザが利用する権利を有しているサービスを、前記利用可能サービスと判断することを特徴とする請求項１記載のサービス制御プログラム。
【請求項３】
前記利用可能サービス判断手段は、１つ以上の前記利用可能サービスの名称を並べたサービスリストを生成し、生成した前記サービスリストを前記コントローラに送信し、
前記装置制御手段は、前記サービスリスト内の任意のサービスを指定したサービス提供要求を前記コントローラから受け取ると、前記サービス提供要求で指定された前記サービスを提供するために利用される装置を遠隔制御し、前記サービスを提供することを特徴とする請求項１記載のサービス制御プログラム。
【請求項４】
前記ユーザ情報にはユーザの好みに関する情報が登録されており、前記利用可能サービス判断手段は、前記ユーザ情報に基づいて、前記利用可能サービスの名称を並べ替えることを特徴とする請求項３記載のサービス制御プログラム。
【請求項５】
前記装置検出手段は、前記コントローラを介して、前記周辺装置との間でメッセージを交換することで、前記周辺装置のサービスプロファイルを取得することを特徴とする請求項１記載のサービス制御プログラム。
【請求項６】
前記装置検出手段は、前記コントローラに対してサービスプロファイルの収集を依頼し、前記コントローラが前記周辺装置から収集した複数の前記サービスプロファイルを前記コントローラからまとめて受け取ることを特徴とする請求項１記載のサービス制御プログラム。
【請求項７】
前記装置制御手段は、前記コントローラを介して、利用可能サービスを提供するために利用される装置を遠隔制御することを特徴とする請求項１記載のサービス制御プログラム。
【請求項８】
前記利用可能サービス判断手段は、前記周辺装置に対する他のネットワーク上の装置から提供されるサービスを、前記利用可能サービスに含めることを特徴とする請求項８記載のサービス制御プログラム。
【請求項９】
コントローラが接続されたネットワーク上の装置で連携して提供可能なサービスを制御するサービス制御装置において、
前記コントローラと通信し、前記コントローラ周辺のネットワークに接続された周辺装置のサービスプロファイルを収集する装置検出手段と、
装置毎の利用条件が予め登録された管理データベースを参照し、前記装置検出手段が取得した前記サービスプロファイルに対応する前記周辺装置の利用条件を取得する利用条件取得手段と、
前記装置検出手段が取得した前記サービスプロファイルと、前記利用条件取得手段が取得した前記利用条件とに基づいて、前記周辺装置の何れかを含む１つ以上の装置で提供可能な利用可能サービスを判断する利用可能サービス判断手段と、
前記利用可能サービス判断手段で利用可能と判断された利用可能サービスを提供するために利用される装置を遠隔制御し、前記利用可能サービスを提供する装置制御手段と、
を有することを特徴とするサービス制御装置。
【請求項１０】
コンピュータにより、コントローラが接続されたネットワーク上の装置で連携して提供可能なサービスを制御するサービス制御方法において、
装置検出手段が、前記コントローラと通信し、前記コントローラ周辺のネットワークに接続された周辺装置のサービスプロファイルを収集し、
利用条件取得手段が、装置毎の利用条件が予め登録された管理データベースを参照し、前記装置検出手段が取得した前記サービスプロファイルに対応する前記周辺装置の利用条件を取得し、
利用可能サービス判断手段が、前記装置検出手段が取得した前記サービスプロファイルと、前記利用条件取得手段が取得した前記利用条件とに基づいて、前記周辺装置の何れかを含む１つ以上の装置で提供可能な利用可能サービスを判断し、
装置制御手段が、前記利用可能サービス判断手段で利用可能と判断された利用可能サービスを提供するために利用される装置を遠隔制御し、前記利用可能サービスを提供する、
ことを特徴とするサービス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はユビキタス環境上でユーザに提供するサービスを制御するサービス制御プログラム、サービス制御装置、およびサービス制御方法に関し、特にタスクコンピューティングによって提供するサービスを制御するサービス制御プログラム、サービス制御装置、およびサービス制御方法に関する。
【背景技術】
【０００２】
現在、あらゆるものがネットワークで接続されるユビキタス環境の構築にむけて、様々な研究開発が行われている。ユビキタス環境では、ノート型のパーソナルコンピュータ（ノートパソコン）のようにあらゆる機能を詰め込んだ箱を、各ユーザが持ち歩く必要はなくなる。すなわち、ユーザは、行く先々に用意された機器を利用して、自己の利用できる所定のサービスの提供を受けることが可能となる。このようなユビキタス環境を実現する場合、端末発見とサービス合成をいかに簡単に行えるかが重要なポイントになる。
【０００３】
この解決手段のひとつとして、タスクコンピューティングという概念がある。タスクコンピューティングは、機器（デバイス）ごとに提供するサービスのプロファイルを持たせて公告し、それをコントローラで集めてサービスを合成し、組み合わされたサービスに振る舞いを指示することで、ユーザに対して協調したサービスを提供するしくみである（非特許文献１参照）。
【０００４】
図１７は、従来のタスクコンピューティングのシステム構成を示す図である。タスクコンピューティングでは、カメラ９１０、モニタ９２０等の装置とコントローラ９３０とが同じＬＡＮ（Local Area Network）９５０に接続されている。カメラ９１０やモニタ９２０は、提供可能なサービスの内容等に関する情報が設定されたサービスプロファイルを有している。
【０００５】
コントローラ９３０は、操作部９３１、コントローラアプリケーション９３２、発見エンジン９３３、合成エンジン９３４、制御エンジン９３５、および通信制御部９３６で構成されている。操作部９３１は、ユーザ９４０からの操作キーへの操作入力を受け付けるユーザインタフェースである。コントローラアプリケーション９３２は、ユーザに対する画面表示等の各種付加機能である。発見エンジン９３３は、ＬＡＮ９５０に接続された機器からサービスプロファイルを収集し、各機器で提供可能なサービスを検出する。合成エンジン９３４は、複数の機器で提供可能なサービスを合成し、複数の機器によって提供可能な複合サービスを判断する。制御エンジン９３５は、ユーザ９４０からのサービス開始指示を受けて、該当サービスの提供に使用される装置を遠隔制御し、サービス提供を開始させる。通信制御部９３６は、ＬＡＮ９５０を介した通信を制御する。
【０００６】
ここで、カメラ９１０で撮影した画像をモニタ９２０に表示させる場合の例を採り、処理手順を説明する。
まず、コントローラ９３０は、カメラ９１０からサービスプロファイルを取得する（ステップＳ９１）と共に、モニタ９２０からサービスプロファイルを取得する（ステップＳ９２）。取得したサービスプロファイルの内容が発見エンジン９３３で解析され、カメラ９１０の機能（例えば、ＭＰＥＧ（Moving Picture Experts Group）データによる撮影した映像の出力機能）と、モニタ９２０の機能（例えば、入力されたＭＰＥＧデータの再生及び表示機能）とが認識される。
【０００７】
そして、合成エンジン９３４によって、カメラ９１０で撮影した画像がモニタ９２０で表示可能であることが認識され、それらの機能を合成したサービス提供が可能であることが、コントローラアプリケーション９３２を介して画面に表示される。ここで、ユーザ９４０が表示されたサービスの実行を操作部９３１を介して指示する（ステップＳ９３）。
【０００８】
すると、制御エンジン９３５によって、カメラ９１０に対して、画像の撮影および画像データの送信指示が出される（ステップＳ９４）。また、制御エンジン９３５によって、モニタ９２０に対して、画像データの取得、再生、表示の指示が出される。
【０００９】
これにより、カメラ９１０からモニタ９２０に対して、画像データがデータストリームによって送信され（ステップＳ９６）、カメラ９１０で撮影した画像がモニタ９２０で表示される。
【非特許文献１】雑誌富士通2004年7月号（VOL.55,NO.4）「ユビキタス特集」、増岡、湯原“状況に応じたサービスを提供するTask Computing”（P.376-383）、富士通株式会社、［平成１７年５月２６日検索］、インターネット＜ＵＲＬ：http://magazine.fujitsu.com/vol55-4/paper18.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、これまでのタスクコンピューティングでは、コントローラの機能を、ＰＤＡ（Personal Digital Assistance）や携帯電話で行うことが想定されており、提供されるサービスの質に制約があった。
【００１１】
例えば、ユーザ毎に使用できる機器を制限する場合を考える。この場合、ユーザの使用権限の有無に基づいて、サービスの合成の可否を判断しなければならない。各ユーザの機器の使用権限は、ユーザ自身での書き換えを防止するためにコントローラ以外のサーバで管理する必要がある。すなわち、不正使用防止の観点からコントローラ内に機器の使用権限に関する情報を設定できない。そのため、ユーザ毎の機器の使用制限をタスクコンピューティングで実現するのが困難となる。
【００１２】
また、ＰＤＡ等の携帯型のコントローラは、一般的に表示画面が小さい。そのため、提供可能なサービスをコントローラの画面に単純に並べただけでは、ユーザが目的のサービスを探し出すまでに手間がかかる。そこで、サービスの表示順をユーザの個人情報に基づいて最適化することが求められる。ただし、ユーザの個人情報をコントローラに格納して持ち歩くのは、個人情報漏洩の原因となり望ましくない。
【００１３】
本発明はこのような点に鑑みてなされたものであり、機密性の高い情報を利用して、提供可能なサービスを判断できるサービス制御プログラム、サービス制御装置、およびサービス制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明では上記課題を解決するために、図１に示すようなサービス制御プログラムが提供される。本発明に係るサービス制御プログラムは、コントローラ３が接続されたネットワーク４上の装置で連携して提供可能なサービスを制御するために、図１に示す機能をコンピュータに実行させることができる。
【００１５】
装置検出手段１ａは、コントローラ３と通信し、コントローラ３周辺のネットワーク４に接続された周辺装置のサービスプロファイルを収集する。利用条件取得手段１ｂは、装置毎の利用条件が予め登録された管理データベース２を参照し、装置検出手段１ａが取得したサービスプロファイルに対応する周辺装置の利用条件を取得する。利用可能サービス判断手段１ｃは、装置検出手段１ａが取得したサービスプロファイルと、利用条件取得手段１ｂが取得した利用条件とに基づいて、周辺装置の何れかを含む１つ以上の装置で提供可能な利用可能サービスを判断する。装置制御手段１ｄは、利用可能サービス判断手段１ｃで利用可能と判断された利用可能サービスを提供するために利用される装置を遠隔制御し、利用可能サービスを提供する。
【００１６】
このようなサービス制御プログラムを実行するコンピュータによれば、装置検出手段１ａにより、コントローラ３からネットワーク４に接続された装置のサービスプロファイルが収集される。次に、利用条件取得手段１ｂにより、管理データベース２が参照され、装置検出手段１ａが取得したサービスプロファイルに対応する周辺装置の利用条件が取得される。次に、利用可能サービス判断手段１ｃにより、装置検出手段１ａが取得したサービスプロファイルと、利用条件取得手段１ｂが取得した利用条件とに基づいて、周辺装置の何れかを含む１つ以上の装置で提供可能な利用可能サービスが判断される。そして、装置制御手段１ｄにより、利用可能サービス判断手段１ｃで利用可能と判断された利用可能サービスを提供するために利用される装置が遠隔制御され、利用可能サービスが提供される。
【発明の効果】
【００１７】
本発明では、管理データベースに格納された利用条件に基づいてユーザに提供可能なサービスを判断するようにしたため、利用可能サービスの判断において、詳細な利用条件に基づいた高度な判断が可能となる。その結果、タスクコンピューティングにおいても、ユーザの利用権限に応じたサービス提供制御等の高度なサービス制御が可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本実施の形態の概略を示す図である。サービス制御装置１は、コントローラ３が接続されたネットワーク４上の装置（例えば、カメラ５とモニタ６）で連携して提供可能なサービスを制御するため、装置検出手段１ａ、利用条件取得手段１ｂ、利用可能サービス判断手段１ｃ、および装置制御手段１ｄを有している。
【００１９】
装置検出手段１ａは、コントローラ３と通信し、コントローラ３周辺のネットワーク４に接続された周辺装置のサービスプロファイルを収集する。コントローラ３周辺の装置とは、例えば、コントローラ３と同一セグメントに接続された装置、または、コントローラ３と同じサブネット内の装置である。また、装置検出手段１ａは、サービスプロファイル収集の際に、コントローラ３からユーザ８の識別情報を取得することもできる。
【００２０】
これらの装置検出手段１ａの処理は、例えば、ユーザ８が、ネットワーク４にコントローラ３を接続した際に実行される。なお、ユーザ８の識別情報は、ユーザ８を一意に識別できればよい。例えば、コントローラ３の識別情報とユーザ８の識別情報とが予め関連づけられている場合、コントローラ３の識別情報を、ユーザ８の識別情報として使用することもできる。
【００２１】
利用条件取得手段１ｂは、装置毎の利用条件が予め登録された管理データベース２を参照する。管理データベース２には、例えば、ユーザ８が利用する権利を有するサービスに関するユーザ情報や、各装置を利用するための条件（例えば、利用できるユーザの権限や、利用可能時間）が登録されている。そして、利用条件取得手段１ｂは、装置検出手段１ａが取得したコントローラの識別情報に基づいて、コントローラ３を使用しているユーザ８に関するユーザ情報を取得する。
【００２２】
利用可能サービス判断手段１ｃは、装置検出手段１ａが取得したサービスプロファイルや、利用条件取得手段１ｂが取得したユーザ情報に基づいて、ネットワーク４上の装置の何れかを含む１つ以上の装置で提供可能であり、且つユーザ８が利用する権利を有している利用可能サービスを判断する。
【００２３】
装置制御手段１ｄは、利用可能サービス判断手段１ｃで利用可能と判断された利用可能サービスを提供するために利用される装置を遠隔制御し、利用可能サービスを提供する。装置の遠隔制御は、例えば、コントローラ３を介して行われる。
【００２４】
ここで、ユーザ８が、カメラ５で撮影した画像をモニタ６に表示させるサービスの提供を受ける場合について説明する。この場合、ユーザ８が使用しているコントローラ３がネットワーク４に接続される。装置検出手段１ａにより、コントローラ３からネットワーク４に接続されたカメラ５とモニタ６とのサービスプロファイルが収集される。この時、装置検出手段１ａは、コントローラ３の識別情報を取得する。
【００２５】
次に、利用条件取得手段１ｂにより、管理データベース２が参照され、装置検出手段１ａが取得したコントローラの識別情報に基づいて、コントローラ３を使用しているユーザ８に関するユーザ情報が取得される。この例では、ユーザ８は、カメラ５とモニタ６とを使用する権利を有しているものとする。
【００２６】
次に、利用可能サービス判断手段１ｃにより、装置検出手段１ａが取得したサービスプロファイルと、利用条件取得手段１ｂが取得したユーザ情報とに基づいて、カメラ５とモニタ６とによる画像表示サービスが利用可能と判断される。そして、装置制御手段１ｄにより、カメラ５とモニタ６とが遠隔制御され、カメラ５で撮影した画像のストリームデータ７がモニタ６に送信され、モニタ６に画像が表示される。
【００２７】
これにより、ユーザ毎の各装置の使用制限等の条件が満たされた場合にのみユーザに対してサービスを提供することができる。その結果、タスクコンピューティングにおいても、ユーザの利用権限に応じたサービス提供制御が可能となる。しかも、ユーザ８個人が管理するコントローラ３内にサービス利用権限に関する情報を格納する必要もないため、サービスの不正利用も防止される。
【００２８】
次に、本実施の形態の詳細を説明する。
図２は、第１の実施の形態のシステム構成例を示す図である。この例は、共通会議室など、企業内に置かれた共用設備をタスクコンピューティングによって利用するシステムである。
【００２９】
第１の実施の形態では、インターネット２１に対してターゲットＬＡＮ２２が接続されている。ターゲットＬＡＮ２２は、タスクコンピューティングによるサービス提供環境を備えたＬＡＮである。
【００３０】
インターネット２１には、ネットワークサーバ１００、デバイス管理データベース２１０、コントローラ管理データベース２２０、およびユーザ管理データベース２３０が接続されている。ネットワークサーバ１００は、コントローラ３００を使用するユーザに提供可能なサービスの判断等のタスクコンピューティングの処理を行う。なお、ネットワークサーバ１００は、提供可能なサービスを決定する際にデバイス管理データベース２１０、コントローラ管理データベース２２０、およびユーザ管理データベース２３０を参照して、提供可能なサービスの内容を決定する。
【００３１】
デバイス管理データベース２１０は、サービスの提供に使用される装置に関する情報が管理されたデータベースである。コントローラ管理データベース２２０は、ユーザが使用しているコントローラに関する情報が管理されたデータベースである。ユーザ管理データベース２３０は、タスクコンピューティングによるサービスの提供を受けるユーザに関する情報が管理されたデータベースである。
【００３２】
ターゲットＬＡＮ２２には、ユーザにサービスを提供する複数の装置が接続されている。図２の例では、ターゲットＬＡＮ２２にカメラ３０（例えば、記録装置と一体型の装置）とモニタ４０（例えば、ネットワークに接続可能なテレビ受像器）とが接続されている。カメラ３０は、サービスプロファイル３１を有している。サービスプロファイル３１には、カメラ３０で提供可能なサービスの内容等の情報が設定される。同様に、モニタ４０も、モニタで提供可能なサービスの内容等の情報が設定されたサービスプロファイル４１を有している。サービスプロファイル３１，４１には、例えば、その装置の名前、入出力条件、動作概要、動作の前提条件などがＸＭＬ（eXtensible Markup Language）形式で記述される。
【００３３】
ユーザ５０は、コントローラ３００を所持している。コントローラ３００は、ターゲットＬＡＮ２２に接続されると、ネットワーク上の他の装置からプロファイルを収集する。そして、コントローラ３００は、収集したプロファイルをネットワークサーバ１００に転送する。また、コントローラ３００は、ネットワークサーバ１００から、ターゲットＬＡＮ２２上の装置で提供されるサービスのうち、ユーザ５０が利用可能なサービスの一覧を受け取る。すると、コントローラ３００は、受け取ったサービスの一覧を画面に表示し、任意のサービスがユーザ５０によって選択されると、選択されたサービスの内容をネットワークサーバ１００に送信する。
【００３４】
このような構成のシステムにおいて、ユーザ５０は、タスクコンピューティングのサービスを利用することができる。
なお、本実施の形態におけるタスクコンピューティングは、ユーザ５０が利用するコントローラ３００ではなく、ネットワークサーバ１００内にサービス制御機能が実装されている点に特徴がある。ネットワークサーバ１００内にサービス制御機能を設けるために、以下のような工夫がなされている。
【００３５】
（１）コントローラ３００上にターゲットＬＡＮ２２の状況を検知する”プローブ機能”を置く。
（２）ネットワークサーバ１００上に、サービス合成処理を行う”サービス制御機能”を置き、プローブ機能と論理的に接続する。
【００３６】
（３）ターゲットＬＡＮ２２上に、各種データベースを置き、ネットワークサーバ１００からアクセス可能にするとともに、事前に装置やユーザ５０の付帯情報を設定しておく。
【００３７】
（４）コントローラ３００のプローブ機能で検知したターゲットＬＡＮ２２内の情報をネットワークサーバ１００に送る。そして、ネットワークサーバ１００がサービス合成演算をする。この際、データベースにアクセスして得た付帯情報も考慮する。
【００３８】
（５）ネットワークサーバ１００は、合成演算結果を基に、コントローラ３００の操作画面に対して組み合わせ候補を提示したのち、ユーザ５０の指示に従って利用するサービスを決定する。
【００３９】
（６）ネットワークサーバ１００は、指定されたサービスに応じたデバイスに対して動作指示を送信する。
（７）ネットワークサーバ１００からの遠隔操作により、デバイス同士が協調してユーザ５０にサービスを提供する。
【００４０】
次に、これらの機能を実現するためのネットワークサーバ１００等の各装置が有すべきハードウェア構成について説明する。
図３は、本実施の形態に用いるネットワークサーバのハードウェア構成例を示す図である。ネットワークサーバ１００は、ＣＰＵ(Central Processing Unit)１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ(Random Access Memory)１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００４１】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。
【００４２】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００４３】
通信インタフェース１０６は、インターネット２１に接続されている。通信インタフェース１０６は、インターネット２１を介して、他のコンピュータとの間でデータの送受信を行う。
【００４４】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３には、ネットワークサーバ１００のハードウェア構成を示したが、コントローラ３００も同様のハードウェア構成で実現することができる。ただし、コントローラ３００では、モニタやキーボードは、筐体に内蔵される。また、コントローラ３００では、マウスの代わりに操作バッド等の他のポインティングデバイスが用いられる。さらに、コントローラ３００では、ＨＤＤに代えて、フラッシュメモリ等の不揮発性の半導体メモリを利用することができる。
【００４５】
次に、タスクコンピューティングを実現するためにネットワークサーバ１００とコントローラ３００とが有すべき処理機能を詳細に説明する。
図４は、ネットワークサーバとコントローラとの機能を示すブロック図である。ネットワークサーバ１００は、タスクコンピューティングの処理を実現するためのサービス制御部１００ａを有している。サービス制御部１００ａは、コントローラアプリケーション１１０、発見エンジン１２０、合成エンジン１３０，制御エンジン１４０および通信制御部１５０で構成される。
【００４６】
コントローラアプリケーション１１０は、コントローラ３００に対して提供する各種処理を行う。例えば、コントローラアプリケーション１１０は、ユーザ５０に対して提供可能なサービスのリストを所定の順番に並べ替える。
【００４７】
発見エンジン１２０は、コントローラ３００が接続されたターゲットＬＡＮ２２内の装置、およびその装置で提供可能なサービスを検出する。具体的には、発見エンジン１２０は、コントローラ３００を介して、ターゲットＬＡＮ２２に接続された装置を検出する。さらに、発見エンジン１２０は、コントローラ３００を介して検出した装置のサービスプロファイルを収集する。そして、発見エンジン１２０は、収集したサービスプロファイルの内容を解析することで、各装置で提供可能なサービスを認識する。
【００４８】
合成エンジン１３０は、発見エンジン１２０で検出されたサービスを組み合わせて提供できる複合サービスを判断する。その際、合成エンジン１３０は、デバイス管理データベース２１０、コントローラ管理データベース２２０、及びユーザ管理データベース２３０からユーザ５０、コントローラ３００、及び検出された装置（カメラ３０やモニタ４０）の情報（サービスを利用するための制約条件が含まれる）を取得し、合成することで得られるサービスのうち、制約条件を満たすサービスを判断する。
【００４９】
また、合成エンジン１３０は、制約条件を満たすサービスのリストを生成する。生成されたリストは、コントローラアプリケーション１１０によって所定の順番で並べ替えられる。そして、合成エンジン１３０は、並べ替えられたサービスのリストがコントローラ３００に送信する。
【００５０】
制御エンジン１４０は、コントローラ３００からのサービスの提供要求を受け取ると、該当するサービスの提供に使用する装置に対して、動作指示を送信する。動作指示は、コントローラ３００を介して各装置に伝えられる。例えば、カメラ３０で撮影した画像をモニタ４０に表示するサービスの提供要求を受け取った場合、制御エンジン１４０は、カメラ３０に対して、撮影指示、および撮影した画像のデータストリームのモニタ４０への転送指示を送信する。また、制御エンジン１４０は、モニタ４０に対して、カメラ３０から送られるデータストリームの取得指示、および取得したデータストリームを再生することによる画像表示指示を送信する。
【００５１】
通信制御部１５０は、インターネット２１等のネットワークを介したデータ通信を行う。ネットワークサーバ１００と各データベースとの間の通信や、ネットワークサーバ１００とコントローラ３００との間の通信が、通信制御部１５０によって実行される。
【００５２】
コントローラ３００は、操作制御部３１０とプローブ部３２０とを有している。操作制御部３１０は、表示装置と入力装置とを用いたユーザインタフェースである。具体的には、操作制御部３１０は、操作キーに対するユーザからの操作入力を受け付け、入力内容に応じた動作指示等を行う。また、操作制御部３１０は、ネットワークサーバ１００から送られた提供可能なサービスのリストを表示装置に表示する。
【００５３】
プローブ部３２０は、ＬＡＮパケットを送受信すると共に、ネットワークサーバ１００に搭載されたサービス制御部１００ａと連携する。具体的には、プローブ部３２０は、ターゲットＬＡＮ２２に接続された装置の検出および各装置からのサービスプロファイルの収集を行う。そして、プローブ部３２０は、収集したサービスプロファイルをネットワークサーバ１００に送信する。
【００５４】
次に、図２に示した各データベースに格納されるデータを具体的に説明する。
図５は、デバイス管理データベースのデータ構造例を示す図である。デバイス管理データベース２１０には、装置毎の装置管理情報２１１が格納される。装置管理情報２１１には、装置ＩＤ、装置名、所有者、管理者情報、設置位置、設置形態情報、利用可能な権限、グループ名、現在の状態等が設定される。
【００５５】
装置ＩＤは、装置を一意に識別するための識別情報である。装置名は、装置の名称である。所有者は、装置を所有するユーザの名称である。管理者情報は、装置を管理しているユーザの名前等の情報である。設置位置は、装置が設置された場所を示す情報である。設置形態情報は、装置の設置形態を示す情報である（例えば、床に固定されているのか、移動可能なのか等）。
【００５６】
利用可能な権限とは、装置を利用するユーザが有しているべき権限である。例えば、企業内の部長以上にのみ利用を許可する装置であれば、利用可能な権限として、「使用するユーザが部長以上の役職であること」を示す条件が設定される。
【００５７】
グループ名とは、装置が属するグループの名称である。グループ名は、ユーザに対して、任意のグループに属する装置の利用を許可する際に、各装置の属するグループの識別に利用される。
【００５８】
現在の状態は、装置の状態を示す情報である。例えば、装置が使用中か否か等の情報が設定される。
図６は、コントローラ管理データベースのデータ構造例を示す図である。コントローラ管理データベース２２０には、コントローラ毎のコントローラ情報２２１が格納される。コントローラ情報２２１には、コントローラＩＤ、利用ユーザＩＤ、発見装置ＩＤ、取得したプロファイル情報、現在の状態、制御履歴等の情報が設定される。
【００５９】
コントローラＩＤは、コントローラを一意に識別するための識別情報である。利用ユーザＩＤは、コントローラを利用しているユーザの識別情報である。発見装置ＩＤは、コントローラが接続されたターゲットＬＡＮ２２から発見された装置の識別情報である。取得プロファイル情報は、発見された装置から取得されたプロファイル情報である。現在の状態は、コントローラの現在の利用状態（例えば、ターゲットＬＡＮ２２に接続されているか否か）を示す情報である。制御履歴は、コントローラからの指示によって過去に実行されたタスクコンピューティングの内容を示す履歴情報である。
【００６０】
図７は、ユーザ管理データベースのデータ構造例を示す図である。ユーザ管理データベース２３０には、ユーザ毎のユーザ情報２３１が格納される。ユーザ情報２３１には、ユーザＩＤ、所有装置情報、所有権利情報、利用優先度、好み、現在の状態等の情報が設定される。
【００６１】
ユーザＩＤは、タスクコンピューティングのサービスの提供を受けるユーザを一意に識別するための識別情報である。所有装置情報は、ユーザが所有している装置のリストである。所有権利情報は、ユーザが有している権利に関する情報（例えば、視聴する権利を有する音楽データの情報や、使用する権限を有する装置の情報）である。好みは、ユーザの趣味嗜好を示す情報である。現在の状態は、ユーザの状態を示す情報（ユーザがサービス利用中か否か等）である。なお、好みの情報により、サービス選択時の優先度（プリファレンス）等が判断される。
【００６２】
以上のような構成のシステムにおいて、以下のような手順でタスクコンピューティングの処理が実行される。
図８は、タスクコンピューティングの処理手順を示す図である。いま、会議室に備え付けのモニタ４０にユーザ持ち込みのカメラ３０を接続する例を用いて、システム動作の流れを説明する。
【００６３】
［準備フェーズ］
備え付けのモニタ４０には、予めサービスプロファイルが書き込まれている。また、対応するデバイス管理データベース２１０上に、管理者６０が予め装置ＩＤ、装置名、管理者名、利用可能なユーザ等を登録する（ステップＳ１１）。
【００６４】
持ち込まれたカメラ３０にも、予めサービスプロファイルが書き込まれている。また、ユーザ５０は、カメラ３０をユーザ５０が所有していることを示すユーザ情報を、ユーザ管理データベース２３０に登録する（ステップＳ１２）。
【００６５】
図９〜図１１に、カメラ３０のサービスプロファイル３１の例を示す。図９は、サービスプロファイルの第１の図である。図１０は、サービスプロファイルの第２の図である。図１１は、サービスプロファイルの第３の図である。
【００６６】
サービスプロファイル３１は、ヘッダ３１ａの後に、スキーマ定義３１ｂ、サービス情報３１ｃ、実行プロセス情報３１ｄ、入出力パラメタ３１ｅ、動作内容情報３１ｆ等がＸＭＬ形式で記述されている。
【００６７】
以下、図８の説明に戻る。
［発見フェーズ］
ユーザ５０は、サービスプロファイル３１が登録されたカメラ３０を、ターゲットＬＡＮ２２に接続する（ステップＳ１３）。そして、ユーザ５０がコントローラ３００をターゲットＬＡＮ２２に接続すると、プローブ部３２０がターゲットＬＡＮ２２内のカメラ３０を発見し、カメラ３０からサービスプロファイルを取得する（ステップＳ１４）。同様に、プローブ部３２０は、ターゲットＬＡＮ２２内のモニタ４０を発見し、モニタ４０からサービスプロファイル４１を取得する（ステップＳ１５）。
【００６８】
そして、プローブ部３２０は、取得したサービスプロファイル３１，４１を、ネットワークサーバ１００に送信する（ステップＳ１６）。この例では、コントローラ３００とネットワークサーバ１００とがインターネット２１環境を経由する。そこで、コントローラ３００とネットワークサーバ１００間にＶＰＮ（Virtual Private Network）２３を張ることで、通信のセキュリティが保たれる。ＶＰＮの方式としては、例えば、ＰＰＴＰ（Point-to-Point Tunneling Protocol），Ｌ２ＴＰ（Layer 2 Tunneling Protocol）、ＩＰｓｅｃなどのトンネリング手法を用いることができる。
【００６９】
また、プローブ部３２０は、サービスプロファイル３１，４１を送信する際に、コントローラのコントローラＩＤをネットワークサーバ１００に送信する。ネットワークサーバ１００に送られたサービスプロファイルは、発見エンジン１２０で受け取られる。そして、発見エンジン１２０は、取得したサービスプロファイルを合成エンジン１３０に渡す。
【００７０】
［サービス合成フェーズ］
ネットワークサーバ１００の合成エンジン１３０は、取得したサービスプロファイルをもとに、関連するデータベースを参照しながら、利用可能なサービスの合成演算を行う。具体的には、合成エンジン１３０は、取得したコントローラＩＤに対応するコントローラ情報を、コントローラ管理データベース２２０から取得する（ステップＳ１７）。
【００７１】
また、合成エンジン１３０は、取得したサービスプロファイルから装置ＩＤを取得し、その装置ＩＤに対応する装置管理情報を、デバイス管理データベース２１０から取得する（ステップＳ１８）。合成エンジン１３０は、取得した装置管理情報に基づいて、その装置が利用可能かどうかをチェックすることができる。
【００７２】
さらに、合成エンジン１３０は、取得したコントローラ情報から利用ユーザＩＤを抽出し、そのユーザＩＤに対応するユーザ情報を、ユーザ管理データベース２３０から取得する（ステップＳ１９）。合成エンジン１３０は、取得したユーザ情報の所有権利情報を参照して、所有権を有するサービスを利用可能なサービスの候補に加えることができる。
【００７３】
また、合成エンジン１３０は、サービス合成の際、サービスの表示順の決定に、ユーザ情報に含まれるユーザの好み情報を反映させることができる。さらに、合成エンジン１３０は、ユーザ情報にユーザの過去の選択履歴が含まれていれば、その選択履歴に基づいて、サービスの表示順を決定することもできる。
【００７４】
合成エンジン１３０によるサービス合成演算結果（利用可能なサービスを所定の基準で並べたリスト）は、ＶＰＮ２３を介してコントローラ３００に送信され、操作制御部３１０によって画面に表示される（ステップＳ２０）。ユーザ５０は、画面に表示されたサービスのリストを確認し、利用するサービスを選択する。すると、選択されたサービスの提供要求が、コントローラ３００からネットワークサーバ１００に送信される（ステップＳ２１）。この手順は、例えば、一般的なブラウザ向けにＨＴＭＬファイルを送出し、コントローラ３００上のブラウザでユーザが操作することで実現される。
【００７５】
［制御フェーズ］
ネットワークサーバ１００は、ユーザ５０のサービス提供要求を受け取ると、制御エンジン１４０が、取得したサービスプロファイルの情報をもとに、制御メッセージを作成する。そして、制御エンジン１４０は、作成した制御メッセージをコントローラ３００経由で関係する装置に送信する。この際、制御エンジン１４０は、ユーザが選択したサービスの情報をユーザ管理データベース２３０に格納することで、選択結果を学習させることが可能である（ステップＳ２２）。
【００７６】
各装置は制御メッセージの指令に基づき、連係動作する相手側の装置と協動作を行う。例えば、カメラ３０で撮影した画像をモニタ４０で表示するサービスが選択された場合、カメラ３０で撮影した画像のデータストリームがモニタ４０に転送され、モニタ４０に動画が表示される（ステップＳ２６）。
【００７７】
次に、プローブ部３２０を介したサービスプロファイルの収集処理を詳細に説明する。プローブ部３２０は、ネットワークサーバに代わって、あたかもコントローラ３００がターゲットＬＡＮ２２内の装置を制御しているように見せる機能を有する。
【００７８】
プローブ部３２０の機能の実装方法としては、できるだけコントローラ３００側に機能を置かず、すべての処理をネットワークサーバで行う方法がある。この方法では、コントローラ側には特定のパケットをフィルタリングして抽出し、それをサーバ側に転送する機能および、サーバから到着したパケットをターゲットＬＡＮ２２上に送出する機能のみが配置される。フィルタリング機能には、サーバ側からフィルタリングすべきヘッダ／データ条件を記述したデータが設定されることで、指定されたパケットのみを抽出することができる。
【００７９】
図１２は、プローブ部の内部構成を示すブロック図である。プローブ部３２０は、送受信部３２１、パケットフィルタ３２２、パケットバッファ３２３、パケットバッファ３２４、フィルタ制御部３２５、およびフィルタ条件テーブル３２６で構成される。
【００８０】
送受信部３２１は、ネットワークサーバ１００、カメラ３０、またはモニタ４０との間で、データ通信を行う。なお、ネットワークサーバ１００との間は、ＶＰＮ２３による通信が行われる。
【００８１】
また、送受信部３２１は、ネットワークサーバ１００から送られたパケットをパケットバッファ３２４に入力し、カメラ３０やモニタ４０から送られたパケットをパケットフィルタ３２２に入力する。さらに、送受信部３２１は、パケットバッファ３２３に入力されたパケットを取得してネットワークサーバ１００に送信し、パケットバッファ３２４に入力されたパケットを取得してカメラ３０やモニタ４０に送信する。
【００８２】
パケットフィルタ３２２は、カメラ３０またはモニタ４０から送られたパケットを送受信部３２１を介して受け取る。そのとき、パケットフィルタ３２２は、フィルタ条件テーブル３２６に設定されているフィルタ条件に基づいてパケットのフィルタリングを行う。そして、パケットフィルタ３２２は、転送すべきパケットのみをパケットバッファ３２３に入力する。
【００８３】
パケットバッファ３２３は、パケットフィルタ３２２から入力されたパケットを格納する。そして、パケットバッファ３２３は、ネットワークサーバ１００宛のパケットを、格納された順に送受信部３２１に渡す。
【００８４】
パケットバッファ３２４は、ネットワークサーバ１００から送られたパケットを送受信部３２１から受け取り、格納する。そして、パケットバッファ３２４は、カメラ３０またはモニタ４０宛のパケットを、格納された順に送受信部３２１に渡す。また、パケットバッファ３２４は、フィルタ条件を示す情報が含まれたパケットが入力されると、そのパケットを、フィルタ制御部３２５に渡す。
【００８５】
フィルタ制御部３２５は、フィルタ条件を示す情報を含むパケットをパケットバッファ３２４から取得し、フィルタ条件を判断する。そして、フィルタ制御部３２５は、フィルタ条件をフィルタ条件テーブル３２６に設定する。
【００８６】
フィルタ条件テーブル３２６には、フィルタリングの条件が設定される。例えば、ネットワークサーバ１００宛のパケットのみを転送するようにフィルタ条件を設定できる。
図１３は、サービスプロファイル収集処理を示すシーケンス図である。以下、図１３に示す処理をステップ番号に沿って説明する。
【００８７】
［ステップＳ３１］ネットワークサーバ１００内の発見エンジン１２０は、フィルタ条件をコントローラ３００に送信する。
［ステップＳ３２］コントローラ３００内のプローブ部３２０は、ネットワークサーバ１００から送られたフィルタ条件を、フィルタ条件テーブル３２６に書き込む。具体的には、送受信部３２１がフィルタ条件を受け取り、パケットバッファ３２４に格納する。すると、フィルタ制御部３２５がパケットバッファ３２４からフィルタ条件を取得し、そのフィルタ条件の内容をフィルタ条件テーブル３２６に設定する。
【００８８】
［ステップＳ３３］ネットワークサーバ１００の発見エンジン１２０は、デバイス発見指示をコントローラ３００に対して送信する。
［ステップＳ３４］コントローラ３００内のプローブ部３２０は、ターゲットＬＡＮ２２に対してデバイス発見指示をブロードキャストで送信する。
【００８９】
［ステップＳ３５］デバイス発見指示を受け取ったカメラ３０とモニタ４０とは、ターゲットＬＡＮ２２上で動作している装置であることを示すデバイス発見応答をプローブ部３２０に返す。
【００９０】
［ステップＳ３６］コントローラ３００内のプローブ部３２０は、カメラ３０とモニタ４０から送られたデバイス発見応答を、ネットワークサーバ１００に転送する。このデバイス発見応答は、ネットワークサーバ１００の発見エンジン１２０で受け取られる。
【００９１】
［ステップＳ３７］ネットワークサーバ１００内の発見エンジン１２０は、デバイス発見応答を返した装置を宛先として指定したサービス発見指示を、コントローラ３００に送信する。
【００９２】
［ステップＳ３８］コントローラ３００内のプローブ部３２０は、ネットワークサーバ１００から送られたサービス発見指示を、カメラ３０とモニタ４０とに転送する。
［ステップＳ３９］サービス発見指示を受け取ったカメラ３０とモニタ４０とは、タスクコンピューティングのサービスを提供可能であることを示すデバイス発見応答をプローブ部３２０に返す。
【００９３】
［ステップＳ４０］コントローラ３００内のプローブ部３２０は、カメラ３０とモニタ４０から送られたサービス発見応答を、ネットワークサーバ１００に転送する。このサービス発見応答は、ネットワークサーバ１００の発見エンジン１２０で受け取られる。
【００９４】
［ステップＳ４１］ネットワークサーバ１００内の発見エンジン１２０は、サービス発見応答を返した装置を宛先として指定したプロファイル転送指示を、コントローラ３００に送信する。
【００９５】
［ステップＳ４２］コントローラ３００内のプローブ部３２０は、ネットワークサーバ１００から送られたプロファイル転送指示を、カメラ３０とモニタ４０とに転送する。
［ステップＳ４３］サービス発見指示を受け取ったカメラ３０とモニタ４０とは、サービスプロファイルをプローブ部３２０に返す。
【００９６】
［ステップＳ４４］コントローラ３００内のプローブ部３２０は、カメラ３０とモニタ４０から送られたサービスプロファイルを、ネットワークサーバ１００に転送する。このサービスプロファイルは、ネットワークサーバ１００の発見エンジン１２０で受け取られる。
【００９７】
このように、サービス制御部１００ａをネットワークサーバ１００内に設けたことにより、ユーザ５０の個人情報等に基づいて、サービス提供の可否を判断することができる。その結果、ユーザ５０の利用する権利を取得しているサービスのみを、合成エンジン１３０における合成対象として、そのユーザが利用可能なサービスのみを、ユーザに通知することができる。
【００９８】
また、利用可能なサービスを、ユーザの好みや過去の選択履歴等の個人情報に応じて並べ替えることで、ユーザが使用する可能性の高いサービスが優先的（リストの上位）に表示される。その結果、利用可能なサービスの中からユーザが目的のサービスを見つけ出すのに要する時間が短縮される。すなわち、タスクコンピューティングの利便性が向上する。
【００９９】
さらに、コントローラ３００から吸い上げたサービスプロファイルをもとにしたサービス合成・制御処理をバックエンドサーバで代替したことで、コントローラ３００に必要なプロセッサパワーを小さくすることが可能となる。結果的に小型で消費電力の小さいコントローラを作成することが可能になる。
【０１００】
また、サービス合成演算をサーバで行うことで、演算に必要な情報の記憶量を格段に大きくとることができるようになるとともに、サーバ上に保存されている他の情報と容易に組み合わせて利用することができるようになる。
【０１０１】
企業内に設置されている機器のアクセス許可リストをデータベースとして参照することで、発見したデバイスが利用可能かどうかを容易に判別可能になるとともに、情報の一貫性を保つことができるようになる。
【０１０２】
［第２の実施の形態］
次に、第２の実施の形態について説明する。第２の実施の形態は、装置やサービスの発見処理に関して必要な機能をできるだけコントローラ側に置くことで、コントローラとネットワークサーバとの間の通信回数を低減させたものである。すなわち、プローブ部が発見した装置と簡単なメッセージのやりとりを行い、複数のサービスプロファイルを集約する。そして、プローブ部は、１つにまとめた情報をネットワークサーバに送信する。これにより、ネットワークサーバの負荷を軽減することができる。
【０１０３】
第２の実施の形態は、ネットワークサーバの発見エンジンとプローブ部との間のメッセージ送受信機能が、第１の実施の形態と異なる。そこで、以下の説明では、プローブ部と発見エンジン以外の要素については、第１の実施の形態と同じ符号を用いるものとする。
【０１０４】
図１４は、第２の実施の形態に係るプローブ部の構成を示す図である。プローブ部３２０ａは、送受信部３２１ａ、パケットフィルタ３２２ａ、パケットバッファ３２３ａ、パケットバッファ３２４ａ、フィルタ制御部３２５ａ、フィルタ条件テーブル３２６ａ、および送受信制御部（シーケンサ）３２７で構成される。このように、第２の実施の形態では、プローブ部３２０ａ内に送受信制御部３２７が追加された点が、第１の実施の形態と異なる。
【０１０５】
なお、送受信部３２１ａ、パケットフィルタ３２２ａ、パケットバッファ３２３ａ、パケットバッファ３２４ａ、フィルタ制御部３２５ａ、およびフィルタ条件テーブル３２６ａについては、それぞれ基本的に第１の実施の形態に係るプローブ部３２０（図１２に示す）の送受信部３２１、パケットフィルタ３２２、パケットバッファ３２３、パケットバッファ３２４、フィルタ制御部３２５、及びフィルタ条件テーブル３２６と同じ機能を有している。
【０１０６】
送受信制御部３２７は、パケットバッファ３２４ａの出力側と送受信部３２１ａとの間、およびパケットフィルタ３２２ａの出力側とパケットバッファ３２３ａとの間に配置されている。この送受信制御部３２７は、ターゲットＬＡＮ２２に接続された装置の発見、および発見した装置からサービスプロファイルを収集する機能を有している。
【０１０７】
このような構成のプローブ部３２０ａとネットワークサーバ１００との間のメッセージの受け渡しの手順を以下に示す。なお、以下の例では、ＵＰｎＰ（Universal Plug and Play）プロトコルをデバイス発見およびデバイスプロファイルの転送に用いた場合を想定している。ここで、ＵＰｎＰとは、家庭用のパーソナルコンピュータ、周辺機器、家電製品等をネットワークを介して接続し、相互に機能を提供し合うために規定された技術仕様である。
【０１０８】
図１５は、第２の実施の形態に係るサービスプロファイル収集処理を示すシーケンス図である。以下、図１５に示す処理をステップ番号に沿って説明する。
［ステップＳ５１］ネットワークサーバ１００内の発見エンジン１２０ａは、送受信制御部３２７の起動指示及びフィルタ条件設定指示をコントローラ３００に送信する。
【０１０９】
［ステップＳ５２］コントローラ３００内のプローブ部３２０ａは、ネットワークサーバ１００から送られたフィルタ条件を、フィルタ条件テーブル３２６ａに書き込む。
［ステップＳ５３］コントローラ３００内のプローブ部３２０ａは、ターゲットＬＡＮ２２に対してデバイス発見指示をブロードキャストで送信する。具体的には、発見エンジン１２０ａから送られた起動指示によって起動された送受信制御部３２７が、デバイス発見指示を送信する。
【０１１０】
［ステップＳ５４］デバイス発見指示を受け取ったカメラ３０とモニタ４０とは、ターゲットＬＡＮ２２上で動作している装置であることを示すデバイス発見応答をプローブ部３２０ａに返す。
【０１１１】
［ステップＳ５５］コントローラ３００内のプローブ部３２０ａは、サービス発見指示を、カメラ３０とモニタ４０とに転送する。具体的には、ステップＳ５４で送られたデバイス発見応答を送受信制御部３２７が受け取り、送受信制御部３２７が、カメラ３０とモニタ４０を宛先としたサービス発見指示を送信する。
【０１１２】
［ステップＳ５６］サービス発見指示を受け取ったカメラ３０とモニタ４０とは、タスクコンピューティングのサービスを提供可能であることを示すデバイス発見応答をプローブ部３２０ａに返す。
【０１１３】
［ステップＳ５７］コントローラ３００内のプローブ部３２０ａは、プロファイル転送指示をカメラ３０とモニタ４０とに転送する。具体的には、ステップＳ５６で送られたサービス発見応答を送受信制御部３２７が受け取り、送受信制御部３２７が、カメラ３０とモニタ４０を宛先としたプロファイル転送指示を送信する。
【０１１４】
［ステップＳ５８］サービス発見指示を受け取ったカメラ３０とモニタ４０とは、サービスプロファイルをプローブ部３２０ａに返す。
［ステップＳ５９］コントローラ３００内のプローブ部３２０ａは、カメラ３０とモニタ４０から送られたサービスプロファイルを、ネットワークサーバ１００に転送する。このサービスプロファイルは、ネットワークサーバ１００の発見エンジン１２０ａで受け取られる。
【０１１５】
このようにして、コントローラ〜デバイス間で何度かやりとりされるパケットをサーバに送信することなく、最終的に必要なデバイスプロファイルのみをサーバに送信することができる。
【０１１６】
［第３の実施の形態］
次に、第３の実施の形態について説明する。第３の実施の形態は、タスクコンピューティングによって映像コンテンツ受信サービスの提供を受けるものである。
【０１１７】
図１６は、第３の実施の形態のシステム構成例を示す図である。図１６には、ユーザ５０が、手元のモニタ４０に、自分が権利を持つ映像ストリームをダウンロードして表示させるサービスの提供例が示されている。
【０１１８】
基本的な構成は図８に示した第１の実施の形態とほぼ同じであるが、映像配信会社サイト２４にストリームデータベース２４０が配置されている点が異なる。なお、ユーザ管理データベース２３０には、ストリームデータベース２４０で配信されるストリームデータのうち、ユーザ５０が視聴する権利を有するものに関する情報が登録されているものとする。
【０１１９】
また、サービス発見と合成の手順は第１の実施の形態とほぼ同じであるが、発見したモニタ４０の情報をもとに、ユーザが権利を所有する映像ストリームの中で、そのモニタ４０に映すことのできる形式のストリームを選択する点が異なる。すなわち、図１６におけるステップＳ７１〜Ｓ８１の処理は、図８に示すステップＳ１１，Ｓ１２，Ｓ１５〜Ｓ２３の処理と同じである。以下、図８に示す処理と同じ処理は説明を省略し、異なる処理について説明する。
【０１２０】
ネットワークサーバ１００は、映像配信会社サイト２４からのストリームデータ配信サービスの提供要求を受けると、モニタ４０に対して、ストリームデータベース２４０からのストリームデータの受信および再生を指示する（ステップＳ８２。さらに、ネットワークサーバ１００は、ストリームデータベース２４０に対して、指定されたストリームデータのモニタ４０への送信指示を出力する（ステップＳ８３）。すると、モニタ４０からのpull動作または、ストリームデータベース２４０からのpush動作によりストリームデータがモニタ４０に転送される（ステップＳ８４）。その結果、ストリームデータがモニタ４０で再生され、画面に映し出される。
【０１２１】
［その他の応用例］
上記の実施の形態に示すシステムは、ネットワークに接続されたデバイスが遍在するユビキタス社会において、デバイスを制御する方式として広く利用することができる。すなわち、ターゲットＬＡＮ２２として無線ＬＡＮを利用することもできる。また、インターネット２１に代えて、企業内のイントラネットを適用することもできる。
【０１２２】
また、上記の実施の形態では、様々な情報の記憶をデータベースで取り扱う方式で説明したが、単純にメモリテーブルを利用する方法でも実施可能である。
なお、第１，第２の実施の形態では、各装置がネットワークサーバ１００と直接接続されないことも考慮して、制御メッセージをコントローラ３００のプローブ部３２０を経由して各装置に送信している。ここで、ネットワークサーバ１００と各装置（カメラ３０やモニタ４０）との間で直接やりとり可能ならば、ネットワークサーバ１００から各装置に制御メッセージを直接送信するもできる。制御メッセージの送信にコントローラを介在させないことで、コントローラの負荷を減らすことができる。
【０１２３】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ネットワークサーバ１００やコントローラ３００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１２４】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１２５】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１２６】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【０１２７】
（付記１）  コントローラが接続されたネットワーク上の装置で連携して提供可能なサービスを制御するサービス制御プログラムにおいて、
コンピュータを、
前記コントローラと通信し、前記コントローラ周辺のネットワークに接続された周辺装置のサービスプロファイルを収集する装置検出手段、
装置毎の利用条件が予め登録された管理データベースを参照し、前記装置検出手段が取得した前記サービスプロファイルに対応する前記周辺装置の利用条件を取得する利用条件取得手段、
前記装置検出手段が取得した前記サービスプロファイルと、前記利用条件取得手段が取得した前記利用条件とに基づいて、前記周辺装置の何れかを含む１つ以上の装置で提供可能な利用可能サービスを判断する利用可能サービス判断手段、
前記利用可能サービス判断手段で利用可能と判断された利用可能サービスを提供するために利用される装置を遠隔制御し、前記利用可能サービスを提供する装置制御手段、
として機能させることを特徴とするサービス制御プログラム。
【０１２８】
（付記２）  前記装置検出手段は、前記周辺装置のサービスプロファイルを収集する際に、前記コントローラを使用しているユーザの識別情報を取得し、
前記利用条件にはユーザが利用する権利を有するサービスに関する情報が含まれており、前記利用可能サービス判断手段は、前記周辺装置の何れかを含む１つ以上の装置で提供可能であり、且つ前記ユーザが利用する権利を有しているサービスを、前記利用可能サービスと判断することを特徴とする付記１記載のサービス制御プログラム。
【０１２９】
（付記３）  前記利用可能サービス判断手段は、１つ以上の前記利用可能サービスの名称を並べたサービスリストを生成し、生成した前記サービスリストを前記コントローラに送信し、
前記装置制御手段は、前記サービスリスト内の任意のサービスを指定したサービス提供要求を前記コントローラから受け取ると、前記サービス提供要求で指定された前記サービスを提供するために利用される装置を遠隔制御し、前記サービスを提供することを特徴とする付記１記載のサービス制御プログラム。
【０１３０】
（付記４）  前記ユーザ情報にはユーザの好みに関する情報が登録されており、前記利用可能サービス判断手段は、前記ユーザ情報に基づいて、前記利用可能サービスの名称を並べ替えることを特徴とする付記３記載のサービス制御プログラム。
【０１３１】
（付記５）  前記ユーザ情報にはユーザが利用したサービスの履歴情報が登録されており、前記利用可能サービス判断手段は、前記ユーザ情報に基づいて、前記利用可能サービスの名称を並べ替えることを特徴とする付記３記載のサービス制御プログラム。
【０１３２】
（付記６）  前記装置検出手段は、前記コントローラを介して、前記周辺装置との間でメッセージを交換することで、前記周辺装置のサービスプロファイルを取得することを特徴とする付記１記載のサービス制御プログラム。
【０１３３】
（付記７）  前記装置検出手段は、前記コントローラに対してサービスプロファイルの収集を依頼し、前記コントローラが前記周辺装置から収集した複数の前記サービスプロファイルを前記コントローラからまとめて受け取ることを特徴とする付記１記載のサービス制御プログラム。
【０１３４】
（付記８）  前記装置制御手段は、前記コントローラを介して、利用可能サービスを提供するために利用される装置を遠隔制御することを特徴とする付記１記載のサービス制御プログラム。
【０１３５】
（付記９）  前記装置制御手段は、前記装置に直接アクセスし、利用可能サービスを提供するために利用される装置を遠隔制御することを特徴とする付記１記載のサービス制御プログラム。
【０１３６】
（付記１０）  前記利用可能サービス判断手段は、前記周辺装置に対する他のネットワーク上の装置から提供されるサービスを、前記利用可能サービスに含めることを特徴とする付記１記載のサービス制御プログラム。
【０１３７】
（付記１１）  コントローラが接続されたネットワーク上の装置で連携して提供可能なサービスを制御するサービス制御装置において、
前記コントローラと通信し、前記コントローラ周辺のネットワークに接続された周辺装置のサービスプロファイルを収集する装置検出手段と、
装置毎の利用条件が予め登録された管理データベースを参照し、前記装置検出手段が取得した前記サービスプロファイルに対応する前記周辺装置の利用条件を取得する利用条件取得手段と、
前記装置検出手段が取得した前記サービスプロファイルと、前記利用条件取得手段が取得した前記利用条件とに基づいて、前記周辺装置の何れかを含む１つ以上の装置で提供可能な利用可能サービスを判断する利用可能サービス判断手段と、
前記利用可能サービス判断手段で利用可能と判断された利用可能サービスを提供するために利用される装置を遠隔制御し、前記利用可能サービスを提供する装置制御手段と、
を有することを特徴とするサービス制御装置。
【０１３８】
（付記１２）  コンピュータにより、コントローラが接続されたネットワーク上の装置で連携して提供可能なサービスを制御するサービス制御方法において、
装置検出手段が、前記コントローラと通信し、前記コントローラ周辺のネットワークに接続された周辺装置のサービスプロファイルを収集し、
利用条件取得手段が、装置毎の利用条件が予め登録された管理データベースを参照し、前記装置検出手段が取得した前記サービスプロファイルに対応する前記周辺装置の利用条件を取得し、
利用可能サービス判断手段が、前記装置検出手段が取得した前記サービスプロファイルと、前記利用条件取得手段が取得した前記利用条件とに基づいて、前記周辺装置の何れかを含む１つ以上の装置で提供可能な利用可能サービスを判断し、
装置制御手段が、前記利用可能サービス判断手段で利用可能と判断された利用可能サービスを提供するために利用される装置を遠隔制御し、前記利用可能サービスを提供する、
ことを特徴とするサービス制御方法。
【図面の簡単な説明】
【０１３９】
【図１】本実施の形態の概略を示す図である。
【図２】第１の実施の形態のシステム構成例を示す図である。
【図３】本実施の形態に用いるネットワークサーバのハードウェア構成例を示す図である。
【図４】ネットワークサーバとコントローラとの機能を示すブロック図である。
【図５】デバイス管理データベースのデータ構造例を示す図である。
【図６】コントローラ管理データベースのデータ構造例を示す図である。
【図７】ユーザ管理データベースのデータ構造例を示す図である。
【図８】タスクコンピューティングの処理手順を示す図である。
【図９】サービスプロファイルの第１の図である。
【図１０】サービスプロファイルの第２の図である。
【図１１】サービスプロファイルの第３の図である。
【図１２】プローブ部の内部構成を示すブロック図である。
【図１３】サービスプロファイル収集処理を示すシーケンス図である。
【図１４】第２の実施の形態に係るプローブ部の構成を示す図である。
【図１５】第２の実施の形態に係るサービスプロファイル収集処理を示すシーケンス図である。
【図１６】第３の実施の形態のシステム構成例を示す図である。
【図１７】従来のタスクコンピューティングのシステム構成を示す図である。
【符号の説明】
【０１４０】
１  サービス制御装置
１ａ  装置検出手段
１ｂ  利用条件取得手段
１ｃ  利用可能サービス判断手段
１ｄ  装置制御手段
２  管理データベース
３  コントローラ
４  ネットワーク
５  カメラ
６  モニタ
７  ストリームデータ
８  ユーザ
【図１】
2006338198.tif 000003
【図２】
2006338198.tif 000004
【図３】
2006338198.tif 000005
【図４】
2006338198.tif 000006
【図５】
2006338198.tif 000007
【図６】
2006338198.tif 000008
【図７】
2006338198.tif 000009
【図８】
2006338198.tif 000010
【図９】
2006338198.tif 000011
【図１０】
2006338198.tif 000012
【図１１】
2006338198.tif 000013
【図１２】
2006338198.tif 000014
【図１３】
2006338198.tif 000015
【図１４】
2006338198.tif 000016
【図１５】
2006338198.tif 000017
【図１６】
2006338198.tif 000018
【図１７】
2006338198.tif 000019