JAIST Repository
https://dspace.jaist.ac.jp/
Title
モバイルエージェントを用いた情報共有システムの設計と構築
Author(s)
小林, 一樹Citation
Issue Date
2001‑03Type
Thesis or DissertationText version
authorURL
http://hdl.handle.net/10119/1439Rights
Description
Supervisor:渡部 卓雄, 情報科学研究科, 修士修 士 論 文
モバイルエージェントを用いた 情報共有システムの設計と構築
指導教官
渡部 卓雄 助教授
北陸先端科学技術大学院大学 情報科学研究科情報システム学専攻
小林 一樹
2001年2月15日
要 旨
近年,インターネットの急速な発達により,ユーザは非常に多くの情報を手に入れられる ようになった.その反面,ユーザは情報過多により容易に有益な情報を得られないという 問題がある.このようなインターネットにおいて,同じような関心を持つ他のユーザと情 報を共有するシステムは大変有用である.さらに,情報共有システムを用いて有益な情報 を多く得るためには,範囲があらかじめ限定されない,不特定多数のユーザと情報を共有 する仕組みが必要となる.また,ユーザの負担を減らすために自律性をもった情報共有シ ステムが望まれている.
本研究では,これらの問題に対するアプローチとしてモバイルエージェントを用いた 情報共有システムを設計・構築する.本システムは,モバイルエージェントが持つ移動性 と,本システムが提供するディレクトリサービスを利用することによる自律的な情報共有 を特徴とし,ユーザのデータと好み(嗜好)を持ったエージェントが,似たような目的を 持つエージェントを自律的に探しだして情報共有を行うことができる.
また,開発者が新たな情報共有サービスを容易に開発できるようにするために,柔軟な エージェント間通信APIを備えたフレームワークを提供する.開発者は,提供されるフ レームワークを用いることにより,本システム上で容易に独自の情報共有サービスを構築 することができる.
本研究では,提案した情報共有システムをJavaベースのモバイルエージェントシステ
ムであるAgentSpaceを用いて実装し,情報共有サービスの例題として,ブックマーク共
有システムを実装することによって,本システムの有用性を実際に確かめることができた.
目 次
1 はじめに 1
1.1 研究の背景 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1
1.1.1 情報共有における問題点 : : : : : : : : : : : : : : : : : : : : : : : : 1
1.1.2 モバイルエージェント技術の誕生 : : : : : : : : : : : : : : : : : : : 2
1.2 本研究の目的 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2
1.3 本研究の特徴 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3
1.4 本論文の構成 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3
2 情報共有システム 4
2.1 既存の情報共有システム : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4
2.1.1 WWW : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4
2.1.2 ディレクトリサービス : : : : : : : : : : : : : : : : : : : : : : : : : 5
2.1.3 グループウェア : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5
2.2 情報共有システムにおける問題点 : : : : : : : : : : : : : : : : : : : : : : : 6
2.2.1 情報過多 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6
2.2.2 不特定多数のユーザへの対応 : : : : : : : : : : : : : : : : : : : : : 6
2.2.3 自律的なシステムの必要性 : : : : : : : : : : : : : : : : : : : : : : : 7
3 モバイルエージェントシステム 8
3.1 モバイルエージェントとは : : : : : : : : : : : : : : : : : : : : : : : : : : : 8
3.2 既存のモバイルエージェントシステム : : : : : : : : : : : : : : : : : : : : 9
3.2.1 Telescript : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9
3.2.2 Aglets : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9
3.2.3 Plangent : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9
3.2.4 AgentSpace : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10
3.3 モバイルエージェントの応用例 : : : : : : : : : : : : : : : : : : : : : : : : 10
3.3.1 たびCan: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10
3.3.2 ゆがしまん : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11
4 本情報共有システムの設計 13
4.1 設計方針 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13
4.2 情報共有システムの特徴 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14
4.3 情報共有システムの構成 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15
4.3.1 Server Agent : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17
4.3.2 DirectoryAgent : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17
4.3.3 Service Agent : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18
4.3.4 UserAgent : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18
4.4 エージェントプロファイル : : : : : : : : : : : : : : : : : : : : : : : : : : : 18
4.5 エージェント間通信 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 23
4.5.1 DeliveryAgent を用いたエージェント間通信 : : : : : : : : : : : : : 24
4.5.2 通信の方式 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25
4.6 情報共有サービスの公開方法 : : : : : : : : : : : : : : : : : : : : : : : : : 31
4.7 情報共有サービスの利用方法 : : : : : : : : : : : : : : : : : : : : : : : : : 31
5 本情報共有システムの実装 35
5.1 実装環境 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 35
5.2 構成と概要 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 35
5.3 AgentSpaceの概要と仕組み : : : : : : : : : : : : : : : : : : : : : : : : : : 36
5.3.1 エージェントランタイムシステム : : : : : : : : : : : : : : : : : : : 36
5.3.2 コールバックメソッド : : : : : : : : : : : : : : : : : : : : : : : : : 37
5.3.3 エージェント間通信 : : : : : : : : : : : : : : : : : : : : : : : : : : 39
5.4 エージェントプロファイルの実装 : : : : : : : : : : : : : : : : : : : : : : : 41
5.5 エージェント間通信APIの実装 : : : : : : : : : : : : : : : : : : : : : : : : 42
5.5.1 AgentMailクラス : : : : : : : : : : : : : : : : : : : : : : : : : : : : 42
5.5.2 DeliveryAgentの実装 : : : : : : : : : : : : : : : : : : : : : : : : : 44
5.5.3 エージェント間通信API : : : : : : : : : : : : : : : : : : : : : : : : 44
5.6 各エージェントの実装 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 47
5.6.1 CommunicatableAgentクラス : : : : : : : : : : : : : : : : : : : : : 48
5.6.2 ServerAgentクラス : : : : : : : : : : : : : : : : : : : : : : : : : : : 50
5.6.3 DirectoryAgentクラス : : : : : : : : : : : : : : : : : : : : : : : : : 53
5.6.4 ServiceAgentクラス : : : : : : : : : : : : : : : : : : : : : : : : : : 55
5.6.5 UserAgentクラス : : : : : : : : : : : : : : : : : : : : : : : : : : : : 57
6 例題:ブックマーク共有システム 58
6.1 ブックマークとは : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 58
6.2 システムの概要 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 58
6.2.1 ブックマーク共有エージェント : : : : : : : : : : : : : : : : : : : : 60
6.2.2 ブックマークエージェント : : : : : : : : : : : : : : : : : : : : : : : 62
6.3 ブックマーク共有の流れ : : : : : : : : : : : : : : : : : : : : : : : : : : : : 63
6.4 考察 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 68
6.4.1 ブックマークエージェントの自律性について : : : : : : : : : : : : : 68
6.4.2 ブックマーク共有システムの柔軟性について : : : : : : : : : : : : : 70
6.4.3 実装の容易さについて : : : : : : : : : : : : : : : : : : : : : : : : : 71
6.4.4 既存のブックマーク共有システムとの比較 : : : : : : : : : : : : : : 72
7 考察および関連研究 74
7.1 本情報共有システムについての考察 : : : : : : : : : : : : : : : : : : : : : : 74
7.1.1 似たような情報を求めるユーザ間の情報共有の実現 : : : : : : : : : 74
7.1.2 不特定多数のユーザへの対応 : : : : : : : : : : : : : : : : : : : : : 75
7.1.3 情報共有サービスの開発の容易さ : : : : : : : : : : : : : : : : : : : 75
7.1.4 エージェント間通信APIについて: : : : : : : : : : : : : : : : : : : 76
7.2 関連研究 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 76
8 おわりに 79
8.1 まとめ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 79
8.2 今後の課題 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 79
謝辞 80
参考文献 81
図 目 次
4.1 システム構成図 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15
4.2 各エージェントの概要 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16
4.3 エージェント間の関係 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16
4.4 DeliveryAgent を用いたエージェント間通信 : : : : : : : : : : : : : : : : : 24
4.5 非同期メッセージ通信(send) : : : : : : : : : : : : : : : : : : : : : : : : : 26
4.6 同期メソッド呼び出し(call) : : : : : : : : : : : : : : : : : : : : : : : : : : 27
4.7 非同期メソッド呼び出し(future) : : : : : : : : : : : : : : : : : : : : : : : 28
4.8 コールバック呼び出し(callback) : : : : : : : : : : : : : : : : : : : : : : : 30
4.9 独自のサービスの開発 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 31
4.10 サービスの一覧の問い合わせ : : : : : : : : : : : : : : : : : : : : : : : : : 32
4.11 UserAgent のインストール : : : : : : : : : : : : : : : : : : : : : : : : : : 33
5.1 AgentSpaceシステム構成図 : : : : : : : : : : : : : : : : : : : : : : : : : : 37
5.2 エージェントプロファイルの実装 : : : : : : : : : : : : : : : : : : : : : : : 41
5.3 各エージェントの継承関係 : : : : : : : : : : : : : : : : : : : : : : : : : : : 47
5.4 ServerAgent の実行画面 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 52
5.5 SimpleDirectory Agent の実行画面 : : : : : : : : : : : : : : : : : : : : : : 55
6.1 ブックマーク共有システムの概要 : : : : : : : : : : : : : : : : : : : : : : : 59
6.2 ブックマーク共有エージェントの実行画面 : : : : : : : : : : : : : : : : : : 61
6.3 ブックマークエージェントの実行画面 : : : : : : : : : : : : : : : : : : : : 63
6.4 ブックマークエージェントの入手 : : : : : : : : : : : : : : : : : : : : : : : 64
6.5 ブックマークのインポートとキーワードの設定: : : : : : : : : : : : : : : : 65
6.6 巡回経路の作成 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 66
6.7 ブックマークの共有方法 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 67
6.8 収集したブックマークの提示 : : : : : : : : : : : : : : : : : : : : : : : : : 68
6.9 ブックマークエージェントの状態の問合せ : : : : : : : : : : : : : : : : : : 69
6.10 複製・移動による負荷分散 : : : : : : : : : : : : : : : : : : : : : : : : : : : 70
表 目 次
4.1 すべてのエージェント共通のプロパティ : : : : : : : : : : : : : : : : : : : 20
4.2 ServerAgent 固有のプロパティ : : : : : : : : : : : : : : : : : : : : : : : : 21
4.3 DirectoryAgent 固有のプロパティ : : : : : : : : : : : : : : : : : : : : : : 21
4.4 Service Agent固有のプロパティ : : : : : : : : : : : : : : : : : : : : : : : : 22
4.5 UserAgent 固有のプロパティ : : : : : : : : : : : : : : : : : : : : : : : : : 23
5.1 AgentSpaceのコールバックメソッド : : : : : : : : : : : : : : : : : : : : : 38
5.2 AgentMailクラスの概要 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 43
5.3 DeliveryAgentクラスの概要 : : : : : : : : : : : : : : : : : : : : : : : : : : 44
5.4 CommunicatableAgentクラスの概要 : : : : : : : : : : : : : : : : : : : : : 49
5.5 ServerAgentクラスの概要 : : : : : : : : : : : : : : : : : : : : : : : : : : : 51
5.6 DirectoryAgentクラスの概要 : : : : : : : : : : : : : : : : : : : : : : : : : 54
5.7 ServiceAgentクラスの概要 : : : : : : : : : : : : : : : : : : : : : : : : : : : 56
5.8 UserAgentクラスの概要 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 57
第
1章 はじめに
本章では本研究の背景,目的,提案するシステムについての概要を述べ,本論文全体の 構成を述べる.
1.1
研究の背景
本節では,本研究の背景である,情報共有における問題点とモバイルエージェント技術 について述べる.
1.1.1
情報共有における問題点
WWW(World WideWeb)をはじめとする多くの情報共有システムの登場と利用者の増
加によって,ユーザは非常に多くの情報を共有できるようになった.しかし,近年「情報 過多」という言葉が叫ばれ始めている.これは,情報が多すぎることによって,何が自分 にとって重要な情報か見極めることが非常に困難になり,かつ本当に必要な情報を検索す るためには多くの時間を必要とするという問題である.
ここで,ユーザは自分と興味分野が重なっていないユーザとも情報共有を行っている場 合が多い.一般に,ユーザにとって,自分の興味分野に含まれない情報は,不必要な情報 でありユーザの情報収集を阻害し,情報過多の一因となっている.
このような問題に対して,同じような関心を持つ他のユーザと情報を共有するシステム は大変有用である.さらに,ユーザが情報共有システムを用いて有益な情報を多く得るた めには,範囲があらかじめ限定されない,不特定多数のユーザと情報を共有する仕組みが 必要となる.また,ユーザの負担を軽減するために,自律的な情報共有システムが望まれ
1.1.2
モバイルエージェント技術の誕生
モバイルエージェントは,実行状態を保持したままコンピュータ間を移動することがで きるプログラムであり,次世代の分散システムの中核技術として注目されている.
モバイルエージェントは,一般的には以下の特徴を持つとされる.
移動性 : ネットワーク上においてホスト間を移動しながら処理を行なうことがで きる.
自律性: 移動先で他からのアクションやイベントが無くても処理を維持継続できる.
他のエージェントで発生した障害の影響を受けにくい.エージェントを変更する場 合も,ほかのエージェントへの影響を小さくできる.
協調性: エージェント同士が互いに通信し情報を交換し合うことによって,協調的 に動作することができる
局所性 : システム全体の情報を持つことはなく,局所的な情報のみで動作する.
これらの特徴により,モバイルエージェントを用いることによって柔軟な分散システム を構築が期待できる.
1.2
本研究の目的
前節で述べたように,同じような関心を持つ不特定多数のユーザを対象とした情報共有 システムが望まれている.しかし,様々なのユーザを対象とした情報共有システムを構築 する際には,通信量の削減,ネットワーク状況の変化,異なる計算機環境の存在など多く の解決すべき問題がある.
本研究では,これらの問題に対して次に挙げる特徴をもった情報共有システムを構築す ることを目的とする.
似たような情報を求めるユーザ間の情報共有が可能
不特定多数を対象とした情報共有が可能
情報共有サービスの開発が容易
1.3
本研究の特徴
本研究では,前節で述べた特徴をもった情報共有システムを設計・構築するにあたり,
モバイルエージェントを用いた情報共有システムを提案する.
本システムは,モバイルエージェントが持つ特徴と,本システムによって提供される ディレクトリサービスを用いた,自律的な情報共有サービスを特徴とする.これは,ユー ザのデータと嗜好を持ったエージェントが,似たような目的を持つエージェント(ユーザ) を自律的に探し出し,互いの情報を交換することによって達成される.よって,ユーザは 複雑な操作を行うことなく,効率的な情報共有を行うことができる.
また,本システムは,開発者提へ,柔軟で効率的なエージェント間通信APIを備えた,
情報共有サービスを開発するためのフレームワークを提供する.開発者は,提供されるフ レームワークを用いることにより,柔軟で効率的な情報共有サービスを容易に構築するこ とができる.
1.4
本論文の構成
本稿の構成を以下に挙げる.
第1章: 本研究の背景を述べ,情報共有システムに求められている事柄を述べた.ま た,本研究で提案する情報共有システムの概要とその特徴を述べた.
第2章: 既存の情報共有システムをいくつか取り上げ,情報共有システムにおける 問題点を述べる.
第3章: モバイルエージェントの基本的な概念と特徴を述べ,既存のモバイルエー ジェントシステムの特徴と応用例を述べる.
第4章: 本研究で提案する情報共有システムの設計を述べる.
第5章: 4章で提案した情報共有システムを実際に実装する.
第 6章: 実装した情報共有システムの例題として,WWW ブラウザの持つブック マーク共有サービスを実装し,考察する.
第7章: 本研究で設計・実装した情報共有システムについて考察する.また,関連 研究についても述べる.
第 章 本研究全体をまとめ,本研究で得られた結論と今後の展望を述べる.
第
2章
情報共有システム
2.1
既存の情報共有システム
コンピュータとネットワークの発達に伴い,様々な情報共有システムが開発されてき た.本節では,既存の主な情報共有システムについて概要を述べる.
2.1.1 WWW
WWW(World WideWeb)は,インターネットやイントラネットで標準的に用いられて
いるドキュメントシステムであり,欧州核物理学研究所(CERN)のTim Berners-Lee氏 によって,1994年に開発された.
情報提供者は,HTML(HypertextMarkup Language)[4]によって文書を記述し,WWW サーバによって公開する.情報利用者は,WWWブラウザに代表されるクライアントソ フトウェアを用いて,WWWサーバにHTTP[5 ]用いて通信を行うことにより情報を利用 することができる.HTMLには,文書の中に画像や音声など文字以外のデータや,他の文 書の位置(ハイパーリンク)を埋込むことができる.利用者はハイパーリンクをたどるこ とによって,様々な情報に容易にアクセスできる.
1993年にWWW ブラウザであるMosaic が米国のイリノイ大学で開発された.Mosaic が無料で一般に配布されたことと,HTMLによる文書の記述が比較的容易であったこと から,WWWは,爆発的に普及し,現在では世界規模での巨大なWWW網が築かれてい
る.Inktomiと NECによる 最近の発表[3]では,10億ページを超える情報が蓄積されて
おり,現在もっとも社会に浸透している情報共有システムと言える.
2.1.2
ディレクトリサービス
本来,ディレクトリには住所録,人名簿といった意味がある.情報共有システムにおけ るディレクトリとは,ユーザまたはアプリケーションがネットワーク上のオブジェクトの リファレンス情報を取得することができるデータベースといえる.
近年,企業等では,コンピュータやネットワークの高速化・低価格化などに伴い,多く のコンピュータがネットワークで相互に接続されており,情報共有といったメリットが生 まれている半面,システム管理の複雑さが増し,管理コストも増大するといった問題が生 じている.このような管理負担を軽減し,管理コストを削減することが求められており,
その有力解としてディレクトリサービスが注目されている.
例えば,Sun Microsystemsが提供しているNIS(Network InformationService)がある.
NISは,ホスト名とIPアドレス,ユーザアカウントとパスワードなどの情報を中央サー バ上で集中管理し,これらにかかわるサービスをクライアントに提供し,ユーザやホスト が存在する物理的な場所を意識することなく,その名前を指定するだけで個々のユーザや ホストと通信を可能にする環境を提供している.この他,ホスト名とIPアドレスとを結
び付けるDNS(Domain Name System)も,ディレクトリサービスといえる.
このように,NISやDNSのようなネットワーク上の情報を一元管理しているディレク トリが存在すれば,ユーザーはディレクトリサービスにアクセスするだけで,必要なデー タやアプリケーションがどこにあるのか,あるいはユーザーとどのように連絡をとればよ いのかを知ることができ,管理コストの軽減や操作の簡略化につながるため,今日では欠 かせないシステムとなっている.
2.1.3
グループウェア
グループウェアとは,企業内LANを活用して情報共有やコミュニケーションの効率化 をはかり,グループによる協調作業を支援するソフトウェアの総称である.ここで,グ ループウェアが対象とするグループとは,共通の仕事(目的) を持った集団であり,一般 的に全社会的な規模ではなく比較的小規模(部署,研究室など) な集団を指す.
主な機能としては,グループ内のメンバー間および外部とのコミュニケーションを円滑 化する電子メール機能,メンバー間の打ち合わせや特定のテーマについて議論を行うため の電子会議室機能,メンバー間のリアルタイムな打ち合わせに利用されるテレビ会議機 能,グループ全体に広報を行う電子掲示板機能,メンバー間でスケジュールを共有するス ケジューラ機能,アイデアやノウハウなどをデータベース化して共有する文書共有機能,
稟議書など複数のメンバーで回覧される文書を電子化して流通させるワークフロー機能
などがある.実際の製品はこれらの機能のうちいくつかを組み合わせたものが多い.
近年ではインターネット・イントラネットの普及に伴い,ユーザがWebブラウザから すべての機能を利用できるようにした製品が主流になりつつある.
2.2
情報共有システムにおける問題点
前節で述べたシステム以外にも,様々な情報共有システムが運用されている.しかし,
既存の情報共有システムには以下のような問題点がある.
2.2.1
情報過多
WWWをはじめとする多くの情報共有システムの登場と利用者の増加によって,ユー ザは非常に多くの情報を共有できるようになった.しかし,「情報過多」という言葉が叫 ばれ始めている.これは,情報が多すぎることによって,何が自分にとって重要な情報か 見極めることが非常に困難になり,かつ本当に必要な情報を検索するためには多くの時間 を必要とするという問題である.
ここで,情報過多の原因の一つに,ユーザが,共有する相手(他のユーザ)を絞り込ん でいないという問題がある.既存の多くの情報共有システムでは,ユーザは,自分と興 味分野が重なっていない他のユーザと情報共有を行っている場合が多い.自分と興味分野 が重なっていない他のユーザが持つ情報は,多くのユーザにとって不必要な情報であり,
ユーザの効率的な情報収集を阻害している.また,グループウェアのようにあらかじめ興 味分野が合っているユーザを対象としている情報共有システムもあるが,得られる情報量 が少なく,分野が特定されるといった問題がある.よって,似たような情報を求める不特 定多数のユーザと情報共有できるシステムが望まれている.
2.2.2
不特定多数のユーザへの対応
多数のユーザ間で情報がやり取りされるため,ユーザ数の増加に伴い,情報共有システ ム全体の通信コストの増大,ユーザごとの計算機環境の違いなどの問題が生じる.ここで の計算機環境とは,CPUや通信回線などのハードウェア環境とOSやロケールなどのソ フトウェア環境の両方を指す.
2.2.3
自律的なシステムの必要性
ユーザは,情報共有システムに対して何らかの検索をかけることにより,情報収集を行 うが,効率的な検索は検索者個人の知識と熟練に依存しているという問題がある[1].
例えば,最も一般的な検索システムであるWWW上の検索エンジンでは,ユーザが特 定のキーワードを入力し,データベースがキーワードに適合する情報をユーザに返す.こ のとき,有用な情報を得ることができるかどうかは,得ようとする情報に適したキーワー ドを指定できるかにかかっており,ユーザの知識と熟練に依存している.また,詳細な検 索条件の指定は初心者には扱いにくい.
このような問題に対して,ユーザに代わって自律性をもったエージェントが他のエー ジェントと情報交換を行うことによって,ユーザのとって有益な情報を集めてくるような システムが望まれている.さらに,このようなエージェントの開発を支援するようなシス テムであることが望まれている.
第
3章
モバイルエージェントシステム
本章では,移動性や自律性といったモバイルエージェントの基本的な概念を述べ,既存 のモバイルエージェントシステムの概要を述べる.
3.1
モバイルエージェントとは
エージェント(Agent)という用語が使われるようになってから日が浅いため,モバイル エージェントに対しての明確な定義は定まっていないが,本研究では,モバイルエージェ ントを「コンピュータ間の移動能力を持つ能動的なプログラム」と定義する[13].また,
モバイルエージェントは,一般的に以下の特徴を持つとされる[14, 12].
移動性 : ネットワーク上においてホスト間を移動しながら処理を行なうことがで きる.
自律性: 移動先で他からのアクションやイベントが無くても処理を維持継続できる.
他のエージェントで発生した障害の影響を受けにくい.エージェントを変更する場 合も,ほかのエージェントへの影響を小さくできる.
協調性 : エージェント同士が互いに通信し情報を交換し合うことによって, 協調的 に動作することができる
局所性 : システム全体の情報を持つことはなく, 局所的な情報のみで動作する.
3.2
既存のモバイルエージェントシステム
1994年に米General Magic 社がTelescriptと呼ぶエージェント技術の仕様を公開して から,さまざまなモバイルエージェントシステムが企業や各研究機関などから提案されて きた.本節では,既存の主なモバイルエージェントシステムの概要を述べる.
3.2.1 Telescript
Telescript[9]は,General Magic社が開発したモバイルエージェントを利用したオンラ インアプリケーションを記述するためのプログラミング言語である.
Telescriptでは,プレースと呼ばれる非移動プロセスがネットワークの各所に分散して
おり,エージェントはgo命令によってこのプレース間を移動することができる.言語の 実行環境である Telescript Engine の他にTabriz と呼ばれる開発環境があり,Web から
Telescriptを操作するための機能やTelescriptプロセスからHTTPリクエストを行うため の機能がライブラリとして提供されている.
Telescriptは,モバイルエージェントの概念を初めて商用レベルの技術にした点で画期
的であったが,プラットフォームがアーキテクチャに依存しているといった問題などがあ り商業的にはあまり成功しなかった.
3.2.2 Aglets
Aglets[10,11]は,IBMが開発したJavaベースのモバイルエージェントシステムである.
Agletsの特徴としては,様々な移動パターンやエージェントのロード方式などが選択可
能な柔軟性が挙げられる.開発者は,エージェントの処理内容によって,Agletsが提供す るいくつかのパターンを用いることにより,プラットフォーム独立で,ネットワーク上を 移動しながら実行されるエージェントプログラ厶を容易に作成することができる.
AgletsのエージェントはAgletContextという環境上で実行され,エージェントの生成,
削除,その他の制御のためのビジュアルな環境としてTahitiも用意されており,インター ネット上を動き回るエージェントの制御を比較的簡単に行うことができる.
3.2.3 Plangent
Plangent[12]は,東芝が開発したJavaベースのモバイルエージェントシステムである.
Plangentは,移動機能だけでなくエージェントの行動計画を自ら生成するプランニング
ランニング機能を備えることで,ネットワーク上を移動し,その場その時の最適な処理を 自ら判断し行動することができる.
エージェントは,ユーザによって与えられたゴールを達成するために自らプランを生 成し(プランニング機能),そのプランにしたがって行動することができる(プラン実行機 能).また,移動先のホスト(Plangentではノードと呼ぶ)でエージェントの実行が失敗し た場合には,失敗の根拠となった情報の更新を行って再プランニングを行うことにより,
適応性と自律性を実現している.
3.2.4 AgentSpace
AgentSpace [13] は,お茶の水女子大学の佐藤一郎氏が開発したJava ベースのモバイ
ルエージェントシステムである.
AgentSpaceの特徴としては,エージェント移動の高速化が挙げられる.既存のモバイ
ルエージェントシステムの多くは,エージェントの実行状態の転送後に,プログラムコー ド(クラス)をオンデマンドに転送する.つまり,移動先でクラスプログラムのバインド 要求が発生する毎にクラスプログラムの転送要求を送信し,そのクラスプログラムを移動 先に転送させる.このため,クラスの数に従って通信回数が増加し,エージェントの移動 コストが増大する.
AgentSpaceでは,エージェントの実行に必要なクラスのうち,移動先に存在しないク
ラスプログラムをエージェントの状態とともに一括転送できる.このため,エージェント の高速な移動が可能となる.
3.3
モバイルエージェントの応用例
本節では,モバイルエージェントの応用例をいくつか取り上げ,モバイルエージェント を用いたシステムの特徴を述べる.
3.3.1
たび
Can「たびCan」[15] は,Aglets をベースに構築された旅行情報提供サイトであり,海外旅
行のパッケージ・ツアーや航空券を検索できる.Agletsは,たびCanの検索エンジンと して用いられている.
たびCanの特徴を以下に挙げる.
ユーザーが入力した検索条件をエージェントが24時間にわたり記憶するため,いっ たん接続を切ってから再接続しても,同じ検索条件を再度入力しなくてよい.
ユーザが提示した検索条件に合致したツアーが,検索時に満杯だったとしても,24 時間以内に空きが出た場合にはメールでユーザーへ通知することができる.
ユーザーが指定した検索条件に合致した結果以外にも,情報提供者がすすめる「お すすめ」を提供できる.
これらの特徴は,ユーザが実際に旅行代理店で行う情報収集とよく似た側面を持ってい る.従来型のWWWとデータベースの連携技術だけでこのような機能を実現するのは,
かなり面倒な作業となる.たびCan では,こうした実世界で収集する情報と似た検索結 果を返す検索エンジンを実現するためにAglets を用いている.
[16]によると,エージェントを使って検索エンジンを構成したことの技術的な主なメ リットは,以下の2つがある.
実装の容易さ
複雑な検索結果を返すエンジンをエージェントを使うことによって比較的わかりや すく設計することができる.
システムの安定動作
エージェントはほかのソフトウエア・コンポーネントとは独立に自律的に動作する.
このため,ある1個の代理店エージェントに不具合が発生した場合にも,ほかのエー ジェントには影響を与えない.
3.3.2
ゆがしまん
「ゆがしまん」[17, 18]は,Plangentをヒューマンナビゲーションに応用したシステム である.ヒューマンナビゲーションとは,歩行中の利用者に現在位置や周辺情報を与える ことで,移動や観光を支援するシステムである.
ヒューマンナビゲーションシステムでは,多様な利用者のニーズを満たすため,利用者 の欲する情報をネットワーク上から適切に抽出して提供する必要がある.携帯情報端末を 介した情報提供の際には複雑な操作を不要とすることはもちろん,ときには利用者の操作 が行なわれていない場合にもシステム側から情報提供を行なうことが求められる.また,
通信はPHSを用いて行い利用者の位置はPHSが交信しているアンテナにより特定され
ゆがしまんは,Plangentにパーソナライズ機能を組み込んだ p-Plangentをを利用して 構築することによって,以下の特徴を持つ.
個人性 :
パーソナライズ機能が個人情報・嗜好を管理し,位置情報などの個人状況と合わせ ることで,利用者の望む情報とそうでない情報にフィルタリングをし情報提供今日 を行う.
移動性 :
モビリティ機能がプログラムを実行状態も含めて転送することにより,利用者の利 用端末上へ常に追従できる.また,移動性により通信コストの削減と予期せぬ通信 回線の切断への対応が可能となる.
柔軟性 :
プランニング機能が操作に失敗した場合の代替操作を生成することにより,ネット ワークの環境変化に対応できる.
ゆがしまんはこれらの特徴により,ネットワーク上から利用者に合った情報を抽出し,
自発的に提示することができる.なお,ゆがしまんは,伊豆天城湯ヶ島町にて実証実験が
1999年8月から実施されている.
第
4章
本情報共有システムの設計
本章では,本研究で提案する情報共有システムの設計について述べる.
4.1
設計方針
第2章で述べたように,同じような関心を持つユーザ間の情報共有システムが望まれて いる.また,情報共有システムを用いて有益な情報を多く得るためには,範囲があらかじ め限定されない,不特定多数のユーザと情報を共有する仕組みが必要となる.しかし,不 特定多数のユーザを対象とした情報共有システムを構築する際には,通信量の削減,ネッ トワーク状況変化,異なる計算機環境の存在など多くの解決すべき問題がある.
本研究では,これらの問題に対して次に上げる特徴をもった情報共有システムを構築す ることを目的とする.
似たような情報を求めるユーザ間の情報共有が可能
不特定多数を対象とした情報共有が可能
情報共有サービスの開発が容易
本研究では,これらの特徴をもった情報共有システムを設計・構築するにあたり,モバ イルエージェントを用いた情報共有システムを提案する.また,本システムを用いて柔軟 な情報共有サービスの開発を支援するために,エージェントの情報を一元管理するディレ クトリサービスと,柔軟で効率的なエージェント間通信APIを備えたフレームワークを 開発者へ提供する.
4.2
情報共有システムの特徴
本システムは,モバイルエージェントによる自律的な情報共有を特徴とする.これは,
ユーザのデータと嗜好を持ったエージェントが,似たようなプロファイルを持つエージェ ント(ユーザ)を自律的に探し出し,互いの情報を交換することによって達成される.よっ て,ユーザはあらかじめ情報共有する相手を知っておく必要はない.
また,開発者へ新たな情報共有サービスを容易に開発するためのフレームワークを提供 する.開発者は,提供されるフレームワークを用いることにより,次に挙げるような特徴 を持った情報共有サービスを容易に構築することができる.
似たような情報を求めるユーザ間の情報共有を提供可能
モバイルエージェントが持つ移動性と,本システムが提供するディレクトリサービ スを利用することにより,自律的なエージェントが可能となる.さらに,エージェ ントがユーザのデータと好み(嗜好)をもつことにより,似たような目的を持つエー ジェントを自律的に探しだして情報共有を行うことができる.
不特定多数を対象とした情報共有サービスが提供可能
不特定多数のユーザによって利用されることを想定した場合,システム全体の通信 コスト,(ユーザの場所などの)ネットワークの動的変化,ユーザ毎の計算機環境の 相違を考慮する必要がある.
本システムは,モバイルエージェントを用いて構成されているため,移動による通 信量の削減が可能,ネットワークの動的変化に対処可能,計算機環境に対する依存度 が低い等,不特定多数のユーザで運用した場合に想定される環境への親和性が高い.
動的な負荷分散や配置変更が可能
ディレクトリサービスとモバイルエージェントの移動性を生かして,動的な負荷分 散や配置変更が可能である.また,移動による資源獲得と獲得した資源に応じた処 理の変更が可能である.
柔軟で低コストのエージェント通信が可能
本システムでは,モバイルエージェントによって構成されており,移動による通信 コストの削減が可能である.しかし,通信のためにエージェントそのものが移動す ることは,非効率的な場合がある.本システムでは,メッセージ送受信専用の軽量 モバイルエージェントを用いたエージェント間の通信APIを提供する.提供される
APIを用いることにより,柔軟なエージェント間通信が容易に可能となる.