サービス指向アーキテクチャに基づく情報家電の動的サービス連携に関する研究
2002MT009 藤山 麻衣

2002MT018 飯島 沙織

2002MT035 加藤 有希

指導教員 青山 幹雄

1. はじめに
現在，ホームネットワークシステム(HNS)にサービス指向アーキテクチャ(SOA：Service-Oriented Architecture) を適用し，相互接続性などの問題を解決する方法が提案されている．しかし従来の研究では，機器が予め決められた順序で連携を行うため，ネットワーク構成の変化が多い HNSにおいて不十分である．本研究では，機器がネットワーク構成に応じて動的に連携できる方法を提案する[3]．

2. HNS の問題点と解決策
2.1. HNS の現状
HNSでは，ホームサーバが機器を集中管理するネットワーク構成が主流であるが，以下の問題点がある[1]．
(1) サーバ依存：接続される機器の増加により，プロトコル変換や連携を担うホームサーバの負担が増大する．
(2) プラグ・アンド・プレイ：新たな機器や機能にホームサーバが対応していない可能性がある．
2.2. SOA とは
SOA とは，ネットワーク上の自律分散コンポーネントを標
準プロトコルによって疎結合し，統合サービスとして提供するソフトウェアアーキテクチャである．疎結合により，様々な機器が混在する HNS 上で相互接続が可能になる．
2.3. HNS への SOA 適用
SOA に基づく連携方式として提案されている方法[2]では，制御を行う機器固有のハードウェア部分をデバイス層，制御インタフェースをラッピングしてメソッドとして公開し，共通プロトコルを用いて呼び出し可能な部分をサービス層とする(図 1)．通信方法の統一によりプロトコル変換は不必要となる．さらに，連携順序に応じて次のサービスを実行できる仕組みを各機器持たせることで，連携を管理するサーバが不要となり，2.1(1)の問題が解決される．
他機器のメソッドを実行

標準プロトコル

他機器のメソッドを実行

サービス層
公開メソッド
固有プロトコルデバイスインタフェース

デバイス層

図 1 単一家電機器の構成モデル

2.4. 機器サービス連携
各システムでは，サービスを組み合わせて機器を連携する．これをサービス連携と呼ぶ．またサービスの実行順序が記述されているものをサービスシナリオ(SS：ServiceScenario)と呼ぶ．想定される SS を以下に示す．
SS1. DVD 再生システム１：DVD 再生時，スピーカを設定された音量に調節し，テレビモニタが DVD モードで起動し，照明が暗くなる．
SS2. DVD 再生システム２：DVD 再生時，スピーカを設定された音量に調節し，テレビモニタが DVD モードで起動する(照明は調節しない)．
SS3. 照明システム：照明がつくと，照度計に応じて明るさを調節する．
SS4. 帰宅システム：帰宅時，照明，エアコンを起動し，それぞれ照度計や温度計に応じて調節する．
SS5. 外出システム：外出時，常時電源が入っている必要のない機器の電源を切る．
公開メソッドを使用して記述された SS の例を，SS2 を用いて以下に示す(図 2)．
各機器のサービス
DVD

SpeakerON()
OFF()
Play()
Record()TVMonitor

ON()

ON()

OFF()

OFF()
Change_Mode()

Set_Volume()

DVD再生システム2
サービスシナリオ

DVD.ON()
Speaker.ON()
Speaker.Set_Volume()
TVMonitor.ON()
TVMonitor.Change_Mode()
DVD.Play()

図 2 SS2 の公開メソッドを用いた SS 例
また，予め決められた順序で連携することを静的サービ
ス連携，その時のネットワーク構成に応じて機器が自律的に連携することを動的サービス連携と呼ぶ．

3. 動的サービス連携の実現
3.1. 提案のフレームワーク
従来の研究では静的サービス連携が用いられているが，HNS の要件を満たすには不十分である．そこで本研究では，動的サービス連携を実現するために，SS を自動生成する方法を提案する．具体的には，SS の枠組みと実行順序の規則を SS 生成のパターンとし，パターンを用いて利用可能なサービスを組み合わせて SS を完成させる．
まず SSの構成要素の単位を示す．次に，SS の分析からSS の構成と実行順序を導出し，SS 生成のためのパターンを提案する．
3.2. SS 構成要素の抽出
本研究では，機器の一操作をサービスとし，これを SS の構成要素とする(図3)．構成要素の粒度が小さいため，多様な連携が可能だが，サービスの実行条件を考慮して，適切な順序で組み合わせる必要がある．
DVDが持つ構成単位
DVD-1 DVD-2 DVD-3 DVD-4

