CONNECTSENDIN (接続要求)
7.1 実装システム
資源管理エージェントの実装はFreeBSD ver3.0上で行った。FreeBSD上では以下の、
三つのプロセスが動作する。
1. SQL daemon
2. ResourceManagement Agentdaemon
3. HTTP daemon
以下で、それぞれにおける実装について詳しく述べる。
7.1.1 SQL daemon
における実装
リレーショナルデータモデルをサポートするDBMSとしてpostgreSQLを用いた。
post-greSQLはデータベース言語の国際標準であるSQL をサポートしており、多くのプラッ
トフォームで動作するフリーのリレーショナルデータベース管理システムである。ソース コード も公開されているため、バグフィックス、改良が常に行われており、安定動作が得 られる。また、ODBCド ライバやJDBCド ライバの提供や幅広い言語へのインターフェー スの提供によってアプ リケーション開発も容易である。
7.1.2 Resource Management Agent daemon
の実装
このプロセスは、JAISTVideoLANシステムのDCS(DeviceControlServer)をベースに して実装を行った。このプロセスは資源管理エージェントの中心となるプロセスで、ユー ザやターミナルシステムからのメッセージを受信し、処理を行う。その処理過程におい て、このプロセスは必要に応じて資源管理データベースに登録、削除、更新、検索などの 処理を要求する。本研究では、このプロセスとデータベース間のインターフェースを実装 した。
このインターフェースを実装するためにlibpq インターフェースを用いた。libpq イン ターフェースはC言語を使ってp ostgreSQLサーバに接続し、問い合わせを行うためのア プ リケーション・プログラム・インターフェースである。以下に、libpq インターフェー スを用いてp ostgreSQLサーバへ問い合わせの手順を示す。
1. 環境変数の設定
2. データベース・サーバとの接続
3. 問い合わせの実行
4. 問い合わせ結果の処理
5. 問い合わせの後処理
環境変数の設定では、サーバのホスト名、オプション、TCPポート番号、デバッグ出力 先、データベース名、ユーザ名、パスワード を設定する。環境変数設定後libpq インター フェースを用いてサーバに接続する。サーバへ問い合わせを要求し、問い合わせ結果の処 理を行い、メモリー領域とサーバ間の接続を解放する。
7.1.3 HTTP daemon
における実装
ユーザがJAIST VideoLANを操作するために必要な環境はWWWブラウザだけであ
り、WWWブラウザにJAIST VideoLAN用のWebコンテンツを提供するため、資源管 理エージェントはWWWサーバを動作させている。WWWサーバにはApacheを用いて
いる。ApacheはNCSAの上位互換として作成された信頼性の高い堅牢なWWWサーバ
で、フリーソフトである。また、Apacheもソースが公開されており、問題が生じた場合 は即座に修正やパッチリリースが行われるため、安定した動作が得られる。
Apacheはモジュールと呼ばれる各種のプラグイン機構によって、機能の拡張が可能で ある。図7.1に示すように通常のパブリッシングド キュメントを扱うにはモジュールは不 要であるが、PerlなどのCGI環境、JavaServlet環境などを構築する際には、モジュール をApacheに組み込む必要がある。
Apache WWWサーバ WWW
サーバのコア部分CGIモジュール JavaServletモジュール
ドキュメント パブリッシング
JavaServlet
プログラム
CGI
プログラム
図 7.1: Apacheサーバとモジュール構成
本研究ではThe Java-Apache Projectが提供するApache用のJavaServletモジュール であるmod jservを組み込んでJavaServlet環境を構築し、その環境上でユーザ認証サー ビス、ユーザ管理サービス、ネットワーク情報提供サービスのプロトタイプを実装した。
DV接続サービスを提供するJavaAppletは、メーカから提供されているものを用いた。
7.1.4
動作実験
JAIST VideoLAN上で実装した資源管理エージェントの動作実験を行った。動作実験
としてユーザ登録サービス、DV接続サービス、ネットワーク情報提供サービスそれぞれ を行った。
サービス開始までの動作手順を以下に示す。実システムでの動作フローを図7.2に示す。
1. ユーザ認証フェーズ
ユーザからの認証情報とデータベースのユーザ情報をマッチングさせ、認証を行う フェーズ
2. サービス検索フェーズ
認証が確認されたユーザに提供できるサービスの情報を検索を行い、それらの情報 を元にサービス選択GUIを作成し、ユーザへ提供するフェーズ
3. サービス選択フェーズ
ユーザの希望サービスのGUIの情報を取り出し、ユーザへサービスGUIを提供す るフェーズ
4. サービス開始
サービスGUIがユーザに提供されて、ユーザはサービス開始となる。
実装したプロトタイプ GUIを使って各サービスは設計した動作フローにそって動作し、
サービスを提供することが確認できた。
本研究で設計した資源管理エージェントを実装し、実際のシステムにおいてプロトタイ プのGUIを使ってユーザにサービスを提供した。実装したそれぞれのプロトタイプGUI のイメージを図7.3、図7.4、図7.5、図7.6、図7.7に示す。動作実験においてデータベー スには図7.8に示すようなインスタンスが生成され、これらの情報を元にサービスを提供 している。
ユーザ
HTTP daemon SQL daemon
認証 認証要求
ユーザ情報の検索
サービス情報の検索
サービス情報
サービス選択画面作成 サービス選択GUI
サービス選択
ユーザ情報
サービス要求
サービス情報の検索
サービスGUI情報
サービスGUIの読みだし
サービス開始
サービスGUI
図 7.2: サービス開始までの動作フロー
図 7.3: ユーザ認証GUI
図 7.4: サービス選択GUI
図 7.5: ユーザ管理GUI
図 7.6: DV接続サービスGUI
図 7.7: トポロジーマップ