ネットサービスシンセサイザのコンセプトとデザイン

ネットサービスシンセサイザのコ
ンセプトとデザイン
東京大学工学系研究科
青山・森川研究室
D3 南 正輝
苦情・お問い合わせ
[email protected]
1
背景

Everything on IP / IP on Everything



家電,センサー,ウェアラブル機器,車,etc…
Webコンテンツ,マルチメディアデータ,etc…
未来のInternetは機能遍在

データ通信機能


物理メディア,プロトコル,データフォーマット
データ処理機能

データソース,データ変換加工,データシンク
2
アプリケーション[1]

Connect to 彼女サービス


彼女(の居場所・・)を見つけて
くれる
適切な手段で自動接続


ビデオチャットなどを自動生成
状況に応じたサービス
機能遍在
3
アプリケーション[2]

万能リモコン型サービス



インスタントディスコ
その場にある機能でサー
ビスを合成
全てのものを全てのものへ
つなげられる
4
適応性


Adaptability
楽しいサービスの提供には適応性が必要
適応性

分散透過性



移動透過,負荷透過,複製透過,etc…
いつでもどこでも利用できる
コンテキスト適応性


位置適応,状況適応,etc…
状況に応じたサービスの提供
5
Service Synthesizer on the Net

STONE: Service synThesizer On the NEt

Internet上で任意の適応型サービスを実現するた
めの,スケーラブルなネットワークサービスプラッ
トフォームアーキテクチャ
6
基本コンセプト[1]

機能からサービスを動的にシンセサイズ

機能とサービス




機能:ソフトウェア/ハードウェア/データ
ネット上のサービスは機能の接続からなる
機能が変われば,サービスも変わる
適応型サービス

適応性のセマンティクスに基づいて,機能を動的に発見
して接続する
7
基本コンセプト[2]

ネーミングシステム

分散透過性



Naming
Internet
コンテキスト適応性



Where to findからWhat to findへ
“Any”による指定ができることが重要
Adaptive App.
コンテンツ,位置,状態などを表すWhat to findな名前の
理解と適応
Whatを表す多様な名前をスケーラブルに管理
ネットワーク上のサービス


「発見」→接続という図式の普遍性
機能偏在化の必要性
8
コンセプトイメージ
⑤シンセサイズされた
サービスの提供
Composed
Service
Service
Requests
④機能接続による
サービス合成
②適応型サービスの
抽象表現でリクエスト
STONE System
Naming
③サービス構成要素分析
および適応的機能発見
Internet
Appliances
Sensors
①遍在する機能の
自動登録・管理
Programs
CPU Resources
Multimedia Data
Computer & Network
Hardware Resources
Resources
Software Resources
9
基本デザイン

ミドルウェア型



実現性の観点から,イン
ターネットアーキテクチャに
は手を加えない
分散透過性はミドルウェア
がネイティブにサポート
コンテキスト適応性はアプ
リケーションがAPIにより明
示的に指定
Adaptability
コンテキスト適応性の指定
API
STONE
移動透過・負荷透過など
10
アーキテクチャと要素技術
適応型サービス要求
シンセサイズされたサービス
User
適応型サービスレイヤ
適応的機能発見レイヤ
ネーミングレイヤ
アプリケーション
サービスリゾルバ
ネットワーク
機能間接続性保証レイヤ
機能抽象化レイヤ
分散機能
インターネットレイヤ
アーキテクチャ
アプリケーションとUI
機能の適応的複製機構
サービス記述法
コンテキスト適応性処理機構
サービス管理機構
サービス構成要素分析機構
機能(サービス)発見機構
名前共有・解決機構
分散ネーミングシステムデザイン
機能間接続機構
機能記述法
自律型機能
環境情報取得機構
インターネット
自動設定機構
システム構成
要素技術
11
機能抽象化レイヤ
機能の定義

機能の定義


意味的粒度




意味的粒度と構造
アプリケーション依存
自然淘汰
意味的粒度の定義は行わない
構造は定義可能

インターフェースと名前(メタ情報)
12
適応型サービスレイヤ
機能抽象化レイヤ
サービスの記述

記述ベースの表現方法



一般性
セキュリティ
サービスグラフ

XMLによる記述
音楽データ
F1
音声出力
F2
F3
適応性処理 機能インターフェース
記述
F3は某氏の近くのスピーカに
解決せよ
13
機能間接続性保証レイヤ
機能の接続

接続の定義


入出力関係,データ
フォーマット,通信プロト
コルの一致
複数マッチする時は交渉


例:優先順に検索など
I/F補完

Function A
Function B
I/O direction
I/O direction
Data Formats
Data Formats
Protocols
Protocols
Comm. Media
Comm. Media
Negotiation
I/F変換機能を自動挿入

機能登録時にラッピング
変換可能なI/Fを
あらかじめ見つけて登録しておける
14
ネーミングレイヤ
ネーミングシステムデザイン

ネーミングシステム


機能の名前を管理&名前から機能を解決
要求用件



