Comments
Description
Transcript
モバイルエージェントに基づく情報共有のための情報
モバイルエージェントに基づく情報共有のための情報伝達経路の管理 山谷 孝史 ‡ 大囿 忠親 ‡ 伊藤 孝行 ‡ 新谷 虎松 ‡ 名古屋工業大学大学院工学研究科情報工学専攻 ‡ e-mail: {yamaya, ozono, itota, tora}@ics.nitech.ac.jp 1 はじめに 現在,インターネットを介して膨大な情報が入手可能 であり,情報共有システムの構築に関連して,P2P 型 KgLcrNj_rdmpk KgLcrNj_rdmpk Km`gjc?eclr Km`gjc?eclr ҙ ಒ؍ のアーキテクチャに基づくシステムが近年注目を集め ている.P2P 型のアーキテクチャに基づく,代表的な情 報共有システムとして,Gnutella [1],および FreeNet [2] が挙げられる.既存の P2P 型の情報共有システムで は,複数のユーザが,インターネットを介して自由に 情報をやり取りできる.しかし,ユーザが利用する計 算機が Local Area Network (LAN) に接続されており, ファイアウォール,Proxy,および Network Address Translation (NAT) によってインターネットを介した 通信が制限される場合,情報の共有が妨げられるとい う問題がある.同様に,大規模なネットワーク内では, トラフィックを減少させるため,情報の伝達経路の管 理も重要となる.本稿では,ファイアウォール等の設 定を変更せず,インターネットを介した情報共有を可 能にする,モバイルエージェントに基づく情報共有基 盤ネットワークシステム MiNet を実装する.MiNet は モバイルエージェント構築環境 MiLog [3] に基づいた, P2P 型の情報共有基盤を構築するためのネットワーク システムである.MiNet はモバイルエージェントに基 づいた情報の共有を可能とする.各ユーザは,個々に MiNet プラットフォームを持ち,情報の送受信はプラッ トフォーム間のエージェントの移動として実現される. エージェント自身が自己の移動先を制御できるため, MiNet は情報の伝達経路を知的に制御し,トラフィッ クの少ないネットワークを構築する. 本稿の構成は以下の通りである.第2章では,MiNet におけるファイアウォールを越えた情報の共有手法を 述べる.第3章では,MiNet エージェントの移動管理 について述べる.最後に,まとめを述べる. 2 ファイアウォールを越える情報の共有 ファイアウォールは,一般に,外部から内部への通信 を制限する.そのため,ソフトウェアに特化した特殊な Management methods of information sharing route based on mobile agents. Takafumi Yamaya, and Tadachika Ozono, and Takayuki Ito, and Toramatsu Shintani Dept. of Intelligence and Computer Science, Nagoya Institute of Technology, Gokiso, Showa-ku, Nagoya, 466-8555 JAPAN @wrcB_r_ @wrcB_r_ FRRN FRRNFc_bcp ý̈́ବ FRRNFc_bcp 図 1: MiNet エージェントの移動 プロトコルを用いて通信を行う場合,ファイアウォール の設定を適宜変更しなければ通信ができない.MiNet エージェントの移動は,HTTP プロトコルを利用して 実現されている.HTTP プロトコルは,今日,インター ネットを利用する上で広く普及している通信プロトコ ルであるため,通常のファイアウォールの設定では, HTTP プロトコルのデータパケットをファイアウォー ルの外部へ発信することが許可されている.図 1 に示 す通り,MiNet エージェントが移動する際,まずバイ トデータに変換され,HTTP ヘッダを付加して他のプ ラットフォームに HTTP 経由で送信される.HTTP プ ロトコルによってエージェントを構成するデータを送 信するため,ファイアウォールの設定によらず,外部の プラットフォームにも移動が可能である.移動先のプ ラットフォームでは,通信終了後,バイトデータから元 のエージェントが復元され,処理が再開される.また, HTTPS プロトコルを利用できる環境であれば,SSL の利用により,エージェントの移動時のセキュリティ を確保できる. MiNet エージェントは,Relay サーバと呼ばれる中 継サーバを経由した2段階の通信によって,ファイア ウォールを通過して,異なる LAN 間を移動する.ファ イアウォールで保護された2つの LAN(LAN1,およ び LAN2)の間のエージェントの移動の様子を例示し た図 2 を用いて,異なる LAN 間でのエージェントの移 動の手順を具体的に説明する.ここでは,LAN1 内の Platform A から,ファイアウォールを通過して,LAN2 内の Platform B へエージェントが移動するケースに おける手順を示す. Step 1: エージェントの移動元の Platform A は,エー J?L/ Nj_rdmpk? KgLcr?eclr J?L0 へ移動するまでに通らなければならないと判明してい Nj_rdmpk@ るプラットフォームをログとして残す.同時にエージェ KgLcr?eclr ントは Relay サーバ上の他のログを検索し,他のエー ジェントがどのプラットフォーム移動しているかの情 Firewall Firewall /,̈́ବ Nj_rdmpk@ȅ ̈́ବપǻȨĘȸȧɳɈ 1,ɀȦɳɭĘɉ 0,̈́ବપǻ ȨĘȸȧɳɈȟ ɁȧɃȯ Pcj_wȵĘɐ 報を得る.エージェントは取得したログから,移動が 集中しているプラットフォームを判別し,移動経路に 負荷が集中しているプラットフォームを避けるように 移動を行う.また,MiNet において,最も負荷の集中 するプラットフォームは Relay サーバである.そのた め,MiNet では Relay サーバを分散して管理し,負荷 図 2: エージェントのファイアウォールの通過 ジェントをバイトデータに変換した後,HTTP プ サーバは複数分散して存在し,各 Relay サーバは他の ロトコルを用いて,LAN1 の外部に存在する Relay Relay サーバと通信し,エージェントの移動ログを交 換する.MiNet の各プラットフォームは複数の Relay サーバから一つを選択し,利用する.MiNet プラット フォームは定期的に Relay サーバの負荷を,書き込ま れるログから計測する.Relay サーバの負荷が大きいと 判断された場合,MiNet は別の Relay サーバを付近の プラットフォームに問い合わせる.MiNet のエージェ ントは負荷の少ない Relay サーバを利用することによ り,ネットワーク内のトラフィックの集中を抑える. サーバにエージェントを移動させる. Step 2: Platform B は Relay サーバへ移動予定のエー ジェントがいないか定期的にチェックする.Relay サーバ上に Platform B へ移動しようとしている エージェントがいるため,Platform B はエージェ ントをバイトデータとして,ダウンロードする. Platform B は,バイトデータのダウンロード要 求をファイアウォールに制限されない.そのため, エージェントを構成するバイトデータを,ファイ アウォールを通過して受信可能である. Step 3: Platform B はバイトデータからエージェン トを復元する.エージェントは Platform B 上で 継続的に処理を実行可能である. 以上の手順により,ファイアウォールで保護された LAN 間における通信が可能となる.また,ここでは, ファイアウォールの存在を仮定していたが,同様の手順 によって,Proxy,および NAT を通過してエージェン トが移動可能である.従って,通信先のプラットフォー ムがインターネットに接続されたどのような LAN に 属する場合でも,通信が可能となる. 3 を抑制している.MiNet のネットワーク内には Relay エージェントによる移動経路の管理 大規模なネットワークを構築する際,ネットワーク 内のトラフィックは増大し,特定のプラットフォームに 負荷が集中することがある.MiNet では負荷の集中を 抑制するために,エージェント自身がプラットフォー ム間の移動経路を選択し,特定のプラットフォームへ の負荷を抑制する. MiNet では他の LAN 間と接続する際に Relay サー バを用いる.MiNet のエージェントは Relay サーバを 利用して移動する際,Relay サーバ上に移動予定先の プラットフォームと,現時点で目的のプラットフォーム 4 まとめ 本稿では,情報共有のためのネットワーク構築環境 MiNet を示した.インターネット上の LAN は,多く の場合ファイアウォール等で保護されており,通信が 制限されるが,MiNet の構築するネットワーク上では, ファイアウォールに対して特別な設定変更をすること なく,ファイアウォールを越える制限のない情報共有 を実現している.また,MiNet のエージェントは,他 のエージェントの行動履歴や Relay サーバの情報から, 移動経路を自己で選択し,ネットワーク内のトラフィッ クを効率的に管理する.今後の課題として,大規模な ネットワークに対するスケーラビリティに関する評価 や,応用アプリケーションの実装があげられる. 参考文献 [1] Gnutella : http://www.gnutella.com/. [2] I.Clarke, O.Sandberg, B.Wiley, and T.W.Hong, ”Freenet: A distributed anonymous information storage and retrieval system.”, In Workshop on Design Issues in Anonymity and Unobservability, pp 311-320, July 2000. [3] N. Fukuta, T. Ito, and T. Shintani, ” MiLog: A Mobile Agent Framework for Implementing Intelligent Information Agents with Logic Programming, ” PRIIA2000, pp.113-123, 2000.