第 III 部
node 1 node 2
7.2 統合実験支援ツール StarBuilder
7.2.3 SpringOS との連携
今回実装として注力した部分は、GUIで作成されたvdxファイルからNEED形式へのコ ンバータ、作成した各エレメントの再利用基盤、およびMIMI/MATツール群のStarBED 環境への適合である。StarBEDでのノードの複製など、基本的な実験支援機能はSpringOS の機能を利用した。具体的には、StarBuilder全体をRubyで実装した為、SpringOSとの連
携はSpringOSの単位機能を各種プログラムから呼び出すためのライブラリであるEggroll
のRuby swigを作成し利用した。
7.2.4 全体設計と外観、コンポーネントの共有
図 7.2にStarBuilderの全体のフレームワークを示す。利用者は各自の端末で図 7.3の様 に実験環境を記述し、vdxファイルを生成する。このvdxファイルを基にStarBuilderは vdxファイルをNEED形式へ変換する。そのNEED形式ファイルを基にEggrollを経由し
てSprinsOSを操作し、環境を構築する。
この時、各実験記述で利用されるノードの設定ファイル、ノードのディスクイメージ、
Visio用のアイコンなど一式をコンポーネントと呼び、StarBuilderの図 7.4システム上で サンプルコンポーネントとして共有する。各利用者は共有されているコンポーネントを新 しく作成する他、既存のコンポーネントをダウンロードして適宜変更を行い、自身の実験 に利用することが可能である。
StarBuilder(vdx)
!"#$%&' ()*+,
()*+-!+./+.
Eggroll SpringOS
StarBED Facility
図 7.2: StarBuilderのアーキテクチャ概要
StarBuilderはvdxファイルを解析し、作成すべきネットワークトポロジ、
及びノードの情報を取得する。そして、SpringOSをプログラムから呼び出 すためのAPIである、Eggrollを用いてSpringOSと連携し、StarBEDの物 理環境に対して環境構築の為の変更を加える。
図 7.3: Omnigraffle⃝R で実験環境を記述している画面
Switch0および、Switch1に繋がるL2ネットワークが2つ、クライアント ノードが4つ、WEBサーバ、FTPサーバがの計6台からなる実験環境を 記述した図。SwitchコンポーネントはL2ネットワークを記述する特殊コン ポーネントで、ノードでは無くVLAN IDに基づくネットワークを表す。
図 7.4: 保存されているコンポーネント一覧画面
StarBuilderのコンポーネントライブラリの表示画面。ユーザは作成したコ
ンポーネントを登録する事で、そのコンポーネントを利用した環境構築が可 能となる。同時に他のユーザが作成し他コンポーネントを利用する事も可 能となる。ただし、登録したコンポーネントにはアクセス権が設定可能であ り、作成したコンポーネントを他のユーザに利用させない(リストに表示さ れない)事も可能である。