What to findな名前
広域における一意性
広域における運用(スケーラビリティ)
15
適応的機能発見レイヤ
ネーミングレイヤ
名前情報の交換と解決[1]
機能発見要求
I/F名の評価値化による集約
および非同期のテーブル更新
N6
DB
ロバスト性の観点から
ループ存在を許可
N2
N4
マルチパス推定
N3
機能登録
(ソフトステートな
機能登録管理)
DB
DB
I/F検索
機能名・状態名検索
および適応性処理
見つからなければ
I/F評価値の多い方向
へフォワーディング
(名前に基づく
ルーティング)
N1
ローカルDB
I/Fテーブル
機能名と状態名
(ローカルで保持&動的更新)
I/F名
(全ノードで共有&動的更新)16
適応的機能発見レイヤ
ネーミングレイヤ
名前情報の交換と解決[2]

I/Fテーブル:評価値による集約と発見
N2のI/Fテーブル
ポートA
ポートB
N2-local
I/F名1
1.0
0.5
0.0
I/F名2
1.5
2.2
1.0
評価値の高い方向へ
フォワードされる
↓
あるI/Fを持つ機能が
近くて,多い方向へ
探しに行く
I/F名評価値
伝搬毎に評価値が減少(例:1/2)
評価値=2.0
N1
N4
評価値=1.0
評価値=1.0
ポートA
ポートB
評価値=0.75
N2
評価値=0.5
ここから見た
N3
数値を集約
の評価値が0.75
17
適応的機能発見レイヤ
ネーミングレイヤ
広域における名前解決

必要性

広域におけるコンテン
ツの一意的発見はコス
トが高い


特定の場所,物,人
既存システムと連携


DNSやX.500など
①広域名解決(FQDNなど)
②領域限定
場所で領域限定
その後,コンテンツ
③コンテンツ解決
18
適応的機能発見レイヤ
ネーミングレイヤ
サービスリゾルバネットワーク
I/Fテーブルの自動更新処理
SR
SR
SR
SR
リゾルバの自律分散的
自動設定
SR
SR
ソフトステートな機能登録
機能
機能登録および
I/Fテーブル更新
機能発見
データフォワーディング
SG
Data
グラフ分析
機能の解決
サービス要求
SR
SR
SR
SR
SR
サービスグラフ
名前解決および
サービス
シンセサイズ
19
適応型サービスレイヤ
適応的機能発見レイヤ
適応性処理機構

コンテキスト適応性をどう実現するか


機能発見を明示的に制御することが必要
コンテキスト適応性記述



「某氏の近くのカメラに解決せよ」などの記述
サービスグラフ内に記述し,サービスリゾルバがこ
れに応じて,解決を制御することで実現
コンテキスト適応性を記述する簡易言語が,今後
必要
20
インターネットレイヤ
環境情報取得機構

適応性を実現する情報源



地理的位置,温度,湿度,明るさ,etc…
位置がわかると様々な状況がわかる
屋内位置情報システム

IDタグシステムの利用


Active Batライクな超音波型測位システム


Cyber Code, RFID
プロトタイプハードウェアは本年度中に完成予定
サービスリゾルバへの位置情報管理機構導入が
今後必要
21
適応型サービスレイヤ
実装

実装環境

リゾルバネットワーク



機器制御・メディア処理




Windows2000,Linux
Java2SDK, JAXP(Java API for XML Parsing)
Windows2000
Visual Basic
Java2SDK, JMF(Java Media Framework)
PC約10台(リゾルバおよびリソース)
22
Dial
Lamp
CyberCode0000103
CyberCode 0000108
Text
Value
UDP
Text
Value
UDP
Control
万能リモコン (Dial ー Lamp Brightness Setting )
23
24
CD Player
CyberCode000106
Audio
Wave
UDP
Speaker
Audio Stream
×
(1)
Audio
Wave
UDP
Speaker
(2)
Audio
Wave
UDP
Audio Stream
障害分散スピーカ
25
26
Monitor
Camera
“Masaru”
Video
MPEG
RTP
Video
MPEG
RTP
Video Stream
Dial
CyberCode000106
Text
Value
UDP
Text
Value
UDP
Angle Control
首振りカメラ映像伝送サービス
(コネクト to マサル)
27
28
CD Player
CyberCode000106
Audio
Wave
UDP
Speaker
Audio Stream
Audio
Wave
UDP
Lump
CyberCode000107
Brightness Setting
Audio
Wave
UDP
ディスコサービス
29
30
研究開発予定
サービスリゾルバの
自律分散的自動設定
平成12年度
コンテキスト適応性の
記述言語(フィルタ)
ネームキャッシュ導入による
発見の効率化
2月
環境情報取得
および管理機構
(センサーネットワークとの連携)
3月
コンテンツキャッシング
による機能偏在化のサポート
センサーデバイスなどの
自律分散的自動設定
STONEルーム立ち上げ
平成13年度
基礎部分
開発完了
品質制御などを考慮した
サービスの動的再構成
総合実装評価
実験
機能コンテンツ実装
31
終劇
失礼しました。。。
32
33
34
ネーミングレイヤ
ネーミング規約

