(57)【要約】【課題】個々の情報家電機器に対する制御指示を、人間の行動パターンに応じた適切な自動制御に置き換えることにより、より快適な生活環境を居住者に提供する情報家電ネットワーク用ミドルウェアを提供する。【解決手段】情報家電ミドルウェア１は、サービス機能に応じて分類されたサービスコンポーネントを、ユーザサービス部４１ａ、コントロールサービス部４１ｂ、ハードウェアサービス部４１ｄにそれぞれ有する。ユーザサービス部４１ａがユーザからのサービス要求を受け取ると、ルックアップテーブル４１ｔのサービスコンポーネント情報に従って、そのサービスに対応するサービスコンポーネントを起動する。ハードウェアサービス部４１ｄの機器用サービスコンポーネントが、リモート制御部５３およびデバイスインタフェース２を介して、該当する情報家電機器９を遠隔制御する。【選択図】  図１
2004258809.tif 000002
【特許請求の範囲】
【請求項１】
情報家電ネットワークと接続するデバイスインタフェースと、
サービス機能に応じた複数の階層に分類されたサービスコンポーネントを有するサービス部と、
ユーザのサービス要求に対応するために必要なサービスコンポーネントの情報を管理するコンポーネント管理部とを備え、
前記サービスコンポーネントに、情報家電機器のハードウェア単体を制御する機器用サービスコンポーネントと、ユーザインタフェースを提供するユーザ用サービスコンポーネントとを含み、
前記ユーザ用サービスコンポーネントが、ユーザからのサービス要求を受け取ると、前記コンポーネント管理部から提供されるサービスコンポーネント情報に従って、当該サービス要求に対応するために必要な機器用サービスコンポーネントへコンポーネント制御情報を送り、
前記コンポーネント制御情報を受け取った機器用サービスコンポーネントが、前記デバイスインタフェースを介して、該当する情報家電機器を制御することを特徴とする情報家電ネットワーク用ミドルウェア。
【請求項２】
前記サービスコンポーネントに、制御用サービスコンポーネントをさらに含み、
前記制御用サービスコンポーネントは、ユーザ用サービスコンポーネント、複数の機器用サービスコンポーネント、または他の制御用サービスコンポーネントへコンポーネント制御情報を送る、請求項１記載の情報家電ネットワーク用ミドルウェア。
【請求項３】
前記情報家電ネットワークに情報家電機器が新たに接続されたとき、前記情報家電機器から機器情報を取得し、取得した機器情報に基づいて当該情報家電機器に対応するサービスコンポーネントを生成するコンポーネント生成部をさらに備えた、請求項１または２に記載の情報家電ネットワーク用ミドルウェア。
【請求項４】
前記情報家電機器から状態情報を取得し、取得した状態情報をサービスに関連付けて保存する状態設定記憶部をさらに備えた、請求項１〜３のいずれか一項に記載の情報家電ネットワーク用ミドルウェア。
【請求項５】
ユーザからサービス要求があったとき、前記サービス部が、前記状態設定記憶部から、要求されたサービスに関連付けて記憶されている状態情報を抽出し、抽出した状態情報に従ってサービスコンポーネントへのコンポーネント制御情報を生成する、請求項４に記載の情報家電ネットワーク用ミドルウェア。
【請求項６】
情報家電ネットワークと接続するデバイスインタフェースと、
ウェブサービスを提供する外部ネットワークと接続するサービスインタフェースと、
サービスコンポーネントを有するサービス部と、
ユーザのサービス要求に対応するサービスコンポーネント情報を管理するコンポーネント管理部とを備え、
前記サービス部は、前記コンポーネント管理部から提供されるサービスコンポーネント情報に従って、前記サービスインタフェースを介してサービスコンポーネントとウェブサービスとを連携させることにより、各サービスコンポーネントへの支援サービスを前記ウェブサービスから取得することを特徴とする情報家電ネットワーク用ミドルウェア。
【請求項７】
前記サービス部が、前記サービスコンポーネントをサービス機能に応じた複数の階層に分類して有すると共に、
前記サービスコンポーネントは、情報家電機器のハードウェア単体を制御する機器用サービスコンポーネントと、ユーザインタフェースを提供するユーザ用サービスコンポーネントとを含み、
前記ユーザ用サービスコンポーネントが、ユーザからのサービス要求を受け取ると、前記コンポーネント管理部から提供されるサービスコンポーネント情報に従って、当該サービス要求に対応するために必要な機器用サービスコンポーネントへコンポーネント制御情報を送り、
前記コンポーネント制御情報を受け取った機器用サービスコンポーネントが、前記デバイスインタフェースを介して該当する情報家電機器を制御する、請求項６に記載の情報家電ネットワーク用ミドルウェア。
【請求項８】
前記サービスコンポーネントは、制御用サービスコンポーネントをさらに含み、
前記制御用サービスコンポーネントは、ユーザ用サービスコンポーネント、複数の機器用サービスコンポーネント、または他の制御用サービスコンポーネントへコンポーネント制御情報を送る、請求項７記載の情報家電ネットワーク用ミドルウェア。
【請求項９】
前記情報家電ネットワークに情報家電機器が新たに接続されたとき、前記情報家電機器から機器情報を取得し、取得した機器情報に基づいて当該情報家電機器に対応するサービスコンポーネントを生成するコンポーネント生成部をさらに備えた、請求項６〜８のいずれか一項に記載の情報家電ネットワーク用ミドルウェア。
【請求項１０】
前記コンポーネント生成部により生成されたサービスコンポーネントとウェブサービスとを連携させるための情報を取得するコンポーネント連携部をさらに備え、
前記コンポーネント連携部は、前記情報家電機器から取得した機器情報に基づいて、連携先のウェブサービスに関する情報を、前記サービスインタフェースを介して前記外部ネットワークから取得する、請求項９に記載の情報家電ネットワーク用ミドルウェア。
【請求項１１】
前記情報家電機器から状態情報を取得し、取得した状態情報をサービスに関連付けて保存する状態設定記憶部をさらに備えた、請求項６〜１０のいずれか一項に記載の情報家電ネットワーク用ミドルウェア。
【請求項１２】
ユーザからサービス要求があったとき、前記サービス部が、前記状態設定記憶部から、要求されたサービスに関連付けて記憶されている状態情報を抽出し、抽出した状態情報に従ってサービスコンポーネントへのコンポーネント制御情報を生成する、請求項１１に記載の情報家電ネットワーク用ミドルウェア。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の情報家電機器を生活者の行動に合わせて動的に制御することが可能な情報家電ネットワーク用ミドルウェアに関する。
【０００２】
【従来の技術】
近年、ユビキタスコンピューティングの思想に基づき、ＨＡＶｉ、ＥＣＨＯＮＥＴ、ＪＩＮＩ、ＵＰｎＰなどの様々な情報家電用ネットワークが提案されている。また、これらのネットワークを相互接続することにより、デジタル情報家電ネットワーク上の各機器をあたかも単一のネットワーク上にあるように取り扱うことや、情報家電機器をプラグアンドプレイによりネットワーク接続することも可能となっている。
【０００３】
この種の従来技術の一例が、特許文献１に開示されている。特許文献１には、様々な機器を相互接続するために相異なる通信プロトコルを有する複数のネットワークを統一フレームワークへと結合し、この統一フレームワーク上で、ユーザアプリケーションが様々なネットワークデバイスを発見し、利用することが開示されている。
【０００４】
また、利用者自身がＷｅｂサイト上の必要なサービスを能動的に検索して所定の処理を実行する代わりに、ネットワークエージェントが利用者の代理人として目的のＷｅｂサービス（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ）を実行するシステムも、構築されつつある。
【０００５】
【特許文献１】
特開２００１−２９０７２４号公報
【０００６】
【発明が解決しようとする課題】
現在のところ、情報家電機器の制御に関しては、（１）各機器の機能をコントロールパネルに呼び出して遠隔操作ができるシステム、（２）コントロールパネルや制御装置等に予め登録されたアプリケーションソフトウェア等によって各機器を自動制御するシステム、などは存在する。しかし、生活者の観点から機能するアプリケーションやサービスを提供する仕組みは存在しない。
【０００７】
例えば、利用者は、外出しようとすると、自分でインターネットを検索して天気予報を見て、なすべき作業を頭の中で組み立て、自分で個別に情報家電機器を操作して、例えば、照明機器の消灯、留守番電話セット、窓の施錠等をする必要がある。「外出する」という命令を出すだけで、これらの動作を一連に実行する仕組みは存在しない。
【０００８】
また、近年は、インターネット上でのＷｅｂサービスの提供も実用化されつつあるが、情報家電ネットワークに接続した情報家電機器がＷｅｂサービスと連携して利用者へサービスを提供するような仕組みも存在しない。
【０００９】
本発明は、従来は人間が行っていた個々の機器に対する別個の制御を、人間の行動パターンに応じた適切な自動制御に置き換えることにより、より快適な生活環境を居住者に提供し得る情報家電ネットワーク用ミドルウェアを提供することを目的とする。また、本発明は、Ｗｅｂサービスと連携することにより、居住者に提供できるサービスを動的に更新および拡張することが可能な情報家電ネットワーク用ミドルウェアを提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記の目的を達成するために、本発明の第１の構成にかかる情報家電ネットワーク用ミドルウェアは、情報家電ネットワークと接続するデバイスインタフェースと、サービス機能に応じた複数の階層に分類されたサービスコンポーネントを有するサービス部と、ユーザのサービス要求に対応するために必要なサービスコンポーネントの情報を管理するコンポーネント管理部とを備え、前記サービスコンポーネントに、情報家電機器のハードウェア単体を制御する機器用サービスコンポーネントと、ユーザインタフェースを提供するユーザ用サービスコンポーネントとを含み、前記ユーザ用サービスコンポーネントが、ユーザからのサービス要求を受け取ると、前記コンポーネント管理部から提供されるサービスコンポーネント情報に従って、当該サービス要求に対応するために必要な機器用サービスコンポーネントへコンポーネント制御情報を送り、前記コンポーネント制御情報を受け取った機器用サービスコンポーネントが、前記デバイスインタフェースを介して、該当する情報家電機器を制御することを特徴とする。
【００１１】
上記の第１の構成にかかる情報家電ネットワーク用ミドルウェアは、サービスコンポーネントに、制御用サービスコンポーネントをさらに含み、前記制御用サービスコンポーネントは、ユーザ用サービスコンポーネント、複数の機器用サービスコンポーネント、または他の制御用サービスコンポーネントへコンポーネント制御情報を送ることが好ましい。
【００１２】
上記の第１の構成にかかる情報家電ネットワーク用ミドルウェアは、情報家電ネットワークに情報家電機器が新たに接続されたとき、前記情報家電機器から機器情報を取得し、取得した機器情報に基づいて当該情報家電機器に対応するサービスコンポーネントを生成するコンポーネント生成部をさらに備えていることが好ましい。
【００１３】
上記の第１の構成にかかる情報家電ネットワーク用ミドルウェアは、前記情報家電機器から状態情報を取得し、取得した状態情報をサービスに関連付けて保存する状態設定記憶部をさらに備えていることが好ましい。加えて、ユーザからサービス要求があったとき、前記サービス部が、前記状態設定記憶部から、要求されたサービスに関連付けて記憶されている状態情報を抽出し、抽出した状態情報に従ってサービスコンポーネントへのコンポーネント制御情報を生成することがさらに好ましい。
【００１４】
また、前記目的を達成するために、本発明の第２の構成にかかる情報家電ネットワーク用ミドルウェアは、情報家電ネットワークと接続するデバイスインタフェースと、ウェブサービス（Ｗｅｂサービス：Ｗｅｂ  Ｓｅｒｖｉｃｅｓ）を提供するインターネットなどの外部ネットワークと接続するサービスインタフェースと、サービスコンポーネントを有するサービス部と、ユーザのサービス要求に対応するサービスコンポーネント情報を管理するコンポーネント管理部とを備え、前記サービス部は、前記コンポーネント管理部から提供されるサービスコンポーネント情報に従って、前記サービスインタフェースを介してサービスコンポーネントとウェブサービスとを連携させることにより、各サービスコンポーネントへの支援サービスを前記ウェブサービスから取得することを特徴とする。
【００１５】
上記の第２の構成にかかる情報家電ネットワーク用ミドルウェアにおいて、サービス部が、前記サービスコンポーネントをサービス機能に応じた複数の階層に分類して有すると共に、前記サービスコンポーネントは、情報家電機器のハードウェア単体を制御する機器用サービスコンポーネントと、ユーザインタフェースを提供するユーザ用サービスコンポーネントとを含み、前記ユーザ用サービスコンポーネントが、ユーザからのサービス要求を受け取ると、前記コンポーネント管理部から提供されるサービスコンポーネント情報に従って、当該サービス要求に対応するために必要な機器用サービスコンポーネントへコンポーネント制御情報を送り、前記コンポーネント制御情報を受け取った機器用サービスコンポーネントが、前記デバイスインタフェースを介して該当する情報家電機器を制御することが好ましい。
【００１６】
上記の第２の構成にかかる情報家電ネットワーク用ミドルウェアにおいて、前記サービスコンポーネントが、制御用サービスコンポーネントをさらに含み、前記制御用サービスコンポーネントは、ユーザ用サービスコンポーネント、複数の機器用サービスコンポーネント、または他の制御用サービスコンポーネントへコンポーネント制御情報を送ることが好ましい。
【００１７】
上記の第２の構成にかかる情報家電ネットワーク用ミドルウェアは、前記情報家電ネットワークに情報家電機器が新たに接続されたとき、前記情報家電機器から機器情報を取得し、取得した機器情報に基づいて当該情報家電機器に対応するサービスコンポーネントを生成するコンポーネント生成部をさらに備えていることが好ましい。
【００１８】
上記の第２の構成にかかる情報家電ネットワーク用ミドルウェアは、コンポーネント生成部により生成されたサービスコンポーネントとウェブサービスとを連携させるための情報を取得するコンポーネント連携部をさらに備え、前記コンポーネント連携部は、前記情報家電機器から取得した機器情報に基づいて、連携先のウェブサービスに関する情報を、前記サービスインタフェースを介して前記外部ネットワークから取得することが好ましい。
【００１９】
上記の第２の構成にかかる情報家電ネットワーク用ミドルウェアは、前記情報家電機器から状態情報を取得し、取得した状態情報をサービスに関連付けて保存する状態設定記憶部をさらに備えていることが好ましい。加えて、ユーザからサービス要求があったとき、前記サービス部が、前記状態設定記憶部から、要求されたサービスに関連付けて記憶されている状態情報を抽出し、抽出した状態情報に従ってサービスコンポーネントへのコンポーネント制御情報を生成することがさらに好ましい。
【００２０】
【発明の実施の形態】
本実施形態における「情報家電（機器）」とは、ネットワークに接続可能な電気機器であって、他の機器との情報通信が可能なものをいい、例えば、パーソナルコンピュータなどの情報機器、ＡＶ機器、電話やファクシミリなどの通信機器、情報化されたセンサ、並びにいわゆる白物家電などの独立した機器の他に、情報化された住宅設備（例えば、警報システム、窓やドアの自動施錠システム、エアコンやガス設備の制御システムなど）なども含む。
【００２１】
人間の行動は、一般に、より単純な行動に細分化することができる。例えば、「外出する」という行動は、（ｉ）留守番電話をセットする、（ｉｉ）ガスの元栓を確認する、（ｉｉｉ）窓の施錠を確認する、（ｉｖ）全ての部屋の電気を消す、（ｖ）玄関のドアを閉める、といったような複数の行動から構成される。本発明の情報家電ネットワーク用ミドルウェアは、例えば居住者が「外出する」という指令を入力するだけで、上述の（ｉ）〜（ｖ）の行動を、それぞれの情報家電機器に実行させる。すなわち、本発明の情報家電ネットワーク用ミドルウェアは、従来は人間が行っていた個々の機器に対する別個の制御を、人間の行動パターンに応じた適切な自動制御に置き換えることにより、より快適な生活環境を居住者に提供しようとするものである。また、本発明の情報家電ネットワーク用ミドルウェアは、このように生活行動の自動化を行うだけでなく、インターネットで提供されるいわゆるＷｅｂサービスと連携することにより、居住者に提供できるサービスを動的に更新および拡張することが可能である。
【００２２】
以下、本発明の一実施形態にかかる情報家電ネットワーク用ミドルウェア（以下、情報家電ミドルウェアと略記する）の構成および動作について、図面を参照しながら説明する。
【００２３】
図１は、本実施形態にかかる情報家電ミドルウェア１の概略構成を示すブロック図である。図１に示すように、本実施形態の情報家電ミドルウェア１は、住宅内の様々な情報家電機器９と、機器接続ネットワーク８を介して接続される。情報家電機器９としては、前述したように、情報機器、ＡＶ機器、通信機器、白物家電、あるいは情報住宅設備などの、任意の機器または機器システムを適用可能である。機器接続ネットワーク８は、例えばＨＡＶｉ、ＥＣＨＯＮＥＴ、Ｊｉｎｉ、ＵＰｎＰなどのネットワーク技術および通信プロトコルで形成される任意の１つまたは複数のネットワークから構成され得る。なお、情報家電ミドルウェア１は、例えばセットトップボックスまたはホームサーバとして住宅内に設置されるものであるが、そのハードウェア形態や設置箇所は任意であり、セットトップボックスやホームサーバに限定されない。
【００２４】
また、情報家電ミドルウェア１は、外部ネットワークとしてのインターネット１０にも接続される。これにより、情報家電ミドルウェア１は、インターネット１０上の各種のＷｅｂサービス提供用サーバ１１から提供される支援サービス（Ｗｅｂサービス）を利用することができる。ユーザは、コントローラ１２（例えば携帯電話等）を用いて、外出先から情報家電ミドルウェア１にインターネット１０経由で操作指示を送ることも可能である。なお、図１では、１つのＷｅｂサービス提供用サーバ１１のみを示したが、インターネット１０経由でアクセス可能な任意のサーバからＷｅｂサービスの提供を受けることが可能であることは言うまでもない。この場合、ユーザが必要とするＷｅｂサービスを提供するのはどのＷｅｂサービス提供用サーバ１１であるかを照会できるように、インターネット１０上には、Ｗｅｂサービス照会用サーバ１４も設けられている。また、複数のＷｅｂサービス照会用サーバ１４をさらに一元管理するような仕組み（例えばＵＤＤＩなど）を利用することも可能である。
【００２５】
次に、情報家電ミドルウェア１の内部構成について説明する。図１に示すように、情報家電ミドルウェア１は、デバイスインタフェース２、サービスインタフェース３、サービス処理部４、デバイス処理部５、コミュニケーション処理部６、セキュリティ処理部７を有する。
【００２６】
デバイスインタフェース２は、機器接続ネットワーク８と相互接続することにより、この機器接続ネットワーク８に接続された各種の情報家電機器９を単一のネットワーク上に統合する機能を有する。また、デバイスインタフェース２には、情報家電ミドルウェア１に対して居住者（ユーザ）が操作指示などを入力するためのコントロールパネル１３も接続されている。コントロールパネル１３のハードウェア形態や設置箇所は任意であり、例えば、住宅内の壁面パネルとして設置されていても良いし、リモコンであっても良い。サービスインタフェース３は、インターネット１０に接続するゲートウェイ機能を有する。
【００２７】
サービス処理部４は、サービスマネージャ４１と、ユーザマネージャ４２と、コンフィギュレータ４３から構成される。サービスマネージャ４１は、ユーザサービス部４１ａ、コントロールサービス部４１ｂ、ルックアップサービス部４１ｃ、ルックアップテーブル４１ｔ、ハードウェアサービス部４１ｄを有する。ルックアップサービス部４１ｃおよびルックアップテーブル４１ｔは、サービスコンポーネントを一元的に管理するためのコンポーネント管理部として機能する。
【００２８】
ユーザサービス部４１ａ、コントロールサービス部４１ｂ、ハードウェアサービス部４１ｄは、インターネット１０上のＷｅｂサービスを利用することにより、デバイス処理部５およびデバイスインタフェース２を介して情報家電機器９を遠隔制御する。
【００２９】
Ｗｅｂサービス提供用サーバ１１から情報家電機器９用に提供されるＷｅｂサービス（支援サービス）としては、例えば、ユーザ操作のためのインタフェースを提供するサービス（ユーザ支援サービス）、タイマー制御およびイベント制御や複数機器の一括制御等を行うサービス（制御支援サービス）、情報家電機器９の遠隔操作等を可能にするサービス（機器支援サービス）、アプリケーションサービスなどがある。
【００３０】
これらのＷｅｂサービスのうち、ユーザ支援サービス、制御支援サービス、および機器支援サービスといった「支援サービス」は、ユーザに対して直接的に提供されるサービスではなく、情報家電ミドルウェア１のユーザサービス部４１ａ、コントロールサービス部４１ｂ、ハードウェアサービス部４１ｄに対して提供されるものである。一方、アプリケーションサービスは、例えば、天気予報サービス、交通情報サービス、インターネットショッピングなどの、インターネット上でアプリケーションを実行した結果をユーザへ提供するものであり、本実施形態では宅外サービスと称する。ただし、アプリケーションサービスの結果は、ユーザへ直接提供されるものに限らず、サービスコンポーネントへ提供される場合もある。
【００３１】
情報家電ミドルウェア１では、情報家電機器９を介した利用者へのサービスを、いくつかのソフトウェア部品の組み合わせにより実現する。それらのソフトウェア部品を「サービスコンポーネント」と呼ぶ。サービスコンポーネントは、「ユーザ用サービスコンポーネント」、「機器用サービスコンポーネント」、および「制御用サービスコンポーネント」に分類される。本実施形態の情報家電ミドルウェア１では、ユーザ用サービスコンポーネントは、ｗｅｂサービスのユーザ支援サービスと連携することにより、ユーザインタフェース等の処理を行う。機器用サービスコンポーネントは機器支援サービスと連携することにより、情報家電機器９の制御を行う。制御用サービスコンポーネントは制御支援サービスと連携することにより、タイマー制御およびイベント制御や複数機器の一括制御等を行う。これらの支援サービスとサービスコンポーネントとの連携処理の詳細については後述する。
【００３２】
本実施形態の情報家電ミドルウェア１では、サービス機能に応じた複数の階層に分類してサービスコンポーネントを管理することにより、柔軟なサービス提供が可能である。すなわち、様々なコンポーネントを多様に組み合わせることにより、ユーザが望む多様なサービスにきめ細かく対応することができる。さらに、サービス提供において、各階層のサービスコンポーネントを組み合わせて再利用することができるため、各サービスの製作負担や使用するハードウェア等のリソースを低減できる。また、提供サービスの拡張が必要となる場合でも、関連する一部のサービスコンポーネントや支援サービスに変更を加えれば良いため、サービス提供者の負担が軽減できる。
【００３３】
なお、本実施形態では、「ユーザ用サービスコンポーネント」、「機器用サービスコンポーネント」、および「制御用サービスコンポーネント」の３種類にサービスコンポーネントを分類したが、分類の仕方はこれに限定されない。
【００３４】
サービスマネージャ４１において、ユーザサービス部４１ａ、コントロールサービス部４１ｂ、ハードウェアサービス部４１ｄは、それぞれ、ユーザ用サービスコンポーネント、制御用サービスコンポーネント、機器用サービスコンポーネントをそれぞれ管理する。
【００３５】
ユーザがサービスを要求すると、サービスマネージャ４１が、後で詳述するように、要求されたサービスを提供するためにどのサービスコンポーネントが必要かを判断し、必要なサービスコンポーネントを起動する。起動されたサービスコンポーネントは、これも後に詳述するように、Ｗｅｂサービスに連携することによって上述したいずれかの支援サービスを受け、その支援サービスから得られる制御ロジック情報に基づいて、デバイス処理部５およびデバイスインタフェース２を介して、必要な情報家電機器９を制御する。
【００３６】
ルックアップテーブル４１ｔは、情報家電ミドルウェア１が利用可能なサービスコンポーネントを一元管理するための情報（コンポーネントリスト）などを格納している。
【００３７】
ルックアップテーブル４１ｔに格納されているコンポーネントリストの一例を図２に示す。図２に示すように、コンポーネントリストは、情報家電ミドルウェア１で利用可能な全てのサービスコンポーネントの一覧であり、情報家電ミドルウェア１が提供可能な全てのサービスと、各サービスに対応するサービスコンポーネントの所在場所に関する情報（コンポーネントアドレス情報）などが記述されている。すなわち、本実施形態では、ルックアップテーブル４１ｔに格納されているコンポーネントリストに含まれる情報（コンポーネントアドレス情報など）を、サービスコンポーネント情報として用いる。ただし、サービスコンポーネント情報は、この実施形態で具体例として示したコンポーネントアドレス情報などに限定されず、ユーザのサービス要求に対応するために必要なサービスコンポーネントを特定できる情報であれば、任意の情報を用いることができる。
【００３８】
このようなルックアップテーブル４１ｔを備えたことにより、情報家電ミドルウェア１は、ユーザへ提供可能なサービスを一元管理することが可能である。なお、「情報家電ミドルウェア１が利用可能なサービスコンポーネント」とは、住宅内において情報家電ミドルウェア１に接続されている情報家電機器９によって提供されるサービス（宅内サービス）に関するサービスコンポーネントと、インターネット１０上で提供されるアプリケーションサービス（宅外サービス）に関するサービスコンポーネントとの両方を含む。
【００３９】
宅内サービスのサービスコンポーネントは、サービスマネージャ４１のユーザサービス部４１ａ、コントロールサービス部４１ｂ、ハードウェアサービス部４１ｄのいずれかに、そのサービスコンポーネントの種類に応じて格納される。宅外サービスのサービスコンポーネントは、インターネット１０上に存在する。従って、ルックアップテーブル４１ｔにおいて、図２に例示するように、宅外サービスのサービスコンポーネントのコンポーネントアドレス情報は、インターネット１０上のアドレス（ＵＲＩ等）を指す。一方、宅内サービスのサービスコンポーネントのコンポーネントアドレス情報は、各サービスコンポーネントが、ユーザサービス部４１ａ、コントロールサービス部４１ｂ、ハードウェアサービス部４１ｄのいずれにあるか、また、これらのサービス部内のどこに格納されているかを示す。
【００４０】
本実施形態では、各サービスコンポーネントの種類（機能）別に格納場所を分け、ルックアップテーブル４１ｔに各サービスコンポーネントの格納場所を記憶することとしているが、ルックアップテーブル４１ｔにおける管理形態はこれに限定されない。例えば、各サービスコンポーネントの種別を表す情報をルックアップテーブル４１ｔに記憶させるようにしても良い。
【００４１】
なお、宅外サービスの例としては、前述したように、例えばインターネット上で提供される各種アプリケーションサービス（天気予報サービス、交通情報サービス、インターネットショッピングなど）を挙げることができる。ただし、全てのサービスを宅内サービスと宅外サービスとにはっきりと分類できるわけではなく、両方の要素を持ったサービスも存在するが、このようなサービスの場合も、宅内サービスのサービスコンポーネントと宅外サービスのサービスコンポーネントとの連動によって提供されると考えることができ、サービスマネージャ４１内とＷｅｂサービス提供用サーバ１１のそれぞれにそれらのサービスコンポーネントを置くことによって実現できる。
【００４２】
ルックアップサービス部４１ｃは、ルックアップテーブル４１ｔの検索や更新を行う。
【００４３】
ユーザマネージャ４２は、ユーザのプロファイルを管理するプロファイル管理部４２ａと、ユーザの現在地を管理する位置管理部４２ｂとを有する。コンフィギュレータ４３は、ユーザの設定情報を管理する設定予約管理部４３ａと、例えば何らかの異常があった場合などに設定予約情報を過去の正常時点の情報に復元する状態リカバリ部４３ｂと、各情報家電機器９から取得した状態情報をサービスに関連づけて記憶する状態設定記憶部４３ｃとを有する。
【００４４】
デバイス処理部５は、デバイスリスト管理部５１、ロケーション管理部５２、およびリモート制御部５３から構成される。デバイスリスト管理部５１は、機器接続ネットワーク８を介して情報家電ミドルウェア１に接続されている情報家電機器９の機器情報を一元管理するためのデバイスリストを格納しており、情報家電機器９の接続状況や機器状態などを管理する。ロケーション管理部５２は、情報家電機器９の位置情報を管理する。リモート制御部５３は、サービスマネージャ４１のハードウェアサービス部４１ｄから送られる機器制御情報に従って、デバイスインタフェース２を介して、情報家電機器９を遠隔制御する。
【００４５】
コミュニケーション処理部６は、宅外サービスを中継するプロキシ６１と、センサ等のイベント情報を取得し、必要な箇所に情報を転送するイベント配送マネージャ６２とから構成される。
【００４６】
セキュリティ処理部７は、ユーザ認証を行う認証マネージャ７１、利用サービスなどのアクセスマネージャ７２、および、暗号化マネージャ７３などから構成される。
【００４７】
本実施形態にかかる情報家電ミドルウェア１の構成は以上のとおりであるが、この構成は一つの例にすぎず、本発明の目的を達成できる限りにおいて、情報家電ミドルウェア１の具体的な内部構成は任意である。
【００４８】
次に、情報家電ミドルウェア１のサービス提供の動作について、図３を参照して説明する。
【００４９】
ユーザは、宅内のコントロールパネル１３を用いて、あるいは外出先からコントローラ１２を用いて、情報家電ミドルウェア１に対して、例えば「外出する」あるいは「帰宅する」などのサービス要求を送る。コントロールパネル１３およびコントローラ１２のいずれを用いる場合においても、ユーザが入力するサービス要求は、上述の「外出する」のように行動を特定する情報（行動情報）の他に、必要に応じて、サービスを要求したユーザを特定する情報（ユーザ情報）を含んでも良い。
【００５０】
ユーザがコントロールパネル１３から入力したサービス要求は、デバイスインタフェース２を介して、サービスマネージャ４１のユーザサービス部４１ａへ送られる。また、ユーザが外部のコントローラ１２から入力したサービス要求は、サービスインタフェース３を介して、サービスマネージャ４１のユーザサービス部４１ａへ送られる（ステップＳ１）。
【００５１】
ユーザサービス部４１ａは、受け取ったサービス要求を処理する前に、必要に応じて、ユーザ情報をユーザマネージャ４２へ送付し、プロファイル管理部４２ａによってユーザ認証を行う。ただし、認証処理の際に暗号化／復号化が必要な場合は、ユーザマネージャ４２は、セキュリティ処理部７の認証マネージャ７１の機能を利用しても良い。
【００５２】
次に、ユーザサービス部４１ａは、ルックアップサービス部４１ｃを介してルックアップテーブル４１ｔを検索することにより、ユーザが指定した行動に対してどのようなサービスコンポーネントが必要であるかを調べる。さらに、ユーザサービス部４１ａは、ルックアップテーブル４１ｔのコンポーネントリストから、必要なサービスコンポーネントのコンポーネントアドレス情報を抽出する（ステップＳ２）。コンポーネントアドレス情報は、前述したように、サービスマネージャ４１内における各サービスコンポーネントの所在場所を示すものである。
【００５３】
ユーザサービス部４１ａは、抽出したコンポーネントアドレス情報に従って、当該サービスコンポーネントへコンポーネント制御情報を送る。当該サービスが宅内サービスである場合は、そのサービスコンポーネントのコンポーネントアドレス情報は、ユーザサービス部４１ａ、コントロールサービス部４１ｂ、またはハードウェアサービス部４１ｄのいずれかを指しているので、ユーザサービス部４１ａは、そのサービス部へコンポーネント制御情報を送る。なお、コンポーネント制御情報には、起動すべきサービスコンポーネント名およびその実行パラメータが記述されている。さらに、サービス部内のアドレスを含んでも良い。
【００５４】
コンポーネント制御情報を受け取ったサービス部では、指定されたサービスコンポーネントを起動する。
【００５５】
例えば、ステップＳ２で抽出されたコンポーネントアドレス情報がコントロールサービス部４１ｂを指している場合（ステップＳ３の結果がＹＥＳ）、コントロールサービス部４１ｂがコンポーネント制御情報を受け取り、指定されたサービスコンポーネントを起動する（ステップＳ４）。
【００５６】
起動されたサービスコンポーネント（制御用サービスコンポーネント）は、サービスインタフェース３を介してＷｅｂサービス提供用サーバ１１へアクセスし、Ｗｅｂサービス（制御支援サービス）の提供を受ける（ステップＳ５）。ここで、Ｗｅｂサービスから制御用サービスコンポーネントへ提供されるのは、制御ロジック情報である。制御ロジック情報とは、制御の実行方法や実行に必要なパラメータ等を記述した情報である。制御用サービスコンポーネントは、Ｗｅｂサービスから提供された制御ロジック情報を、情報家電ミドルウェア１内のメモリ（図示せず）にキャッシュすることもできる。この場合、インターネット１０との接続が切れたとしても、サービスの提供を続けることができる。なお、このステップＳ５における、サービスコンポーネントとＷｅｂサービスとの連携処理の詳細については後で説明する。
【００５７】
制御用サービスコンポーネントは、Ｗｅｂサービスの結果として提供される制御ロジック情報に基づいて、各サービス部を制御する（ステップＳ６）。
【００５８】
また、ステップＳ２で抽出されたコンポーネントアドレス情報がユーザサービス部４１ａを指している場合（ステップＳ７の結果がＹＥＳ）、ユーザサービス部４１ａがサービスリクエスト情報を受け取り、指定されたサービスコンポーネントを起動する（ステップＳ８）。
【００５９】
起動されたサービスコンポーネント（ユーザ用サービスコンポーネント）は、サービスインタフェース３を介してＷｅｂサービス提供用サーバ１１へアクセスし、Ｗｅｂサービス（ユーザ支援サービス）の提供を受ける（ステップＳ９）。ここで、Ｗｅｂサービスからユーザ用サービスコンポーネントへ提供されるのは、コントロールパネル１３などのユーザインタフェースのレイアウトや動作を制御するための制御ロジック情報である。なお、この制御ロジック情報は、情報家電ミドルウェア１のメモリにキャッシュすることもできる。
【００６０】
ユーザ用サービスコンポーネントは、Ｗｅｂサービスから提供された制御ロジック情報を用いてコントロールパネル１３などのユーザインタフェースを制御し（ステップＳ１０）、ユーザからのサービス要求を取得する（ステップＳ１１）。
【００６１】
また、ステップＳ２で抽出されたコンポーネントアドレス情報がハードウェアサービス部４１ｄを指している場合（ステップＳ１２の結果がＹＥＳ）、ハードウェアサービス部４１ｄがコンポーネント制御情報を受け取り、指定されたサービスコンポーネントを起動する（ステップＳ１３）。
【００６２】
起動されたサービスコンポーネント（機器用サービスコンポーネント）は、サービスインタフェース３を介してＷｅｂサービス提供用サーバ１１へアクセスし、Ｗｅｂサービス（機器支援サービス）の提供を受ける（ステップＳ１４）。ここで、Ｗｅｂサービスから機器用サービスコンポーネントへ提供されるのは、対象となる情報家電機器９を制御するための制御ロジック情報である。なお、この制御ロジック情報も、情報家電ミドルウェア１のメモリにキャッシュしても良い。
【００６３】
機器用サービスコンポーネントは、Ｗｅｂサービスから提供された制御ロジック情報を用いて、リモート制御部５３へ機器制御情報を送ることにより、デバイスインタフェース２を介して情報家電機器９を制御する（ステップＳ１５）。
【００６４】
また、当該サービスが宅外サービスである場合は、そのサービスコンポーネントのコンポーネントアドレス情報はインターネット１０上のアドレス（例えばＷｅｂサービス提供用サーバ１１のＵＲＩ）を指している（ステップＳ１６の結果がＹＥＳ）。そこで、ユーザサービス部４１ａは、サービスインタフェース３を介してインターネット１０へサービスリクエスト情報を送り（ステップＳ１７）、Ｗｅｂサービスのアプリケーションサービスの提供を受ける（ステップＳ１８）。
【００６５】
以上のように、サービスマネージャ４１は、ユーザのサービス要求に応じたサービスコンポーネントを起動することにより、ユーザに対して必要なサービスを提供する。
【００６６】
ここで、図３のステップＳ５、Ｓ９、Ｓ１４における、サービスコンポーネントとＷｅｂサービスとの連携についてさらに具体的に説明する。
【００６７】
まず、上述したようにサービスリクエスト情報を受け取ったサービス部（ユーザサービス部４１ａ、コントロールサービス部４１ｂ、またはハードウェアサービス部４１ｄ）は、サービスリクエスト情報の記述に該当するサービスコンポーネントを起動する。
【００６８】
各サービスコンポーネントは、連携すべきＷｅｂサービスのリクエスト先やリクエスト方法などに関する情報（連携用情報）を持っている。なお、各サービスコンポーネントが連携用情報を取得する方法については、後に説明する。起動されたサービスコンポーネントは、自らが持っている連携用情報を、サービスインタフェース３に送る。なお、このとき、サービスインタフェース３への情報伝達は、プロキシ６１経由で行っても良い。サービスインタフェース３は、受け取った連携用情報に従ってＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）リクエストを行う。その結果、Ｗｅｂサービス提供用サーバ１１で各支援サービスが実行され、その実行結果であるＳＯＡＰレスポンスが、サービスインタフェース３を経由してサービスコンポーネントへ返される。サービスコンポーネントは、その実行結果に基づいて、情報家電機器９を制御する。
【００６９】
このように、サービスコンポーネントがＷｅｂサービスと連携して情報家電機器９を制御することにより、ユーザが直接的に情報家電機器９を操作しなくても良い。例えば、情報家電機器９としてハードディスクレコーダがある場合、外出先から録画予約をするためには、従来であれば、ユーザがハードディスクレコーダへ直接アクセスして録画予約を行わなければならなかった。これに対して、本実施形態では、ユーザはインターネット１０上の録画予約Ｗｅｂサービスにアクセスして予約設定を行えば良い。そして、情報家電ミドルウェア１内にあるハードディスクレコーダの録画予約制御用のサービスコンポーネントがこの録画予約Ｗｅｂサービスを定期的に呼び出し、予約設定に変更や追加があれば、ハードディスクレコーダへ反映させる。また、他の例として、サービスコンポーネントは、天気予報等の外部情報をＷｅｂサービスにより取得して情報家電機器９を動的に制御することもできる。
【００７０】
以上では、情報家電ミドルウェア１の基本的な動作について説明した。次に、機器接続ネットワーク８に新しい情報家電機器９が接続されたときの情報家電ミドルウェア１の動作について、図４のフローチャートおよび図１５の▲１▼〜▲５▼（コンポーネント生成フロー）を参照しながら説明する。なお、図１５は、情報家電ミドルウェア１の動作を分かりやすくするために、処理に係わる主なブロックのみを図示し、例えばインタフェースなどの図示は省略されている。また、図１５では、デバイス種類やサービス種類等に関して具体的な例を用いたものであるが、本発明の適用範囲がこのような具体例に限定されるべきではない。
【００７１】
利用者により、機器接続ネットワーク８に新しい情報家電機器９が接続されると、その情報家電機器９は、当該機器に関する機器情報を、機器接続ネットワーク８へ送出する。この機器情報は、例えば、当該機器のデバイス名、メーカー名、型式、型番、製造日などの他、当該機器が提供するサービスに対応するサービスコンポーネントに関する情報（以下、サービスコンポーネント生成情報と称する）を含む。サービスコンポーネント生成情報には、例えば、そのサービスコンポーネントの生成ロジック、そのサービスコンポーネントが連携すべきＷｅｂサービスの名称や照会先（例えばＷｅｂサービス照会用サーバ１４のＵＲＩなど）に関する情報などが含まれている（図１５の▲１▼参照）。
【００７２】
情報家電機器９から送出された機器情報は、機器接続ネットワーク８から情報家電ミドルウェア１のデバイスインタフェース２へ送られる。デバイスインタフェース２は、この機器情報を取得し、サービスマネージャ４１のハードウェアサービス部４１ｄへ送る（図４のステップＳ２１）。
【００７３】
ハードウェアサービス部４１ｄは、デバイス処理部５のデバイスリスト管理部５１へその機器情報を送る。なお、デバイスインタフェース２から、直接、デバイス処理部５のデバイスリスト管理部５１へその機器情報を送るようにしても良い。デバイスリスト管理部５１は、送られてきた機器情報が既にデバイスリストに登録されているか否かを確認し（ステップＳ２２）、まだ登録されていなければ追加登録する（ステップＳ２３）。
【００７４】
その後、ルックアップサービス部４１ｃは、新しく接続された情報家電機器９の機器情報に含まれるサービスコンポーネント生成情報に基づいてルックアップテーブル４１ｔを参照し、その機器を制御するために必要なサービスコンポーネントが、情報家電ミドルウェア１内に既に存在するか否かをチェックする（ステップＳ２４）。
【００７５】
該当するサービスコンポーネントが存在しなければ、ルックアップサービス部４１ｃが、新しく接続された情報家電機器９の機器情報から取得したサービスコンポーネント生成ロジックに基づいて、必要なサービスコンポーネントを生成する（ステップＳ２５、図１５の▲２▼参照）。ただし、この時点では、図１５に示されたサービスコンポーネントＳＣ１内には、連携用情報ＲＩ１および制御ロジック情報ＣＬ１はまだ存在しない。
【００７６】
ステップＳ２５の詳細手順を図５および図７を参照して説明する。ルックアップサービス部４１ｃは、新しく接続された情報家電機器９の機器情報に含まれるサービスコンポーネント生成情報から、生成すべきサービスコンポーネントの種類を判断する（ステップＳ５１）。生成すべきサービスコンポーネントが機器用サービスコンポーネントであれば、新しく接続された情報家電機器９の機器情報に基づき、機器用サービスコンポーネントを生成し（ステップＳ５２）、ハードウェアサービス部４１ｄへ格納する（ステップＳ５３）。同様にして、生成すべきサービスコンポーネントがユーザ用サービスコンポーネントであれば、ユーザ用サービスコンポーネントを生成し（ステップＳ５４）、ユーザサービス部４１ａへ格納する（ステップＳ５５）。また、生成すべきサービスコンポーネントが制御用サービスコンポーネントであれば、制御用サービスコンポーネントを生成し（ステップＳ５６）、コントロールサービス部４１ｂへ格納する（ステップＳ５７）。
【００７７】
なお、ステップＳ５２，Ｓ５４，Ｓ５６において各サービスコンポーネントを生成する際に、機器情報のサービスコンポーネント生成情報から、Ｗｅｂサービス名およびＷｅｂサービス照会先情報（例えばＷｅｂサービス照会用サーバ１４のＵＲＩなど）を抽出し、抽出した情報を、生成したサービスコンポーネント内に記述しておく。
【００７８】
その後、ルックアップサービス部４１ｃは、生成したサービスコンポーネントの格納場所を表す情報（コンポーネントアドレス情報）を、ルックアップテーブル４１ｔに登録する（ステップＳ５８、図１５の▲３▼参照）。そして、新しく接続された情報家電機器９に必要なサービスコンポーネントの全てを生成するまで（ステップＳ５９の結果がＹＥＳとなるまで）、ステップＳ５１〜Ｓ５８の処理を繰り返す。このようにして、図４のステップＳ２５において、新しく接続された情報家電機器９に必要なサービスコンポーネントが生成・登録される。
【００７９】
このように生成されたサービスコンポーネントに対して、サービスマネージャ４１の各サービス部は、生成されたサービスコンポーネントとＷｅｂサービスとを連携させるための情報（連携用情報）を取得する（図４のステップＳ２６）。なお、連携用情報とは、各サービスコンポーネントからＷｅｂサービスに連携するために必要な情報、すなわち、各サービスコンポーネントがＷｅｂサービスによる支援サービスを受けるために必要な情報であり、例えば、Ｗｅｂサービスのリクエスト先やリクエスト方法などを含む。ここで、このステップＳ２６の連携用情報の取得手順について、図６および図８を参照しながら説明する。
【００８０】
まず、サービスマネージャ４１の各サービス部は、ステップＳ２６で生成されたサービスコンポーネントを起動する（ステップＳ６１）。すなわち、ステップＳ２６で生成されたサービスコンポーネントがユーザ用サービスコンポーネントであればユーザサービス部４１ａが、制御用サービスコンポーネントであればコントロールサービス部４１ｂが、機器用サービスコンポーネントであればハードウェアサービス部４１ｄが、そのサービスコンポーネントを起動する。
【００８１】
起動されたサービスコンポーネントは、前述したように、生成時にＷｅｂサービス名およびＷｅｂサービス照会先情報（例えばＷｅｂサービス照会用サーバ１４のＵＲＩなど）を持たされているので、その情報をサービスインタフェース３へ送る。サービスインタフェース３は、送られた情報に従い、Ｗｅｂサービス照会用サーバ１４へアクセスする（ステップＳ６２、図１５の▲４▼参照）。
【００８２】
Ｗｅｂサービス照会用サーバ１４は、必要な支援サービスの内容、そのサービスの提供場所、そのサービスの呼び出し方などを記述したＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を、サービスインタフェース３経由でサービスコンポーネントへ返す。サービスコンポーネントは、Ｗｅｂサービス照会用サーバ１４から返されたＷＳＤＬを、連携用情報（図１５のＲＩ１）として記憶する（ステップＳ６３、図１５の▲５▼参照）。このようにして、生成された各サービスコンポーネントは、連携すべきＷｅｂサービスのリクエスト先およびリクエスト方法などを取得する。
【００８３】
このように、新しく生成したサービスコンポーネントとＷｅｂサービスとの連携用情報を取得した後に、利用者からサービスリクエストがあった場合の動作（ステップＳ２７）を、図１５の（Ａ）〜（Ｇ）を参照しながら説明すると以下のとおりである。なお、利用者からサービスリクエストがあった場合の基本的な動作については、既に詳細に説明しているため、ここでは簡単な説明にとどめる。
【００８４】
コントロールパネル１３またはコントローラ１２を介してサービスリクエストを受けると（図１５の（Ａ）参照）、まず、サービスマネージャ４１のユーザサービス部４１ａが、当該サービスリクエストに対応するサービスコンポーネントを起動する（（Ｂ）参照）。起動されたサービスコンポーネントは、生成時に取得済みの連携用情報ＲＩ１に基づいてＷｅｂサービス提供用サーバ１１Ａへ直接にアクセスし（（Ｃ）参照）、制御ロジック情報ＣＬ１を取得する（（Ｄ）参照）。また、実行中の制御ロジック情報に宅外サービス（アプリケーションサービス）のリクエストが含まれていれば、該当するＷｅｂサービス提供用サーバ１１Ｂにアクセスしてアプリケーションサービスをリクエストし（（Ｅ）参照）、その実行結果を取得する（（Ｆ）参照）。そして、サービスコンポーネントは、制御ロジック情報ＣＬ１（宅外サービスのリクエストが含まれている場合は、制御ロジック情報ＣＬ１およびアプリケーションサービスの実行結果）に基づき、情報家電機器９を制御する（（Ｇ）参照）。なお、制御ロジック情報の中に、例えばアプリケーションサービスの結果に従って処理を分岐させるようなロジックや、他のコンポーネントを呼び出すようなロジックを記述することも可能である。このようなロジックの例としては、例えば、「天気予報」のアプリケーションサービスから降水確率情報を得て、降水確率が所定の値よりも低い場合にのみ「水まき制御」のサービスコンポーネントを起動する、というような例が挙げられる。これにより、複数の情報家電機器９を状況等に応じてインテリジェントに制御することができる。
【００８５】
以上に説明したように、新しい情報家電機器９を機器接続ネットワーク８に追加した場合にも、その情報家電機器９を制御するために必要なサービスコンポーネントを自動的に生成することができる。
【００８６】
なお、図６に示した連携用情報取得処理を行うタイミングは、新しいサービスコンポーネントが生成された場合に限定されない。例えば、定期的に、あるいは、ユーザから、連携用情報の再取得をリクエストされたときにも実行するようにしても良い。また、例えば、Ｗｅｂサービス提供者等から、連携用情報を変更した旨の通知がある毎に、実行しても良い。このように連携処理を適宜行うことにより、ユーザが意識することなく、ユーザに対して常に最新のサービスを提供することが可能となる。
【００８７】
なお、連携用情報の取得方法は、上述の具体例のみに限定されない。例えば、上述の例では、機器情報から抽出されるＷｅｂサービス照会用サーバ１４のＵＲＩなどを、新しく生成されるサービスコンポーネントに記述しておき、各サービスコンポーネントがこのＵＲＩに従って連携用情報を取得するものとした。しかし、これ以外に、例えば、Ｗｅｂサービス照会用サーバ１４のＵＲＩをルックアップテーブル４１ｔに記述しておき、これを参照して連携用情報を取得しても良い。また、連携用情報の取得処理を専用に行うコンポーネントを生成し、そのコンポーネントに連携用情報取得処理を実行させても良い。さらに、例えばＵＤＤＩを利用してＷｅｂサービスの照会を行う場合は、Ｗｅｂサービス照会用サーバ１４のＵＲＩを機器情報に含めておく必要はない。
【００８８】
次に、本実施形態の情報家電ミドルウェア１のより具体的な動作例について、図９〜図１４を参照しながら説明する。
【００８９】
最初に、機器接続ネットワーク８に接続された情報家電機器９の単体制御について、図９および図１０を参照して説明する。
【００９０】
ユーザが、コントロールパネル１３よりサービス要求を入力すると、デバイスインタフェース２を経由してサービスリクエスト情報がユーザサービス部４１ａへ送られる。なお、ここでは、ユーザが、サービス要求として、「窓を施錠する」という行動を入力したものとする。ユーザサービス部４１ａは、ルックアップサービス部４１ｃを介してルックアップテーブル４１ｔのコンポーネントリストを参照することにより、リクエストされたサービス（窓）に対応するサービスコンポーネントのコンポーネントアドレス情報を取得する。この例では、図９に示すように、リクエストされたサービス（窓）に対応するサービスコンポーネントは、ハードウェアサービス部４１ｄが管理している。従って、ユーザサービス部４１ａは、ハードウェアサービス部４１ｄへコンポーネント制御情報（施錠／窓）を送る。ハードウェアサービス部４１ｄは、該当する機器用サービスコンポーネントを起動し、デバイス処理部５のリモート制御部５３およびデバイスインタフェース２を介して、該当する情報家電機器９（窓の施錠システム）に対して施錠指令を送る。
【００９１】
次に、機器接続ネットワーク８に接続された複数の情報家電機器９の制御について、図１１および図１２を参照して説明する。
【００９２】
ここでは、ユーザが入力したサービス要求が、「戸締まりをする」であったものとする。ユーザが、コントロールパネル１３よりサービス要求を入力すると、デバイスインタフェース２を経由してサービスリクエスト情報がユーザサービス部４１ａへ送られる。なお、ユーザサービス部４１ａは、ルックアップサービス部４１ｃを介してルックアップテーブル４１ｔのコンポーネントリストを参照することにより、図１１に示すように、リクエストされた行動（戸締まりをする）に対応するサービスコンポーネントがコントロールサービス部４１ｂにより管理されているものであると判断する。従って、ユーザサービス部４１ａは、コントロールサービス部４１ｂへコンポーネント制御情報（戸締まりをする／戸締まり制御）を送る。コントロールサービス部４１ｂは、該当の制御用サービスコンポーネントの制御ロジック情報を分析し、処理を実行する。この例では、親となる制御用サービスコンポーネント（戸締まり制御）には、他の制御用サービスコンポーネント（窓制御）と機器用サービスコンポーネント（ガス元栓を閉じる、ドアの施錠）が組み込まれている。コントロールサービス部４１ｂは、まず、必要とする各サービスコンポーネントのアドレスをルックアップテーブル４１ｔから取得する。次に、他の制御用サービスコンポーネント（窓制御）に引数（施錠／家全体）を付加して起動指令を送る。これを受けた該当の制御用サービスコンポーネント（窓制御）は、ハードウェアサービス部４１ｄへコンポーネント制御情報（施錠／窓１、施錠／窓２）を送る。それとは別に、親の制御用サービスコンポーネント（戸締まり制御）からハードウェアサービス部４１ｄへ、コンポーネント制御情報（閉じる／ガス元栓、施錠／ドア）を送る。これらのコンポーネント制御情報を受け取ったハードウェアサービス部４１ｄは、該当の機器用サービスコンポーネントを起動し、デバイス処理部５のリモート制御部５３およびデバイスインタフェース２を介して該当の情報家電機器９を制御する。
【００９３】
次に、図１３および図１４を参照し、機器接続ネットワーク８に接続された情報家電機器９の状態をサービスに関連づけて記憶し、ユーザがサービスを要求することにより記憶された機器状態を再現する例について説明する。例えば、ユーザが各情報家電機器９を直接操作したり、あるいはコントロールパネル１３またはコントローラ１２から入力したサービス要求に従って情報家電ミドルウェア１が情報家電機器９を制御したりした結果として、ユーザにとって快適な状態（サービス要求の目的に合致した状態）が実現された場合、情報家電ミドルウェア１はその状態を保存し、後に再現することができる。
【００９４】
まず、図１３は、情報家電機器９の状態を、その時点で指定されているユーザの行動に関連づけて記憶する処理の一例である。ここでは、図１３に示すように、ユーザが、「深夜帰宅」というサービス要求をした結果の状態を保存すべく、「状態保存」を要求したものとする。ユーザがコントロールパネル１３より要求（状態保存）を入力すると、ユーザサービス部４１ａへサービスリクエスト情報が送られる。ユーザサービス部４１ａは、リクエストされたサービスコンポーネントのアドレスを、ルックアップサービス部４１ｃを介してルックアップテーブル４１ｔから取得する。この場合、リクエストされたサービスコンポーネント（状態保存）は、コントロールサービス部４１ｂに管理されているものとする（図示略）。そこで、ユーザサービス部４１ａは、コントロールサービス部４１ｂへコンポーネント制御情報（状態保存／深夜帰宅）を送る。コントロールサービス部４１ｂは、該当する制御用サービスコンポーネントの制御ロジック情報を分析し、処理を実行する。この例では、まず、コントロールサービス部４１ｂは、該当機器（エアコン、風呂）の機器用サービスコンポーネントのアドレスを、ルックアップサービス部４１ｃを介してルックアップテーブル４１ｔから取得する。次に、コントロールサービス部４１ｂは、ハードウェアサービス部４１ｄにコンポーネント制御情報（状態取得／エアコン、状態取得／風呂）を送る。ハードウェアサービス部４１ｄは、このコンポーネント制御情報に従い、デバイス処理部５のリモート制御部５３およびデバイスインタフェース２を介して、該当する情報家電機器９の状態を表す情報（状態情報）を取得する。なお、デバイスリスト管理部５１にも情報家電機器９の状態を表す情報を格納している場合は（図１５の「機器状態」）、デバイスリスト管理部５１から機器状態を取得しても良い。取得された状態情報（エアコン／ＯＮ／設定２８℃、風呂／ＯＮ／保温）は、コントロールサービス部４１ｂを介してコンフィギュレータ４３に送られ、行動（深夜帰宅）に関連づけられて状態設定記憶部４３ｃに記憶される。
【００９５】
次に、図１４は、記憶された機器状態を再現する処理の一例である。ユーザが、コントローラ１２より「深夜帰宅」というサービス要求を入力すると、そのサービス要求はユーザサービス部４１ａへ送られる。ユーザサービス部４１ａは、リクエストされたサービスコンポーネントのアドレスを、ルックアップサービス部４１ｃを介してルックアップテーブル４１ｔから取得する。この場合、リクエストされたサービスコンポーネントは、コントロールサービス部４１ｂにより管理されているものとする。従って、ユーザサービス部４１ａは、コントロールサービス部４１ｂへコンポーネント制御情報を送る。コントロールサービス部４１ｂは、該当の制御用サービスコンポーネントの制御ロジック情報を分析し、処理を実行する。この例では、まず、コントロールサービス部４１ｂは、該当サービス（深夜帰宅）の設定情報（状態情報）を状態設定記憶部４３ｃから抽出する。ハードウェアサービス部４１ｄは、抽出された設定情報（エアコン／ＯＮ／設定２８℃、風呂／ＯＮ／保温）より、該当する情報家電機器９（エアコン、風呂）の機器用サービスコンポーネントのアドレスを、ルックアップサービス部４１ｃを介してルックアップテーブル４１ｔから取得する。次に、上述の設定情報からコンポーネント制御情報（運転／エアコン／設定２８℃、運転／風呂／保温）を生成し、ハードウェアサービス部４１ｄへ送る。このコンポーネント制御情報を受け取ったハードウェアサービス部４１ｄは、該当する機器用サービスコンポーネントを起動し、デバイス処理部５のリモート制御部５３およびデバイスインタフェース２を介して、該当する情報家電機器９を制御する。
【００９６】
これにより、サービス要求が満たされたときの機器状態を保存しておいて再現することが可能となり、ユーザが個々の情報家電機器９に対して煩雑な操作を行わなくても、快適な生活環境を実現できる。
【００９７】
以上のように、本実施形態の情報家電ミドルウェアは、従来はユーザが行っていた個々の情報家電機器に対する制御指示を、人間の行動パターンに応じた適切な自動制御に置き換えることにより、より快適な生活環境を居住者に提供することができる。また、本実施形態の情報家電ミドルウェアは、生活行動の自動化を行うだけでなく、インターネットで提供されるＷｅｂサービスと連携することにより、居住者に提供できるサービスを動的に更新および拡張することが可能である。
【００９８】
【発明の効果】
以上に説明したように、本発明によれば、情報家電機器に対して人間の行動パターンに応じた適切な自動制御を行う情報家電ミドルウェアを提供できる。また、情報家電機器がインターネット上のＷｅｂサービスと連携動作することにより、生活者の行動に合わせて複数の情報家電機器をインテリジェントに制御することも可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかる情報家電ミドルウェアの概略構成を示すブロック図
【図２】本発明の一実施形態にかかる情報家電ミドルウェアが備えるルックアップテーブルの一例を示す説明図
【図３】本発明の一実施形態にかかる情報家電ミドルウェアのサービス提供の動作を示すフローチャート
【図４】本発明の一実施形態にかかる情報家電ミドルウェアに新しい情報家電機器が追加された場合の動作を示すフローチャート
【図５】図４のステップＳ２５の詳細を示すフローチャート
【図６】図４のステップＳ２６の詳細を示すフローチャート
【図７】サービスコンポーネント生成処理の説明図
【図８】サービスコンポーネント連携用情報取得処理の説明図
【図９】情報家電機器の単体制御の一具体例の処理フロー図
【図１０】情報家電機器の単体制御の一具体例のシーケンス図
【図１１】複数の情報家電機器の一括制御の一具体例の処理フロー図
【図１２】複数の情報家電機器の一括制御の一具体例のシーケンス図
【図１３】機器状態の記憶処理の一具体例の処理フロー図
【図１４】機器状態の復元処理の一具体例の処理フロー図
【図１５】本発明の一実施形態にかかる情報家電ミドルウェアの具体的な動作イメージを示す説明図
【符号の説明】
１        情報家電ミドルウェア
２        デバイスインタフェース
３        サービスインタフェース
４        サービス処理部
５        デバイス処理部
６        コミュニケーション処理部
７        セキュリティ処理部
８        機器接続ネットワーク
９        情報家電機器
１０      インターネット
１１      Ｗｅｂサービス提供用サーバ
１２      コントローラ
１３      コントロールパネル
１４      Ｗｅｂサービス照会用サーバ
４１      サービスマネージャ
４１ａ    ユーザサービス部
４１ｂ    コントロールサービス部
４１ｃ    ルックアップサービス部
４１ｔ    ルックアップテーブル
４１ｄ    ハードウェアサービス部
４２      ユーザマネージャ
４２ａ    プロファイル管理部
４２ｂ    位置管理部  ４３      コンフィギュレータ
４３ａ    設定予約管理部
４３ｂ    状態リカバリ部
４３ｃ    状態設定記憶部
５１      デバイスリスト管理部
５２      ロケーション管理部
５３      リモート制御部
６１      プロキシ
６２      イベント配送マネージャ
７１      認証マネージャ
７２      アクセスマネージャ
７３      暗号化マネージャ
【図１】
2004258809.tif 000003
【図２】
2004258809.tif 000004
【図３】
2004258809.tif 000005
【図４】
2004258809.tif 000006
【図５】
2004258809.tif 000007
【図６】
2004258809.tif 000008
【図７】
2004258809.tif 000009
【図８】
2004258809.tif 000010
【図９】
2004258809.tif 000011
【図１０】
2004258809.tif 000012
【図１１】
2004258809.tif 000013
【図１２】
2004258809.tif 000014
【図１３】
2004258809.tif 000015
【図１４】
2004258809.tif 000016
【図１５】
2004258809.tif 000017