モバイルエージェントに基づく情報共有のための情報

モバイルエージェントに基づく情報共有のための情報伝達経路の管理
山谷 孝史 ‡
大囿 忠親 ‡
伊藤 孝行 ‡
新谷 虎松 ‡
名古屋工業大学大学院工学研究科情報工学専攻 ‡
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.