生成したサービスシナリオ

ON()

DVD.ON()

Play()

Record()OFF()

Speaker.ON()

Speakerが持つ構成単位
Speaker-1 Speaker-2 Speaker-3
ON()

Set_Volume()

Door

Light

OFF()

開錠する

TVMonitor.ON()

ユーザの存在TVMonitor.Change_Mode()

ON()

DVD.Play()

msg

Light

msg

電源をつける

照度を調節

msg

照度を測定

図 4 SS3 の連携の流れ
SS1，SS2(図 5)の連携の流れより，AV 機器は，映像・音声の入出力を担うサービスとプロパティを設定するサービスが主体となる．AV 機器は，AV 機器同士の連携で映像・音声の提供サービスを完成させる．照明の調節など付加的なサービスが追加されることはあるが，その連携の場合も，AV 機器間の実行関係は変わらない．
Speaker

Light

AV系機器電源をつける

モード切換えmsg

電源をつける

msg

音量の調節

環境調節
電源をつけるmsg

環境調節
電源をつけるmsg

msg
電源をつける
温度を測定

温度を調節

msg

図 6 SS4 の連携の流れ
Door

施錠する

msg

Illuminometer

ACDVD

OFFサービス

OFFサービス

OFFサービス

電源を切る

msg

電源を切る

msg

電源を切る

図 7 SS5 の連携の流れ

返り値が次のサービスの引数

TVMonitor

msg

ユーザの不在電源ONが前電源をつける

再生する

msg

照度を測定
照度を調節

Illuminometer

電源ONが前msg

Thermometer

電源をつけるOFF()

3.3. SS の分析
SS 生成のパターンを導出するために，HNS で想定される SS より，サービスの実行関係を分析した．
機器には，電源 OFF の状態でサービスが実行されない，という共通の性質がある(図 4)．よってサービスの前に電源ON サービスを配置する必要がある． また，照明・温度など環境調節の連携に見られるように，あるサービスの返り値が他のサービスの入力となる場合がある(図 4)．

電源をつけるAC

環境調節
電源をつける

図 3 SS2 の構成要素

DVD

Illuminometer

Speaker.Set_Volume()

TVMonitorが持つ構成単位
TV-1
TV-2
TV-3
Change_Mode()に機器の電源を切る連携である．図 6，7 ともに Door の持つサービスを起点に連携される．Door の開錠，施錠がそれぞれ人の存在，不在に相当する．起点のサービスの性質により，後に続くサービスの性質も異なる．
また，図 6 には環境調節に関わる連携が含まれる．
Light は照明，AC は空調をそれぞれ調節するが，他サービスから値を受け取り，それに応じた調節を行うというサービス間の関係は共通である．

図 5 SS2 の連携の流れ
図 6，7 は，HNS において一般的な連携で，ドアが開錠された時に室内環境を整える連携と，ドアが施錠された時

3.4. SS 生成パターンの提案3.3 節の分析により，サービスの連携順序に 2 種類の規則が存在することがわかった．これらの規則は，サービスの連携順序とネットワーク全体の構成の視点から導かれる．連
携順序によるパターンを実行順序パターンとし，ネットワーク全体の構成によるパターンをネットワークパターンと定義する．
3.4.1. 実行順序パターン
特定のサービスの実行順を決定する．
(1) 電源 ON パターン：各サービスの前に，その機器の電源 ON サービスを配置する．
(2) 値引継パターン：サービスの返り値が別のサービスの引数になる場合，これらを順番に配置する．
3.4.2. ネットワークパターン
ネットワークパターンは，より抽象的な視点で機器をグループ化し，グループごとに適用するパターンである．実行順序パターンが SS 中で局所的なパターンであるのに対し，SS 全体の連携の流れを決定する枠組みとなる．
グループ化の視点として，以下の 3 つを抽出する． (1)，(2)は機器，(3)はサービスを分類している．
(1) ネットワーク構成視点：現在広く認識されている家電機器のネットワーク構成によるグループ化である．AV 系，設備系，室内環境系，コンピュータ系，白物家電系に分けられる．
(2) 電源視点：3.3 節の分析から，機器の中でも常時電源が必要か否かによって分類したグループ化である．
(3) 作用対象視点：サービスの性質によるグループ化である．特に AV 系機器に顕著な特徴として，音量，モードの切替え等機器のプロパティを変更するサービスがある．これは，サービスの作用対象が機器のプロパティとなる．また，環境調節を行うサービスは室内環境に作用するといえる．
(1)〜(3)のグループ化により，導出したネットワークパターンが図 8 である．上記(1)の所属グループによって，適用するネットワークパターンを決定し，(3)のグループでサービスの性質を判断し，プロパティ設定や調節などの枠に適切なサービスを配置する．
出力装置
(映像)

