*住宅ログを活用した環境コンテキスト取得システム [#l3d2046a] **背景 [#u37e1661] スマートシティは,ICT 技術を用いて都市全体の高度な効率化を目指す次世代都市計画です.スマートシティでは,都市内の様々なモノやシステムから情報を集め,その情報に基づいて都市の現状を把握し,状況に応じた付加価値サービスが提供されます.こうした情報は,都市内に設置されたセンサやシステムのロガー等から収集されます.例えば,スマートハウスから取得される電力や家電機器の使用状況などの住宅情報や,環境センサから取得される気温や湿度などの環境データ,道路や鉄道から収集される交通データなどが知られています. スマートシティは,ICT技術を用いて都市全体の高度な効率化を目指す次世代都市計画です.スマートシティでは,都市内の様々なモノやシステムから情報を集め,その情報に基づいて都市の現状を把握し,状況に応じた付加価値サービスが提供されます.こうした情報は,都市内に設置されたセンサやシステムのロガー等から収集されます.例えば,スマートハウスから取得される電力や家電機器の使用状況などの住宅情報や,環境センサから取得される気温や湿度などの環境データ,道路や鉄道から収集される交通データなどが知られています. **コンテキストアウェアサービス [#g67aa4c9] こうしたコンテキストを利用することで,その場その時の状況に合わせたアクションを律的に実行するコンテキストアウェアサービスを実現できます.例えば「寒い」というコンテキストに「暖房をつける」というアクションをひもづければ,「寒い時に自動的に暖房をつける」というコンテキストアウェアサービスが実現できます.コンテキストアウェアサービスはユビキタスコンピューティングの分野で盛んに研究されています.我々の研究グループでは,ホームネットワークシステム(HNS) [1] 内のコンテキストアウェアサービスを作成・管理・運用するための様々な枠組み(例えば,センササービスフレームワークSSF [2], センササービスバインダSSB[3], RuCAS プラットフォーム[4]) を提案・開発しています. 従来多くのコンテキストアウェアサービスでは,センサやシステムの現在の値を利用してコンテキストを定義してきました.そのため表現可能なコンテキストが現在の状況に限定されます.例えば上記の「寒い」というコンテキストは現在の気温のみで表現できました.しかし「昨日より5 ℃以上寒い」というコンテキストは,過去の情報が必要となるため表現できません. **先行研究:Scallop4SC [#g67aa4c9] 先行研究では,スマートハウスから得られる様々な情報(以降,住宅ログと呼ぶ)を扱うためのプラットフォームScallop4SC(Scalable Logging Platform for Smart City)を提 案しています.Scallop4SCでは,多種多様かつ大規模な住宅ログを効率的に収集・管理するために,分散処理基盤Hadoopと分散データベースHBaseを利用しており,MapReduceプログラムを用いて住宅ログの処理が行われます.Scallop4SCの利用者は,Scallop4SCの提供するAPI を通じて様々な用途のアプリケーションやサービス(例えば,消費電力の可視化,無駄の振り返りなど)に住宅ログを利用することができます. **最近の研究 [#g46f4f0e] そこで我々の最新の研究[5] では,ホームネットワークシステム(HNS) に蓄積された住宅ログを活用することで,過去の状況も考慮したより高度なコンテキスト(ログコンテキストと呼ぶ) を表現する手法を提案しています.住宅ログとは,HNS 内の環境センサの計測値や機器の操作,消費電力等の住宅の情報を周期的に記録し,蓄積した履歴情報(ログ) です.例えば「昨日より5 ℃以上寒い」というログコンテキストは,住宅ログに対して「昨日同時刻の気温センサの値」を問い合わせ,現在の気温と比較することで,次のように表現できます:「昨日よりずっと寒い:現在の気温 昨日の気温􀀀5 ℃」.なお,この先行研究[5] では,住宅ログを用いたログコンテキストの定義方法と利用体系について提案を行っていますが,具体的なシステムの実装にはいたっていません. **体現ビュー as a Service [#g46f4f0e] さらに先行研究では,より効率的な住宅ログの処理を実現するために,体現ビュー(Materialized View)のアイデアを取り入れたMVaaS(Materialized View as a Service)を提案しています.一般に住宅ログを活用するアプリケーションは,蓄積され た1 次データ(生データ)をそのまま利用するのではなく,アプリが必要とするデータを検索し,必要に応じて加工・整形してから利用します.しかし,スマートシティから収集される1 次データは大規模なため,検索や加工に非常に時間がかかります.MVaaS を利用し,各アプリが必要とする住宅ログをあらかじめ検索・加工し体現ビューの形で保持しておくことで,効率的なデータ利用を促すことができます. **研究の目的,範囲 [#c47ffddb] 本研究の目的は,先行研究[5] を実際のシステムとして実装し,その実用性を確認することです.本研究では,我々が以前より開発・運用している実際のHNS 環境(CS27-HNS) [6] を使用します.また,CS27-HNS で蓄積している住宅ログの中から,環境センサの値とそのログに対象を絞り,それらを利用した環境ログコンテキストを取得するシステムを設計・実装します. 本研究ではScallop4SCにおけるMVaaSの実現を目的として,MVaaSの実現方法についての検討とその開発を行います.具体的には,MapReduceプログラムの自動生成とそのプログラムの実行による自動的な体現ビューの生成により実現されます.まずMVaaSの利用者は,アプリが必要とする住宅ログの検索条件や加工方法に関する仕様(Data spec.)を記述しMVaaSに登録します.MVaaSは登録されたData Spec. に基づいて,体現ビューを生成するためのMapReduceプログラムを自動的に生成し実行します.生成された体現ビューはMVaaSの提供するAPIを通じて利用することができます. **アプローチ [#w2373cb5] 本研究では,住宅ログを利用したログコンテキストをできるだけ容易に作成・管理できるように,システムを4 つの層(レイヤ) で構成しています. **実験 [#w2373cb5] MVaaSの効率を確かめるための評価実験として,3種類の体現ビューを生成するData Spec. を用意し,体現ビュー生成にかかる時間を計測します.さらに,体現ビュー自動生成による開発コストの削減効果を確認するために,Data Spec.の行数と,そのData Spec.と等価な処理を行うMapReduceプログラムの行数を比較します. 1. アプリケーション・レイヤ:ログコンテキストを利用してコンテキストアウェアサービスを実行・管理する層. 2. ログコンテキスト・レイヤ:ログコンテキストを定義し,定義式に基づいてコンテキストの値を評価・取得する層. 3. ログクエリ・レイヤ:ログコンテキストを構成するための住宅ログへの問い合わせ(ログクエリ) を管理する層. 4. DB 接続レイヤ:住宅ログを蓄積するDB に接続し,ログクエリに基づいて過去の状況情報を取得する層. 実装したシステムを利用して,CS27-HNS において下記の2つのログコンテキストを定義し,取得できることを確認しました. 「昨日より5 ℃以上寒い」 「ここ数年で最も寒い」 **研究の結果 [#a58f6fca] 実装の結果,提案手法はCS27-HNS の環境コンテキストの表現の幅を大きく広げられることがわかりました.また,実装したログコンテキストを用いることで,「より気の利いた」コンテキストアウェアサービスの実現が期待できます. 実験の結果,体現ビューの自動生成が現実的な時間で処理可能であること,及び,体現ビュー自動生成によって大幅に開発コストが削減できることが確認できました.