(计算机应用技术专业论文)移动agent的容错方法研究.pdf_第1页
(计算机应用技术专业论文)移动agent的容错方法研究.pdf_第2页
(计算机应用技术专业论文)移动agent的容错方法研究.pdf_第3页
(计算机应用技术专业论文)移动agent的容错方法研究.pdf_第4页
(计算机应用技术专业论文)移动agent的容错方法研究.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(计算机应用技术专业论文)移动agent的容错方法研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

移动a g c m 的容错方法研究中文摘要 i l l 移动a g e n t 的容错方法研究 学科专业:计算机应用研究方向:计算机网络与分布式计算 指导老师:李建国教授作者:吴代贤( 2 0 0 1 3 7 3 ) 内容摘要 近年来,随着i n t e m 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 容错性问题的m a f t 模型。在这一模型中。我 们设计了一个依赖于a g e n t 的容错模块f t m 以便在不对现有移动a g e n t 平台进 行修改的情况下实现容错。其中,我们首先将移动a g e n t 的容错执行问题转换为 一系列的协议协商问题;然后在c o n s e n s u s 算法的基础之上通过改进给出了d i v c o n s e n s u 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 及其复制体的状态管理器( c m ) 以记录当前a g e n t 及其复制体的位置、 状态和容错信息。通过c m 、f t m 模块与用户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 容错库所协议 堡垫垒! ! 坐塑窒堕查i i 塑壅二茎塞塑墨 ! r e s e a r c ho nf a u l t t o l e r a n c e m e t h o df o rm o b i l e a g e n t m a j o r :c o m p u t e ra p p l i c a t i o nd i r e c t i o n :c o m p u t e r n e t w o r ka n dd i s t r i b u t e dc o m p u t i n g s u p e r v i s o r :l ij i a n g u o a u t h o r :w ud a i x i a n ( 2 0 0 1 3 7 3 ) a b s t r a c t i nr e c e n t y e a r s ,w i t h t h e p o p u l a r i z a t i o n o fi n t e r n e ta n dt h e f l o u r i s h i n g d e v e l o p m e n to f m o b i l ec o m p u t i n gt e c h n o l o g y ,t h er e s e a r c hu p s u r g eo nm o b i l ea g e n t i sl a u n c h e dn o to n l yi na c a d e m eb u ta l s oi n i n d u s t r y d i f f e r e n tf r o mt h ee x i s t i n g p a r a d i g m sl i k em e s s a g ep a s s i n g ,r e m o t ep r o c e d u r ec a l l s ,a n dd i s t r i b u t e do b j e c t s , m o b i l ea g e n tp a r a d i g mo f f e r sm o r e p r o p e r t i e s m o b i l ea g e n tc a na c ta u t o n o m o u s l yo n b e h a l fo fau s e ra n dt r a v e lt h r o u g han e t w o r ko f h e t e r o g e n e o u sm a c h i n e s ,w h i c ha l s o l e a d st om a n y p r o b l e m sf o rt h ea g e n t se x e c u t i o n t h em o b i l ea g e n tc a r lb ep r e v e n t e d f r o m p r o c e e d i n g w i t hi t se x e c u t i o n b y s o m er e a s o n a t p r e s e n t ,s o m e v a l i d a p p r o a c h e s t ot h i sm a t t e rh a v e b e e np r o p o s e d f o r i n s t a n c e ,r e p l i c a t i o na c c e p t e d p o p u l a r l yc a ns o l v et h eb l o c k i n gp r o b l e ms u c c e s s f u l l y b u ti ti sf o l l o w e db ya n o t h e r p r o b l e m - - b e c a u s ei t i s v e r yd i f f i c u l t f o ru st of i n dac o r r e c tf a i l u r ed e t e c t i o ni n a s y n c h r o n o u ss y s t e ms u c hf l st h ei n t e m e t ,t h em o b i l ea g e n tf a i l sa n dr e c o v e r sl a t e r , t h e ya l ll e a dt oav i o l a t i o no ft h ee x a c t l y - o n c ep m p e r t yf o rt h ea g e n t se x e c u t i o n i nt h i st h e s i s ,a u t h o r f i r s t l yo u t l i n e st h e c u r r e n tr e s e a r c hs t a t u sa th o m ea n d a b r o a d ,i n t r o d u c e s s o m er e l a t i v e t h e o r i e s 。t h e n ,a n n y n n g t h e a d v a n t a g e s a n d d i s a d v a n t a g e so fc u r r e n tf a u l t - t o l e r a n c em o d e lf o rm o b i l ea g e n t ,w ep r e s e n tam a f t m o d e lb a s e do nm o b i l ea g e n ta sas o l u t i o nf o rt h e s ed i s a d v a n t a g e s w ei n t r o d u c ea c o m p o n e n tc a l l e df a u l tt o l e r a n c em o d u l e ( f t m ) i no u rm o d e l i ti sa g e n td e p e n d e n t s ot h a tw ec a l la c h i e v ef a u l t - t o l e r a n t m o b i l e a g e n te x e c u t i o nw i t h o u tm o d i f y i n g e x i s t i n g m o b i l ea g e n tp l a t f o r m s a t f i r s t ,w ep r e s e n tf a u l t t o l e r a n tm o b i l ea g e n t 壁塑丝竺! 竺查堡查壁里壅二二茎奎塑茎 ! ! e x e c u t i o na sas e q u e n c eo fa g r e e m e n tp r o b l e m s ;t h e n ,w ed e s i g nad i vc o n s e n s u s a l g o r i t h mi n o r d e rt os o l v et h ea g r e e m e n tp r o b l e m s ;a tt h es a m et i m e ,w eg i v ea p i p e l i n e dm o d e f o rr e l i a b l yf o r w a r d i n gt h ea g e n tb e t w e e n s t a g es ia n ds i + 1 i na d d i t i o n , w ed e s i g nac mf o re v e r ys t a g eo fa g e n t se x e c u t i o ni no r d e rt or e c o r da l la g e n t r e p l i c a s l o c a t i o n ,s t a t u sa n d f a u l t t o l e r a n ti n f o r m a t i o n b yt h ei n t e r a c t i o no ft h ec m , t h ef t ma n du s e r - d e f i n e d a g e n t w ec a r la c h i e v e n o n b l o c k i n ga n de x a c t l y o n c e e x e c u t i o no fa g e n ts u c c e s s f u l l ya tt h es a m , et i m e t h e na u t h o rm a k e ss o m es i m p l e s i m u l a t i v ee x p e r i m e n t sa b o u to u rf a u l t - t o l e r a n c em o b i l ea g e n te x e c u t i o nm o d e l a t l a s t ,t h ep a p e rp u t sf o r w a r dt h es u m m a r i z i n go f t h i st h e s i sa n dn e x t s t e p sw o r k k e y w o r d :m o b i l ea g e n t ,f a u l tt o l e r a n c e ,p l a c e ,a g r e e m e n t 1 1 引言 第一章前言 近年来,i n t e m e t 成指数的增长,而且通过w w w 获得的各种信息的可用性 也在迅速增加,这就导致了对以网络为中心的应用程序的需求,它们能通过网络 访问异构的资源。新的技术、语言和范例已经开发出来满足这种需求,其中最有 前途的技术就是移动a g e n t 技术。 传统的分布式计算包括消息传递、远程过程调用( r p c ) 和移动对象。r p c 通常是同步的,即向服务器发出请求后,客户将自己挂起等待调用的结果返回。 在r p c 中,数据在客户机和服务器之间传递。移动对象是指能从网络的一个结 点传递到另一个结点的对象。移动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 可能会产生以下几个层次的失效: 1 ) 通信故障( l i n kf a i l ) 。移动a g e n t 的应用范围包括不可靠的通信方式如 无线网和自组网,所以必须考虑网络传输线路的中断和延迟。通信故障 发生时,对发送方主机来说是接受方主枧故障,而对接受方主机来说是 发送方主机故障: 2 ) a g e n t 故障( a g e n tf a i l ) 。a g e n t 自身携带的验证码或表示发生错误,无 法判断a g e n t 的合法性,或a g e n t 本身不完备,无法完成指定的任务; 3 ) 库所故障( p l a c ef a i l ) 。库所故障如执行此a g e n t 的进程或线程发生故障, 第一章前言 该库所上的所有a g e n t 无法执行;( 其中库所即用以完成a g e n t 的一部 分操作或对其起转发作用的一个逻辑运行环境,如某机场的机票预定处 可以提供不同航空公司从甲地到乙地的机票,预定处可看成主机,不同 的航空公司可看成库所,功能相同的库所就构成阶段) 4 ) 阶段故障( s t a g ef a i l ) 。阶段故障是当前a g e n t 所在阶段的所有库所都失 效,此阶段无法执行; 5 ) 主机故障( m a c h i n ef a i l ) 。主机故障发生时主机上的所有库所都失效, 该主机上的所有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 ) 不阻塞( n o n - b l o c k i n g ) :移动a g e n t 在运行过程中没有受到阻塞或能够 有效地克服阻塞。 2 ) 只一次( e x a c t l y - o n c e ) :移动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 的容错性已经成为阻碍它广泛使用的一个最大障 碍。所以本文的研究工作决定将重点放在移动a g e n t 的容错性研究上。本文的工 作正是基于这样一个背景而开展的, 第一章前言 1 2 国内外相关领域研究现状 目前,解决移动a g e n t 系统容错性问题的方法多数是基于复制的,其中主要 有检查点方法、基于暂态复制方法和基于空间复制方法。现分别介绍如下: 1 ) 检查点方法( c h e c k p o i n t i n ga p p r o a c h ) :当a g e n t 在库所执行时,它的初 始代码存储在稳定存储器中,执行状态周期性地被存储到检查点,库所 如果失效,a g e n t 将从稳定存储器中恢复。但在实际运行过程中,检查 点需要将运行状态及时发送到库所的存储位置,库所如果失效,则检查 点方法无法恢复。故这种方法只能处理到库所失效级。 2 ) 基于暂态复制的窖错方法:它以检查点方法为基础,但将各份保存在前 一库所,如图1 1 所示。库所砟i 监视p i 和p l ,当库所p i 发生故障时,p i 1 将a g e n ta i 送至p i 继续执行。可见,暂态复制方法能够克服库所故障, 如果库所处在不同的主机上还能克服主机故障。换句话说这种方法能够 克服移动a g e n t 的阻塞问题但它不能保证只一次原则,一个原因在于 它可能导致多a g e n t 执行,比如p i 从故障中恢复继续执行a g e n t 然后提 交,就造成了a g e n t 两次执行:另一个原因是故障检测可能是错误的, 这将导致对a g e n t 执行情况的错误判断而启动另外的a g e n t 复制体开始 执行,从而违反了只一次原则。 s t a g e s k 2 圆 a g e n t s d u r o c 令逦s t a g e s j 夕茜吟 同b 囿冷圆a g e n t 图1 1 基于暂态复制的容错模型 3 ) 基于空间复制的容错方法:如图1 2 所示,移动a g e n t 将每个阶段的执 第一章前言 行结果全部复制到下一阶段的所有库所上。这样,即使有一个库所失效, 其他库所也收到了a g e n t 复制体,也可以继续执行。通常每个阶段只有 一个a g e n t 执行,具体由哪个a g e n t 执行是由每个阶段的选举法则 ( v o t i n gp r o t o c 0 1 ) 决定的。显然这种方法也能克服库所故障和主机故障 甚至在某种情况下能够克服一些由多种原因引起的不确定性故障。但同 样它也不能保证只执行一次原则,因为故障库所同样可能从故障中恢复 而导致a g e n t 继续执行然后提交,另外这种方法同样也存在故障检测不 可靠的问题。 s t a g es 0 s t a g es 18 r a g es 2 8 r a g es 3 8 r a g es 图1 2 基于空间复制的容错模型 综上所述,现有的移动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 执行过程中的容错性,我们从保证移动a g e n t 执行“只一次”和“非 阻塞”两个原则的角度出发,构造了一个m a f t 模型。在此模型中,我们设计 了一个依赖于a g e n t 的容错模块( f t m ) 以便在不需要对现有的移动a g e n t 平台 进行任何修改的情况下实现容错。在我们的f t m 容错模块中,我们首先把移动 a g e n t 的容错执行问题转换成为了一系列的协议协商问题,然后在c o n s e n s u s 算 法基础之上通过改进建立了自己的d i v c o n s e n s u s 算法以实现移动a g e n t 的协商 机制,并在移动a g e n t 的执行过程中建立起了高效可靠的传输机制。另外,我们 画淼( 盘冷。 圃圆圃 k 7今 圃圃赎 穸今 圃圃圃 今 匝舷 第一章前言 还在移动a g e n t 执行的每一阶段设立了一个移动a g e n t 及其复制体的状态管理器 ( c m ) 以记录当前a g e n t 和a g e n t 复制体的位置、状态及其容错信息。通过c m 、 f t m 与用户定义a g e n t 在a g e n t 执行过程中的交互活动,我们在保证移动a g e n t 非阻塞执行的同时也保证了其只执行一次的属性要求从而最终保证了移动a g e n t 的正确顺利执行。 1 4 论文的创新 移动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 执行过程中的“非阻塞”和“只执行一次”原则就显得非常必要和有意义。 本论文正是基于这一点进行了相应的研究工作,其中本论文的创新之处主要体现 在以下几个方面: 1 将移动a g e n t 的容错执行转换为一系列的协议协商问题。 2 在c o n s e n s u s 算法基础之上提出一种d i vc o n s e n s u s 算法以实现移动 a g e n t 复制体之间的协商机制。 3 提出了一种实现移动a g e n t 高效可靠传输的通道模式。 1 5 论文的内容安排 在余下的章节中,将在第二章给出相关的理论支持;在第三章分析了现有的 移动a g e n t 容错的相关技术及其存在的问题:在第四章提出了一种基于协商策略 的移动a g e n t 的容错模型,并在其中将移动a g e n t 的容错执行转换为一系列的协 议协商问题、并给出了用以实现协商策略的d i v c o n s e n s u s 算法以及a g e n t 的可 靠传输机制;第五章给出了实验数据及分析;第六章是对工作的小结和对未来工 作的展望。 墨三兰塑墨兰丝 皇_ 第二章相关理论 2 1 软件a g e n t 的概念与分类 2 1 1 软件a g e n t 的概念及属性 软件a g e n t 是能为用户执行特定的任务、具有一定程度的智能以允许自主执 行部分任务并以一种合适的方式与环境相互作用的软件程序。 一般而言,软件a g e n t 可以具有下面的一些属性: 自治性( a u t o n o m o u s ) :可以不需要直接的外部干预而自主行动。 交互性( i n t e r a c t i v e ) :可以与运行环境或其它a g e n t 进行通信和交流。 适应性( a d a p t i v e ) :可以对其它a g e n t 或它的环境做出反应。高级的适 应性( 也可称为学习性) 允许a g e n t 根据它所取得的经验修正自身的行 为。 社会性( s o c i a b l e ) :可以与用户或其它a g e n t 进行友好交互的能力。 移动性( m o b i l e ) :可以将自己由一个环境送往另一个环境。 a g e n t 性( p r o x y ) :可以代表某个实体实施行动。 主动性( p r o a c t i v e ) :面向目标的,有目的的,而不是仅仅对环境进行被 动的反应。 智能性( i n t e l l i g e n t ) :内部状态被形式化为知识( 即信念、目标、计划、 假设等) ,并可以使用某种符号语言与其它a g e n t 交互。 推理性( r a t i o n a l ) :可以根据其内部的目标与知识,选择最有利于其目 标实现的行为。 时间持续性( t e m p o r a l l yc o n t i n u o u s ) :是一个连续运行的过程。 透明性与可审计性( t r a n s p a r e n ta n d a c c o u n t a b l e ) :当需要时,可以是透 明的( 主要位置透明性) ,而且可以对它的活动进行日志。 第二章相关理论 协调性( c o o r d i n a t i v e ) :能够在一个与其它a g e n t 共享的环境中完成某 些活动。这些活动通常通过计划、工作流等过程控制机制进行协调。 协作性( c o o p e r a t i v e ) :可以与其它a g e n t 合作以完成共同的目标。 可信性( t r u s t w o r t h y ) :提供某种机制来保证它自身及其行为是可以信赖 的。 竞争性( c o m p e t i t i v e ) :可以与其它a g e n t 进行竞争,即某个a g e n t 的成 功意味着其它a g e n t 的失败。 2 1 2 软件a g e n t 的分类 根据软件a g e n t 扮演的不同角色,可分为以下几类: 协作a g e n t ( c o l l a b o r a t i v e 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 ( i n t e r f a c ea g e n t ) :界面a g e n t 也可称为个人助手,能协助用 户完成一定的工作。 信息a g e n t ( i n f o r m a t i o n a g e n t ) :帮助用户搜集和处理分散的信息资源。 移动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 ( h y b r i da 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 及移动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 进行自主地通信的能力。这样用户的任 务就可由一组移动a g e n t 协作完成。 移动a g e n t 通常由三个部分组成:代码状态( p r o g r a m s t a t e ) 、数据状态( d a t a s t a t e ) 和执行状态( e x e c u t i o ns t a t e ) 。代码状态指所属a g e n t 的实现代码:数据 状态包含全局变量和a g e n t 的属性;执行状态包含局部变量值、函数参数值和线 程状态等。 移动a g e n t 一般具有如下3 个特征:( 1 ) 满足软件a g e n t 的目标驱动特征;( 2 ) 能够转移到不同的地址空间中执行;( 3 ) 转移后其执行状态是连续的,即从转移的 下一条指令继续执行,转移过程中保持自身的状态。 移动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 1 所示。 a g e n t 初始节点7 主机1主机2主机3 初始状态结果状态 迁 移 - a g e n l 7 目的节点 图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 ) 进行通信协作。这一步的计算完成以后,该移 第二章相关理论 9 动a g e n t 自主地决定下一步的动作,直至其任务完成。 从通信协作的角度看,通信的主体是自主的a g e n t ,可以实现对等( p e e r 2 2 2 移动a g e n t 技术的优点 移动a g e n t 技术给分布式系统的设计、实现和维护都带来了新的活力。 减轻网络负载:移动a g e n t 技术能较大地减轻网络上的原始数据的 流量。分布式系统通常依赖于通信协议,这些协议在完成给定任务的过程中 涉及多次交互行为,这将导致网络交通拥挤。如图2 2 所示,移动a g e n t 使 我们可以将一个会话过程打包,然后将其派遣到目的主机上去进行本地交 互。此外当进行远地主机的大量数据处理时,这些数据不应在网络上传来 传去,而应在本地被处理完成。理由很简单;应把计算移到数据上去进行, 唾竭兰霎嘉三;垂垂囤 移动a g e n t 方式 主机b 图2 2 移动a g e n t 减轻网络负载 克服网络隐患:对那些重要的实时系统而言,如使用大规模工厂网 络对加工制造机器人进行控制的实时系统,系统需要对环境的变化作出实时 第二章相关理论 o 的反应。但这种网络控制有很多的隐患,对实时系统而言是无法接受的。但 移动a g e n t 技术是一个很好的解决方法,因为a g e n t 可以从中央控制器被传 送到各局部点激活,并在当地直接执行控制器的指令。 具有完整的封装协议:当数据在分布式系统中进行交换时,每一台 主机都有自己的网络协议,该协议将对传出数据进行编码,对传入数据进行 解码。但是,协议经常为满足新的效率和安全需求而需要改进,而实现该协 议的代码升级工作要么几乎不可能,要么相当困难,这样就会产生“遗产” 协议,而移动a g e n t 能够直接移动到远地主机,建立起个基于私有规程的 数据传输通道。 异步自主运行:通常,移动设备上的计算皆依赖于昂贵而脆弱的网 络连接,它要求在移动设备和固定网络之间建立持续的连接,这种要求从经 济和技术的角度来讲都不易实现。但如图2 3 所示,此种任务可以嵌入到移 动a g e n t 中去,然后将它通过网络派遣出去。此后,移动a g e n t 就独立于生 成它的进程,并可异步自主操作了。而移动设备则可在稍后的时间里再连接 并回收a g e n t 。 旺习卜夏甚矿一汨回 旺j 卜一。溱o f 睦圈 匝耍刁一黼丽f i 丌虱 图2 3 移动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 3 移动a g e n t 系统 移动a g e n t 系统由移动a g e m 和移动a g e m 平台( 也可称为:移动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 的约束机制、容错策略、安全控 制、通信机制,并提供基本服务模块,如:事件服务( e v e n ts e r v i c e ) 、黄叶服务 ( y e l l o wp a g es e r v i c e ) 、事物服务( t r a n s a c t i o ns e r v i c e ) 和域名服务( d n 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 平台上运行的软件实体,它可以从一个移动 a g e n t 平台移动到另一个移动a g e m 平台,在移动a g e m 平台中执行,并通过a g e n t 通信语言( a c l ) 与其它移动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 4 移动a g e n t 系统的实现及其技术难点 a g e n t 系统的研制方兴未艾,例如g e n e r a l m a g i c 公司开发的t e l e s c r i p t , d a r t m o u t h 大学开发的a g e n tt c l ,m i n n e s o t a 大学开发的a j a n t a ,i b m 公司开 发的a g l e t s 等a 然而构筑一个成功的a g e n t 系统并非易事,为实现移动a g e n t 利用先进的思想提供智能化的服务和任务规划求解,必须解决好以下几个主 要的关键技术: 移动a g e n t 理论模型:目前一般基于b d i 系统。b d i 系统也称为意识系 第二章相关理论 统,是把a g e n t 看作理性主体,通过信念( b e l i e f ) 、愿望( d e s i r e ) 或意 图( i n t e n t i o n ) 属性来预测a g e n t 的行为。把主体看作意识系统的主要好 处有: 对于设计者和分析者来说,这是自然的。 对于描述复杂系统的行为提供了简洁的表示,有利于理解和解释。 不依赖于具体物理实现就可以得到许多主体的规则和模式。 可被a g e n t 自身用来相互推理。 目前大多数学者利用模态逻辑理论来研究b d i 理论模型,并得出了一些 有益的结论。 克服计算环境的异构:移动a g e n t 是将整个i n t e m e t 作为计算平台的, 移动a g e n t 很可能要在不同的计算环境中自主地执行,因此必须首先解 决移动a g e n t 的跨平台问题。j a v a 语言使用虚拟机较好地解决了异构计 算环境的问题,因而现在多数a g e n t 系统都是基于j a v a 语言实现的。 提供不同移动a g e n t 互操作的能力:广阔的i n t e m 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 系统互操作的能力。为此目的,g m df o k u s , i b m 公司以及t h eo p e n g r o u p 等机构联合向o m g 提交了一份规范移动 a g e n t 技术、促进互操作的标准文档提案。 实现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 移动规程;( 2 ) a g e n t 的通信模型:移动a g e n t 之间存在着协作 关系,该模型应保证a g e n t 在移动时正确的通信和协作关系。( 3 ) 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 之间通讯的安全保护以及站点的安全保护。移 动a g e n t 的安全性是急需解决但又较难解决的问题之一,它直接影响移 动a g e n t 系统的实用性。 保证移动a g e m 的容错性。移动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 。为用户提供一种方便的移动a g e n t 编程语言以及相应 的开发环境是移动a g e n t 系统所要解决的问题。 2 3 移动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 也可在创建者计算机关闭时进行 远程信息查询。 并行处理:由于移动a g e n t 能在网络环境中生成多个副本,该技术的一个潜 在应用是管理并行处理任务。如果计算需要大量的处理能力必须分配到多个处理 器上时,支持移动a g e n t 的主机构

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论