設備

設備

帰宅

不在

環境調節サービス(室内環境系パターン)

機器の電源OFF2) 在宅パターン3) 不在パターン

出力装置
(音声)
出力
プロパティ設定

入力装置
入力1) AV系パターン

照度

温度湿度
現在値の取得調節4) 室内環境系パターン

図 8 ネットワークパターン
1)

AV 系パターンAV 系パターン：[出力サービス]→[入力サービス]と続き，付加的にプロパティ設定サービスが配置される．
ネットワーク構成による分類で，AV 系の機器に適用する．
AV 系の機器は映像と音声のどちらを扱うかによってさらに分類できる．また，入力装置には出力装置が必要である．このことから，以下のように分類した(表 1)．
表 1 入力・出力機器の分類
入力装置

出力装置(映像)

出力装置(音声)DVD

TV モニタ， PC モニタ

スピーカ

CDなし

スピーカ

映像は映像同士，音声は音声同士で入力・出力装置が対となってユーザに映像や音声を提供する．よって，出力サービスから入力サービスへと連携する．必須ではないが，プロパティ変更サービスによって利用環境を整える．
2) 在宅パターン
在宅パターン：[人の存在を示すサービス]→[室内環境系パターン]へと繋がる．
ネットワーク構成による分類で，設備系の機器に適用する．設備系に属する，ドアやセンサの人の存在を示すサービス(開錠，人の感知など)を連携の起点として配置し，環境調節サービスへ続く．これはユーザの在宅時に空調を整えるという一般的な要求に沿うパターンとなる．環境調節のサービス連携は，後述する室内環境系パターンを適用することによって決定する．
3) 不在パターン不在パターン：[人の不在を示すサービス]→[OFF サービス]へと繋がる．
在宅パターンと同様に，設備系に属する機器に適用する．
不在を表すサービス(施錠など)を連携の起点として配置し，電源 OFF サービスに続く．これはユーザ外出時に機器の電源を落とす，という要求に沿うパターンである．
4) 室内環境系パターン
室内環境系パターン：[現在値取得サービス]→[環境調節サービス]へと繋がる．
ネットワーク構成による分類で，室内環境系の機器に適用する．室内環境系の機器に対するユーザの要求には，主に照度，温度などの調節がある．室内環境系機器が持つサービスの共通点は，照度などの値を他のサービスから取得し，その値に応じて室内の環境を調節することである．
この時，室内環境系に属する機器は，予め自らが扱う対象(照度，温度など)についての情報を持ち，その情報を利用することで適切に配置される．
3.5. ネットワークパターンの順序
3.4.2 項で述べた 4 つのパターンは，1 つの SS 内で複数利用される場合がある．例えば，DVD システムの場合，AV 系パターンにより DVD の再生を行った後，室内環境系パターンによる順序に従い，照明の調節を行う．ただし，照度はあくまで付加的であり，DVD システムの主要な要求はDVD を再生することなので，これら 2 つのパターンが適用される場合は，「AV 系パターン」→「室内環境系パターン」という実行順序にする．
3.6. サービス記述
サービス記述は，機器の持つサービスの情報を記述したものである．各機器はサービス記述を持ち，ネットワークに新たに加入した機器が，自らのサービス記述を他の機器に通知する．サービス記述を照合することで，機器は相互に連携可能なサービスを判断可能である．

4. 生成された SS の例
パターンを用いた SS 生成の流れを示す．この例では，DVD がネットワークに新たに加入し，すでにネットワークの中には TVMonitor，Speaker，Light，Illuminometer(以下 Imeter)の 4 つの機器が存在すると想定する．これらの機器のサービスが発見されたとして，AV 系パターンと室内環境系パターンを用いる(図 9，図 10)．
(1) AV 系パターンの適用
1) DVD は入力装置，TVMonitor，Speaker は出力装

