(计算机应用技术专业论文)移动代理系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)移动代理系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)移动代理系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)移动代理系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)移动代理系统的设计与实现.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机应用技术专业论文)移动代理系统的设计与实现.pdf.pdf 免费下载

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

文档简介

东北大学硕士学位论文 摘要 移动代理系统的设计与实现 摘要 移动代理是分布式计算研究的新领域,它不仅具有软件代理的自治性、智能性等特 点,而且还引入了移动的思想,可以在网络中的一个主机上暂停执行后携带自身状态、 数据和代码转移到另一个主机中恢复执行。 移动代理系统是移动代理技术的具体实现,是移动代理技术相关研究成果转换成的 可测试、运行的程序库。 本文使用面向对象技术设计移动代理系统的体系架构、消息机制、事件机制和安全 策略。体系架构将移动代理系统化分为三个主要实体,分别是代理、代理平台和代理运 行时,确定了它们的功能、责任和它们之间的层次关系( 代理运行时为代理平台提供运 行支持,代理平台为代理提供运行支持) 。消息机制定义了消息和消息的转递方式,消息 是由消息的种类、内容和参数构成的,消息的传递方式分为三种,分别是单向方式、异 步方式和同步方式。事件机制定义了代理事件、代理平台事件、事件监听者以及事件的 触发条件和监听方法。安全策略将移动代理系统的安全分为三个层面,分别是消息安全、 代理安全和代理平台安全,采用了数字签名技术、加密与解密技术和j a v a 的许可权限机 制;本文使用j a v a 语言实现一个移动代理系统a g e n t s y s t e m ,该系统提供了一个简单的 移动代理编程模型,预留了移动代理的创建、克隆、挂起、继续、休眠、唤醒、派遣、 召回、销毁等基本功能和诸如安全控制、消息通信等其它功能的编程接口( a p i ) , a g e n t s y s t e m 支持代理、代理平台之问安全、高效的通信,支持移动代理的安全迁移及 代理平台的安全运行。软件设计人员在a g e n t s ) ,s t e m 的基础上构建移动代理应用系统时, 无须重复地设计、实现移动代理和支持其运行的代理平台,只要关注移动代理应用系统 的业务逻辑就可以了。 关键词:软件代理移动代理移动代理系统体系架构消息机制事件机制安全策略 东北大学硕士学位论文a b s t r a c t t h ed e s i g na n di m p l e m e n t a t i o no fm o b i l ea g e n ts y s t e m a b s t r a c t m o b i l ea g e n ti san e wr e s e a r c hd o m a i no fd i s t r i b u t e dc o m p u t i n g ,i tn o to n l yh a ss o f t w a r e a g e n t s a u t o n o m o u sa n di n t e l l i g e n tc h a r a c t e r i s t i ce t c ,m o r e o v e ra l s oi n t r o d u c e dm o b i l e c o n c e p t i o n i tw a sa l l o w e dt os u s p e n de x e c u t i o no no n eh o s to fan e t w o r k ,t h e nc a r r i e si t so w n s t a t e ,d a t aa n dc o d el n o v e st oa n o t h e ra n dr e s t o r e st h ee x e c u t i o n m o b i l ea g e n ts y s t e mi st h ec o n c r e t ei m p l e m e n t a t i o no fm o b i l ea g e n tt e c h n o l o g y i ti sa p r o g r a ml i b r a r yt r a n s f o r m e df r o mr e s e a r c ha c h i e v e m e n to f m o b i l ea g e n tt e c h n o l o g yt h a tc a n b et e s t e da n dr u n n i n g t h i st h e s i sd e s i g n sm o b i l ea g e n ts y s t e m 。s a r c h i t e c t u r e ,m e s s a g em e c h a n i s m ,e v e n t m e c h a n i s ma n ds e c u r i t ys t r a t e g yw i t ho b j e c t - o r i e n t e dt e c h n o l o g y t h ea r c h i t e c t u r ed i v i d e s m o b i l ea g e n ts y s t e mi n t ot h r e em a i ne n t i t i e s ,s e p a r a t e l yw i l lb ea g e n t ,a g e n tc o n t e x ta n da g e n t r u n t i m e ,d e t e r m i n e st h e i rf u n c t i o n s ,r e s p o n s i b i l i t i e sa n dl e v e lr e l a t i o n s ( a g e n tr t m t i m ep r o v i d e s o p e r a t i o ns u p p o r tf o ra g e n tc o n t e x tw h i c hp r o v i d e so p e r a t i o ns u p p o r tf o ra g e n t ) t h em e s s a g e m e c h a n i s md e f i n e sm e s s a g ea n dm e s s a g et r a n s m i s s i o nm o d e ,m e s s a g ec o n s i s to fm e s s a g e k i n d ,c o n t e n ta n dp a r a m e t e r s ,m e s s a g et r a n s m i s s i o nh a st h r e em o d e s ,s e p a r a t e l yw i l lb e o n e w a y , f u t u r ea n ds y n c h r o n i z e dm o d e t h ee v e n tm e c h a n i s md e f i n e sa g e n te v e n t ,a g e n t c o n t e x te v e n t ,e v e n tl i s t e n e ra sw e l la se v e n tt r i g g e r sc o n d i t i o na n dl i s t e n e rm e t h o d t h e s e c u r i t ys t r a t e g yd i v i d e sm o b i l ea g e n ts y s t e m ss e c u r i t yi n t ot h r e ep a r t s s e p a r a t e l yw i l lb e m e s s a g es e c u r i t y , a g e n ts e c u r i t ya n da g e n tc o n t e x ts e c u r i t y , a n da d o p t sd i g i t a ls i g n a t u r e t e c h n o l o g y , e n c r y p t i o na n dd e c r y p t i o nt e c h n o l o g ya n dj a v ap e r m i s s i o nm e c h a n i s m t h i st h e s i s i m p l e m e n t so n em o b i l ea g e n ts y s t e m - a g e n t s y s t e mw i t hj a v al a n g u a g e a g e n t s y s t e mp r o v i d e s o n es i m p l em o b i l ea g e n tp r o g r a m m i n gm o d e l ,a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ( a p i ) o f m o b i l ea g e n t sc r e a t e ,c l o n e ,s u s p e n d ,r e s u m e ,d e a c t i v a t e ,a c t i v a t e ,d i s p a t c h ,r e t r a c t ,d i s p o s e e t cb a s i cf u n c t i o na n ds u c ha ss e c u r i t yc o n t r o la n dm e s s a g ec o n u n u n i c a t i o ne t co t h e rf u n c t i o n s a g e n t s y s t e ms u p p o r t ss a f ea n de f f e c t i v ec o m m u n i c a t i o nb e t w e e na g e n t sa n da g e n tc o n t e x t s , s u p p o r t ss a f em i g r a t i o no fa g e n ta n ds a f eo p e r a t i o no fa g e n tc o n t e x t w h e ns o f t w a r ed e s i g n e r s c o n s t r u c tm o b i l ea g e n ta p p l i c a t i o ns y s t e m so nt h et o po f a g e n t s y s t e m ,d o n tn e e dr e p e a t e d l y d e s i g na n di m p l e m e n tm o b i l ea g e n ta n da g e n tc o n t e x tw h i c hs u p p o r t sa g e n to p e r a t i o n ,s ol o n g a sp a ya t t e n t i o nt oa p p l i c a t i o nl o g i co f m o b i l ea g e n ta p p l i c a t i o ns y s t e m s k e yw o r d s :s o f t w a r ea g e n t ,m o b i l ea g e n t ,m o b i l ea g e n ts y s t e m ,a r c h i t e c t u r e ,m e s s a g e m e c h a n i s m ,e v e n tm e c h a n i s m ,s e c u r i t ys t r a t e g y 独创性声明 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得的研究成果除 加以标注和致谢的地方外,不包含其他人己经发表或撰写过的研究成果,也不包括本人 为获得其它学位而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在 论文中作了明确的蜕明并表示谢意。 学位论文作者签名:劫稍 f = 1 期:2 - o o g i ( 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论文的规定:即 学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借 阅。本人同意东北大学可以将学位论文的全部或部分内容编入有关数据库进行检索、交 流。 ( 如作者和导师不同意网上交流,请在下方签名;否则视为同意。) 学位论文作者签名: 签字日期: 导师签名: 签字日期: 东北大学硕士学位论文第一章引言 1 1 研究背景 第一章引言弟一早 i百 2 0 世纪9 0 年代以来计算机网络尤其是i n t e m e t 在全世界范围内的迅猛发展为网络用 户提供了十分丰富的信息资源和各种各样的通信手段。但是信息和知识爆炸又使得用户 寻找和处理其所需信息的过程变得异常困难。如何合理、有效地利用i n t e m e t 上巨大的 计算和信息资源成为研究者们关注的重要问题【1 1 。 以前的分布式计算技术都是基于传统的c s 模式,通信双方通过数据传递或远程过 程调用等方式进行远程通信。随着新型网络应用的出现,传统的c s 模式已经不能满足 快速多变的网络应用需求了。在这种情况下,一些新的基于组件的分布式对象技术开始 出现,如o m g 的c o r b a 、s u n 公司的e i b 以及m i c r o s o f t 的d c o m 。与传统的c s 模式相比,基于组件的分布式对象技术能够适应更大规模的网络环境田。传统的c s 模 式和基于组件的分布式对象技术的共同缺点是缺少代理性,主动性,自治性,智能性和 移动性。 软件代理技术和随后出现的移动代理技术弥补了传统的c s 模式和基于组件的分布 式对象技术的缺陷。“可以让智能的软件代理在i n t e m e t 上自主移动、执行,以完成用户 分配的任务”,是移动代理的最初构想。可以说移动代理技术是代码迁移技术,软件代理 技术以及分布式对象技术相结合的产物。 目前,移动代理技术的应用主要集中在动态信息获取、电子商务【珂和网络管理等领 域。为了促进移动代理技术的实际应用,国内外已经出现了一百多个移动代理系统,它 们将移动代理技术相关研究成果转换成为可测试、运行的程序库,便于软件设计人员使 用。如g e n e r a lm a g i c 公司的t e l e s c r i p ,i b m 公司的a g l e t s i s l ,m i t s u b i s h i 公司的 c o n c o r d i a ,d a r t m o u t h 学院的d a g e n t ,o b j e c t s p a c e 公司的v o y a g e r 【6 j d e c ( c o m p a q ) 研 究院的o b l i q ,c o m e u 大学的t o c a m a ,s m f f g a r t 大学的m o l e ”等等。这些系统中最具代 表性的是g e n e r a l m a g i c 公司的t e l e s c r i p t 和i b m 公司的a g l e t s 。t e l e s c r i p t 是第一个商用 的而且比较成功的移动代理系统,它的安全性和容错性都比较好。而a g l e t s 是当今最完 整、最流行的商用移动代理系统之一,现在已经有了2 0 2 版。 1 2 课题的提出 作为一种新型的分布式计算模型,移动代理技术受到了来自学术界和工业界的广泛 关注。实验室引进这一热门课题,并且将该课题分为两个阶段进行研究。 第一阶段,重点研究移动代理系统的体系架构、消息机制、事件机制和安全策略; 构建自己的移动代理系统a g e n t s y s t e m ,验证本阶段的研究成果,实现移动代理在局域 1 一 东北大学硕士学位论文第一章引言 网乃至i n t e r n e t 上的安全迁移,代理、代理平台之间的安全通信。 第二阶段,重点研究代理的任务求解、智能推理、机器学习、行为准则、知识库、 协作模型和移动代理的迁移机制、路由策略等;基于a g e n t s y s t e m 构建一个具体的移动 代理应用系统,验证本阶段的研究成果,实现代理独立自主地完成任务,代理之间的协 同工作和移动代理的智能迁移。 1 3 研究意义 课题研究的第一阶段,设计移动代理系统的体系架构、消息机制、事件机制和安全 策略,形成一套比较完整的移动代理系统实现方案a g e n t s y s t e m ,根据该方案建立的移 动代理系统原型程序为丌发新型的电子商务系统、入侵检测系统、w e b 信息检索系统等 应用系统奠定了良好的基础。 课题研究的第二阶段,结合具体应用研究代理的任务求解、智能推理、机器学习、 行为准则、知识库、协作模型和移动代理的迁移机制、路由策略等,同时构建移动代理 应用系统,将其应用到网络环境中去,借此推动移动代理技术的发展和应用。 1 4 论文结构 本文主要分为两部分,论文前半部分介绍了移动代理系统的理论基础。论文后半部 分设计、实现了移动代理系统的体系架构,消息机制、事件机制和安全策略的一个解决 方案a g e n t s y s t e m 。 全文共分五章,第一章为引言,阐述了移动代理技术课题的研究背景,课题的提出, 课题的意义和本文的结构。第二章介绍了与课题相关的理论代码迁移,软件代理。 移动代理和移动代理系统。第三章介绍了设计、实现移动代理系统a g e n t s y s t e m 的相关 技术面向对象技术和j a v a 技术。第四章对移动代理系统a g e n t s y s t e m 做出了细致的 分析和设计,包括系统需求、体系架构、消息机制、事件机制和安全策略。第五章简单 介绍了a g e n t s y s t e m 的实现及如何使用a g e n t s y s t e m 开发移动代理程序。详细描述了具 有代表意义的m o b i l e a g e n t 类的实现。最后是对全文作出的总结。 2 东北太学硕士学位论文第一章引言 刚乃至i n t e m e t 上的安全迁移,代理、代理平台之间的安全通信。 第二阶段,重点研究代理的任务求解、智能推理、机器学习、行为准则、知识库、 协作模型和移动代理的迁移机制、路由策略等;基于a g e n t s y s t e m 构建一个其体的移动 代理应用系统,验证本阶段的研究成果,实现代理独立自主地完成任务,代理之间的协 同工作和移动代理的智能迁移。 1 3 研究意义 课题研究的第一阶段,设计移动代理系统的体系架构、捎息机制、事件机制和安全 策略,形成一套比较完整的移动代理系统实现方案a g e n t s y s t e m ,根据该方案建立的移 动代理系统原型程序为丌发新型的电子商务系统、入侵检测系统、w e b 信息检索系统等 应用系统奠定了莨好的基础。 课题研究的第二阶段,结台具体应用研究代理的任务求解、智能推理、机器学习、 行为准则、知识库、协作模型和移动代理的迁移机制、路由策略等,同时构建移动代理 应用系统,将其应用到网络环境中去,借此推动移动代理技术的发展和应用。 1 4 论文结构 本文主要分为两部分,论文前半部分介绍了移动代理系统的理论基础。论文后半部 分设计、实现了移动代理系统的体系架构,消息机制、事件机制和安全策略的一个解决 方案a g e n t s ) s t e m 。 全文共分五章,第一章为引言,阐述了移动代理技术课题的研究背景,课题的提出, 课题的意义和本文的结构。第二章介绍了与课题相关的理论代码迁移,软件代理, 移动代理和移动代理系统。第三章介绍了设计、实现移动代理系统a g e n t s y s t e m 的相关 技术一面向对缘技术和j a v a 技术。第四章对移动代理系统a g e n t s y s t e m 做出了细致的 分析和设计,包括系统需求、体系架构、消息机制、事件机制和安全策略。第五章简单 介绍了a g e n t s ) s t e m 的实现及如何使用a g e n t s y s t e m 开发移动代理程序,详细描述了具 有代表意义的m o b i l e a g e n t 类的实现。最后是对全文作出的总结。 有代表意义的m o b i l e a g e n t 类的实现。最后是对全文作出的总结。 一2 一 东北大学硕士学位论文第二章移动代理系统简介 第二章移动代理系统简介 本章介绍关于移动代理系统的一些背景知识,其中包括代码迁移,软件代理, 移动代理和移动代理系统。 2 1 代码迁移 传统的分布式系统的通信只限于传递数据,然而,在某些情况下,传递程序有 时甚至在程序正在执行的时候传递它们,可以简化分布式系统的设计,这就是代码迁移 的概念。代码迁移有两种模型,弱迁移和强迁移。在弱迁移模型中,传递的程序总是从 它的初态开始执行。在强迁移模型中,程序可以暂停执行,迁移到另一台主机上,然后 继续执行【8 】。 2 2 软件代理 计算机网络的飞速发展,特别是近年来i n t e m e t 及其相关技术的普遍应用,网络已 经成为人们发布和获取信息的基本平台。在这样的背景下,计算机的应用已经不再像以 前那样仅仅局限于网络中的几台服务器和客户机上,而是要求所有计算机都融入到分布 式系统这一大环境中来,这就引发了对分布式系统新一轮的研究热潮,这期间最引人注 目的就是软件代理技术。 软件代理技术是人工智能技术和网络技术相结合的产物。传统的人工智能技术致力 于对知识表达、智能推理和机器学习等领域的研究,这些研究成果在计算机软件中的应 用使得软件有了一定程度上的主动性,并在自主判断和行为选择上有了一定的智能性, 促进了软件智能化的进程。 2 2 1 软件代理的定义 目前软件代理尚无一个理想的定义,但人们普通认为:软件代理是运行于动态环境 中的、具有高度自治能力的实体,它能够接受其它实体的委托并为之服务 9 1 。 2 2 2 软件代理的特性 一般而言,软件代理具有代理性,主动性,自治性,智能性和协作性等特性。 代理性( a c t i o no nb e h a l fo t h e r s ) ,代理具有代表他人的能力,即它们都代表用户工 作,执行用户分配的任务。代理性是代理的第一特性。 主动性( i n i t i a t i v e ) ,代理能够遵守承诺采取主动,表现其面向目标的行为。 自治性( a u t o n o m o u s ) ,一个代理是一个独立的实体,具有不同程度的自治能力。它 能在非事先规划、动态的环境中解决实际问题。自治性是软件代理区别于普通软件程序 3 东北大学硕士学位论文第二章移动代理系统简介 的基本特性。 智能性( i n t e l l i g e n t ) ,知识表达、知识库、智能推理、机器学习等技术的应用使代理 具有了一定的智能性,使其在没有用户直接的控制和参与下,自主地完成用户分配的任 务。 协作性( c o l l a b o r a t i v e ) ,协作性是代理的一个重要特性。通过代理系统提供的通信机 制,可以实现多个代理之间的合作。这种合作有两种模式。同种代理之间的互相协作可 以防止系统和代理失效,如果有代理失效,其它代理可以采取措施进行补救,如通过承 担起失效代理的责任或者启动新的代理替代失效的代理。另外,异种代理之间也可以进 行互补性合作,多个不同功能的代理协作完成任务,这有利于系统总体功能的模块化, 减少单个代理承担的责任,从而降低代码的复杂度,缩短调试时间,增强代理的健壮性 和可靠性。 适应性( a d a p t i v e ) ,代理具有一定的适应能力,可对环境的变化做出适当的反应。 持续性( c o n t i n u o u s ) ,代理有相对较长的生存期,只有代理完成它的使命后才会销毁。 2 3 移动代理 移动代理技术是为解决复杂、动态、分布式智能应用而提出的一种全新的计算手段, 是继软件代理之后计算机软件技术的又一次深刻变革。 随着i n t e m e t 应用的逐步深入,特别是信息搜索、分布式计算以及电子商务的蓬勃 发展,人们越来越希望在整个i n t e m e t 范围内获得最佳的服务,渴望将整个网络虚拟成 为一个整体,使软件代理能够在整个网络中自由移动。移动代理的概念随即孕育而生。 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 时第一次提出了 移动代理的概念,即移动代理是一个能在异构网络环境中自主地从一台主机迁移到另一 台主机,并可与其它代理或资源交互的软件实体。移动代理是一类特殊的软件代理,它 除了具有软件代理的基本特性代理性,主动性,自治性,智能性和协作性外,还具 有移动性。因为移动代理可以在异构的软、硬件网络环境中自由移动,所以这种新型的 软件设计模式能有效地降低分布式系统中的网络负载、提高通信效率。 移动代理可以看成是软件代理技术与分布式技术相结合的产物,它与传统网络软件 有着本质上的区别。移动代理不同于远程过程调用( i 冲c ) ,这是因为移动代理能够不断 地从网络中的一个节点移动到另一个节点,而且这种移动是可以根据移动代理自身需要 进行选择的。移动代理也不同于般的代码迁移,因为一般来说代码迁移系统不允许代 码自己选择什么时候迁移以及迁移到哪里,而移动代理却可以自主地决定什么时候迁移, 以及迁移到哪里,例如移动代理不同于j a v a 语言中的a p p l e t ,a p p l e t 只能在用户需要它 的时候从服务器向客户机做单方向的移动,而移动代理却可以随时在客户机和服务器之 间进行双向移动。 d 东北大学硕士学位论文第二章移动代理系统简介 2 3 1 移动代理的定义 目前移动代理在研究领域中尚无一个统一的定义【1 0 1 ,以下是几种流行的定义: 移动代理是具有移动特性的代理,它可以自由地在网络上从一台主机移动到另一台 主机,并代表用户完成指定任务,如计算、检索、过滤和收集信息,甚至可以代表用户 进行商业活动。这里的代理是一类在特定环境下能感知环境,并能自治地运行以代表其 设计者或使用者实现一系列目标的计算实体或程序f i l 】。 移动代理是自治程序,它能在自己的控制下在计算机之间移动。它为实现包括移动 程序在内的分布式程序提供了一个方便、高效和健壮的框架【1 2 1 。 一个移动代理是一个进程,它能带着自己的代码在不同主机的执行上下文之间移动。 在这种模式中,通过将计算移动到存有目标数据的主机上降低通信成本;因为一个移动 代理无需保持到原始主机的连接就可以移动到不同的主机上,所以断开连接的操作是允 许的【1 3 。 2 3 2 移动代理的特性 移动代理除了具备软件代理的所有特性外还具有以下特性: 移动性( m o b i l e ) ,移动性是移动代理的最基本的特征,即活动的移动代理可以在某 个节点上暂停运行,然后将自己的执行代码、数据以及运行状态传递到网络上的其它节 点,再从暂停点继续运行,如此不断的暂停运行、移动、继续运行直到完成特定的任务。 例如,i n t e m e t 上的移动代理可以漫游全网,为用户收集信息,处理信息,并将处理结果 提交给用户。 灵活性( f l e x i b l e ) ,移动代理运行在整个分布式系统中,而不是固定在某一个特定的 位置。这样,一旦需要,移动代理可以将自己直接发送到指定的主机上i 进行本地操作, 提高操作的灵活性。移动代理的这种灵活性为网络环境,尤其是i n t e m e t 环境下的应用 程序提供了很多潜在的优点【l4 】。 2 3 3 移动代理的优缺点 移动代理技术给分布式系统的设计、实现和维护带来了新的活力,它有着许多传统 分布式系统软件设计模式无法比拟的优势。 1 ) 移动代理能有效地减轻网络上的数据流量,减少网络错误的发生 假设对象a 需要执行一个任务用到了对象b ,a 与b 的距离很远。因为二者之间的 距离远,所以a 与b 通信的延迟很大,当a 调用b 的方法时就不得不等待相当长的一 段时间来获得b 的响应。如果可以将a 移动到b 所在的位置上,那么就可以排除网络 发生故障的可能性,消除通过网络进行方法调用的开销,避免大量数据在网络中的传输, 从而简化了方法调用的过程,降低了整个系统对网络带宽的依赖,缩短了通信时延,提 5 , 东北大学硕士学位论文第二章移动代理系统简介 高了通信质量。 2 ) 移动代理能以异步的方式自主运行 用户可以把任务分配给移动代理,并通过网络将其派遣出去,然后就可以断开主机 与网络之间的连接。此时,移动代理就独立于生成它的进程异步自主的运行了。用户可 以在随后某个适当的时候连接到网络上接收任务的结果。如果移动代理完成任务时用户 主机未连接到网络上,那么移动代理将把任务结果以电子邮件的形式发送给用户。这种 运作模式对今后移动设备或移动用户来说尤其有用,因为目前移动设备上的计算皆依赖 于昂贵而脆弱的网络连接,它要求在移动设备和固定网络之间建立持续的连接,这种要 求无论从经济角度和技术角度来讲都不是十分理想的。 3 ) 移动代理具有较强的适应能力 移动代理能够感知其运行环境,并对环境变化做出适当的反应,它可以根据服务器 和网络的负载动态决定移动目标,有利于负载均衡。此外,移动代理的智能路由功能还 减轻了用户分配任务时指定路由的负担。 4 ) 移动代理有利于并行处理 移动代理在进行任务处理时可以动态创建多个代理并行工作,提高效率和系统的响 应速度。多个移动代理拥有在网络主机之间动态合理分布自身的独特能力,能够按一定 规则来维持解决某个特定问题的最优配置。 5 ) 移动代理具有天然的异构性 分布式网络计算平台往往是异构的,而移动代理通常独立于特定的软硬件环境,仅 仅依赖于其运行环境,所以移动代理是进行无缝系统集成的最佳选择。 6 ) 移动代理具有很强的健壮性和容错能力 移动代理具有对非预期事件的应变能力,这使得构建健壮和容错性好的分布式系统 变得相对容易,例如当台主机关闭时,所有正在该主机上运行的移动代理会得到消息, 并有充足的时问移动到另台主机上继续运行。 尽管移动代理技术较之于传统的分布式技术有着非常明显的优势,它也有它的缺点。 1 ) 移动代理的安全问题没有得到很好的解决。 2 ) 没有统一的标准,现存的移动代理系统之问的互操作性比较差。 3 ) 移动代理技术出现的较晚,较之传统的分布式技术还不是很成熟。 2 3 4 移动代理与传统c s 的比较 在传统c s 模式中,参见图2 1 ,客户机向服务器发出请求,服务器做出应答,大量 的中间结果和最后结果需要传输,都要求客户机和服务器之间必须一直保持网络的连接, 浪费了网络资源【l s l 。 一6 一 东北大学硕士学位论文第二章移动代理系统简介 客户端对象客户主机 ltit1t t 网络 上上0上 服务器端对象服务器主机 幽2 1 传统的c s 模式 f i g 2 1p a t t e r no f t r a d i t i o n a lc s 在移动代理模式中,参见图2 2 ,移动代理从客户主机移动到服务器主机,通过与服 务器对象交互完成它的使命,任务完成后返回到客户主机。其间,客户机只需在移动代 理迁移的时候与服务器保持连接就可以t t l 5 】。 移动代理移动代理客户主机 i lf 妙u ” 移动代理 j 服务器主机 l t i t i t i f 服务器端对象服务器端对象服务器端对象 图2 2 移动代理模式 f i g 2 2p a t t e r no fm o b i l ea g e n t 2 4 移动代理系统 移动代理系统是移动代理技术的具体实现,它以可运行程序库的形式展现了移动代 理技术的各种理论研究成果”6 1 。移动代理系统一般都提供了移动代理的创建、克隆、休 眠、唤醒、派遣、召回、销毁等基本功能和诸如安全控制、消息通信等其它功能的编程 接m ( a p i ) 。这样软件设计人员就可以在移动代理系统的基础上构建移动代理应用系统, 无须重复地设计、实现移动代理和支持其运行的代理平台,只要关注应用系统的业务逻 辑就可以了。 在某些应用领域,基于移动代理系统的应用系统与传统方式构建的应用系统相比有 很强的竞争优势。以网上订票系统为例 1 7 : 传统的网上订票系统,因为各个网上订票系统相互独立、互不兼容,所以用户订票 的过程大致如下: 1 ) 用户需要找到多个售票的网站。 7 东北大学硕士学位论文第二章移动代理系统简介 2 ) 用户需要经过多次查询和比较选出自己满意的票。 3 ) 用户通过填写信用卡信息进行银行转帐,确认后完成订票。 这种订票方式占用了用户很多的时间,给用户带来了不少的麻烦。 基于移动代理系统的网上订票系统,因为移动代理具有代理性、智能性和移动性等 特性,所以用户只需将购票类型、购票条件和信用卡等信息交给移动代理就可以了。移 动代理会根据用户的需求移动到相应的网站上,自主地进行查询、比较和选择,当有满 足用户需求臼匀票时进行银行转帐,确认后完成订票并将订票结果报告给用户。这种订票 方式节约用户的时间,便于用户操作。 8 东北大学硕士学位论文 第三章设计、实现移动代理系统的相关技术 第三章设计、实现移动代理系统的相关技术 a g e n t s y s t e m 是移动代理系统的体系架构,消息机制、事件机制和安全策略的一个 解决方案。本章介绍设计、实现a g e n t s y s t e m 的相关技术面向对象技术和j a v a 技术。 3 1 面向对象技术 面向对象技术是一种新型的软件分析、设计和实现技术,它使软件设计人员能够以 更加符合人的思维方式解决实际问题。面向对象技术能够更直接地描述客观世界,增加 了代码的可理解性、可重用性、可扩充性,提高了编程效率,大大减少了软件升级和维 护的开销。 面向对象分析( o b j e c t o r i e n t e da n a l y s i s ) 是一种分析方法,用问题域中的词汇构建类 和对象并在类和对象的层面上调查需求。面向对象设计( o b j e c t - o r i e n t e dd e s i g n ) 是一种设 计方法,它包括一个面向对象的分解过程和用来描述正在设计的系统的逻辑、物理、静 态、动态模型的表示法。面向对象编程( o b j e c t - o r i e n t e dp r o g r a m m i n g ) 是一种实现方法, 程序被组织成相互协作的对象的集合,每个对象代表某个类的实例,所有的类都是通过 继承关系组成的类的层次结构的成员。总体上说,面向对象分析的阶段性结果将成为面 向对象设计的初始模型,而面向对象设计的阶段性结果将被面向对象编程方法用作实现 一个完整系统的蓝图【憎 。 3 2j a v a 技术 j a v a 是s u n 公司推出的新一代的面向对象程序设计语言,它采用了类似c + + 的简洁 语法,摒弃了c + + 中很少使用、难以理解、易于混淆特性,如指针,多重继承等,并且 提供了丰富的类库。j a v a 将程序编译成一种体系结构中立的中间文件格式,只要有j a v a 运行系统的机器都能执行这种中间代码( 字节码) ,这为j a v a 应用程序的移植打下了良好 的基础。同时,j a v a 通过定义独立于平台的基本数据类型和运算,使得数据在任何硬件 平台上保持致。j a v a 被设计为用于网络和分布式环境,在安全方面投入了很多精力, 用j a v a 可以方便地构建防病毒和防篡改的系统。j a v a 提供的多线程功能使得在一个程序 里可同时执行多个任务,多线程带来了更好的交互响应和实时行为。j a v a 的动态特性允 许程序动态地装入运行过程中需要的类,这是c + + 语言没有的特性。在j a v a 中,确定实 时类型也是很简单的【。9 1 。 3 2 1 远程方法调用 远程方法调用( i t m ir e m o t em e t h o di n v o c a t i o n ) 是j a v a 对象进行远程访问的一种规 范。它定义了一系列用于管理两个对象间通信的类。使用r m i 机制的应用程序通常包括 9 一 东北大学硕士学位论文第三章设计、实现移动代理系统的相关技术 两个独立的程序,服务器程序和客户机程序。典型的服务器程序创建多个远程对象,使 这些远程对象能够被引用,然后等待客户机程序调用那些远程对象上的方法。典型的客 户机程序从服务器中得到一个或多个远程对象的引用,然后调用远程对象的方法。 田,圈圈圈 幽3 1 一次r m i 方法调| h j f i g 3 1o n em e t h o dc a l lo f r m l r m i 方法调用的过程如图3 1 所示脚1 。在客户端,叫作存根( s t u b ) 的对象代表一个服 务器端的对象。 l :客户机对象向本地存根发送消息 2 :存根将消息编组( m a r s h a l l i n g ) 后通过网络向服务器端发送 3 :框架( s k e l e t o n ) 将消息反编组( u n m a r s h a u i n g ) 并传递给相应的服务器对象 4 :服务器对象对消息进行处理后将返回值或异常传回给框架 5 :框架将返回值或异常编组后通过网络向客户端发送 6 :存根将返回值或异常反编组后传递给客户机对象 本文将代理平台作为r m i 中的远程对象,移动代理或消息作为r m i 中远程方法的 参数,通过远程方法调用的参数传递来完成移动代理的迁移动作和远程的消息传递。 3 2 2 对象序列化 j a v a 对象序列化就是将对象写入字节流和从字节流中读取对象。对象序列化分为两 部分,序列化和反序列化。序列化是将数据分解成字节流,以便存储在文件中或在网络 上传输。反序列化就是打开字节流,并重构对象。虽然对象序列化原理非常简单但它的 功能却异常的强大,远程方法调用的参数传递就是通过对象序列化实现的。 本文通过对象序列化完成代理的休眠和唤醒动作。 3 2 3 动态类加载 r v i i 使用对象序列化机制将对象从一个虚拟机传输到另一个虚拟机,同时用相应的 位置信息注释调用流,以便在接收端上加载类定义文件,这就是所谓的动态类加载。动 态类加载主要用于代理迁移和消息传递上。要支持动态类加载,客户端和服务器端都需 要运行一个类文件服务器,该服务器类似于w e b 服务器,只是功能上做了简化。 。1 0 东北大学硕士学位论文第四章移动代理系统的分析与设计 第四章移动代理系统的分析与设计 本章为移动代理系统的体系架构、消息机制、事件机制和安全策略提供了一个解决 方案a g e n t s y s t e m ,并做出了细致的分析和设计。 4 1 移动代理系统需求分析 移动代理系统应该提供一个简单、完整的移动代理编程模型,支持代理、代理平台 之间动态、高效的通信,提供一个可重用、易扩展的体系架构,提供完整和容易理解的 安全机制使得最终用户信任移动代理系统,提供平台独立性使得代理可以在任何一个运 行代理平台的主机上运行。 4 2 移动代理系统的体系架构 移动代理系统中的主要实体有移动代理,服务代理,代理平台,代理运行时和拥有 代理、代理平台及代理运行时的拥有者。其中,移动代理和服务代理统称为代理。 移动代理系统的体系架构如图4 1 所示。 图4 i 移动代理系统的体系架构 f i g 4 1a r c h i t e c t u r eo f m o b i l ea g e n ts y s t e m 代理( a g e n t ) ,代理是运行在代理平台上的一个计算单元,它包括代码空间,执行状 态和数据空间。代码空间包括一系列代码片断,当代理执行时可以调用这些代码。执行 状态包含与代理进化相关的部分信息,如当前正在运行哪一个代码片断,但不包含程序 调用栈和程序计数器。数据空间包含代理能够访问的内外部资源的引用。 移动代理( m o b i l e a g e n t ) ,移动代理能够在一个代理平台上暂停运行后转移到另一个 代理平台上继续运行,能够通过消息或方法调用与其它代理和代理平台通信。用户使用 移动代理来完成指定的任务。 东北大擘硕士学位论文第四章移动代理系统的分析与设计 服务代! - 里( s e r v i c e a g e n t ) ,服务代理没有移动能力,它为本地或远程代理提供打印, 数据访问等类似服务。通常每个代理平台都有多个服务代理提供不同的服务。因为服务 代理不能移动,并且它的建立和管理是由它栖身的代理平台处理的,这就保证了服务代 理不会是恶意代理。又因为移动代理不能直接的存取系统资源,它们只能通过服务代理 提供的服务来访问受控资源。所以服务代理概念的引入大大降低了恶意代理攻击代理平 台的风险。 服务代理与移动代理的主要区别是服务代理不能像移动代理那样移动到其它的代理 平台上,只能在拥有浚服务代理的代理平台上运行。所以服务代理的部分资源可由拥有 该服务代理的代理平台提供( 如可信公钥,拥有者证书等等) ,它的安全控制及其它的一 些动作也是由拥有它的代理平台执行的。移动代理的移动功能要求它自身必须包含必要 的资源并且自己执行安全控制,以便它能够在其它的代理平台上安全的运行,降低其它 的代理或代理平台对其攻击的风险。 代理平台( a g e n tc o n t e x t ) ,代理平台为代理提供安全、合适的运行环境。代理平台 提供的服务包括代理的刨建,体眠和唤醒( 生命周期服务) ;为代理的运行提供支持( 运 行支持服务) ;生成服务代理为移动代理提供数据库存取、打印等类似服务( 资源访问服 务) ;代理的注册、注销、查找和管理( 管理服务) ;为一个新的代理提供代理信息( 命 名服务) ;将来至于另一个代理,代理平台的各种消息传给一个代理,为每个代理转发它 要发送的消息,为暂时不能接收消息的代理提供一个消息缓存( 通信服务) ;代理的迁入, 迁出( 移动服务) 。代理平台也执行限制机制,容错机制和安全控制,以确保代理平台正 常

温馨提示

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

评论

0/150

提交评论