「VNAアーキテクチャ」 慶應義塾大学 政策・メディア研究科 博士課程1年 中澤 仁 VNAアーキテクチャの概要 サービス統合ミドルウエア サービス:情報家電機器あるいは計算機ソフト ウエアの機能を制御するコンポーネント VNAとVNAコンポーネント、機能テンプレート VNAドメインと論理VNAドメイン Virtual Plug&Play Bottom-up構成とTop-down構成 VNAとVNAコンポーネント VNAコンポーネント:機器の持つ機能 VNA:VNAコンポーネントの組み合わせ VNA C VNAコンポーネント A A Audio Player Power Tape I/O Audio Player Timer Audio Player Tuner TV VNA B Power Timer Power B Tape I/O Timer Power VCR VNA Audio Player Power Phone VNA VNAコンポーネントの構築 各機器内あるいは機器が接続されている 計算機内で動作するオブジェクト 現在の実装ではJava言語で構築される。 複数の入出力ポート メディアタイプ プロトコル 名前 Power Audio Player Tuner TV VNA VNAコンポーネントの構築 記述ベース(VNA Markup Language) 名前:ヒューマンリーダブルな文字列 機能の説明:上に同じ プロファイル 関連URL 名前:チューナ 説明:BSデジタルチューナ ポート BS Digital VNAコンポーネント ベンダ:東芝 バージョン:1.0 URL:http://~ ポート:in, out, 識別子:vna://~ 位置:居間 VNAドメイン Aggregated VNA Domain 一つのホームネットワークを 表す概念オブジェクト VNAランタイム VNA Domain/VNA 1台の情報家電機器を 表す概念オブジェクト VNA Component VNAコンポーネントディレクトリ ディレクトリサーバは存在しない ランタイム間でVNAコンポーネントの プロファイルを共有 結果として ドメイン内の全ランタイムがディレクトリを共有 ネットワーク負荷、メモリ負荷:高い ユーザへの負荷:低い 論理VNAドメイン Logical VNA Domain VNAの構築 VNA Markup Language VNAの構成要素である VNAコンポーネントを機 能テンプレートによって 指定 機能テンプレート 位置:居間|ここ 説明:BSデジタル 小型の記憶媒体に入れて持ち運び、配布 ネットワーク上で配布、ダウンロード VNAの構築 Bottom-up 複数のVNAコンポーネントを指定して、それら の持つポート間の接続を定義 ユーザが自分自身でVNAを構築 Top-down VNAを指定し、実行 あらかじめ定義されたVNAをユーザがダウン ロードしてランタイムにロード 仮想Plug&Play 仮想情報家電機器をVNAドメインに指す 仮想Plug&Play 動作 VNAの読み込み 機能テンプレートの解析 VNAコンポーネントを発見 ポートを接続 実装 すべてJava言語により実装 JDK1.1.8以上 今後はC言語による実装を考察中 VNAコンポーネントとVNAの実装 機能テンプレートの実装 VNAドメイン/論理VNAドメインの実装 ユーザ、エリア、ドメイン プロトタイプ ドメインのみを扱った 今後 ユーザマネジメント 認証、嗜好、アクセス制御 エリアマネジメント 位置情報管理、エリア全体の嗜好 まとめ 次回のミーティングではデモを予定。 VNAコンポーネントとVNAの実装 VNAコンポーネント jp.ac.keio.sfc.ht.jin.vna.serdget.Serdget 出力ポート 入力ポート •VNA通信路端点 •VNA通信路識別子 •プロトコル未定義 VNAコンポーネント •VNA通信路端点 •VNA通信路識別子 •プロトコル未定義 VNA jp.ac.keio.sfc.ht.jin.vna.system.VNA 機能テンプレートの実装 機能テンプレート 「変体コンポーネント」 jp.ac.keio.sfc.ht.jin.vna.serdget.MetamorphicSerdget jp.ac.keio.sfc.ht.jin.vna.serdget.LookupSerdget 与えられたヒントに合致する機能を提供するVNAコン ポーネントに変体する。 1対1マッピング 「検索コンポーネント」 与えられたヒントに合致する機能を提供するすべての VNAコンポーネントを検出する。 1対多マッピング VNAドメイン/論理VNAドメインの 実装 VNAドメイン 論理VNAドメイン VNAコンポーネント「DomainManager」として実装 ランタイムごとに一つのインスタンスが存在し、ランタ イム内の全VNAコンポーネントを階層構造で管理。 発注仕様書:VNAコンポーネント表 VNAの実装クラスが論理VNAドメインを提供 ドメインアグリゲーション 「DomainManager」がTreeSynchronizerクラスを提供 IPマルチキャストで到達可能なネットワーク上に存在する VNAドメインの階層を共有する。 Elapsed time (msec) 評価1:バイトコードサイズと Serdgetのロード時間 10 9 8 7 6 5 4 3 2 1 0 1.1 1.4 1.6 1.9 2.1 2.3 2.6 Bytecode size (KBytes) 2.8 3.1 3.3 Elapsed time (msec) 評価2:jarファイルサイズと Serdgetロード時間 10 9 8 7 6 5 4 3 2 1 0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 Size of jar file (MBytes) 1.6 1.8 2.0 評価3:機能テンプレート数と Virtual Plug&Play時間 45 Elapsed Time (msec) 40 35 30 25 20 15 10 5 0 1 2 3 4 5 6 7 Number of MetamorphicSerdgets 8 9 10 評価4:Serdget数とVNAドメイン アグリゲーション所要時間 Elapsed time (msec) 3000 2500 2000 Average Maximum Median Minimum 1500 1000 500 0 6 16 26 36 46 Number of Serdgets 56
© Copyright 2024 ExpyDoc