




已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)移动Agent的迁移实现技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
兰州理工大学硕士学位论文 摘要 摘要 移动a g e n t ( m o b i l ea g e n t ,姒) 技术具有广阔的应用前景,如何很好地实现 移动性是其技术关键之一。 本文分析了a g e n t 、软件a g e n t 、移动a g e n t 的概念及其特点,给出了它们的 形式化定义。总结了移动a g e n t 的重要实现技术,包括通讯、安全、实现语言、协 作模型等。并描述了移动a g e n t 的几大优点。比较了移动a g e n t 技术与其它代码移 动技术移动性的区别,概括了移动a g e n t 的移动过程和移动分类。 传输协议对于移动a g e n t 的移动实现来说非常重要。本文解释了a t p ,提出了 基于h t r p 的传输方式,并给出了a g e n t 的类m i m e 封装方法。 移动机制主要研究移动的实现方式。本文给出一种结构化迁移机制,它以旅行 计划模型为核心,主要特点是用旅行计划把移动信息从a g e n t 功能体中分离出来, 可以实现动态装配,并用结构化的方法来描述旅行计划。另外给出选择迁移机制的 概念,并对传统迁移机制和选择迁移机制对网络负载的影响进行了定量研究。 移动策略的优劣直接影响移动a g e n t 的性能乃至其任务的完成。本文提出了一 个实现动态路径规划的描述类结构,并对迁移路径算法进行了概括。 强移动性的实现是移动a g e n t 的技术难点,而捕捉和恢复程序状态又是实现 a g e n t 强迁移的关键问题。本文给出了利用j a v a 虚拟机中的错误机制,捕捉到j a v a 程序的方法调用栈状态和p c ( j a v a 程序计数器) 状态的方法。 最后,本文分析了a g l e t s 的移动实现,并进行了a g e n t 的迁移实验。 关键词:移动a g e n t ;移动性;a g e n t ;迁移;a t p ;a g l e t 兰卅理工大学硕士学位论文 a b s t r a c t a b s t r a c t m o b i l ea g e n th a sr a i s e dc o n s i d e r a b l ei n t e r e s tf o rn e t w o r k e dc o m p u t i n g h o wt o i m p l e m e n tm i g r a t i o ni so n eo f i t sk e yt e c h n o l o g i e s f i r s t l y , a g e n t ,s o f ta g e n t ,m o b i l ea g e n t a n dt h e i rc h a r a c t e r i s t i c a d i s c u s s e d , f o r m a l i z a t i o n so f t h e ma r eg i v a n s e c o n d l y , t h ei m p o r t a n tt c c h n o l o g i e so f m o b i l e a g e n t s n n p l e m e n t a t l o na r es u m e du p ,s u c h a sc o m m u m c a b o n ,s e c u r i t y , p r o g r a m m m g l a n g u a g e , c o o r d i n a t i o nm o d e l s ,e c t f i n a l l y ,t h ea d v a n t a g e so fm o b i l ea g e n ta r ed e s c r i b e d a n dt h e m o b i l i t yo f m o b i l ea g e n ti sc o m p a r e d w i t ht h a to f o t h e rc o d em i g r a t i o nt e c h n o l o g y t r a n s p o r tp r o t o c o li si m p o r t a n tt oi m p l e m e n t a t i o no f m o b i l ea g e n t sm o b i l i t y i nt h i s t h e s i s ,a ”i se x p l a i n e d ,t h e 衄u s p o r tm e t h o db a s e do nh t t p i sp r e s e n t e d ,a n dh o wt o e n c a p u l a t et h ea g e n t i nam i m e - l i k em e s s a g ei ss h o w n m i g r a t i o nm e c h a n i s m i sa b o u t i m p l e m e n t a t i o np a t t e r no f m o b i l ea g e n tm o b i l t y a k i n d o fs t r u c t u r a lm i g r a t i o nm c e l l a n i s mp r e s e n t e di nt h i st h e s i su s e sh i n e r a r ya si t sc o r e i t s c h a r a c t e r i s t i ci st h a tm o b i l ei n f o r m a t i o nc a nb es e p a r a t e df r o mf u n c t i o nb o d yo f a g e n t a n dc 趾b el o a d e d d y n a m i c a l l y i na d d i t i o n , ac o n c e p t i o no fo p t i o n a l m i g r a t i o n m e c h a n i s m ,aq u a n t i t a t i v ea n a l y s i so ft h ei n f l u e n c et r a d i t i o n a la n dao p t i o n a lm i g r a t i o n m e c h a n i s m u p o nn e t w o r kl o a d a r es h o w ni nd e t a i la l s o m i g r a t i o ns t r a t e g ye n s u r e sm o b i l ea g e n tt oc o m p l e t ei t st a s kc o r r e c t l ya n de f f i c i e n t l y a tt h em i n i m u mc o s t i nt h i st h e s i s ad e s c r i p t i v ec l a s so f a g e n t sd y n a m i cr o u t i n gi s p r e s e n t e da n d t h ea r i t h m e t i co f t h er o u t i n gi sg e n e r a l i z e d s t r o n gm o b u i t y o fm o b i l ea g e n ti sad i 伍e u l t y , a n dm o r e o v e r , r u n n i n gp r o g r a m ss t a t e c a t c h i n ga n dr e s u m i n g a r ek e y t e c h n o l o g yo fs t r o n gm o b i l i t y n 把e x c e p t i o nm e c h a n i s m o f _ mi su s e dt oc a t c hj a v ap r o g r a ms t a t e k e y w o r d s :m o b i l e a g e n t ;m o b i l i t y ;a g e n t ;m i g r a t i o n ;a t p ;a g l e t i i 原创性声明 v 7 2 1 u 0 8 本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了论文中特刖加以标注和致谢的地方外,论文中不包含其他人已 经发表或撰写过的研究成果,也不包含为获得兰州理工大学或其他单位的学位或证书 而使用过的材料。与我共同工作的同志对本研究所作的贡献均已在论文中作了明确的 说明。 作者签名互小j日期:丛年月上h 厂 h 期:卢一,牛月”广1 关于学位论文使用授权说明 本人了解兰州i 理工大学有保留、使用学位论文的规定,即:学校有权保留学位论 文,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以采 用复印、缩印或其它手段保存学位论文:学校可根据国家或甘肃省有关部门规定送交 学位论文。 名:巫单翩虢群蹶型年月日 兰州理工大学硕士学位论文 第一章绪论 第一章绪论 1 1 课题的研究背景 2 0 世纪9 0 年代初由g e n e r a lm a g i c 公司在推出商业系统t e l e s c r i p t 时提出了 移动a g e n t 概念。 移动a g e n t 技术的诞生和发展是人工智能和网络技术发展的必然结果,它正是 为解决复杂、动态、分布式智能应用而提供的一种新的计算手段。另外,随着对计 算要求的不断提高,计算的不断复杂化,未来的计算环境将不断朝着模拟人类社会 的方向发展,而移动a g e n t 具有人和人类社会的某些特点“2 1 。 移动a g e n t 是继c o r b a ,e j b 之后的新一代分布式处理技术,因其众多的优点 在分布式信息检索,电信网络服务,工作流系统,网络入侵检测,数学问题求解, 移动设备编程等方面有广泛的需求。i n t e r n e t 技术与移动a g e n t 技术的结合将给远 程教学、电子商务带来无限发展机遇,并在移动计算、信息服务等领域不断找到用 武之地。 就移动a g e n t 来说,迁移实现是它的技术关键之一。a g e n t 如何在网络上很好 地实现移动,尤其是其移动方式如何与当前快速发展的互联网技术相融合,是目前 国内外研究者所关注的一个焦点。 1 2 课题的研究现状 移动a g e n t 技术最初关注的是将可执行的代码从一台计算机移动到另一台计算 机的能力。2 0 世纪9 0 年代中期,i n t e r n e t 和j a v a 语言的出现与普及消除了技术 上的障碍,使移动a g e n t 的实现变得很容易。各种基于移动a g e n t 的软件系统也如 雨后春笋般地涌现出来,呈现出一个a g e n t 研究的“黄金期”。 从总体上来看,移动a g e n t 已从过去的理论探索进入到实用阶段,因而出现了 一些移动a g e n t 开发平台或执行环境,大致可以分为三类:一类是基于传统解释性 语言的;一类是基于j a v a 语言的,另一类则是基于c o r b a 平台的“1 。 1 ) 国内现状 目前国内技术界大多从人工智能的角度来研究a g e n t ,很难实用化,刘锦德教 授、张云勇博士从开放系统、分布处理的角度对其进行深入研究,为移动a g e n t 的 实用化作了一些有益的探索,提出了一个基于移动a g e n t 的开放系统体系结构。 南京大学计算机软件新技术国家重点实验室为移动a g e n t 技术的发展进行了许 多卓有成效的工作,其自主设计的m o g e n t l 0 ,是一个使用j a v a 语言开发的基于 i n t e r n e t 的移动a g e n t 系统。 2 ) 国外现状 目前推动移动a g e n t 标准化工作的最有影响力的国际组织有o m g 下属的a g e n t w o r k i n gg r o u p 和f i p a 等。 在a g e n t 领域,f i p a 是一个重要的组织,其规范体现了a g e n t 的智能性。目前 该组织正致力于以下三个领域的标准化: ( 1 ) a g e n t 管理需要认同和发现a g e n t ,需要定义它们的各种状态以及哪些角色 能与它们相互作用。 ( 2 ) a g e n t 相互作用覆盖最高层a g e n t 间相互作用的标准,包括a g e n t 间传递 的信息的意义、命令、请求、义务等。 兰州理工大学硕士学位论文 第一章绪论 ( 3 ) a g e n t 与软件的接口。 此外,f i p a 还制定了4 个参考应用领域的标准,包括个人旅行助手、个人助手、 声视娱乐和广播、网络管理等。其它一些标准也正在制订中。 o m g 的m a s i f 规范建议对a g e n t 管理、a g e n t 迁移、a g e n t 名称、a g e n t 系统名 称、a g e n t 系统类型以及位置语法进行了标准化。规范定义了两个标准接口: m a f f i n d e r 和m a f a g e n t s y s t e m ,提供对移动a g e n t 的查找、定位、管理以及传输等 基本功能。通过o m g 和f i p a 两个组织的合作,这个规范现在也已经集成到f i p a 的 智能a g e n t 管理服务规范中”1 。 k q m l 是a r p a 的k s e ( k n o w l e d g es h a r i n ge f f o r t ) 联盟工作的一项成果,已 经成为事实上的a c l ( a g e n t 通信语言) 的标准,获得了广泛的应用。 a g e n t 系统的研制方兴未艾,例如g e n e r a lm a g i c 公司的o d y s s e y ( 支持c o r b a 、 d c o m 、r m i ) ,i b m 公司的a g l e t s ,i k v + + 的g r a s s h o p p e r ,o b j e c ts p a c e 公司的 v o y a g e r ( 支持c o r b a 、d c o m 、r m i ) 等。a g l e t s 是至今最为成功和全面的系统。a g l e t s 是由i b m 公司用纯j a v a 开发的移动a g e n t 技术,并提供实用的平台a 9 1 e t w o r k b e n c h ,让人们开发或执行移动a g e n t 系统。 虽然目前已经有了一些移动a g e n t 平台,能够比较好地解决a g e n t 的移动性问 题,但是在诸如a g e n t 强移动性的良好实现,移动路由的选择,移动过程中的容错 和通信等方面依然有许多问题有待解决,这些问题阻碍着移动a g e n t 技术的进一步 发展和应用。 1 3 课题的研究内容 本课题的目的是深入分析移动a g e n t 的迁移机理,致力于解决a g e n t 在主机间 的移动性实现问题。 针对上述目的,本课题的内容主要包括:1 ) 移动a g e n t 及其移动性概述( 第 二章) 分析了软件a g e n t 、移动a g e n t 的概念及特点,总结了移动a g e n t 的重要实 现技术,并描述了移动a g e n t 的优点。概括了移动a g e n t 的移动性问题;2 ) 移动 a g e n t 的迁移过程和传输协议( 第三章) 解释了m a s i f 规范所规定的迁移过程和 a t p ,提出了基于h t t p 的传输方式,并给出了a g e n t 的类m i m e 封装方法;3 ) 移动 机制( 第四章) 主要研究结构化移动机制和选择性移动机制,给出一种结构化迁 移机制,另外给出选择迁移机制的概念,并对传统迁移机制和选择迁移机制对网络 负载的影响进行了定量研究;4 ) 移动策略( 第五章) 着眼于描绘出实现动态路径 规划所考虑的因素以及路径算法;5 ) 强移动性实现( 第六章) 主要分析并给出用 j a v a 的异常机制实现强移动性的方法;6 ) 分析a g l e t s 的移动实现( 第七章) ,给 出a g e n t 的迁移实验。 下面对实现a g e n t 移动需要解决的问题以及本论文的主要内容论点做一简介: 移动a g e n t 可以携带自身精神状态( 可以认为是执行状态) 从一个环境迁移到 另一个环境,这样的移动过程需要传输协议的支持,传统的a g e n t 传输协议都是专 用协议,与其他的协议很难兼容。为了适应互联网的发展,便于a g e n t 的普及和推 广,本文提出基于h t t p 的传输方式,设计一个a g e n t 的类m i m e 封装方法。为了实 现a g e n t 的传输,我们定义一个面向专门应用的类m i m e 内容类型: a p p l i c a t i o n a g e n t 。这种内容类型携带着一些属性,描述所使用的编程语言、a g e n t 类型等等。a g e n t 服务器使用这些信息选择正确的运行时支持类型或者拒绝那些要 求不能被满足的a g e n t 。 2 兰州理工大学硕士学位论文 第一章绪论 那么移动a g e n t 的迁移机制应该是怎么样的呢? 有些系统将移动a g e n t 的移动 路线、移动条件、移动动作等隐含在移动a g e n t 的任务代码中,这对a g e n t 的设计、 调试、测试等都造成一定的困难,尤其是在i n t e r n e t 环境中更是这样。事实上a g e n t 的移动信息可以从a g e n t 体中分离出来,用旅行计划来表示,使其易于理解,便于 复用。本文给出一种结构化迁移机制,它以旅行计划模型为核心,主要特点是用旅 行计划把移动信息从a g e n t 功能体中分离出来,可以实现动态装配,并用结构化的 方法来描述旅行计划。根据其思想,本文示例了一个电子集市实验。另外,并不是 a g e n t 的所有代码都有必要被迁移的,为了减少网络负载,本文给出选择迁移机制 的概念,并对传统迁移机制和选择迁移机制对网络负载的影响进行了定量的数学研 究,通过比较可以看出后者在节省网络带宽上的优势。 移动a g e n t 的移动不是盲目的,应该有其策略,以能够动态地规划出其移动路 径。事实上,现在多数系统在规划移动a g e n t 移动路由时只考虑了软件资源( 任务 语义) ,而忽略了网络传输资源和主机处理资源等硬件资源的影响,更没有考虑移 动a g e n t 以往的旅行经验,这显然是不全面的。本文提出了一个实现动态路径规划 的描述类结构,描绘了移动a g e n t 动态路由所应该考虑的要素。另外,a g e n t 要访 问某个主机,并不一定非要迁移到该主机上,当它移动到便于访问该主机的位置就 可以了,基于这一点,本文对迁移路径算法进行了概括。 移动a g e n t 迁移时,除了迁移移动a g e n t 的代码和数据状态外,也希望迁移其 执行状态,这是一个难点,因为这要求能捕捉和恢复程序状态,包括运行栈内容等。 目前,有一些基于j a v a 的系统通过修改j a v a 虚拟机实现了j a v a 程序的状态捕捉。 其实,只要访问j w ,就可以捕捉到j a v a 程序的方法调用栈的状态和p c 状态。利 用j a v a 虚拟机中的错误机制,可以捕捉到j a v a 程序的方法调用栈状态和p c 状态。 a g l e t s 被认为是至今最为成功和全面的移动a g e n t 系统,我们将结合以上章节 内容分析它的移动性实现。最后给出一个a g e n t 的迁移实验,显示a g e n t 的移动性、 自发性等基本特点。 兰型堡三查堂塑主兰竺望塞 苎三兰整垫丝竺! 墨薹整垫堡塑望 第二章移动a g e n t 及其移动性概述 2 1 软件a g e n t 其中 标识a g e n t 名;p r i v a t e 域定义a g e n t 的局部数据;p r o c e s s 定义a g e n t 的咎警过程;a c t i o n 域定义每个处理过程的具体处理流程:p r o c e s s o r 莹型堡望咎碧垫塑翌世! k n o w l e d g e b a s e 域定义a g e n t 的历史经验薅,。历史经验菇 中的知识用规则的形式组织。a g e n t 的处理过程将根据需要访问历蔓经矗茁:1 4 兰州理工大学硕士学位论文第二章移动a g e n t 及其移动性概述 2 1 2a g e n t 的行为模式 a g e n t 在其生命周期内的行为模式定义如下: w h i l ea l i v ed o l l e g i n 扫描所有处理过程p r o e e s s i i fe x i s t t h e n b e o n 创建一个与p r o e e s s i 相应的进程,并排入进程队列 e n d e n d a g e n t 自创建之日起,就通过处理过程来提供对外界的服务,当处理过程的触 发事件发生时,a g e n t 就创建一个进程来完成处理过程的操作。这样通过多个触发 事件的触发,可以实现处理过程执行的并行化。 当a g e n t 任务完成后,其属主环境可以将它消除,它也可以自我消亡,这样它 的生命周期就结束了。 2 1 3 软件a g e n t 定义和特点 软件a g e n t 是指模拟人类行为与关系,能为用户执行特定的任务,具有一定程 度的智能,以允许自主执行任务并以一种合适的方式与环境相互作用的软件程序, 技术源于分布式人工智能( d a i ) ”1 。 从最终用户的角度着,软件a g e n t 是一种程序,它代表用户,是用户实现其意 图的软件助手。它因用户向它指派工作而起作用。 从系统的角度看,软件a g e n t 是生存于一个执行环境中的软件对象,它拥有以 下基本特性: 响应性:a g e n t 必须对来自环境的影响和信息做出适当的响应: 自主性:一个a g e n t 能在没有来自环境的命令的情况下自主执行任务。这是 a g e n t 区别于普通软件程序的基本属性。 主动性:a g e n t 不仅对环境变化做出反应,而且在特定情况下采取主动行动, 表现出面向目标的行为; 交互性( 通信能力) :可与其它a g e n t 进行通信,并基于此进行合作与协调, 实现a g e n t 群体的社会属性。 除此以外,还可能拥有以下性质: 移动能力:一个a g e n t 在计算机网络中漫游的能力。 学习推理自适应能力:根据经验改进自身,以及基于知识库的推理能力。 角色:a g e n t 在社会活动中对安全性、风险、信任、诚实等因素的考虑。 2 2 移动a g e n t 2 2 1 移动a g e n t 概念 我们感兴趣的是那些可以移动的软件a g e n t 。它们不园子初始执行的节点,而 可在网络各主机间自主移动。透过计算机网络,移动a g e n t 可携带自身状态和代码 从一个环境转移到另一环境中去,并恢复执行。移动a g e n t 的定义如下: 兰州理工大学硕士学位论文第二章移动a g e n t 及其移动性概述 移动a g e n t ( m o b i l ea g e n t ,m r ) 是一独立计算机程序,它可自主地在异构的 网络上,按照一定的规程移动,寻找合适的计算资源、信息资源或软件资源,利用 与这些资源处于同一主机或网络的优势,就近处理或使用这些资源,代表用户完成 特定的任务。 一般移动a g e n t 还具有与其它a g e n t 进行自主通信的能力。这样用户的任务就 可由一组移动a g e n t 协作完成。 移动a g e n t 的计算模式如图2 1 所示: 图2 1 移动a g e n t 的计算模式 显然,移动a g e n t 应用天然就是一种分布式应用。在概念上,一个基于移动a g e n t 的应用由一组移动a g e n t 构成( 正如一个面向对象的应用由一组对象构成) ,每一 个a g e n t 根据自身的目标和环境的状况移动到拥有计算所需资源的节点上,进行计 算。计算的过程中,可能需要与其他a g e n t ( 可以是同一应用中的其他a g e n t ,也 可以是运行系统提供服务的公共设施a g e n t ,甚至可能是其他应用的a g e n t ) 进行 通信协作。这一步的计算完成以后,该移动a g e n t 自主地决定下一步的动作,直至 其任务完成。 2 2 2 移动a g e n t 的形式化定义 移动a g e n t 要具有智能性就必需有其相应的知识库,要具有社会性就要有其相 应的社区成员表,要具有移动性就要有相应的导航表,因此移动a g e n t 的形式化定义 ”1 可描述如下: a g e n t : s t a t u s 严定义其属性和局部数据+ s o c i t y ,定义其社区成员+ k n o w l e d g e - b a s e * 定义规则集以形成知识库, p r o c e s s o n d o a tp r i o r i t y p 定义触发处理过程( i ) 的事件; 定义对处理过程( i ) 的具 体操作; 定义处理过程( i ) 的优先级+ , a c t i o n p r o c e s s o r 定义创建移动a g e n t 的主机地址+ , n a v i g a t i o n s n a v i g a t i o n _ l i s t ) 严定义其移动导航表+ , 6 兰州理工大学硕士学位论文 第二章移动a g e n t 及其移动性概述 2 2 3 移动a g e n t 系统结构 不同的移动a g e n t 系统的体系结构。“1 各不相同,但几乎所有的移动a g e n t 系 统都包括如下两部分:a g e n t 和姒环境( m a e 或称m a 服务器、m a 主机、姒服务 设施、p l a c e 、c o n t e x t 、l o c a t i o n ) 。 m a 环境为a g e n t 提供安全、正确的运行环境,实现m a 的移动、m a 执行状态的 建立、m a 的启动、实施m a 的约束机制、容错策略、安全控制、通信机制,并提供 基本服务模块,如:事件服务( e v e n ts e r v i c e ) 、黄页服务( y e l l o wp a g es e r v i e e ) 、 事务服务( t r a n s a c t i o ns e r v i c e ) 和域名服务( d n s ) 等。一台主机上可以有个或 多个m a e 。通常情况下,一个m a e 只位于一台主机上,但当主机之间是以高速、持 续、稳定可靠的网络连接时,一个m a e 可以跨越多台主机而不影响整个系统的运行 效率。 a g e n t 可以分为移动a g e n t ( 也称用户a g e n t ,u s e ra g e n t ) 和服务a g e n t ( 也 称系统a g e n t 或静态a g e n t ) 。 移动a g e n t 可以从一个m a e 移动到另一个m a e ,在m a e 中执行,并通过a g e n t 通信语言( a c l ) 与其它l 矗a 通信或访问m a e 提供的服务。移动a g e n t 的主要作用是 完成用户指定的任务,需要实现移动语义( 即目标主机或路由的选择) 、安全控制 ( 保护自身) 、与外界( m a 服务环境以及其他a g e n t ) 的通信等功能。 服务a g e n t 不具有移动的能力,其主要功能是向本地的a g e n t 或来访的a g e n t 提供服务。通常,一个姒e 上驻有多个服务a g e n t ,分别提供不同的服务,如文件 服务、黄页服务等系统级服务,定票服务、数据库服务等应用级服务。由于系统a g e n t 是不移动的,并且只能由它所在m a e 的管理员启动和管理,因此保证服务a g e n t 不 会是“恶意的”。来访的移动a g e n t 不能直接访问系统资源,只能通过服务a g e n t 提供的接口访问“受控制的( c o n t r o l l e d ) ”、“安全的( s e c u r e ) ”的服务,这可以 避免恶意的a g e n t 对主机的攻击,是移动a g e n t 系统经常采用的安全策略。另外, 采用j a v a 提供的c 语言接口( c i n t e r f a c e ) ,服务a g e n t 可以提供和其他软件 ( l e g a c ys o f t w a r e ) 的交互接口,很容易将非a g e n t 系统集成到a g e n t 系统中。 2 2 4 移动a g e n t 重要实现技术简介 2 2 4 1 通信( c o e m n i c a t i o n ) 移动a g e n t 系统可采用的通信手段很多,有消息传递,r p c ,r m i ,匿名通信和 a g e n t 通信语言等。根据通信对象的不同,移动a g e n t 的通信方式可分为以下几种 n 2 “: 1 ) 移动a g e n t 服务a g e n t 的通信该通信方式实质是移动a g e n t 和m a e 之间的 通信。服务a g e n t 提供服务,移动a g e n t 请求服务,是一种典型的客户服务器模 式。如:移动a g e n t 向黄页服务a g e n t 查询有关服务。该类通信方式可以采用类似 r p c 、r m i 的通信机制。 2 ) 移动a g e n t 移动a g e n t 的通信这是一对一( p e e r t 0 _ p e e r ) 的通信方式,通 信双方的地位是平等的。为了完成特定的任务,如协作求解,m a s 必须提供同步和 异步通信机制。 3 ) 组通信也称为匿名通信。前两种通信方式的前提是,通信双方事先相互了 解。然而,在有些情况下,通信的双方并不能互相确认对方的身份。例如:在基于 移动a g e n t 技术的分布式信息查询应用中,一组a g e n t 被派遣到i n t e r n e t 的各个 兰州理工大学硕士学位论文第二章移动a g e n t 及其移动性概述 信息源上执行搜索操作,在查询的过程中,为了提高搜索的并行度,某些a g e n t 可 能又派生多个子a g e n t 组,当这些子a g e n t 和其父a g e n t 所在组中的a g e n t 进行 通信时,就是匿名通信。在组通信方式中,通信的一方只能确定对方所在的组,而 不能确定组中具体的成员。目前支持组通信的方法有,组通信协议( g r o u p c o m m u n i c a t i o np r o t o c o l s ) ,如i s i s ;共享内存( s h a r e d m e m o r y ) ,如t u p l es p a c e s : 事件管理等。在事件管理方式中,a g e n t 向系统注册其感兴趣的事件,当其它a g e n t 产生该事件时,交由注册a g e n t 处理。 4 ) 移动a g e n t 用户的通信属于智能人机接口领域。根据通信发生的地点,可 以把通信分为本地通信( 又称节点内通信,主机内通信,i n t e r - p l a c e c o m m u n i c a t i o n ) 和远程通信( 又称节点间通信,网络通信,i n t r a - p l a c e c o m m u n i c a t i o n ) 。特别指出的是:同一个主机内不同m a e 之间的通信通常看作远程 通信。 a g e n t 通信语言( a g e n tc o m m u n i c a t i o nl a n g u a g e ,a c l ) 是实现m a 与姒执行 环境、以及m a 与m a 之间通信的高级方式。开放式m a 系统的a c l 系统应当具有环 境无关,简洁、语法语义一致等特点。k q i i i l k i f 和x 虬是两种具有发展潜力的通 信语言( 或协议) ,前者主要用于知识处理领域,后者在i n t e r n e t 环境( 尤其是啊w ) 中具有很好的支持能力。在k q m l 0 1 语言中,一条a c l 消息是一个k q m l 表达式,其 参数是符合k i f ( 知识交换格式) 格式的术语或句子,也是词汇表中的单词。k i f 是基于一阶谓词演算的前缀表达式,它提供了对简单数据、约束、规则、带量词表 达式、元级信息等的编码;词汇表是一个可扩充的大字典,包含了许多领域相关的 单词。直观地讲,一条k q m l 消息就是发送者和接收者之间的一段对话。k q m l 提供 了对不同类型对话的支持。k q m l 通过通信原语使a g e n t 进行知识交换和操作以及协 作求解问题。k q 札基本上是基于言语行为理论的,其最大的优点在于其开放性,即 人们可以在其基本语言集之外任意增加符合自己需要、并且符合k q m l 规范的消息 和对话。甚至k o m l 的语义也是开放的,它允许用户给出自己的语义解释。k q m l 已 被许多软件互操作系统和m a s 选为基本通信语言,并很有可能成为跨平台异质系统 间的通信标准和语言。 在具体的m a s 中,通信的实现方式有很大差别。t a c o m a 通过一个携带数据的 b r i e f c a s e 来交换数据。a r a 则支持c s 方式的服务调用,但没有提供异地a g e n t 之间的通信手段。t e l e s c r i p t 中的a g e n t 只能在会话点( m e e tp l a c e ) 中使用本地 方法调用的方式相互通信。d a g e n t 既支持底层的消息传递方式,也支持高层通信 方式如:a g e n tr p c 和k q m l k i f 。a g l e t s ,m o l e ,v o y a g e 等基于j a v a 的系统通常 采用j a v a 对象来实现分布式事件通信和消息传递机制。另外,a g l e t s 预留了与 c o r b a 1 1 0 p 的通信接口。 2 2 4 2 安全( s e c u r i t y ) 姒的移动性会带来很多不确定因素,要想将1 i l a 被广泛的接受,成功地应用于 商业( 如;电子商务) ,就必须解决好m a 的安全性问题。m a 的安全性问题是m a 成 功应用的瓶颈,是移动a g e n t 系统中最重要、最复杂的问题。 通常把移动a g e n t 系统的安全问题分为4 个部分:保护主机免受恶意a g e n t 的攻击;保护a g e n t 免受恶意主机的攻击;保护a g e n t 免受其它恶意a g e n t 的 攻击;保护低层传输网络的安全。 为了阻止恶意m a 对主机的破坏,在主机上通常采用如下安全检测技术“,t ”: 1 ) 身份认证( a u t h e n t i c a t i o n ) :它主要用于检查m a 是否来源于可信的地方。 8 兰州理工大学硕士学位论文 第二章移动a g e n t 及其移动性概述 这要求有关身份认证的详细信息需要从m a 的源主机或独立的第三方传送过来。身 份认证失败的m a 或者被驱逐出主机,或者仅允许以匿名a g e n t 的身份在十分有限 的资源环境下运行。数字签名就是一种常用的身份认证技术。 2 ) 代码验证( v e r i f i c a t i o n ) :它主要用于检查m a 的代码,看它是否会执行被 禁止的动作。代码验证常常按如下步骤进行:首先检查m a 是否试图破坏其执行环 境,然后检查该m a 实际运行所在的m a 系统是否对m a 的管理负责。若以上验证结 果成立,则进一步检查该a g e n t 的操作是否超出其被授权和资源限制的范围。可以 采用一种称为证明携带的代码技术( p r o o f c a r r y i n gc o d e ) 来完成对来自于不安 全地点的移动代码的验证,以决定对该代码的执行是否安全。该技术将安全性证明 ( p r o o f ) 附加到每条代码上并与代码一块移动。目标主机可以迅速验证这些证明 并进而判定移动代码的安全性。证明或代码二者之被窜改均会造成整个代码验证 的失败,从而导致移动代码被拒绝执行。j a v a 语言本声提供了一定程度的代码验证, 即完整性验证。 3 ) 授权认证( a u t h o r i z a t i o n ) :主要检查m a 对主机资源的各种访问许可,这 包括资源可被访问的次数和被使用的数量以及m a 在该资源上进行存取操作的类型。 例如,被高度信任的姒可以读、写、修改指定的资源并可无限制地访问它;而不 被信任的m a 则仅能对该资源进行读操作,而且只能进行有限次的访问;有些m a 可 能允许访问主机的计算资源;有些m a 则可能被完全禁止。可以通过使用访问控制 表的方法实现授权认证。 4 ) 付费检查( p a y m e n tf o rs e r v i c e s ) :它主要用于检查m a 对服务的付费意 愿和付费能力( 除非服务是免费的) ,这包括检查m a 是否确实付费了、付费过程是 否正确,以及付费者是否对所提供的服务满意等。m a 在运行的过程中至少会使用服 务器的计算资源,也可能进行购买物品的交易。为避免不必要的资源占用和不合理 的交易,需要限制m a 的权利,这也可以通过付费的方式来控制。例如,姒可以携 带一定数量的电子货币,当m a 在某主机上运行时,它需要根据所要求的服务的数 量和质量对主机付费。这样,m a 的权利受限于其所拥有的货币的多少,用尽货币的 m a 会消亡。当然,m a 会要求主机不能随意捏造所收到的货币数量,而且要求主机 确实提供了所承诺的服务。 通过上边给出的四种方法,主机的安全性问题在一定程度上可以解决,但有关 姒方面的安全问题还需要考虑,即要保证m a 在传送和远程执行时的安全和完整。 为保证m a 在传送和远程执行时的安全性和完整性,通常采用加密技术、身份认证 技术( 如数字签名) 等。采用诸如p g p 等加密算法有助于在m a 传送过程中保护其 内容免遭窃听。使用身份认证技术可用于检查目标主机的合法性;数字签名技术还 可用于验证信息,保证接收者不窜改收到的信息,并使处理结果返回到正确的发送 者。 对于m a 的安全性问题,很多学者做出了大量的工作,但多数是针对具体的系 统和环境,而且只是侧重于某一层面。例如f f m a i n 利用其实现语言s a f e t c l 在安 全性方面的特点重点给出了代码验证的实现方法;a p r i l 重点研究代码验证和加密 技术而忽略了其他因素;基于j a v a 语言的系统在代码验证方面往往直接使用j a v a 的字节码校验程序而很少再对此做深入地研究等,但j a v a 的字节码校验程序本身 也存在着一定的缺陷。 作为第一个商业化的姒系统,g e n e r a lm a g i c 的t e l e s c r i p t 对安全性策略进 行了细致的设计,它提供了本文提到的各种安全机制。i b m 的a g l e t s 也是出于商用 9 目的的,它提供了身份验证、授权认证、代码验证以及电子货币机制,但其文献中 没有涉及到有关m a 在网络上安全传输和加密方面的问题。a g e n tt c l 对安全性有较 好的支持,缺憾是没有提供有关付费检查的功能。t a c o m a 的数据存储模型非常灵活 和高效,其下一步工作应当在安全性方面做努力。a r a 系统也有特于进一步加强安 全机制。a p r i l 在代码验证方面很有特色( 这也是与其使用专用语言a p r i l 有关的) , 但不知其传输的安全性情况。m o l e 和s u m a t r a 除了利用j a v a 已有的安全机制( 代 码验证) 和缺省的安全管理器外没有再提供其他的安全机制,但m o l e 在容错方面 ( 如处理孤儿线程) 有自己的特色和贡献“。 2 2 4 3 编程语言( p r o g r a n m i n gl a n g u a g e ) 移动a g e n t 系统对编程语言有多方面的要求。k n a b e 等人对移动a g e n t 阿编程 语言提出四个基本要求”1 : 1 ) 支持移动:该语言必须提供机制以确定将要移动的a g e n t 应携带哪些代码; 必须提供发起“移动”操作的原语或函数。 2 ) 支持异构性:用该语言编写的移动a g e n t 应当能在一个异构的环境中任意 移动,这个异构的环境可能包含不同拓扑结构的网络、不同类型的计算机硬件设备、 不同的操作系统等。 3 ) 高性能:移动a g e n t 的移动操作会给系统带来很大的开销,在某些情况下, 移动a g e n t 的执行效率甚至远远低于其它技术。该语言必须能快速、高效的运行。 4 ) 安全性好:该语言必须具有很好的安全性,使用该语言编写移动a g e n t 不 易受到恶意主机和其它恶意a g e n t 的攻击。 m a 的实现语言可以采用编译型语言,也可以采用解释型语言。从支持移动、支 持异构性、执行效率和安全性等多方面考虑,几乎所有的移动a g e n t 系统都采用解 释型语言。由于j a v a 技术的快速发展和其具有良好的安全性和较高的执行效率, 因而被大多数m a s 所采用”1 。 如果采用编译型语言,m a 被编译成本地代码( n a t i v ec o d e ) ,本地代码与具体 的系统平台有关,当m a 在不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络运维自动化平台创新创业项目商业计划书
- 社交媒体汽车话题挑战赛创新创业项目商业计划书
- 电脑数据安全云备份服务创新创业项目商业计划书
- 编程公益支教服务创新创业项目商业计划书
- 环保活动国际传播翻译创新创业项目商业计划书
- 现场宣传安全知识培训课件
- 2025年汽车共享平台智能出行服务与城市交通发展报告
- 2025年直播电商行业主播影响力与社群营销策略研究报告
- 2025年数字化教材在国家安全教育中的应用与教学效果评价
- 现场会汇报课件
- 新GMP自检检查表
- 泵站操作工安全操作规程
- 第一章-马克思主义的诞生-(《马克思主义发展史》课件)
- 山东科学技术出版社五年级上册《综合实践活动》教案
- 茶叶加工学试卷
- 专升本00107现代管理学历年试题题库(含答案)
- 部编四年级语文教材分析课件
- 农民用水户协会实施方案
- 班组长执行力管理培训
- 中药热熨敷技术(精品课件)
- 建筑工程施工转包违法分包等违法行为监督检查工作方案
评论
0/150
提交评论