場所依存の名前



コンテンツ依存の名前



IPのようなGUIDと1対1でバインド,一意性保証簡単
場所が固定されるため,透過性の実現が困難
What to findな名前であり,透過性の実現が可能
セマンティクス処理が必要で,一意性保証困難
STONEにおけるネーミング


一意性には既存のネーミングを流用(DNSやX.500)
What to findな名前の実現には「機能名,I/F名,状態名」
の3つを使用
35
ネーミングレイヤ
ネーミングシステム形態
集中型
名前解決
垂直分散型
名前解決
水平分散型
名前解決
ネーミング対象
適応キャッシング可能
ユーザ
データ配送
管理者
物理システム
・パフォーマンスで有利
・小規模ローカルエリア
・耐障害性などの欠如


Internet
・管理組織との整合性良い
・Internetとの整合性悪い
・要求のローカリティ
・実績がある形態
Internet
・ローカリティの仮定なし
・Internetとの整合性良い
・自律分散システムの各種
問題の解決が必要
分散透過性の実現において,キャッシングは非常に重要
キャッシングを考えるとデータ配送とコンテンツ解決は同一形態が良い
36
ネーミングレイヤ
名前空間

集約性


機能の意味的集約は困難
I/F名の利用



機能との強い相関がある
標準化されているため集約
が容易
I/Fにより集約された2階
層の名前空間
I/F名
機能名1
状態名1
インターフェース名での
集約(2階層化)
機能名2
状態名2
機能名3
状態名3
フラットな空間
DNSやX.500
一意指定の場合はIPと1
対1でバインドされた名前
を使用
37
今後の課題
アプリケーションとUI
機能の適応的複製機構
サービス記述法
セマンティクス記述法
サービス管理機構
サービス構成要素分析アルゴリズム
機能発見アルゴリズム
名前共有・解決機構
分散ネーミングシステムデザイン法
機能間接続機構
機能記述法
自律型機能
環境情報取得機構
自動設定機構
Web等との連携による
キラーアプリの模索
スケーラビリティなどの評価実験
コンテンツキャッシング
による機能偏在化のサポート
コンテキスト適応性の
記述言語(フィルタ)
品質制御などを考慮した
サービスの動的再構成
サービスリゾルバの
自律分散的自動設定
ネームキャッシュ導入による
発見の効率化
環境情報取得
および管理機構
(センサーネットワークとの連携)
センサデバイスなどの自律分散的自動設定
38
Button
VTR Deck
CyberCode0000100
play
Text
Boolean
UDP
Text
Boolean
UDP
Control
Button
VTR Deck
CyberCode0000101
Text
Boolean
UDP
Eject
Control
Text
Boolean
UDP
万能リモコン( VTR Deck)
39
Button
CD Player
CyberCode0000100
play
Text
Boolean
UDP
Text
Boolean
UDP
Control
Button
CD Player
CyberCode0000101
Text
Boolean
UDP
Eject
Control
万能リモコン(CD Player)
Text
Boolean
UDP
40
41
42
適応型サービスレイヤ
簡単なデモ

デモ内容

UIの動的マッピング





AV/家電機器制御に任意のUIを割り当てる
Cyber Codeによるデバイス指定(音声認識が理想的)
ビデオチャットの合成
耐障害性の実現
インスタントディスコルーム

音声出力機能,動画像,および室内照明の相互接続
43
まとめ

STONEのコンセプト



システムの基本的設計および実装


Internet上で任意の適応型サービスを実現するた
めの,スケーラブルなネットワークサービスプラット
フォームアーキテクチャ
機能の合成とネーミングの利用
機能,サービス記述,ネーミングシステムデザイン,
サービスリゾルバ
サービス合成の簡単なデモを実装
44
適応的機能発見レイヤ
ネーミングレイヤ
サービスリゾルバ

サービスシンセサイズを行う実体

ネーミングシステムのノード


アプリケーションレイヤのルータ



名前解決と同時に,機能に対してデータを配送する
動的なサービス実現の要
機能フィルタ実行


名前共有と解決
コンテキスト適応性の処理を行う
サービス管理

シンセサイズしたサービスを管理する
45
適応的機能発見レイヤ
ネーミングレイヤ
リゾルバの構造
サービスシンセサイズ要求(サービスグラフ入力)
<ServiceGraph>
<Resource No=1>
<Name>Camera</Name>
<Meta Attr=Location>Room407</Meta>
</Resource>
<Resource No=2>
<Name>Printer</Name>
<Meta Attr=Location>Nearest</Meta>
</Resource>
<Link>
<From>1</From>
<To>2</To>
</Link>
</ServiceGraph>
サービス管理機構
名前解決
機能フィルタ実行
フォワーディング処理
名前管理
通信インターフェース
機能解決要求
フォワーディング
/データ配送
隣接SRとI/F
テーブル交換
ソフトステート
な機能管理46