(57)【特許請求の範囲】
【請求項１】
複数のホーム機器とそれぞれ接続するための複数のインタフェース装置を動作させるドライバに対応した複数のドライババンドルと、
前記ホーム機器にそれぞれ搭載されたアプリケーションで使用するプロトコルを機能により汎用的に分類したレイヤ単位で設けられ、任意の前記ドライババンドルに対応した汎用プロトコルバンドルと、
前記アプリケーションで使用するプロトコルを個別に分類したプロファイル単位で設けられ、任意の前記汎用プロトコルバンドルに対応した個別プロトコルバンドルと、
いずれかの前記ホーム機器に関する管理情報に基づいて連携制御を行う連携制御先のホーム機器および連携制御情報を特定するシナリオバンドルと、
を備えるホーム機器連携制御装置であって、
更に、前記ホーム機器ごとに、前記ホーム機器を識別する情報、前記ホーム機器との通信に使用する前記個別プロトコルバンドル、前記汎用プロトコルバンドル、および前記ドライババンドルを対応付けて記憶した機器管理データベースを備え、
前記ホーム機器連携制御装置は、
いずれかの前記ホーム機器からいずれかの前記ドライババンドルに対して、当該ホーム機器に関する管理情報が送信されたときに、前記ドライババンドルで受信した当該ホーム機器に関する管理情報に含まれる当該ホーム機器を識別する情報に基づいて前記機器管理データベースを検索し、前記管理情報を前記シナリオバンドルまで送信するための前記個別プロトコルバンドル、前記汎用プロトコルバンドルを特定し、
前記ドライババンドルから前記特定された汎用プロトコルバンドル、および前記特定された個別プロトコルバンドルの順に経由して、当該ホーム機器に関する管理情報を前記シナリオバンドルで受信し、
前記シナリオバンドルで受信した当該管理情報の送信元のホーム機器を識別する情報と当該管理情報の内容とに基づいて、連携制御を行う連携制御先のホーム機器および連携制御情報を特定し、
前記連携制御情報に含まれる前記連携制御先のホーム機器を識別する情報に基づいて前記機器管理データベースを検索し、前記個別プロトコルバンドル、前記汎用プロトコルバンドル、および前記ドライババンドルを特定し、
前記特定された個別プロトコルバンドル、前記特定された汎用プロトコルバンドル、および前記特定されたドライババンドルの順に経由して前記連携制御先のホーム機器に前記連携制御情報を送信する
ことを特徴とするホーム機器連携制御装置。
【請求項２】
複数のホーム機器とそれぞれ接続するための複数のインタフェース装置を動作させるドライバに対応した複数のドライババンドルと、
前記ホーム機器にそれぞれ搭載されたアプリケーションで使用するプロトコルを機能により汎用的に分類したレイヤ単位で設けられ、任意の前記ドライババンドルに対応した汎用プロトコルバンドルと、
前記アプリケーションで使用するプロトコルを個別に分類したプロファイル単位で設けられ、任意の前記汎用プロトコルバンドルに対応した個別プロトコルバンドルと、
いずれかの前記ホーム機器に関する管理情報に基づいて連携制御を行う連携制御先のホーム機器および連携制御情報を特定するシナリオバンドルと、
前記ホーム機器ごとに、前記ホーム機器を識別する情報、前記ホーム機器との通信に使用する前記個別プロトコルバンドル、前記汎用プロトコルバンドル、および前記ドライババンドルを対応付けて記憶した機器管理データベースと
を備えるホーム機器連携制御装置が、
いずれかの前記ホーム機器からいずれかの前記ドライババンドルに対して、当該ホーム機器に関する管理情報が送信されたときに、前記ドライババンドルで受信した当該ホーム機器に関する管理情報に含まれる当該ホーム機器を識別する情報に基づいて前記機器管理データベースを検索し、前記管理情報を前記シナリオバンドルまで送信するための前記個別プロトコルバンドル、前記汎用プロトコルバンドルを特定し、
前記ドライババンドルから前記特定された汎用プロトコルバンドル、および前記特定された個別プロトコルバンドルの順に経由して、当該ホーム機器に関する管理情報を前記シナリオバンドルで受信し、
前記シナリオバンドルで受信した当該管理情報の送信元のホーム機器を識別する情報と当該管理情報の内容とに基づいて、連携制御を行う連携制御先のホーム機器および連携制御情報を特定し、
前記連携制御情報に含まれる前記連携制御先のホーム機器を識別する情報に基づいて前記機器管理データベースを検索し、前記個別プロトコルバンドル、前記汎用プロトコルバンドル、および前記ドライババンドルを特定し、
前記特定された個別プロトコルバンドル、前記特定された汎用プロトコルバンドル、および前記特定されたドライババンドルの順に経由して前記連携制御先のホーム機器に前記連携制御情報を送信する
ことを特徴とするホーム機器連携制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホームネットワークシステム内のホーム機器間の連携を制御するホーム機器連携制御装置、およびホーム機器連携制御方法に関する。
【背景技術】
【０００２】
従来、宅内の家電機器をホームネットワークで相互に接続することにより、複数の家電機器を連携して制御させ、ユーザの快適性および利便性を高める技術が開発されている。
【０００３】
このように複数の家電機器を連携して制御させる場合、例えば、プロトコルαが実装されたホーム機器Ａからプロトコルβが実装されたホーム機器Ｂに所望の制御を実行させるためには、次の（１）〜（４）の方法が考えられる。
【０００４】
（１）ホーム機器Ａとホーム機器Ｂとを接続して直接通信させることにより、ホーム機器Ａからホーム機器Ｂへの制御を実行させる方法。
【０００５】
（２）ホーム機器Ａとホーム機器Ｂとの間にホームゲートウェイ装置を設置し、当該ホームゲートウェイ装置に、ホーム機器Ａから受信した制御信号をすべてホーム機器Ｂに転送するように予め設定しておくことで、ホーム機器Ａからホーム機器Ｂへの制御を実行させる方法。
【０００６】
（３）ホーム機器Ａとホーム機器Ｂとの間にホームゲートウェイ装置を設置し、当該ホームゲートウェイ装置に、受信した制御信号を解析して特定した転送先に当該制御信号を転送するように予め設定しておくことで、ホーム機器Ａからホーム機器Ｂへの制御を実行させる方法。
【０００７】
（４）ホーム機器Ａとホーム機器Ｂとの間にホームゲートウェイ装置を設置し、当該ホームゲートウェイ装置に、受信した信号を解析して制御内容および制御を行う機器を特定し、この特定した制御内容を実行させるための制御信号を生成して当該特定した機器に送信するように予め設定しておくことで、ホーム機器Ａからホーム機器Ｂへの制御を実行させる方法。
【０００８】
上記（１）の方法を利用する例として、ＤＬＮＡを利用してハードディスクレコーダからテレビ装置に録画コンテンツの再生制御を行うものがある。
【０００９】
しかし、上記（１）の方法を利用するにはホーム機器Ａのプロトコルαとホーム機器Ｂのプロトコルβとが対応していることが必要であり、多種多様のプロトコルがそれぞれ実装される複数のホーム機器間で広く利用することができないという問題があった。
【００１０】
また、上記（２）の方法は、ホームゲートウェイでルーティングを行うものであり、他のサブネットに接続されている機器間でも信号を転送することができるが、転送先であるホーム機器Ｂがホーム機器Ａから送信された制御信号を解析可能である必要があり、やはり多種多様のプロトコルがそれぞれ実装される複数のホーム機器間で広く利用することができないという問題があった。
【００１１】
また、上記（３）の方法は、制御信号の内容によって動的な転送処理を行うことができるが、やはり転送先であるホーム機器Ｂがホーム機器Ａから送信された制御信号を解析可能である必要があり、多種多様のプロトコルがそれぞれ実装される複数のホーム機器間で広く利用することができないという問題があった。
【００１２】
そのため、異なるプロトコルが実装された複数のホーム機器間で連携した制御を実行させるためには、上記（４）の方法が有効である。
【００１３】
この上記（４）の方法を実現する技術として、非特許文献１および非特許文献２に記載のものがある。
【００１４】
非特許文献１に記載の技術では、各ホーム機器の構成をサービス層とデバイス層に分け、サービス層において機器の制御インタフェースをサービスとしてネットワークに公開して自律的に他のホーム機器と連携させることで、中央集権的なサーバを用いずに連携サービスを実現している。
【００１５】
また非特許文献２に記載の技術では、ホームネットワークで利用するホームゲートウェイ装置の機能全体をＯＳＧｉフレームワークに対応させ、ホーム機器ごとに対応したバンドルおよび統一的にホーム機器を扱うセンサＧＷバンドルを実装するで、異なるホーム機器間の連携を実現している。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】「サービス指向アーキテクチャを用いたネットワーク家電連携サービスの開発」情報処理学会論文誌  2005年2月  Vol.46 No.2
【非特許文献２】「異種センサネットワークを連携させるゲートウェイ機能のOSGi対応」情報処理学会第71回全国大会 Vol.3 pp.145-146
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかし、上記非特許文献１に記載の技術はホーム機器自体の構成を作り変える必要があり、一般的に用いるには実現性が乏しいという問題があった。
【００１８】
また、上記非特許文献２に記載の技術では、接続される複数のホーム機器間で一部あるいはほとんどが共通のプロトコルを用いる場合にも、ホーム機器ごとにバンドルを搭載する必要がある。例えば、通信プロトコルが共通のZigBeeを利用する場合でも、このプロトコルに対応するアプリケーションをホーム機器ごとのバンドルにそれぞれ搭載するため、接続されるホーム機器が多数になると、ホームゲートウェイ装置のメモリ容量が多く消費されてしまうという問題があった。
【００１９】
また、上記非特許文献２に記載の技術では、ホーム機器においてイベントが発生する都度、ホームゲートウェイ装置においてホーム機器から取得したデータを解析するため、ホームゲートウェイ装置が、接続されたすべてのホーム機器に関するデータのフォーマットを解析できるように機能を搭載しておく必要があり、利用可能なホーム機器が制限されたり事前の設定が煩雑になるという問題があった。
【００２０】
本発明は上記課題を鑑みてなされたものであり、メモリ容量を多く使用せず、多種多様なプロトコルがそれぞれ搭載されたホーム機器間を連携することが可能なホーム機器連携制御装置、およびホーム機器連携制御方法を提供することを課題とする。
【課題を解決するための手段】
【００２１】
上記の課題を解決するための本発明のホーム機器連携制御装置は、複数のホーム機器とそれぞれ接続するための複数のインタフェース装置を動作させるドライバに対応した複数のドライババンドルと、前記ホーム機器にそれぞれ搭載されたアプリケーションで使用するプロトコルを機能により汎用的に分類したレイヤ単位で設けられ、任意の前記ドライババンドルに対応した汎用プロトコルバンドルと、前記アプリケーションで使用するプロトコルを個別に分類したプロファイル単位で設けられ、任意の前記汎用プロトコルバンドルに対応した個別プロトコルバンドルと、いずれかの前記ホーム機器に関する管理情報に基づいて連携制御を行う連携制御先のホーム機器および連携制御情報を特定するシナリオバンドルとを備えるホーム機器連携制御装置であって、更に、前記ホーム機器ごとに、前記ホーム機器を識別する情報、前記ホーム機器との通信に使用する前記個別プロトコルバンドル、前記汎用プロトコルバンドル、および前記ドライババンドルを対応付けて記憶した機器管理データベースを備え、前記ホーム機器連携制御装置は、いずれかの前記ホーム機器からいずれかの前記ドライババンドルに対して、当該ホーム機器に関する管理情報が送信されたときに、前記ドライババンドルで受信した当該ホーム機器に関する管理情報に含まれる当該ホーム機器を識別する情報に基づいて前記機器管理データベースを検索し、前記管理情報を前記シナリオバンドルまで送信するための前記個別プロトコルバンドル、前記汎用プロトコルバンドルを特定し、前記ドライババンドルから前記特定された汎用プロトコルバンドル、および前記特定された個別プロトコルバンドルの順に経由して、当該ホーム機器に関する管理情報を前記シナリオバンドルで受信し、前記シナリオバンドルで受信した当該管理情報の送信元のホーム機器を識別する情報と当該管理情報の内容とに基づいて、連携制御を行う連携制御先のホーム機器および連携制御情報を特定し、前記連携制御情報に含まれる前記連携制御先のホーム機器を識別する情報に基づいて前記機器管理データベースを検索し、前記個別プロトコルバンドル、前記汎用プロトコルバンドル、および前記ドライババンドルを特定し、前記特定された個別プロトコルバンドル、前記特定された汎用プロトコルバンドル、および前記特定されたドライババンドルの順に経由して前記連携制御先のホーム機器に前記連携制御情報を送信することを特徴とする。
【００２２】
また本発明のホーム機器連携制御方法は、複数のホーム機器とそれぞれ接続するための複数のインタフェース装置を動作させるドライバに対応した複数のドライババンドルと、前記ホーム機器にそれぞれ搭載されたアプリケーションで使用するプロトコルを機能により汎用的に分類したレイヤ単位で設けられ、任意の前記ドライババンドルに対応した汎用プロトコルバンドルと、前記アプリケーションで使用するプロトコルを個別に分類したプロファイル単位で設けられ、任意の前記汎用プロトコルバンドルに対応した個別プロトコルバンドルと、いずれかの前記ホーム機器に関する管理情報に基づいて連携制御を行う連携制御先のホーム機器および連携制御情報を特定するシナリオバンドルと、前記ホーム機器ごとに、前記ホーム機器を識別する情報、前記ホーム機器との通信に使用する前記個別プロトコルバンドル、前記汎用プロトコルバンドル、および前記ドライババンドルを対応付けて記憶した機器管理データベースとを備えるホーム機器連携制御装置が、いずれかの前記ホーム機器からいずれかの前記ドライババンドルに対して、当該ホーム機器に関する管理情報が送信されたときに、前記ドライババンドルで受信した当該ホーム機器に関する管理情報に含まれる当該ホーム機器を識別する情報に基づいて前記機器管理データベースを検索し、前記管理情報を前記シナリオバンドルまで送信するための前記個別プロトコルバンドル、前記汎用プロトコルバンドルを特定し、前記ドライババンドルから前記特定された汎用プロトコルバンドル、および前記特定された個別プロトコルバンドルの順に経由して、当該ホーム機器に関する管理情報を前記シナリオバンドルで受信し、前記シナリオバンドルで受信した当該管理情報の送信元のホーム機器を識別する情報と当該管理情報の内容とに基づいて、連携制御を行う連携制御先のホーム機器および連携制御情報を特定し、前記連携制御情報に含まれる前記連携制御先のホーム機器を識別する情報に基づいて前記機器管理データベースを検索し、前記個別プロトコルバンドル、前記汎用プロトコルバンドル、および前記ドライババンドルを特定し、前記特定された個別プロトコルバンドル、前記特定された汎用プロトコルバンドル、および前記特定されたドライババンドルの順に経由して前記連携制御先のホーム機器に前記連携制御情報を送信することを特徴とする。
【発明の効果】
【００２３】
本発明のホーム機器連携制御装置、およびホーム機器連携制御方法によれば、メモリ容量を多く使用せず、多種多様なプロトコルがそれぞれ搭載されたホーム機器間を連携することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態によるホーム機器連携制御システムを利用したホームネットワークシステムの構成を示すブロック図である。
【図２】本発明の一実施形態によるホーム機器連携制御システムで実行されるバンドルの登録処理の動作を示すシーケンス図である。
【図３】本発明の一実施形態によるホーム機器連携制御システムの管理サーバに記憶された情報の一例を示す説明図である。
【図４】本発明の一実施形態によるホーム機器連携制御システムでホーム機器から管理情報が送信されたときの動作を示すシーケンス図である。
【図５】本発明の一実施形態によるホーム機器連携制御システムのＨＧＷの個別プロトコルバンドルで保持されたメソッド情報の一例を示す説明図である。
【図６】本発明の一実施形態によるホーム機器連携制御システムのＨＧＷのシナリオスクリプト記憶部に記憶されたシナリオ情報の一例を示す説明図である。
【図７】本発明の一実施形態によるホーム機器連携制御システムでホーム機器に連携制御情報が送信されるときの動作を示すシーケンス図である。
【発明を実施するための形態】
【００２５】
〈一実施形態によるホームネットワークシステムの構成〉
本発明の一実施形態によるホーム機器連携制御システムを利用したホームネットワークシステムの全体構成について、図１を参照して説明する。
【００２６】
本実施形態によるホームネットワークシステム１は、宅内に設置された複数のホーム機器１０−１〜１０−３と、ホーム機器連携制御システム２０とが、有線ＬＡＮ、無線ＬＡＮ、ＵＳＢ、またはアナログ電話ケーブル等により接続されてホームネットワークが構築されている。またこのホーム機器連携制御システム２０は、インターネット等の外部ネットワーク３０に接続されている。
【００２７】
このホーム機器連携制御システム２０は、複数のホーム機器１０−１〜１０−３に接続されるとともに外部ネットワーク３０に接続されたホームゲーウェイ（以下、「ＨＧＷ」と称する。）２００と、このＨＧＷ２００に接続された管理サーバ２０１とを有する。図１においてはＨＧＷ２００にホーム機器１０が３台接続された場合について示しているがこれには限定されず、さらに多数のホーム機器１０が接続されていてもよい。管理サーバ２０１は、ＨＧＷ２００に接続されたホーム機器１０ごとの、ホーム機器ＩＤ、ホーム機器の種別を示す種別ＩＤ、後述するバンドル群の中からそれぞれ使用する一連のバンドルを示すバンドル一覧情報、および該当するプロトコルで使用する情報等を含むホーム機器管理情報を格納するホーム機器管理データベース２０１Ａを記憶している。
【００２８】
本実施形態においてホーム機器１０−１はZigBee通信機能を有するＡ社のZigBee端末であり、ホーム機器１０−２は無線ＬＡＮ通信機能を有するＢ社の無線端末であり、ホーム機器１０−３はＵＳＢ接続機能を有するＣ社のＵＳＢ端末であり、これらの機能を利用してＨＧＷ２００に接続されている。ホーム機器１０は、直接ＨＧＷ２００のインタフェースに接続される場合と、ＩＰとホーム機器１０のプロトコルとの変換を行うZigBee/IP変換器や、シリアルイーサ変換器などを中継してＨＧＷ２００のインタフェースに接続される場合とがあり、ここでは、ホーム機器１０−１はZigBee/IP変換器１１を中継してＨＧＷ２００のインタフェースに接続され、ホーム機器１０−２、１０−３は直接ＨＧＷ２００のインタフェースに接続されているものとする。
【００２９】
ＨＧＷ２００は、Javaモジュールであるバンドルの動的な追加や実行を管理するための基盤システムであるＯＳＧｉ技術を用いたＯＳＧｉサービス機能が搭載され、インタフェース装置群２１０と、ドライバ群２２０と、ドライババンドル群２３０と、汎用プロトコルバンドル群２４０と、個別プロトコルバンドル群２５０と、連携制御部２６０と、外部ネットワーク通信部２７０と、ＯＳＧｉフレームワーク２８０とを有する。
【００３０】
インタフェース装置群２１０は、ホーム機器１０−１〜１０−３とそれぞれ接続するための複数のインタフェース装置、例えば予め搭載されたスロット（図示せず）に挿入された有線ＬＡＮネットワークカード２１１、無線ＬＡＮネットワークカード２１２、ＵＳＢポート２１３、およびアナログ電話用ポート２１４を有する。ここでは、有線ＬＡＮネットワークカード２１１にはホーム機器１０−１に接続されたZigBee/IP変換器１１が接続され、無線ＬＡＮネットワークカード２１２にはホーム機器１０−２が接続され、ＵＳＢポート２１３にはホーム機器１０−３が接続されている。
【００３１】
ドライバ群２２０は、予め自ＨＧＷ２００のＯＳにインストールされた、インタフェース装置群２１０のインタフェース装置を動作させるドライバ、例えば有線ＬＡＮドライバ２２１、無線ＬＡＮドライバ２２２、ＲＳ２３２Ｃドライバ２２３、およびＲＪ−１１ドライバ２２４を有する。これらのドライバには、外部からの制御を受け付けるためのＡＰＩ（Application Program Interface）が搭載されている。
【００３２】
ドライババンドル群２３０は、ドライバ群２２０のドライバ２２１〜２２４ごとに設けられ、これらドライバのＡＰＩをそれぞれ制御するためドライババンドル、例えば有線ＬＡＮドライババンドル２３１、無線ＬＡＮドライババンドル２３２、ＲＳ２３２Ｃドライババンドル２３３、およびＲＪ−１１ドライババンドル２３４を有する。これらのドライババンドル２３１〜２３４では、いずれかのホーム機器１０から対応するドライバを介して送信された、当該ホーム機器１０に関する管理情報ＩＰパケットを受信し、当該管理情報ＩＰパケットのペイロードのヘッダを解析することによりホーム機器管理データベース２０１Ａを参照して次に転送する汎用プロトコルバンドル群２４０内のバンドルを特定し、この特定したバンドルに当該管理情報ＩＰパケットを転送する。
【００３３】
汎用プロトコルバンドル群２４０は、ホーム機器にそれぞれ搭載されたアプリケーションで使用するプロトコルを、機能により汎用的に分類したレイヤ単位で設けられた汎用プロトコルバンドル、例えば汎用ＴＣＰ／ＩＰ・ＵＤＰ／ＩＰバンドル２４１、汎用ZigBeeバンドル２４２、汎用シリアルバンドル２４３、および汎用アナログ電話バンドル２４４を有する。
【００３４】
これらの汎用プロトコルバンドル２４１〜２４４は、任意のドライババンドル２３１〜２３４に対応しており、例えば汎用ＴＣＰ／ＩＰ・ＵＤＰ／ＩＰバンドル２４１は有線ＬＡＮドライババンドル２３１および無線ＬＡＮドライババンドル２４２に対応し、汎用ZigBeeバンドル２４２は有線ＬＡＮドライババンドル２３１、無線ＬＡＮドライババンドル２４２、およびＲＳ２３２Ｃドライババンドル２３３に対応し、汎用シリアルバンドル２４３は有線ＬＡＮドライババンドル２３１、無線ＬＡＮドライババンドル２４２、およびＲＳ２３２Ｃドライババンドル２３３に対応し、汎用アナログ電話バンドル２４４は、ＲＪ−１１ドライババンドル２３４に対応している。これらの汎用的に分類されたプロトコルバンドル２４１〜２４４では、対応するドライババンドルから受信した管理情報ＩＰパケットのペイロードのヘッダを解析することによりホーム機器管理データベース２０１Ａを参照して次に転送する個別プロトコルバンドル群２５０内のバンドルを特定し、この特定したバンドルに当該管理情報ＩＰパケットを転送する。
【００３５】
個別プロトコルバンドル群２５０は、ホーム機器にそれぞれ搭載されたアプリケーションで使用するプロトコルを個別に分類したプロファイル単位で設けられたプロトコルバンドル、例えばZigBeeプロファイルＡバンドル２５１、ZigBeeプロファイルＢバンドル２５２、ＲＳ−２３２Ｃバンドル２５３、ＵＳＢモデムクラスバンドル２５４、およびアナログ電話対応バンドル２５５を有する。
【００３６】
これらの個別プロトコルバンドル２５１〜２５５は、任意の汎用プロトコルバンドル２４１〜２４４に対応しており、例えばZigBeeプロファイルＡバンドル２５１およびZigBeeプロファイルＢバンドル２５２は汎用ZigBeeバンドル２４２に対応し、ＲＳ−２３２Ｃバンドル２５３およびＵＳＢモデムクラスバンドル２５４は汎用シリアルバンドル２４３に対応し、アナログ電話対応バンドル２５５は汎用アナログ電話バンドル２４４に対応している。
【００３７】
これらの個別のプロトコルバンドル２５１〜２５５は、ホーム機器１０の種別ごとの、制御内容を示すメソッドおよび当該メソッドで用いるパラメータを示す変数の情報を有する。このメソッドは、各ホーム機器１０に対する汎用的なインタフェースの役割を果たす。個別のプロトコルバンドル２５１〜２５５は、受信した管理情報ＩＰパケットの機器ＩＤからメソッドおよび変数を特定し、管理情報ＩＰパケットとともに連携制御部２６０に転送する。
【００３８】
連携制御部２６０は、シナリオスクリプト記憶部２６１と、機器検出バンドル２６２と、シナリオバンドル２６３と、Ａ社アプリケーションバンドル２６４と、Ｂ社アプリケーションバンドル２６５と、Ｃ社アプリケーションバンドル２６６とを有する。
【００３９】
シナリオスクリプト記憶部２６１は、管理情報ＩＰパケットの送信元のホーム機器１０の種別とメソッドとの組み合わせごとの、連携して行う連携制御内容を示す連携制御パケット、当該連携制御パケット送信先（他のホーム機器１０、外部ネットワーク３０側、各社アプリケーションバンドル等）、当該連携制御パケットの送信に利用するプロトコルの情報を含むシナリオ情報を記憶する。
【００４０】
機器検出バンドル２６２は、ホームネットワークシステム１の稼動時に、各汎用プロトコルバンドル２４０を用いて当該ホームネットワーク内のＬＡＮに接続されているホーム機器１０を検出するとともに利用する個別プロトコルバンドルを特定し、利用するドライババンドル、汎用プロトコルバンドル、および個別プロトコルバンドルに対し、ＯＳＧｉフレームワーク２８０にＯＳＧｉサービスを受けるための登録をさせ監視を実行させる。
【００４１】
シナリオバンドル２６３は、各個別プロトコルバンドル群２５０の個別のプロトコルバンドル２５１〜２５５から受信した管理情報ＩＰパケット、当該ホーム機器を管理するメソッド、および変数の情報と、シナリオスクリプト記憶部２６１に記憶されたシナリオ情報とから、対応する連携制御内容を示す連携制御パケット、当該連携制御パケット送信先（他のホーム機器１０、外部ネットワーク３０側、各社アプリケーションバンドル等）、および当該連携制御パケットの送信に利用するプロトコルを特定し、特定した送信先に特定したプロトコルを用いて当該連携制御パケットの送信を実行する。この連携制御パケットの送信には、当該特定したプロトコルに対応した個別プロトコルバンドル、汎用プロトコルバンドル、およびドライババンドルが使用される。
【００４２】
ここで、シナリオバンドル２６３から見た汎用プロトコルバンドルへのインタフェース（ＡＰＩ）は、汎用プロトコルバンドルの区別に関わらず共通のJavaインタフェースが規定される。
【００４３】
Ａ社アプリケーションバンドル２６４、Ｂ社アプリケーションバンドル２６５、およびＣ社アプリケーションバンドル２６６は、特定メーカの特定ホーム機器のみを制御する場合に対応したアプリケーションであり、当該制御に使用するドライバを特定する情報を保持する。
【００４４】
外部ネットワーク通信部１７９は、外部ネットワーク３０に接続された有線ＬＡＮネットワークカード２７１と、この有線ＬＡＮネットワークカード２７１に対応したドライバ２７２と、これらを介して外部ネットワーク３０との通信を制御するＷＡＮバンドル２７３とを有する。
【００４５】
ＯＳＧｉフレームワーク２８０は、ＨＧＷ２００内のバンドルの登録、更新や、監視を行う。
【００４６】
管理サーバ２０１は、ホーム機器管理データベース２０１Ａを記憶している。ホーム機器管理データベース２０１Ａは、ホーム機器１０−１〜１０−３をそれぞれ識別する識別情報であり当該ホームネットワークシステム１内で共通して利用されるホーム機器ＩＤと、当該ホーム機器１０−１〜１０−３との通信にそれぞれ使用するプロファイル（個別プロトコルバンドル２５１〜２５５）を識別するプロファイルＩＤと、ホーム機器１０−１〜１０−３との通信にそれぞれ使用する個別プロトコルバンドル、汎用プロトコルバンドル、ドライババンドルをシーケンシャルに記述したバンドル一覧情報と、当該ホーム機器１０−１〜１０−３との通信において該当するプロトコルで使用する情報である個別ＩＤとを格納する。
【００４７】
〈一実施形態によるホームネットワークシステムの動作〉
次に、本実施形態によるホームネットワークシステム１の動作について、図２〜７を参照して説明する。
【００４８】
図２は、ホームネットワークシステム１の稼動時に実行されるＯＳＧｉフレームワーク２８０への各バンドルの登録処理を示すシーケンス図である。
【００４９】
まずホームネットワークシステム１が稼動すると、機器検出バンドル２６２から汎用プロトコルバンドル群２４０に、当該ホームネットワーク内のＬＡＮに接続されているホーム機器１０の情報を検出するための機器検出要求が送信される。
【００５０】
汎用プロトコルバンドル群２４０では、汎用ＴＣＰ／ＩＰ・ＵＤＰ／ＩＰバンドル２４１、汎用ZigBeeバンドル２４２、汎用シリアルバンドル２４３、および汎用アナログ電話バンドル２４４においてそれぞれ、機器検出バンドル２６２から送信された機器検出要求が受信され、これらの各汎用プロトコルバンドルから機器検出パケット、例えばＵＰｎＰのＭ−Ｓｅａｒｃｈパケット、ａｒｐパケット、またはＮｅｔＢＩＯＳのｎｂｔｓｔａｔ−Ａ“ＩＰアドレス”コマンド等が送出されることにより、当該ホームネットワークに接続されているホーム機器１０−１〜１０−３が固有情報（例えばZigBeeアドレス）に基づいて検出されるとともに当該ホーム機器の種別ＩＤ、使用する個別プロトコルバンドルＩＤ、使用するバンドル（ドライババンドル、汎用プロトコルバンドル、個別プロトコルバンドル）一覧、プロトコルで使用する情報ＩＤ（ポートＩＤ、ＰＡＮ ＩＤ、拡張ＩＤ等）が特定される（Ｓ１）。
【００５１】
接続されているホーム機器１０−１〜１０−３が検出されると、機器検出バンドル２６２により、例えばＨＧＷ２００のモニタ（図示せず）に表示されたホーム機器登録用のポータルページ上に、検出されたホーム機器１０−１〜１０−３をホームネットワークシステム１で利用開始することに同意するか否かを入力させる画面が示され、ユーザにより利用開始に同意する旨が入力されることにより（Ｓ２）これらのホーム機器１０−１〜１０−３に対してそれぞれホーム機器ＩＤが割り振られる（Ｓ３）。
【００５２】
ホーム機器１０−１〜１０−３に対してそれぞれホーム機器ＩＤが割り振られると、機器検出バンドル２６２から各ドライババンドル２３１〜２３４、各汎用プロトコルバンドル２４１〜２４４、および各個別プロトコルバンドル２５１〜２５５に対してサービス登録要求が送信され（Ｓ４）、ＯＳＧｉサービスに対応させるためのＯＳＧｉフレームワーク２８０へのサービス登録が実行される（Ｓ５）とともに、機器検出バンドル２６２、各個別プロトコルバンドル２５１〜２５５、各汎用プロトコルバンドル２４１〜２４４に対してＯＳＧｉフレームワーク２８０へのサービス監視要求が送信され（Ｓ６）、ＯＳＧｉサービスにより自身が処理を実行すべきか否かを監視させる（Ｓ７）。
【００５３】
このように各バンドルがＯＳＧｉフレームワーク２８０に登録されることにより、機器検出バンドル２６２で取得されたホーム機器ＩＤごとの、当該ホーム機器の種別ＩＤ、使用する個別プロトコルバンドルＩＤ、使用するバンドル一覧、プロトコルで使用する情報ＩＤが、管理サーバ２０１のホーム機器管理データベース２０１Ａに格納される。
【００５４】
機器管理データベース２０１Ａに格納された情報の一例を、図３に示す。
【００５５】
図３に示す情報は例えば、ホーム機器１０−１の情報として、「機器ID=1、profileID=3; 種別ID=22; bundleID=ZigBeeHA(EPアドレス).ZigBee.usb;個別ID=1;個別ID2=A38B(PANID);個別ID3=0011223344556677(拡張ID)」が格納されたものとする。この、「機器ID=1」は、当該ホームネットワークシステム１内で共通して使用するホーム機器１０−１の識別子が「1」であることを示している。また「profileID=3」は、個別プロトコルバンドルとして「ZigBeeHA （ZigBeeのHomeAutomation profile）」を使用することを示している。また「種別ID=22」は、当該ホーム機器１０−１の種別が「22（例えばON/OFF照明機器）」であることを示している。また「bundleID=ZigBeeHA(EPアドレス).ZigBee.usb」は、当該ホーム機器１０−１との通信に使用するバンドルを上位からドットでシーケンシャルに記述したものであり、個別プロトコルバンドルとして「ZigBeeHAバンドル」を使用し、汎用プロトコルバンドルとして「汎用ZigBeeバンドル」を使用し、ドライババンドルとしてＵＳＢポートに対応した「ＲＳ２３２Ｃドライバ」を使用することを示している。また「個別ID=1;個別ID2=A38B(PANID);個別ID3=0011223344556677(拡張ID)」は、当該ホーム機器１０−３との通信によるプロトコルにおいて、シリアルポート１番、ZigBeeのPAN ID「A38B」、ZigBeeの拡張ID「0011223344556677」を使用することを示している。
【００５６】
次に、ホームネットワークシステム１内のいずれかのホーム機器から送信された管理情報ＩＰパケットに連携して、他のホーム機器の動作が制御される場合の連携動作処理について、図４のシーケンス図を参照して説明する。ここでは、温度センサ（ホーム機器１０−２）から送信された管理情報ＩＰパケットに含まれる温度計測値に基づいて、屋外警報器（他のホーム機器１０−３）の鳴動のON/OFFが連動して制御される場合について説明する。
【００５７】
まず、無線端末である温度センサ（ホーム機器１０−２）において予め設定された時間間隔で取得される送信トリガにより（Ｓ１１）、取得された温度計測値（例えば温度計測値「４２℃」）、送信元であるホーム機器１０−２の固有情報をペイロードとして含む管理情報ＩＰパケットがホーム機器連携制御システム２０のＨＧＷ２００に送信される（Ｓ１２）。
【００５８】
ＨＧＷ２００では、ホーム機器１０−２から送信された管理情報ＩＰパケットが、ホーム機器１０−２に無線ＬＡＮにより接続された無線ＬＡＮカード２１２、無線ＬＡＮドライバ２２２を経由して無線ＬＡＮドライババンドル２３２で取得される（Ｓ１３、Ｓ１４）。このとき、無線ＬＡＮドライババンドル２３２では、ホーム機器１０−２から送信されるパケットの宛先ポートにて待ち受けられている。
【００５９】
無線ＬＡＮドライババンドル２３２では管理情報ＩＰパケットが取得されると、当該管理情報ＩＰパケットからペイロードが取り出され、管理サーバ２０１に送信される。
【００６０】
管理サーバ２０１では、ＨＧＷ２００から送信された管理情報ＩＰパケットのペイロードが解析されてパケットに含まれる送信元のホーム機器１０−２の固有情報が取得され、これに基づいてホーム機器管理データベース２０１Ａが検索されて当該ホーム機器１０−２の識別子である機器ID「2」が取得される（Ｓ１５）。
【００６１】
次に無線ＬＡＮドライババンドル２３２により、取得された機器ID「2」がＯＳＧｉフレームワーク２８０に送出され、当該管理情報ＩＰパケットを処理するためのＯＳＧｉサービスへの登録が行われる（Ｓ１６）。
【００６２】
ＯＳＧｉフレームワーク２８０に管理情報ＩＰパケットが登録されると、ＯＳＧｉフレームワーク２８０によりホーム機器管理データベース２０１Ａが参照されて、ＯＳＧｉサービス処理を監視している汎用プロトコルバンドルの中から当該管理情報ＩＰパケットの送信元に対応する機器ID「2」に対応する汎用プロトコルバンドルが特定され、この特定された汎用プロトコルバンドル（例えば汎用ZigBeeバンドル２４２）に対しＯＳＧｉサービス処理を行わせるためのコールバックが実行される（Ｓ１７）。
【００６３】
そしてコールバックが行われた汎用ZigBeeバンドル２４２から無線ＬＡＮドライババンドル２３２にペイロードが要求され（Ｓ１８）、取得される（Ｓ１９）。
【００６４】
同様にしてＯＳＧｉフレームワーク２８０によりホーム機器管理データベース２０１Ａが参照されて、ＯＳＧｉサービス処理を監視している個別プロトコルバンドルの中から当該機器ID「2」に対応する個別プロトコルバンドルが特定され、この特定された個別プロトコルバンドル（例えばZigBeeプロファイルＡバンドル２５１）に対しコールバックが実行され、ZigBeeプロファイルＡバンドル２５１においてペイロードが取得される（Ｓ２０）。
【００６５】
ここで、各個別プロトコルバンドル２５１〜２５５は、ホーム機器１０の種別ごとの制御内容を示すメソッドおよび当該メソッドで用いるパラメータを示す変数の情報を有している。
【００６６】
このホーム機器１０の制御内容を示すメソッドには、例えば図５に示すようなメソッドID「1」〜メソッドID「11」のメソッドがある。
【００６７】
このメソッドID「1」〜メソッドID「4」は対応するホーム機器１０が保持している状態、条件等のプロパティの設定に関するメソッドである。具体的には、メソッドID「1」；setLevel( )」は指定された数値をホーム機器１０に設定するためのものであり、例えば閾値、出力値を設定したりＯＮ／ＯＦＦを行ったりするために用いられる。またメソッドID「2」；setString( )」は指定された文字列をホーム機器１０に設定するためのものであり、例えばニックネームを設定するために用いられる。メソッドID「3」；〈clear( )〉はホーム機器１０の指定された項目を初期化（クリア）するためのものであり、例えば設定内容を初期化したり登録情報を初期化したりするために用いられる。
【００６８】
また、メソッドID「4」〜メソッドID「8」は対応するホーム機器１０から状態、条件等のプロパティの取得に関するメソッドである。具体的には、メソッドID「4」；〈getLevel( )〉はホーム機器１０から数値を取得するためのものであり、例えば保持されている閾値、出力値、検出値を取得するために用いられる。またメソッドID「5」；〈getString( )〉はホーム機器１０から文字列を取得するためのものであり、例えば設定されている文字列を取得するために用いられる。またメソッドID「6」；〈getMap( )〉はホーム機器１０から所定の関連情報（マッピング情報）を取得するためのものであり、例えば保持されているデータの種別と関連するデータの値とを取得するために用いられる。またメソッドID「7」；〈getList( )〉はホーム機器１０から所定の情報をリスト形式で取得するためのものであり、例えば保持されているデータの種別とデータの値とをリスト形式で取得するために用いられる。またメソッドID「8」；〈getImage( )〉はホーム機器１０から画像情報を取得するためのものであり、例えばネットワークカメラ装置（ホーム機器１０）で撮影された画像情報を取得するために用いられる。
【００６９】
また、メソッドID「9」；〈notifyLevel( )〉はホーム機器１０から取得された数値を監視するためのものであり、例えば保持されているデータが閾値を超えたか否かを判定するために用いられる。メソッドID「10」は接続されているホーム機器１０を検出すためのるメソッド；〈findDevices( )〉あり、ホーム機器検出用の情報を取得するために用いられる。メソッドID「11」は自身の動作モードに関するメソッド；〈setMode( )〉であり、例えば動作モードを登録モードに設定するために用いられる。
【００７０】
こられのメソッドは、各ホーム機器１０に対する汎用的なインタフェースの役割を果たす。
【００７１】
また、これらの各メソッドで用いるパラメータを示す変数には、ホーム機器１０の動作項目を示す「type」（例えば、温度計測；〈Temperature〉、ON／OFF制御；〈ON／OFF〉等）、ホーム機器１０の状態を示す「value」（例えば、閾値「40」以上の状態や、「ON」状態等）、ホーム機器１０の識別情報を示す「deviceID」（例えば、TCP/IP種別、ポート番号、IPアドレスおよびMACアドレス等）があり、それぞれ種別IDとメソッドの組み合わせごとに設定されている。
【００７２】
ステップＳ２０においてZigBeeプロファイルＡバンドル２５１において管理情報ＩＰパケットのペイロードが取得されると、ホーム機器管理データベース２０１Ａが参照されて種別IDに対応するメソッドおよび変数が特定され、ペイロードとともに連携制御部２６０に転送される（Ｓ２１）。
【００７３】
連携制御部２６０では、ZigBeeプロファイルＡバンドル２５１から転送されたメソッドおよび変数およびペイロードがシナリオバンドル２６３で取得され、ペイロードに含まれる管理情報ＩＰパケットと、メソッドおよび変数と、シナリオスクリプト記憶部２６１に記憶されたシナリオ情報とから、対応する連携制御内容を示す連携制御パケット、当該連携制御パケット送信先および当該連携制御パケットの送信に利用するプロトコルが特定される（Ｓ２２）。
【００７４】
ここで、シナリオスクリプト記憶部２６１は、管理情報ＩＰパケットの送信元のホーム機器１０とメソッドとの組み合わせごとの、対応する連携制御内容を示す連携制御パケット、当該連携制御パケット送信先（他のホーム機器１０、外部ネットワーク３０側、各社アプリケーションバンドル等）、当該連携制御パケットの送信に利用するプロトコルの情報を含むシナリオ情報を記憶している。
【００７５】
シナリオスクリプト記憶部２６１に記憶されたシナリオ情報の一例を、図６に示す。
【００７６】
図６ではシナリオ情報として、管理情報ＩＰパケットの送信元の機器ＩＤ「2」（ホーム機器１０−２；温度センサ）、当該ホーム機器１０−２の種別に対応するメソッドIDが「notifyID=9」（「notifyLevel( )」；報知要否を判定する閾値を超えたか否かを監視する監視メソッドの呼び出し）、受信パケットの変数「type」が「temp」（温度計測値取得）、受信パケットの変数「value」が「＞40」（40℃を超える場合）、送信先のホーム機器ＩＤが「3」（ホーム機器１０−３；屋外警報器）、送信パケットのメソッドＩＤが「actionID=1」（setLevel( )；ON/OFFスイッチの設定メソッドの呼び出し）、送信パケットの変数「type」が「ON/OFF」（ON/OFF制御）、送信パケットの変数「value」が「ON」が記憶されており、これは、「ホーム機器１０−２である温度センサで取得された温度計測値が閾値４０℃を超える場合に報知が必要と判断し、ホーム機器１０−３である屋外警報器のON/OFFスイッチをONに設定するように制御する。」ことを示している。
【００７７】
このようにしてステップＳ２２において連携制御内容が特定されると、特定された送信先に特定されたプロトコルを用いて、図７に示すように連携制御が実行される。
【００７８】
まず、シナリオバンドル２６３において、取得されたペイロードおよび特定された連携制御内容に基づいて、ホーム機器１０−２である温度センサ取得された温度計測値が４２℃であるため閾値４０℃を超えており報知が必要と判断され、ホーム機器１０−３である屋外警報器のON/OFFスイッチをONに設定する指示が連携制御のためのペイロードとして生成される。
【００７９】
生成されたペイロードは管理サーバ２０１に送信され、管理サーバ２０１においてホーム機器管理データベース２０１Ａが検索されて、当該ペイロードに含まれる送信先（ホーム機器１０−３；屋外警報器）の機器IDに対応する個別プロトコルバンドルが特定される。
【００８０】
そして、特定された個別プロトコルバンドルに、シナリオバンドル２６３から当該ペイロードが送信される（Ｓ３１）。
【００８１】
同様にして汎用プロトコルバンドルの中から当該送信先（ホーム機器１０−３；屋外警報器）の機器IDに対応する汎用プロトコルバンドルが特定され、この特定された汎用プロトコルバンドルに当該ペイロードが送信される（Ｓ３２）。
【００８２】
また同様にしてドライババンドルの中から当該送信先（ホーム機器１０−３；屋外警報器）の機器IDに対応するドライババンドルが特定され、この特定されたドライババンドルに当該ペイロードが送信される（Ｓ３３）。
【００８３】
ペイロードを取得したドライババンドルでは、ＴＣＰ／ＩＰを用いてＬＡＮに送出する場合には、当該ペイロードに基づいて連携制御ＩＰパケットを生成し、接続されたドライバ、インタフェース装置を経由して送信先（ホーム機器１０−３；屋外警報器）に送信して（Ｓ３４〜Ｓ３６）警報を鳴動させる。
【００８４】
上記連携制御処理のステップＳ２２において、連携制御パケットの送信先が特定メーカの特定ホーム機器に特定される場合には、シナリオスクリプト記憶部２６１のシナリオ情報は利用されず、該当するメーカのアプリケーションバンドル（Ａ社アプリケーションバンドル２６４、Ｂ社アプリケーションバンドル２６５、またはＣ社アプリケーションバンドル２６６）から対応するドライバに連携制御パケットが送信されるようにしてもよい。
【００８５】
このとき、シナリオバンドルで取得されたメソッドおよび変数を、メーカのアプリケーションバンドルにより自身に搭載されたアプリケーションにマッピングを行うことにより、これらの情報をシステム内で統一的に扱うことができる。
【００８６】
また、本実施形態によるホームネットワークシステム１は、外部ネットワーク３０に接続されているため、この外部ネットワーク３０、外部ネットワーク通信部２７０を介してホーム機器１０をリモート制御したり、新たなバンドルをダウンロードして追加したりすることが可能である。
【００８７】
以上の本実施形態によれば、ホーム機器の識別情報、使用するバンドルの識別情報、ホーム機器の種別ＩＤ、制御内容を示すメソッドＩＤ、および変数をシステム内において統一的に管理するため、各ホーム機器のＩＤ体系が異なる場合にも、ホーム機器間での通信が可能になり連携制御を行うことができる。
【００８８】
また本実施形態によれば、通信に利用するプロトコルやドライバに対応したアプリケーションを階層的に分類してそれぞれバンドルで構成したことにより、複数のホーム機器で共通して利用するアプリケーション部分については同一のバンドルで共有することができ、重複してシステム内に搭載する必要がなく、メモリの消費を削減することが可能になる。各バンドルでは、シナリオスクリプトが解析されることにより、使用されるバンドルが競合しないように制御される。
【００８９】
このように構成したことにより、新たなホーム機器が追加された場合には、既に搭載されたバンドルの中から対応するプロトコル、ドライバのバンドルを指定したシナリオ情報を作成すればよく、簡易な処理で対応することが可能になる。
【００９０】
また、新たなプロトコルやドライバに対応するアプリケーションが必要になったときは、該当するアプリケーション部分のバンドルのみを追加すればよく、簡易な処理で対応することが可能になる。
【符号の説明】
【００９１】
１０…ホーム機器群
１０−１〜１０−３…ホーム機器
１１…ZigBee/IP変換器
２０…ホーム機器連携制御システム
３０…外部ネットワーク
２００…ＨＧＷ
２０１…管理サーバ
２０１Ａ…ホーム機器管理データベース
２１０…インタフェース装置群
２１１…有線ＬＡＮネットワークカード
２１２…無線ＬＡＮネットワークカード
２１３…ＵＳＢポート
２１４…アナログ電話用ポート
２２０…ドライバ群
２２１…有線ＬＡＮドライバ
２２２…無線ＬＡＮドライバ
２２３…ＲＳ２３２Ｃドライバ
２２４…ＲＪ−１１ドライバ
２３０…ドライババンドル群
２３１…有線ＬＡＮドライババンドル
２３２…無線ＬＡＮドライババンドル
２３３…ＲＳ２３２Ｃドライババンドル
２３４…ＲＪ−１１ドライババンドル
２４０…汎用プロトコルバンドル群
２４１…汎用ＴＣＰ／ＩＰ・ＵＤＰ／ＩＰバンドル
２４２…汎用ZigBeeドライババンドル
２４３…汎用シリアルバンドル
２４４…汎用アナログ電話バンドル
２５０…個別プロトコルバンドル群
２５１…ZiBeeプロファイルＡバンドル
２５２…ZiBeeプロファイルＢバンドル
２５３…ＲＳ−２３２Ｃバンドル
２５４…ＵＳＢモデムクラスバンドル
２５５…アナログ電話対応バンドル
２６０…連携制御部
２６１…シナリオスクリプト記憶部
２６２…機器検出バンドル
２６３…シナリオバンドル
２６４…Ａ社アプリケーションバンドル
２６５…Ｂ社アプリケーションバンドル
２６６…Ｃ社アプリケーションバンドル
２７０…外部ネットワーク通信部
２８０…ＯＳＧｉフレームワーク
【図１】
0005357920.tif 000002
【図２】
0005357920.tif 000003
【図３】
0005357920.tif 000004
【図４】
0005357920.tif 000005
【図５】
0005357920.tif 000006
【図６】
0005357920.tif 000007
【図７】
0005357920.tif 000008