置としてそれぞれ分類される．
2) 出力装置のプロパティ設定サービスと，映像・音声データの入力サービスをパターンに当てはめる．
(2) 室内環境系パターンの適用
1) 室内環境の現在値の取得と調節に属するサービスをパターンに当てはめる．
(3) ネットワークパターンの連携順序の適用
1) 室内環境系パターンは AV 系パターンの次に配置されるため，連携のスタートは AV 系パターンの先頭サービスである．
2) 電源 ON パターンの適用により，各サービスの前に各機器の ON サービスを当てはめる．

AV系パターン

出力装置(映像)
TVMonitor.ON()

出力装置
(音声)
Speaker.ON()

入力装置

出力装置
(映像)

出力装置
(音声)

DVD

TVMonitor

Speaker

出力Speaker. プロパティ設定
Set_Volume()

入力装置
入力DVD.Play()

パターンの連携順序

TVMonitor.
Change_Mode()

室内環境系パターン
照度
Imeter.Get_Illum()

温度

湿度
現在値の取得調節

Light.Set_Illum()

図 9 SS 生成例(AV 系と室内環境系の利用)
AV系パターン

TVMonitor.ON()

Speaker.ON()

TVMonitor.Change_Mode()

Speaker.Set_Volume()

6. 今後の課題

DVD. ON()
DVD. Play()

Light. ON()
室内環境系パターン

パターンの連携順序

電源ONパターン

ループ化の基準を明確に定める必要がある．
(2) 導出したパターン
パターンには，サービスの連携順序から導いた実行順序パターンとネットワーク構成のグループから導いたネットワークパターンがある．実行順序パターンは，サービスの前後の順序を決める．一方，ネットワークパターンは，各ネットワークの性質によるもので，SS生成の際，SS全体の枠組みとなる．これらの抽象度が異なる2種類のパターンを適用することで，より柔軟なSS生成が期待できる．
(3) 自律的な SS の生成
新しくネットワークに加入する機器が，パターンに沿って，ネットワーク内に存在する機器を組み合わせることで，自身のSSを生成する．そのため，各家庭の異なるネットワークに対応できる．
(4) プラグ・アンド・プレイ
機器が物理的に接続された時，SSを生成する.機器はネットワークに参加した時点で，自律的に連携に組み込まれるため，ユーザが連携に関する作業を行う必要はない.
(5) 関連研究との比較
既存の研究は，連携順序が予め決められている静的サービス連携である．本研究では，HNSの性質を考え，動的サービス連携を目指した．各HNSの構成に適応したSSが生成可能なため，既存の研究[2]より柔軟であるといえる．

Imeter. ON()
電源ON パターン
Imeter.Get_Illum()
Light.Set_Illum()

図 10 SS 生成例(パターンの順序の利用)

5. 評価と考察
評価の視点として，(1)グループ化の一貫性，(2)導出したパターン，(3)自律的な SS の生成，(4)プラグ・アンド・プレイ，(5)関連研究との比較の 5 項目を挙げて，考察とともに以下に述べる．
(1) グループ化の一貫性機器やサービスの性質ごとにそれぞれグループ化した．
前者は，一般的なネットワーク構成に着眼しているため，統一した視点でグループ化できる．一方，後者は，新たなサービスをグループ化する際，サービス作成者にとって，どのグループに分類したらよいかという判断が難しいため，グ提案した手法は，一般的な SS を生成することは可能である．しかし，未知のサービスが属するグループを，明確に分類する基準はないため，グループ化の客観的な基準が必要である．また，その基準をもとに，さらにグループ化を行うことで，新たなパターンを導く必要がある．

7. まとめ本研究では，HNS において動的なサービス連携を実現するために，機器が自律的に SS を生成する手法を提案した．SS の構成要素をサービスとし，サービスや機器のグループ化からパターンを導いた．導出したパターンを利用して動的に SS を生成することを例題によって示した．

参考文献
[1]
[2]

[3]

丹 康雄 監修, ユビキタス技術 ホームネットワークと情報家電, オーム社, 2004．
井垣 宏 ほか, サービス指向アーキテクチャを用いたネットワーク家電連携サービスの開発, 情報処理, Vol．
46, No. 2, pp．314-325, 2005．
藤山 麻衣 ほか, サービス指向アーキテクチャに基づく情報家電機器の自律的サービス連携アーキテクチャの提案, 情報処理学会全国大会論文集, No. 3K-9, 2006．