




已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)一种基于选择移动的mobile+agent系统的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 m o b i l ea g e n t 是一种能在异构网络中移动,自主决定其行为的程序。与其它 技术相比,它具有自主性、移动性、协作性、安全性和智能性等特点。 在传统机制中,m o b i l ea 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 在旅行途中可根据运行 的具体情况和所处环境动态添加、删除a g e n t 执行代码中的子模块。 在分析选择移动迁移机制性能的基础上,本文介绍了一种作者自行开发的基 于选择移动迁移机制的m o b i l ea g e n t 系统d m o g e n t 系统。该系统由中心服务 器、a g e n ts e r v e r 与m o b i l ea g e n t 实体三部分组成,分别完成全局数据维护、运行 环境提供以及功能载体的任务。f 文中第三章对三部分的组成与设计进行了详细描 述。 本文第四、第五章还介绍了几种在d m o g e n t 系统的设计与实现中用到的关键 技术,包括传输协议、移动机制、消息机制以及d m o g e n t 系统中r m i 与c o r b a 技术的应用等。 文章的最后,我们给出了d m o g e n t 系统在网管中的具体应用及实现,并针对 一四机系统,通过不同情况下得到的d m o g e n t 系统的时间特性。比较了选择移动 与整体移动性能上的优劣。得出了传输代码变化以及s u b c o d e 功能变化对选择移 动性能的影晌情况。矿豸 关键词:m o b i l ea g e n t 移动代理选择移动d m o g e n t a b s t r a c t m o b i l e a g n e t s a r e p r o g r a m s t h a tc a n m i g a t e f r o mh o s tt oh o s ti nan e t w o r k ,a t t i m e sa n dt op l a c e so f t h e i ro w n c h o o s i n g m o b i l ea g e n tc o n m i n s s o m e p r o p e r t i e s , s u c ha sa u t o n o m y , m o b i l i t y , c o m m u n i c a t i o na n dr e a c t i v i t y i ne x i :;t e ds y s t e m am o b ;l ea g e n ta l w a y sm i g r a t e sb e t w e e nh o s t sa saw h o l e ,a n d a g e n t sa l w a y s c o n s u m e st o om u c hb a n d w i d t ha n dl i m i t st h eu s eo fm o b i l e a g e n t s y s t e m s i nt h i sw a y i nt h ep a p e r , w e p r e s e n t ac o n c e p t i o no f o p t i o n a lm i g r a t i o n m e c h a n i s m ,t h a tm e a n sa g e n tc o d e sa r ed i v i d e di n t om a n ys u b c o d e sa n dm i g r a t ea s s u b c o d e s w h i c hc s j ib ea d d e do rd e l e t e di na n yt i m ea n di na n y p l a c e t h i sp a p e ra l s oi n t r o d u c e sas y s t e mb a s e do no p t i o n a lm i g r a t i o nm e c h a n i s m , c a l l e d d m o g e n t ,w h i c h i sd e s i g n e db yw r i t e r t h es y s t e mc o n s i s t so fc e n t r a ls e r v e r , a g e n ts e r v e ra n dm o b i l ea g e n t ,a n dt h ea r c h i t e c t u r eo f t h es y s t e mi sd e s c r i p t e di n c h a p t e r 3 b y t h ew a y , t h e i m p l e m e n to f t h es y s t e mi ss t u d i e di nc h a p t e r4a n d c h a p t e r5 i n c h a p t e r6 ,as y s t e mo f n e t w o r km a n a g e m e n t ,w h i c h i sd e v e l o p e do nm o b i l ea g e n ta n d c o r b a ,i si n t r o d u c e d a tl a s ta l le x p e r i m e n ta b o u tp e r f o r m a n c eo f s y s t e mi s a n a l y s e d k e y w o r d s :m o b i l ea g e n t d m o g e n to p t i o n a lm i g r a t i o n l i f 二 第一章绪论 分布式计算是计算机网络时代的关键技术。当前的分布式计算都基于传统的 c l i e n t s e r v e r 模式,通过远程调用( r e m o t ep r o c e d u r ec a l l ) 或消息传递( m e s s a g e p a s s i n g ) 等方式实现跨平台的操作,比较适合稳定的网络环境和应用场合。随着计 算机网络的发展( 特别是i n t e r n e t 应用的急速增长) 和新型网络应用( 移动设备接入) 的出现,c l i e n t s e r v e r 模式的缺点日益明显。譬如客户机和服务器在计算过程中必 须一直维持连接,计算过程有大量的中间结果需要传输,浪费带宽,因而,难以适应 移动计算的低带宽、高延迟、不稳定的网络环境。c l i e n t s e r v e r 模式的可维护性 和可扩充性也比较差,不利于当今快速多变的网络应用服务领域。基于这种情况, 移动代理技术被提了出来。它集软件、通信、分布系统的技术于一体弥补了传统 的c l i e n t s e r v e r 技术的不足,有着巨大的应用前景。可以毫不夸张地说,移动代理的 研究已成了当今软件技术的一个研究热点。 1 1 m o b i l e a g e n t 概述 m o b i l ea g e n t 是一种能在异构网络中移动,自主决定其行为的程序1 2 】f 4 】i 5 1 1 2 引。 它具有自主性、移动性、协作性、安全性和智能性等特点【2 】【3 1 5 l 【2 9 1 3 0 】。 ( 1 ) 自主性,这是指a g e n t 可按照自己的意愿完成特定的任务而无需用户的 过多干预; ( 2 ) 移动性,这是指a g e n t 可以在任意站点上暂时中断执行,在异构网络( 如 n t e r n e t ) 上移动t 并在目的站点上停留下来再恢复执行; ( 3 ) 协作性。这是指若干个移动a g e n t 可以在网络中互相通信和合作,共同 完成某一任务: ( 4 ) 安全性t 这是指对a g e n t 本身及a g e n t 运行环境的安全性保障: ( 5 智能性,这是指a g e n t 具有一定的自适应能力,可对环境的变化做出适 当的反应这是m o b i l ea g e n t 技术的最重要特征之一。 1 2m o b i l e a g e n t 的优势 m o b i1 ea g e n t 具有移动性与自治性,这使得它与其它技术相比具有一系列优 点1 2 9 l 【30 1 ( 1 ) 节约网络带宽:移动代理直接在数据端执行处理,和客户端没有中间数 据结果的传递,只返回最后的结果。因而,在要处理的数据量特别大、网络带宽不 足的情况下,移动代理可以有效地节约网络带宽。 ( 2 ) 支持离线计算:用户派遣出代理程序后,可以断开网络连接,而代理将在 网络上自主运行。代理完成任务后,当它发现用户设备重新连上网络时,就返回计 算结果。 , ( 3 ) 实现载荷卸载:对于一些计算能力弱的设备,如个人数字助理,可以把j p 算打包成移动代理程序,发送到计算能力强的设备上进行计算。 ( 4 ) 提供定制化服务:使用移动代理,客户端可以根据服务器端提供的底层 操作函数,编写满足自己特定需要的服务程序,然后发送到服务器端运行。这种方 式增加了分布应用的伸缩性。 ( 5 ) 易于分发服务:在采用移动代理技术的分布式应用中,服务的更改变得 非常简单。比如在电信网的管理中,当业务需要改变时,只需把新的服务程序发送 到相应的服务节点上,用不着人力去一个个节点她安装。 ( 6 ) 增加应用的强壮性:移动代理的工作方式减少了应用对网络连接可靠性 的要求它的自主性又使它具备对环境的反应能力,因此能建立更容错的分布系 统。 ( 7 ) 提供平台无关性:移动代理程序是跨平台运行的,移动代理应用编程不 存在程序的移植问题,便于应用的快速开发。 移动代理的这些优点使得它有重大的应用价值,它的应用范围包括:电子商 务、个人软件助理、分布式信息检索、电信网络服务、监视和通告、信息发布、 移动设备计算、网络管理、并行任务求解、工作流管理和协作、动态网络等。 必须指出的是,上述的优点并不是移动代理技术所特有的,一些特点用传统 的方法也可以实现,但唯有移动代理技术提供了个全面的解决方案。 1 3 几种技术的比较 ( 1 ) 过程移动 进程迁移p i p o ! 就是将一个进程从当前位簧移动到指定的处理器上。它的基本 思想是:在进程执行过程中移动它- 使得它在另一个计算机上继续存取它的所有 资源并继续运行t 而且不必知道运行进程或任何与其它相互作用的进程的知识就 可以启动进程迁移操作,这意味着迁移是透明的。 m o b i l ea g e n t 系统与过程移动系统最大不同在于对a g e n t 移动的选择权, 过 程移动系统中移动的决定权在系统,由它决定何时移动及移往何地( 比如为了平 衡c p u 的负载) ,而m o b i l ea g e n t 系统中移动的决定来自于a g e n t 自身。 ( 2 ) a p p l e t a p p l e t 是用一种含有可视化内容的、并被嵌入w e b 页中用来产生特殊页面效 果的小程序。 m o b i l ea g e n t 与a p p l e t 的不同在于【3 l 【3 0 】:a p p l e t s 是作为被下载的程序来到用 户端的。代码移动是在代码运行前进行的,移动的只有代码本身;此外,下载后, a p p l e t 一般只在一台主机上运行,不会连续移动。 ( 3 ) r p c ( r e m o t e p r o c e d u r e c a l l ) r p c 是广泛应用于分布式系统中的一种交互机制,基本思想是:运行时,客 户机通过传输控制流的形式对远端的服务器上的p r o c e d u r e 发出调用请求,服务 器在远端调用p r o c e d u r e ,并返回结果【3 】【3 3 1 3 们。 ho s t l h o s t 2h o s t 3h 0 9 4 h o s t l h o s t 2 h o s t 3 h o g 【4 图1 1r p c 模型 图1 2m o b i l ea g e n t 模型 基于r p c 模型的处理方法如图1 1 所示,在h o s t l 上调用不同网络主机上的 方法m - 、m z 、m ,每一次调用h o s t l 与网络主机都必须有一次交互,影响了 系统的效率,而基于m o b i 】e a g e n t 的系统运行流程如图1 2 所示,a g e n t 被发至 方法所在主机就地运行。减少了网络交互,提高了系统性能。 1 4m o b i l e a g e n t 系统发展现状 移动代理系统( m a s ) 的研究异常活跃,迄今为止,已有约6 0 多种移动代理 系统存在,绝大多数系统都是在j a v a 语言之后出现的,大部分系统都还只是原形 系统它们的针对性不同,实现方法也各有千秋下面我们将讨论当前比较成熟 而具有代表性的一些系统。 ( 1 ) t e l e s c r i p t 系统 t e l e s c r i p i t 【l 】【2 町由g e n e r a lm a g i c 公司开发,是第1 个商品化的m a s ,首次应 用于a t & t 公司p c r s o n a ll i n k 网络中。它是个与平台无关的系统,包括面向 对象的移动代理语言及解释器。在t e l e s c r i p t 中,每个网络节点运行一个服务器, 管理着一个或多个虚拟的p l a c e ,也即代理运行环境。a g e n t 用g o 命令来使自己移 动,在进入p l a c e 前,a g e n t 要向p l a c e 提供加密证书,并被分配一定的权限。a g e n t 用m e e t 指令和同一p l a c e 中的a g e n t 交互,用c o n n e c t 指令和不同p l a c e 中的a g e n t 进行会话。f e l e s c r i p t 还提供基于设备的验证手段和复杂的授权策略。从技本角度 讲,t e l e s c r i p t 已经是一个非常完整的移动代理系统。它的缺点是消耗计算机资源 太多( 要求96m 的内存资源) ,售价也高。随着基于j a v a 的m a s 出现,它已没有 、 了生命力。 在t e l e s c r i p t 之后,g e n e r a l m a g i c 公司又开发了纯j a v e 版的移动代理系统一一 o d y s s e y 。o d y s s e y 扩展了j a v a 的r m i ,提供了对l o r b a 的i i o p 和m i c r o s o f t 的 d c o m 的支持。目前有关o d y s s e y 的文献不多,从已有的文献看,o d y s s e y 继承了 许多t e l e s c r i p t 中的概念。 ( 2 ) a g l e t a g l e t l l l f 2 i 】f 2 2 j f 2 3 】是最早开发的基于j a v a 的移动代理系统,也是最受欢迎的移 动代理系统之一。它的设计非常简洁,紧紧追寻j a v a 模型。a g l e t 移动代理被视 为一个移动的j a v a 对象。一个a g e n t 包含核t :, ( c o r e ) 、代j 翌( p r o x y ) 、路由计划 ( i t i n e r a r y ) 和全球唯一的标识符( i d e n t i f i e r ) 。核心拥有a g e n t 所有的内部变量和方 法,并提供它与环境交互的接口。p r o x y 则封装了核心,防止对a g e n t 私有方法 的直接读取。在a g l e t 系统中,c o n t e x t 是a g e n t 工作场所,它是一个静态对象, 维护和管理a g e n t 的运行并保护主机系统不受恶意g e n t 的攻击。 a g l e t 对象支持的行为包括创建( c r e a t i o n ) 、克隆( c l o n i n g ) 、派遣( d i s p a t h i n g ) 、 回收( r e t r a c t i o n ) 、挂起( d e a c t i v a t i o n ) 、激活( a c t i v a t i o n ) 、终结( d i s p o s a lo f ) 和消息 传递( m e s s a g i n g ) 。克隆将产生一个除标识符外和原a g e n t 完全一样的对象。a g l e t 模型采用事件驱动方式。当一个a g e n t 要移动时。它将调用d i s f ,a t c h 方法。a g l e t 系统通过代理传j 洲( a t p ) 把a g e n t 传送到目的地,每个a g e n t 有全局独一无_ + 的名字a g e n t 在迁移过程中并不去俘获自身线程的状态,因此它到达目的地后 将从特定的入口点开始重新运行程序a g l e t 的移动代理模型提供的是一个简单的 框架结构- 丌发者可重写预定义的方法来增加所需的功能 a g l e t 安全模型建立在标准的j a v a 安全机制之上通过访问权限的限制来保 护主机和代理免受恶意攻击。 ( 3 ) m o g e n t : m o g e n t l 3 2 | 3 3 3 4 j 毛由南京大学计算机软件新技术国家重点实验室设计和开发 的一种移动a g e n t 系统,以j a v a 语言及其环境为基本的语言支撑。m o g e n t 由h o s t 与m o g e n t 实体两部分组成。其中,h o s t s e r v e r 包括迁移支撑环境、通信协作支 撑系统、安全保障支撑系统以及开发监控支撑系统四部分。m o g e n t 实体采用了结 构化的设计,使迁移的表达和处理结构上完全独立于a g e n t 功能体。因此,功能 块与路由模块可以单独设计和使用。 m o g e n t 的特点包括:采用逻辑名和物理名双层名空间的命名机制,由前者保 证命名的全局唯一性,后者反映a g e n t 位置的动态变化;对a g e n t 的迁移行为进 行分析。将行动行为规范为顺序、选择与分发;研究了通信失效问题,并利用通 讯量设置加以防止;允许针对旅行计划的可视化编程,实现功能与路由的单独设 计和使用。 1 5 本文的主要工作与意义 m o b i l ea g e n t 可以被广泛应用于:电子商务、个人软件助理、分布式信息检 索、电信网络服务、监视和通告、信息发布、移动设备计算、网络管理、并行任 务求解、工作流管理和协作、动态网络等不同领域。自第1 个移动代理系统 t e l e s c r i p t 由g e n e r a lm a g i c 公司在90 年代初推出后,移动代理系统的研究就吸 引了众多的注意力,迄今为止,已有约6 0 多种移动代理系统存在,但基本都属于 原型系统阶段,还有许多不成熟之处。因此,研究m o b i l ea g e n t 技术,无论从理 论上还是实践上来说,都是大有可为的。 本文在分析m o b i l ea g e n t 传统迁移机制的基础上,提出了一种可选择移动的 迁移机制t 并丌发出了一套基于选择移动迁移机制的m o b i l ea g e n t 系统一一 d m o g e n t 系统。本文的主要工作包括; l 、 在分析m o b i l ea g e n t 传统迁移机制的基础上提出了选择移动迁移 机制的概念; 2 、 分析了采用选择移动带来的网络负载的变化: 3 、 讨论了基于选择移动迁移机制的m o b i l e a g e n t 系统一一d m o g c n t 原型 系统的设计实现与关键技术; 4 、 实验分析了代码大小及a g e n t 结构变化对d m o g e n t 系统时间特性的影 响: 讨论了有关r m i 、c o r b a 与m o b i l ea g e n t 的融合技术,并介绍了一 种利用d m o g e n t 系统开发的网络管理程序。 1 6 文章的组织 本文共八章,第一章介绍m o b i l ea g e n t 的概念、技术特点以及当前的国内外 研屯状:第二章提出了选择移动迁移机制的概念,并从数学一t - 对其负线变化进 行了分析;第三章介绍d m o g e n t 系统的总体设计,并详细描述组成系统的各部分 的情况;第四章对系统设计与实现中的关键技术加以既明,主要包括迁移机制与 通信机制:第五章利用实验数据对d m o g e n t 系统的时间特性进行了讨论:第六章 介绍了d m o g e n t 系统中,m o b i l ea g e n t 技术与r m i 、c o r b a 技术结合的情况, 并给出了一种对象调用的通用接口定义;第七章介绍了一个使用d m o g e n t 系统的 程序实例一一基于m o b i l ea g e n t 、c o r b a 与s n m p 的网络管理系统:第八章是全 文的总结和下一步工作的展望。 6 第二章m o b i ea g e n t 选择移动迁移机制及其负载分析 随着i n t e r n e t 的发展网络低带宽、高延时正逐渐成为限制网络应用发展和 推广的一个瓶颈1 3 l 【5 1 ,因此,节约网络带宽、提高系统效率对m o b i l ea g e n t 系统而 言具有重要意义。然而,在目前的m o b i l ea 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 大小相矛盾的问题。程序代码量的大小虽然与程序的具体实现有关,但 一般而言,m o b i lea g e n t 功能越强,需传送的代码量也越大,因此,实际的网络 带宽限制在影响着a g e n t 的大小的同时,也影响着a g e n t 的功能实现。 以上的矛盾从本质上来讲也许是无法根治的,但我们可以寻找缓解的途径。 传统m o b i l ea g e n t 系统中,如a g l e t 、a j a n t a 、m o l e 、a g e n tt c l ,m o 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 o b i l ea g e n t 在迁移过程中可以自主选择需移 动的程序模块并制定相应的旅行计划。与传统y o b i l ea g e n t 移动机制相比。可 选择移动a g e n t 的执行代码被划分为着干个子模块,各模块都可动态删减或添加, a g e n t 不再是一个不可分的整体。作者希望通过这种方式增加系统运行的灵活性, 优化m o b i1 ea g e n t 的结构,进而去除冗余代码,减少网络带宽的浪费。 2 1m o b i l e a g e n t 选择移动迁移机制 m o b ile a g e n t 系统殷由两大部分组成,是驻留在服务器端的a g e n t s e r v e r ( a s ) ,它是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 s e r v e r 所提供的环境中执行 传统机制下m o b i l e a g e n t 在一系列主机上运行的情况如图2 1 所示网络 由众多节点n o d e | 、n o d e 2 组成,每个节点上可存在多个a g e n t 的运行环境。 每个运行环境又可为不同的a g e n t 提供服务:a g e n t 的移动是指a g e n t 在不同节 点的不同a g e n ts e r v e r 间或相同节点的不同a g e n ts e r v e r 间,在保存当前运行 : 状态的前提下,自主复制与运行。图中,n 。表示网络节点,e 。表示运行环境,a 表示移动a g e n t ,我们可以清楚看到,在传统机制下。一个m o b i l ea g e n t 始终是 作为一个整体在移动,其执行代码在a g e n t 的生命周期中一般不作变动。 图2 1 传统机制。f ,m o b i l ea g e n t 迁移情况 由于a g e n t 在各节点需完成的任务,实现的功能不尽相同,因此,传统机制 的这种不区分情况,始终将a g e n t 作为整体来移动的方案尽管简化了a s 的工作, 减小了系统实现的复杂性,但增大了冗余代码出现的可能性,并有可能因此导致 网络资源的极大浪费:而在可选择移动的m o b i j ea g e n t 系统中,a g e n t 的执行代 码由一系列s u b c o d e 组成,在移动时,m o b i l ea g e n t 系统可根据实际情况自主 选择需移动的s u b c o d e 。图2 2 描述了具有可选择移动机制的m o b i l ea g e n t 系 统在移动时进行删除、添加操作的情况。 豳2 2 选择移动迁移机制s u b c o d e 变化情况 更进一步,考虑分布式的网络环境下。 圈2 3 来自同络的s u b c o d e 组成m o b il ea g e n t 执行代码的一系列 s u b c o d e 不一定非得来自源主机或者m o b i l ea g e n t 途经的中间节点,它可来自 系统中的任意节点,这种方法有点类似于结合了p r o c e s s m i g r a t i o n 的m o b i e l a g e n t 系统。如图2 3 所示,组成a g e n t 的代码既可来自源主机也可来自网络其 它节点。 2 2m o b i l ea g e n t 可选择移动迁移机制的数学分析 m o b i l e a g e n t 系统的实际性能牵涉到许多方面,对它进行全面评估非常困难, 因此本节的内容是在俄鉴了文献【6 】的一些假设与结论的基础上,针对网络传输代 码量的大小来分析选择移动迁移机制及其与传统机制的差别。 下面我们先给出文献【6 】中的一些结论: 定义l :一个a g e n t 一般由三部分组成:代码段、数据段和状态段,我们用 公式b = ( b 。,b 。,b 。) 来表示。 定理l :在不考虑主机应答的情况下,两点d ,与d 。间传输a g e n ta 带来的网 络负载为: ,、1 0 , 矿d ,= d : b t d :b 。) 2 j p 国。) + b 。+ b , v i q i 。,。l s 。 其中,p 表示c o d e 不在d :上而必须通过网络传送的概率。在此我们取p :l , 即考虑所有代码都需传送的情况。 定理2 :当a g e n t 在一系列主机d = ( d 。d 。) 上迁移,且假定d ,d ,。则 网络总负载为: b 跚( d 。,d 。,b 压) = 喜召( d 。,d ,召瓜) , 接下来,我们讨论一下来两种机制下传输代码的变化情况:在m o b i l ea g e n t 的传统迁移机制下,a g e n t 在一系列主机d = ( d 0 d n ) 上迁移时,b c o d e 和 b s t a t e 不变,b d a t a 随运行而不断变化我们用b r e p 表示在d i 个节点上采 集到的数掘大小: b c o d e j 。b c o d e 。 , b s f a l e j 2bs n l e 。 b 妇f a j 2b 商口i n 。b r e p 而在可选择移动机制下,b 。m 随迁移而变化,我们用a b o 。表示a g e n t 在d 9 个节点上代码的变化;其中,当删除操作时b 乙为负,添加操作时b 0 为 正,另外为区别与传统机制的不同,我们用b 代替b 。由此我们可得a g e n t 在节 点i 上变化的情况: b 砒2 b c 砘一+ 6 8 0 b s t a t e , 2bs t o l e , 。 b d a t a , 2bd a t a , 。+ br e p 通过以上分析及文献 6 的结论,我们可得定理: 定理3 :传统移动机制下a g e n t 的大小与可选择移动机制下a g e n t 的初始大小 ( 即在d o 上的大小) 间的关系为: b 矿b j c o d e , + 丢醐疋- ? 其中; ,j 0 ,f a b e 0 a b x 乙2 戗幽 证明:传统机制下b c o d e 保持不变,因此它从一开始就必须为迁移过程中所 有可能出现的情况准备代码,同时在传输过程中代码不许删减,故而可得上述结 论。 定理4 ;a g e n t 在一系列主机d = ( d o d n ) 上迁移时。选择移动机制比传 统移动机制节省网络总负载: n 蚴f 二- z a 3 l , , 证明:出定理i 可知: 利用这一关系,分别将传统机制下b = ( b c o d e ,b d a t a ,b s t a t e ) ,选择移动机制 b o 2 b + c o d e + 萋侧。 下b - ( b c o d e ,b d a t a ,b s t a t e ) 的负载情况代入公式( 1 ) ,再将两种情况 作减法即可证毕。 由以上分析可看出不考虑具体实现的差异性,完成相同任务。采用迸择移 动迁移机制的m o b i l ea g e n t 系统占用的网络资源远远小于传统的m o b i 】e a g e n t 系统,当然,也必须指出,这是以系统的复杂性和增大# g e n ts e r y e r 端的负担为 代价的 2 3 小结 传统机制下,m o b i l ea 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 在旅行途中可根据运行的具 体情况和所处环境动态添加、删除a g e n t 执行代码中的子模块。 另外,本节还对选择移动迁移机制的性能进行了负载分析,并与传统的执行 代码整体移动的迁移机制进行了比较,通过利用文献【6 】的结论,我们可以发现, 在不考虑具体实现的差异性的情况下,选择移动迁移机制通过网络发送的代码量 远远小于传统的迁移机制。 第三章使用选择移动迁移机制的m o b i i ea g e n t 系统一一 d r a o g e n t 系统的总体设计 d m o g e n t 系统是作者自己设计与开发的一个用于验证选择移动迁移机制的 m o b i l ea g e n t 系统,“d m o g e n t ”是“d i v i d e dm o b i l ea g e n t ”的缩写,意指在此系 统中m o b i l ea g e n t 不再作为整体传送,而是采用分散的方式。 与其它m o b i l e a g e n t 系统一样d m o g e n t 系统包括了a g e n t s e t 饱r ( a s ) 与a g e n t 实体:a s 驻留于网络节点,构成了a g e n t 赖以生存的服务环境,它为每 个a g e n t 提供运行环境和服务接口;a g e n t 实体是用户任务的完成体,在a g e n t s e r v e r 所提供的环境中执行。 除以上两部分外,d m o g e n t 系统的运行环境( 一般为网络) 中还定义了一台 中心服务器,以便完成一些全局性的工作,如a g e n t 命名,a g n e t 地址查询等。作 为一种重要的分布式计算技术,在m o b i l ea g e n t 系统中采用中心服务器主要是出 于以下几方面考虑:( 1 ) 采用中心服务器可以简化系统的设计与实现;( 2 ) 综合 考虑系统复杂性、工作量与实际情况。作者认为,先实现系统主要功能,再优化 具体细节是种更为实际更为可行的方法。当然,从长远来看,将d m o g e n t 系统从 中心管理向真正的分布式过渡将是必然的,在实现中,作者也为此作了一些准备, 具体描述可见4 2 节与第5 章。 3 1 系统总体框架 如图3 1 所示,d m o g e n t 系统由中心服务器,运行于各网络节点机的a g e n t s e r v e r ( a s ) ,以及可在a g e n ts e r v e r 间自由移动。并在a g e n ts e r v e r 上运行 m o b i1 e a g e n t 实体三部分构成,一般同一节点机上可运行多个a g e n ls e r v e r 多个a g e n t 也可运行于同一a g e n ts e r v e r ( 在d m o g e n t 系统中这种情况下,a g e n t s e r v e r 应监听不同端口) 中心服务器主要用于系统全局性数据的维护,其实质等同于中心数据库。因 此 a g e n ts e r v e r 与a g e n t 可通过标准s o l 语言实现对服务器的查询与数据维 护a g e n ts e r v e r 与a g e n ts e r v e r ,a g e n ts e r v e r 与g o b i l ea g e n t ,以及l o b i 】e a g e n t 间通讯则遵循一种变形的a t p ( a g e n tt r a n s f e rp r o t o c 0 1 ) 协议;a t p 协 议是由i 鲫东京研究所提出的有关m o b il ea g e n t 传输的一种实验性协议,并在 a g e t 系统中被采用。a t p 是一种基于r e q u e s t r e s p o n s e 通讯方式的协议,它将 a g e n t 的传输通讯行为分为四种;d i s p a t c h 、r e t r a c t 、f e t c h 与m e s s a g e ,从而 图3 1 中心服务器 规范了a g e n t 的网络传输行为;但由于受传统m o b i l ea g e n t 系统的整体移动特性 的影响,该协议不能完全适应选择移动机制的要求,因此,d m o g c n t 系统采用了 一种由作者设计的变形的a t p 协议,具体情况将在第四章中详细说明。 3 。2 中心服务器 中心服务器的实质为一中心数据库,它包括三部分内容:一是有关a g e n t s e r v e r 的,包括a g e n ts e r v e r 名称、i o 、及所在网络节点地址等等;二是有关 a g e n t 及组成a g e n t 执行代码的s u b a g e n t 的数据的,如a g e n t1 d 、源a g e n ts e r v e r i d 、目的a g e n ts e r v e ri d 等。为保证a g e n t i d 的唯一性,我们还规定( 使用e x t e n d e d b a c k u s n a u rf o r m 规则描述) : a g e n t i d = s o u r c e s e r v e r i p + t y p e + n u m : s o u r c e s e r v e r p = 该a g e n t 最早注辑对所在a g e n ts e r v e r 的i p 地址 t y p e = l n u m = d i g # + 最后,中心服务器还包括有关系统运行时的数据,比如a g e n t 结构的变化 ( 添加、删除s u b c o d e 等) 、系统出错日志等等。 3 3a g e n ts e r v e r 设计 作为m o b i l ea g e n t 赖以生存的服务环境。a g e n ts e r v e r 除提供相关的语言解 释器外,还应完成有关a g e n t 传输与管理的工作。图3 2 给出了种支持可选择 移动机制的a g e n ts e r v e r 的设计,整个s e r v e r 由通讯模块、控制模块、执行模 块、本地数据接口、s u b c o d e 库、a g e n t s 库、安全模块等几大部分构成。 图3 2a g e n ts e r v e r 的结构 ( 1 ) 通讯模块 通讯模块全面负责a g e n ts e r v e r 与网络的通讯,支持变形豹a t p 协议。通讯 模块主要由三部分构成:监听线程、接收发送线程以及处理程序。d m o g e n t 系统 通过通讯模块传输的信息主要有三种:a g e n t 、s u b c o d e 与m e s s a g e 。第一种用于 a g e n ts e r v e r 与a g e n ts e r v e r 之间传送a g e n t 的代码、状态与数据,第二种用 于a g e n ts e r v e r 间传递那些既不属于传送的源主机也不属于目的主机的 s u b c o d e ,最后一种形式用于a g e n t 之间传递消息,实现a g e n t 问的彼此协作,不 过,在d m o g e n t 系统中对最后一情况采用了一种变通处理,m e s s a g e 不是直接在 a g e n t 间传输,而是先由源a g e n t 发往目标a g e n t 所在的a g e n ts e r v e r ,再由a g e n t s e r v e r 调用目标a g e n t 的消息处理程序。有关m e s s a g e 传递的具体实现细节将在 第四章详细描述。 ( 2 ) a g e n t s 库 用于存储当前a g e n ts e r v e r 下所有的a g e n t ,包括由其他主机传来的动态 a g e n t 和本机上的静态a g e n t :在d m o g e n t 系统中它实际上指的是一个或多个专用 子目录;另外,在a g e n t 的初始源主机上,它还可为a g e n t 注册时所在的路径。 ( 3 ) 安全模块 安全性是m o b i l ea g e n t 系统非常关心的一个问题一般来说,m o b il ea g e n t 系统的安全问题可以分为两类:一是网络主机的安全性。m o b il ea g e n t 可能无意 或恶意的对网络主机进行破坏;二是蝇o b i l ea g e n t 的安全性,此时威胁可能来自 网络主机或其它的m o b i l ea g e n t 文献 专门对w o b i l ea g e n t 系统可能面临的 攻击进行了归类,它们包括:破坏( d a m a g e ) 、拒绝服务( d e n j a 】o fs e r v i e e ) 、 非法盗窃或破坏隐私( b r e a c ho fp r i v a c yo rt h e f t ) 、骚扰( h a r a s s m e n t ) 、社 交工程( s o c i a le n g i n e e r i n g ,指通过给予错误信息或其它方式来控制主机或 a g e n t ) 及结合以上各种手段的复合攻击( c o m p o u n da t t a c k ) 。 安全模块的功能在设计时被定义为:负责对接收的消息和a g e n t 进行认证与 解密;负责对发送的消息与a g e n t 进行签名与加密;负贲a g e n t 的权限控制不 过,在d m o g e n t 的当前版本中,安全模块还属于预留模块,各种功能没有具体实 现。 ( 4 ) 控制模块 控制模块的任务主要有三个:控制a g e n ts e r v e r 系统本身的运行,协调与监 督本机上各a g e n t 的执行情况,为用户提供友好的界面。 d m o g e n t 系统中控制模块为用户提供了开启服务程序( a s ) ,注册新m o b i l e a g e n t ,监控当前a g e n ts e r v e r 上驻留的 o b i l ea g e n t 或由本主机产生,目前可 能迁移至其他网络节点的m o b j 】ea g e n t 的运行情况,以及各种相关的图形界面显 示功能。 ( 5 ) 执行模块 执行模块的核心为语言解释器或编译器:m o b i l ea g e n t 一般由跨平台语言实 现,a g e n ts e r v e r 接收到新a g e n t 后。需建立相应的语言解释器编译器,a g e n t 在解释器编译器的支撑下工作。理论上而言,a g e n ts e r v e r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年副高卫生职称-临床医学检验学技术-临床医学检验技术(副高)代码:070历年参考题库含答案解析
- 2025年住院医师规培-黑龙江-黑龙江住院医师规培(耳鼻咽喉科)历年参考题库含答案解析(5套)
- 物业绿化面试题及答案收藏全攻略
- 2025年住院医师规培-辽宁-辽宁住院医师规培(口腔病理科)历年参考题库含答案解析
- 2025年住院医师规培-甘肃-甘肃住院医师规培(医学检验科)历年参考题库含答案解析
- 2025年住院医师规培-湖南-湖南住院医师规培(口腔全科)历年参考题库含答案解析(5套)
- 2025年住院医师规培-河南-河南住院医师规培(临床病理科)历年参考题库典型考点含答案解析
- 2025年住院医师规培-江西-江西住院医师规培(儿外科)历年参考题库含答案解析
- 2025年事业单位工勤技能-重庆-重庆造林管护工二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-重庆-重庆殡葬服务工一级(高级技师)历年参考题库典型考点含答案解析
- (完整word版)中国银行交易流水明细清单模版
- 怎么点评施工方案好坏
- 食品安全责任保险课件
- CML慢性髓系白血病医学教学课件
- 塑胶模具类中英文对照专业术语
- 安全- 中国移动认证考试L1题库(附答案)
- 干部民主推荐表(样式)
- 【公开课】社区教案
- 平面磨床操作时注意事项
- GB/T 29651-2013锰矿石和锰精矿全铁含量的测定火焰原子吸收光谱法
- GB/T 13275-1991一般用途离心通风机技术条件
评论
0/150
提交评论