next up previous
Next: 実装 Up: Shepherdの設計 Previous: 前提条件

モジュール構成

Figure: Shepherd のモジュール構成

\includegraphics[width=7cm, clip]{figure/shepherd_module.eps}

Shepherdのモジュール構成図を図 4 に示す. Managing Fold Module はフォールドを管理するモジュールである. フォールドはFold List に格納され, User Interface Module からの指示やフレンドシェパードノードからの要求によってフォールドは作成・変更・削除される. Tending Module は同一PN内のノード管理を行う. 具体的には, Ethernetブロードキャストフレームを監視によるノードの把握, リレーエージェントを用いたDHCPリクエストによる送信先IPアドレスの決定, ProxyArpによるEthernetフレームの集約の3処理を行う. Account Module はXMPPサーバに認証を受けてログイン状態のフレンドシェパードノード一覧を取得し, 認証終了後のフレンドシェパードノードのログイン状態変更通知を受信する. Proxy Module はフォールドの定義に従ったノード間のEthernetフレームの転送を行う. 同一PN内のノードから受信した場合, 送信元・送信先IPアドレスから定義に合致するフォールドを検索し, 発見された場合は Ethernetフレームの送信先MACアドレスを送信先ノードのMACアドレスに書き換えて フレンドシェパードノードに転送する. フレンドシェパードノードから受信した場合, 送信元MACアドレスと送信先MACアドレスから定義に合致するフォールドを検索し, 発見された場合,送信元・送信先IPアドレス,送信元MACアドレスを書き換えて送信先ノードへ転送する. User Interface Module はユーザによる XMPPアカウントのJID,およびパスワード入力, ログイン状態のフレンドシェパードノードの表示 現在のフォールドの一覧表示・設定を実現する.



root 2007-03-08