宅内の各種センサを含む多様な家電機器をホームネットワークに接続し,多種多様なサービスを提供するホームネットワークシステム(HNS)の研究・開発が進みつつある.ネットワークに接続されたテレビやエアコン,扇風機,照明機器,温度計,照度計等の機器(ネット家電)を使用することで,これらの遠隔制御や宅内監視,複数機器の連携制御といった付加価値の高いサービスが実際に開発されている.
これらのサービスは一般に,ネット家電が持つAPIを組み合わせることで構築されるが,宅内に配置されるネット家電はユーザや家庭ごとに異なる可能性が高い.さらに,現状商品化されているサービスは,単一ベンダ製のネット家電のみに対応しているものが殆どである.その要因として,ネット家電のAPIの仕様がそれぞれのベンダによって異なることが挙げられ,このことはサービスとネット家電とを強く結び付けてしまう(密結合化)原因となる.そのため,サービスのアルゴリズムとそこで利用されるネット家電データの分離(疎結合化)は,別のユーザ環境におけるサービスアルゴリズムの再利用を容易化する.また,サービスに利用されるネット家電データを特定のモデルにもとづいて標準化し,サービス間で共有することにより,サービス開発時のデータ処理ロジックも再利用可能となり,開発コストのより一層の削減が見込まれる.
そこで本研究では,HNS上で実現されるサービスと連携可能なネット家電標準データモデルの構築を目指す.我々の提案するネット家電標準データモデルは,以下の3つから構成される.
D1:ネット家電クラス定義 D2:ネット家電インスタンス定義 D3:ネット家電サービス定義
ユーザの宅内に配置されるネット家電は非常に多様である.同じ種類の家電であっても提供する機能に差がある場合が非常に多い.そこで本稿では,で述べられているベンダに依存しない標準家電サービスを利用した.この標準家電サービスの持つ標準的なネット家電定義をネット家電クラスとして定義することで,ユーザの宅内環境に依存しないネット家電データを開発者に提供することができる.
ネット家電インスタンス定義では,ネット家電のURIやAPI種類等の宅内に配置された各ネット家電への詳細なアクセス方法に関する定義を保持する.ここでいうネット家電インスタンスはユーザの宅内環境に配備された個々のネット家電そのものを指し,すべてのインスタンスは特定のネット家電クラスに属する.ネット家電へのアクセス手法をインスタンス定義として記述することで,提供するサービスに依存しないネット家電の情報を集約することができる.
ネット家電サービス定義はサービスに依存するネット家電データを保持する.サービス開発者はネット家電を用いて特定の処理をユーザに提供するために,ネット家電サービス定義を作成する.ネット家電サービス定義では,サービス実現のためのアルゴリズムとネット家電オブジェクトが記述されている.ネット家電オブジェクトは対象となるネット家電クラスに基づく抽象表現で,個別のネット家電インスタンスに依存しない.定義内のネット家電オブジェクトとネット家電インスタンスの関連づけをサービス定義に記述することで,サービスのアルゴリズムとネット家電インスタンス間の疎結合化が可能となる.結果として,一つのネット家電サービス定義を多様なユーザ環境に対応させることが容易化される.
このように,ネット家電が持つ各種の情報を異なる粒度ごとに分離することで,再利用性の高い標準データモデルを構築することが可能となった.以降では,この提案モデルを我々の開発しているHNS環境において異なるサービスを対象として適用することで,その有用性も確認した.今回利用したサービスは,携帯電話で家電の状態を監視,又は家電を制御する携帯電話用統合インターフェースと,複数の家電を連携制御して一つのサービスを提供する{\bf 連携サービス}の作成支援を目的とした,連携サービス作成支援GUI(BAMBEE)の2つである.