(计算机应用技术专业论文)移动代理机制及安全性研究.pdf_第1页
(计算机应用技术专业论文)移动代理机制及安全性研究.pdf_第2页
(计算机应用技术专业论文)移动代理机制及安全性研究.pdf_第3页
(计算机应用技术专业论文)移动代理机制及安全性研究.pdf_第4页
(计算机应用技术专业论文)移动代理机制及安全性研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)移动代理机制及安全性研究.pdf.pdf 免费下载

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

文档简介

摘要 移动代理是能够在异构网中的主机之间自主地进行迁移的计算机程序,它能 够自己决定何时移何地并且通过克隆自己或者产生子代理来协作完成复杂的用户 任务。本文提出并实现的移动代理系统m a d e 是一个安全、高效、健壮的开放式 移动代理系统。它由代理传输层、服务器层和代理层组成。淞d e 系统实现了基于 j a v a 语言的代理编程并且提供了方便灵活的代理应用编程接口j a a p i ,同时也为 实现其它代理编程语言提供了基础框架。 针对目前的移动代理系统性能不佳的问题,本文提出将代理代码看成是由有 名字的类( 或代码块) 所组成的集合,利用c o d e b r o k e r 来实现透明于类的网络分 布的代码迁移模型,解决移动代理系统设计中遇到的效率、容错能力以及 i n t e r n e t 资源的共享等问题。特别是基于c o d e b r o k e r 的代理代码迁移方式充分 地利用了j a v a 环境中已有的类库资源,进一步改善了基于j a v a 的移动代理系统 的性能。 安全性是移动代理系统的至关重要的问题。无论是主机还是移动代理都不一 定是可信任的。移动代理系统的安全要求是应保护代理以防止恶意主机和恶意代 理的攻击,同时,主机也应被保护以舫止恶意代理的攻击。 l a d e 移动代理系统的 层次化的集成安全模型在现有的安全技术基础上,将双向身份验证、资源存取授 权及控制、j a v a 语言安全设藏以及基于环境的密钥产生法和核查日志等方法有机 地结合起来,为移动代理和运行环境提供了个实用的可扩展安全环境。 关键词:移动代理,j a v a 代理编程接口,安全性 昆明理工大学计算机系颂士研究生论文 a b s tr a c t m o b i l ea g e n ti sap r o g r a mt h a tc a l l m i g r a t ea u t o n o m o u s l ya m o n gh o s t s i nt h e h e t e r o g e n e o u sn e t w o r k i td e t e r m i n e sw h e na n dw h e r et om i g r a t e a n dc a nc l o n ei t s e l f o rc r e a t es u b a g e n t st h a tc o o p e r a t et of i n i s ht h e c o m p l i c a t e dt a s ko u rm o b i l ea g e n t s s y s t e mm a d e i sas e c u r e ,e f f i c i e n t ,r o b u s to p e n m o b i l ea g e n tp l a t f o r m i tc o n s i s t so f a g e n tt r a n s p o r tl a y e r , s e r v e rl a y e r ,a n da g e n ta p p l i c a t i o nl a y e r t oi m p r o v et h ep e r f o r m a n c eo fm o b i l ea g e n t ss y s t e m w es e ea g e n t c o d ea sa s e to fn a m e d c l a s s e s ( o rc o d eb l o c k s ) i nm a d et h e s ec l a s s e s a r ed y n a m i c a l l yl o a d e d o nd e m a n dt h r o u g hc o d e b r o k e rt r a n s p a r e n to r h e i rn e t w o r kd i s t r i b u t i o n t h i sc o d e m i g r m i o nm o d e li m p r o v e st h e p e r f o r m a n c e ,f a u l tt o l e r a n c e ,a n dr e s o u r c es h a r eo f m o b i l ea g e n t s s y s t e me s p e c i a l l y i nj a v ab a s e dm o b i l e a g e n t ss y s t e m ,i t c a nt a k e a d v a n t a g e o f r i c hl i b r a r yc l a s s e si nj a v ae n v i r o n m e n ta n d i m p r o v e t h ep e r f o r m a n c e e f f e c t i v e l y s e c u r i t y i sp e r h a p st h em o s tc r i t i c a li s s u ei nt h e m o b i l e - a g e n ts y s t e m n e k h e r t h ea g e n tn o rt h em a c h i n e sa r et r u s t w o r t h y t h es e c u r i t yr e q u e s to f t h em o b i l e a g e n t s y s t e mi st op r o t e c tt h ea g e n tf r o mt h ea t t a c ko ft h em a l i c i o u sm a c h i n ea n da g e n ta s w e l la st o p r o t e c t t h em a c h i n ef r o mt l l ea t t a c ko ft h eh o s t i l e a g e n th i e r a r c h i c a l i n t e g r a t e d s e c u r em o d e l i nj a d e p r o v i d e se f f e c t i v e ,e x t e n s i b l es e c u r i t yf r a m e w o r k f o rm o b i l ea g e n tb y i n t e g r 砒i n gb i - d i r e c t i o na u t h e n t i c a t i o n ,a u t h o r i z a t i o n ,j a v as e c u r i t y p o l i c y ,e n v i r o n m e n tb a s e dk e yg e n e r a t i o n ,a n da u d i tl o g k e y w o r d $m o b i l ea g e n t ,j h a p i ,c o d e b r o k e r ,s e c u r i t y 昆明理工大学计算机系硕士研究生论文 y5 66 3o 上 昆明理工大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行 研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含 任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做 出重要贡献的个人和集体,均已在论文中作了明确的说明并表示了谢 意。本声明的法律结果由本人承担。 学位论妾作者签名: 易谅苗 日期:抑3 年弓月弓f 日 1 1 引言 第一章绪论 伴随网络和网络技术的飞速发展,越来越需要灵活而高效的计算模式。分布 式从c l i e n t s e r v e r 到b r o w s e r s e r v e r ,以及c o r b a 和d c o m 等分布式计算模式 和环境的出现都是逐步发展而出现的。分布式计算是计算机网络时代的关键技术 当前的分布式计算都基于传统的c l i e n t s e r v e r 模式,通过远程调用 f r e m o t e p r o c e d u r e c a l l ) 或消息传递( m e s s a g e p a s s i n g ) 等方式实现跨平台的操作,比较 适合稳定的网络环境和应用场合随着计算机网络的发展( 特别是i n t e m 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 模式的可维护性和可扩充性也比较差,不利于当今快速多变的网络 应用服务领域基于这种情况,移动代理( m o b i l e a g e n t ) 技术被提了出来它集软件、 通信、分布系统的技术于一体,弥补了传统的c l i e n t s e r v e r 技术的不足,有着巨大的 应用前景。 移动代理在汲取传统分布计算技术的有益经验的基础上,为分布计算提供了 一个全新的范型。移动代理是一个能在异构计算机网络中的主机间自主地迁移的 程序。程序自己选择何时进行迁移以及迁移到何地。它能够在执行的任意点上挂 起并将自己传送到另一台主机上,然后接着该执行点继续往下运行。它还可以通 过克隆自己或产生子代理散布到多个主机上以相互合作共同完成更为复杂的任 务。和传统的客户机,服务器模型相比移动代理更能适应和满足基于i n t e r n e t 的分 布应用的需求。 首先,移动代理系统中通信倍道是透明于程序员而计算的位置则是不透明于 程序员的,代理决定何时何地进行迁移而真正的传送是由系统处理的。其次,移动 代理允许隐式的信息传输,迁移的代理携带自身的内部状态和上下文进行迁移从 而不需要独立的传输过程第三。许多应用( 特别是网络管理、信息搜索、工作流规 划以及电子商务等) 很自然地符合移动代理的这种计算一迁移一计算的工作模式。 第四,移动代理为在本地站点和远程站点上都不存在关于连接的状态信息,这不 仅为低带宽、高延迟网络中的分布应用提供了支持并且提高了这些分布应用的容 错能力。最后移动代理使得可以将分布应用程序写成一个程序,而在传统方式下, 分布应用要写成多个程序。 自第1 个移动代理系统t e l e s c r i p t 由g e n e r a l m a g i c 公司在9 0 年代初推出后, 移动代理系统的研究就吸引了众多的注意力参与其中的学术界有 昆明理工大学计算机系硕士研究生论文 d a r t m e u t h ,m i t ,o t t a w a ,c o r n e l l ,u m b c 和s t u t t a g a r t 等名牌大学的研究机构,工 业界则有i b m ,m i t s u b i s h i ,b r i t i s h t e l e c o m 等著名公司,而且一直不断有新的研 究机构或工业组织加入到研究移动代理系统的活动中来可以毫不夸张地说,移动 代理的研究已成了当今软件技术的一个研究热点 1 2 移动代理的优点及其应用 1 2 1 移动a g e n t 的优点 移动a g e n t 技术给分布式系统的设计、实现和维护都带来了新的活力。它在 减轻网络负载:移动a g e n t 技术能较大地减轻网络上的原始数据的流量。分 廷旦目毒磊至三围 j ;客动a g e n t 方式 主机b 图1 1 移动a g e n t 减轻网络负担戴 布式系统通常依赖于通信协议,这些协议在完成给定任务的过程中涉及多次 交互行为,这将导致网络交通拥挤。如图1 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 异步自主运行;通常,移动设备上的计算皆依赖于昂贵而脆弱的 网络连接,它要求在移动设备和固定网络之间建立持续的连接,这种要求从 经济和技术的角度来讲都不易实现。但如图1 2 所示,此种任务可以嵌入到 移动a g e n t 中去,然后将它通过网络派遣出去。此后,移 6:iiiiiiiiiiiiiii口一f:jlliillii。i:ii!iiiiij 匝卜一* 一( 翟i 妇】 面= = 卜c 圈口 图1 ,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 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 会得到警告,并有足够的时间转移到另一台主机上并继 续运行。 1 2 2 移动代理的应用 移动代理作为分布计算的新范型,它的自主性、协作性、智能和移动性使得它在 分布式信息搜索、个人助理、工作流规划、主动电子邮件或文档、电子商务、主 动网络、移动计算、数据挖掘、系统管理等许多领域都有着广泛的应用。 目前移动代理技术已被大量的网络应用采用,同时许多相关的,深入的研究也 在进行中,下面将主要介绍当前移动代理技术的主要网络应用 移动计算( m obi 】eco m put ing ) 通常由于移动用户( 如使用笔记本电脑 或w ap 上网的用户) 的物理位置有可能在网络计算过程中不停地改变因此需要 不断地维护和重新配置当前的数据链接而一旦这种连通性不能及时地维持,就需 要额外地处理脱线阶段的交互数据在这类应用中,采用移动代理技术非常有利用 昆明理工大学计算机系硕士研究生论文 户可以在所发出的移动代理中事先封装所需的长期交互过程中的所有用户端数据 由该代理程序携带用户的请求( 如检查邮件服务器上的所有新邮件等) ,发送至服务 器端并在其上运行,与服务器进行所需的交互和计算这期间客户端与服务器端的 链接可以中断而不会影响移动代理程序的工作,而当代理程序的工作结束后,一旦 链接恢复,代理即可将交互结果返回给初始用户另外,通常代理程序有能力对交互 结果进行预处理,所以对于传输和处理速度较慢的网络环境,这类移动代理系统更 为有用。 智能网络技术( act ive networks ) 耳前的计算机网络都是基于被动 式的分组交换的,而在智能网络中,原先的分组由智能移动码分组取代,这样的分组 不仅携带数据,同时携带该数据的处理说明,这样每个中间节点不仅转发分组,还知 道如何处理该分组当然这种通信模式会带来额外的网络消耗,但是这种模式可以 提供一种新颖的用户个性化的通信模式目前许多大学都已在实验和测试智能网, 如宾夕法尼亚州大学、美国麻省理工学院等等。 interne t 相关应用及电子商务 inte r n e t 是全世界范围的开放性网 络,其最大的优点就是资源的共享性,但是用户进行信息检索和过滤通常需要访问 各类网站,并下载大量数据,最终只获得少量的有用数据而采用移动代理系统,用户 只用发送其代理程序,由该代理在不同的w eb 服务器上执行,采集资源,并根据用户 的喜好进行过滤,最终只返回给用户所需的少量数据而在此过程中,用户甚至不需 要接入网络,因此可以减少网络带宽及其他消耗在另一种应用中,当需要用户与服 务器进行多次交互时,如在大部分的基于web 的应用所采用的ht tp 协议,也 可以采用移动代理系统,由代理程序负责与服务器的交互并处理数据,而用户不必 维持与服务器的链接,从而增加的用户与服务器之间的异步性显然,这种异步性十 分适合笔记本电脑和个人数字助理等可移动的上网工具,因为它们通常只有较窄 的带宽以及不稳定的链接及有限的电源等,另外,移动代理技术在基于int erne t 的电子商务等应用中也大有用处,除了简单的信息搜索外,代理程序还可以完成 许多商业交易,比如代表用户与电子商店( el e ctronicsl aop ) 进行价格协商、 合同的签署以及电子商品( 如信息或音乐等) 的传输等等一个典型的例子就是用户 可以发出一个代理程序按照预定的路线访问不同的电子商店服务器,并返回用户 所需商品的最佳价格 1 3 移动代理研究的意义和目标 1 3 1 移动代理研究的意义 移动代理技术在为分布计算带来许多好处的同时,也从各个方面对计算机科 学提出了挑战。 首先,移动代理需要一个高度安全的代理执行环境。移动代理在网络中其它 主机上的运行不可避免地带来了与安全性有关的问题。这些问题不仅包括传统分 昆明理工大学计算机系硕士研究生论文4 布系统中所遇到的安全问题,而且包括由于代理的迁移而引起安全性问题。如何 从运行环境、编程语言以及用户等方面保证移动代理及其运行环境的安全性,将 是决定移动代理技术能否被广泛应用的关键之一。 其次,解释型语言的使用以及解决安全性所采取的措施也带来了性能和功能 受限等问题。如何在性能、功能以及安全性之间取得平衡,将会是移动代理研究 者所要面对的艰难抉择。另外,移动代理本身和病毒的运行机制非常相似,以至 于有人就将移动代理称为“病毒”。如何识别移动代理程序和病毒程序并且提供 有效的病毒扫描和传染控制机制也是移动代理研究所面临的课题。 最后,由于移动代理在迁移时携带了数据和状态,这也比程序本身的传送增 加了更多的开销,导致了传输效率的下降。虽然移动代理通过计算的迁移等机制 给应用程序的数据传送提供了优化的机会,但是这种效率的损失也是不可忽视的。 因此,还要对移动代理系统及其应用的性能进行分析,以便为用户选择代理的迁 移提供指导。 此外,商业应用领域也对移动代理提出了许多挑战: 1 将代理运行环境繁殖到大量的第三方服务器上将会遇到很大的困难: 2 面对安全问题的时候如何建立对第三方服务器提供者的信任; 3 第三方服务器提供者是否愿意让用户对其服务器行为进行客户化; 4 第三方服务器提供者是否愿意支持移动代理的装载执行; 5 需要在开放的电子商务和封闭的电子商务之间取得平衡 虽然移动代理技术还存在着许多问题,但是它显示了相比传统分布计算技术 在提供网络服务方面质的优势。一旦性能问题和安全性闯题得到了较好的解决, 它将成为基于i n t e r n e t 和i n t r a n e t 的分布计算的主流。因此,如何从各个方面对 移动代理这一全新的分布计算范型进行研究,使其走向实用化、商业化,将对计 算机科学的发展产生重要的影响。此外,许多研究者认为代理将是面向对象技术 之后软件工程领域的又一突破。 虽然目前中国的计算机网络还不太普及,应用也不够广泛。但正如s u n 所提 出的“网络就是计算机“,中国的计算机网络的普及也是不可避免的趋势。在不 久的将来,网上购物、电子股票市场、信息检索、个人数字助理等都将会成为人 们生活中的一部分。因此,研究和开发这种基于i n t r a n e t 和i n t e r n e t 的分布计 算基础框架对于我国国民经济的发展有着非常重要的作用。它有利于我们在飞速 发展的信息社会中占领先机,同时也为分布计算技术的发展提供指导。 1 2 2 移动代理技术研究的目标 正如前面所指出的,移动代理研究的最终目标就是要实现移动代理系统及其应 用的实用化和商业化。这是需要通过研究和解决移动代理技术所遇到的问题( 如 安全性和性能) 来实现的。只有解决或者部分解决了这些问题,才能使移动代理 技术最终进入商业领域。我们对移动代理的研究就是以此为指导思想,将研究工 昆明理工大学计算机系硕士研究生论文 作集中在下面一些领域中: 1 建立安全、高效、开放的移动代理运行环境,为基于移动代理的分布应用建立 基础; 2 提供友好、方便的代理编程环境,这也是移动代理走向商业化的必要前提; 3 移动代理安全性的研究。充分利用和综合现有的安全技术,为移动代理提供实 用,有效的安全机制。 昆明理工大学计算机系硕士研究生论文 第二章移动代理系统m a d e 移动代理系统是创建、解释、执行、传送和终止代理的软件平台。它为代理 的创建、运行、迁移和通信等提供了基本支持。移动代理系统有时也被称为“移 动代理运行环境( m o b i l ea g e n te x e c u t i o ne n v i r o n m e n t ) “或“引擎( e n g i n e ) ”。 每个移动代理系统都能由它的名字和地址来唯一标志。移动代理系统是移动代理 技术广泛应用的前提。只有实现了安全、高效、可靠的移动代理系统,才能使得 建立在它之上的代理应用显示出移动代理所应有的特点和优势,为移动代理的广 泛应用奠定基础。虽然现在已经有了许多各具特色的移动代理运行环境,但是这 些系统都还很不完善。它们在通用性、系统性能、编程环境等许多方面都存在不 足之处,与商业化、实用化的目标还相距甚远。另外,随着移动代理系统标准化 工作的逐渐开展,如何支持移动代理系统标准也是移动代理系统设计所要关心的 问题。 我们的移动代理系统 i a d e ( m o b i l ea g e n td e v e l o p m e n te n v i r o n m e n t ) 是在综合了现 有移动代理系统j a d e ( j i a o t n n gu u i v e r s l t ya g e n td e v e l o p r e n te n v i y o a m e n t ) 和移动代理系统 标准姒f 的基础上设计与实现的基于j a v a 语言的开放式移动代理系统模块化的 体系结构使得m a d e 系统具有很好的可扩展性,它可以容易地实现对多种程序设计 语言的代理编程支持,从而为适应各种代理应用的需要提供多种语言选择e m ) e 不仅提供了移动代理的创建、运行、迁移、传送和终止等的环境,而且实现了代 理的命名编址和定位以及安全控制同步和异步的通信等功能。同时它也为代理的 持久化存储代理间的高层通信协议组通信机制等扩展提供了基础。 m a d e 可以运行在t c e w 、e - m a l l ( s m l p ) 、h m 等多种通信协议环境下。基于 c o d e b r o k e r 的代码迁移机制有效地利用f j a v a 语言丰富的类库资源,减少了代码 迁移的网络开销,改善了系统的代码迁移效率,实现了已有代码的共享和提高了 整个系统的容错能力。集成化的安全模型在现有安全技术基础上为m a d e 提供了高 效、实用的安全机制。而m a d e 系统的可扩展性也为增加更多的安全设施提供了可 能。总之,m a d e 移动代理系统的目标是建立一个通用、安全、高效、健壮、可扩 展的开放式移动代理运行环境。为移动代理应用提供一个与底层系统无关的中间 件( m i d d l e r e ) 平台。 2 1 移动代理系统及其基本概念 2 1 1 移动代理系统 移动代理系统是创建、解释、执行、传送和终止代理的软件平台。g r e e n 等人 在 g r e e ne t a l ,1 9 9 7 中指出“一个移动代理是生存于某个软件环境中的软件实 昆明理工大学计算机系硕士研究生论文 体,它继承了代理的某些性质。移动代理必须包含代理模型、生命周期模型、计 算模型、安全模型通信模型和导航模型等六个模型。移动代理环境是分布在异构 计算机网络上的软件环境其主要任务是为移动代理的执行提供环境。它要实现移 动代理的大多数模型,同时还可能提供支持和其自身相关的服务、支持建立移动 代理环境的环境所需的服务、支持存取其他移动代理系统的服务以及支持存取非 基于代理的软件环境的开放性”。 代理模型代理模型定义了移动代理的智能代理部分的结构,它代表代理所具有的 性质。也就是说,它定义了移动代理的自主性、学习能力和协作能力。特别地, 它定义了代理的主动性和反作用性。 生命周期模型生命周期模型定义了移动代理的不同执行状态以及引起状态转换的 事件,因此它是和描述执行如何发生的计算模型密切相关的。目前有两个主要的 生命周期模型:t e l e s c r i p t 和a g e n tt c l 等系统所采用的持久进程模型$ i a g l e t s 、 o d y s s e y 、c o n a o r d i a 和m a d e 等采用的基于任务的模型。在能力更强的持久进程模型 中,移动代理起始于“开始”状态,当持久进程被执行时就进入了“运行”状态, 进程终止时进入“死亡”状态。当一个移动代理要从一个站点迁移到另一个站点 上时,“运行”状态中的进程在设置检查点后,代理进入“冻结”状态,然后它 的代码、数据和运行状态被传送到目标站点,在目标站点上,进程在挂起点处恢 复执行并重新进入“运行”状态。这种生命周期模型能力最强也最具灵活性,所 有其他生命周期模型都可以建立在该模型上。 在基于任务的生命周期模型中,移动代理起始于“开始”状态,然后按照不 同条件在任务网络上周游。每个任务都有自己的状态,但是当移动代理迁移到另 一站点上时,当前运行任务的上下文丢失了。这样,在迁移之前代理必须保证当 它在目标站点上重新具体化时第一个任务已经开始执行。这一模型由于传输过程 中运行状态信息的丢失降低了灵活性。 计算模型计算模型定义了一个移动代理在“运行”状态时是如何执行的计。算 发生在环境中并受益于某种形式的处理器,处理器可能是c p u 也可能是象j a v a 虚 拟机这样更为抽象的虚拟处理器。作为该模型的一部分必须指明包括数据操作命 令和线程控制命令等组成的原始命令集,它定义了移动代理的计算能力。移动代 理的实现者通过计算模型存取其他模型,因此计算模型的结构将影响所有其他模 型。要得到非常通用并且能力极强的计算模型需要充分考虑它对移动代理的生命 周期、安全性、通信和导航能力所产生的影响。 安全模型移动代理的安全模型实现移动代理和移动代理系统的安全性。有关移 动代理安全性的讨论详见第四章。 通信模型如果移动代理不能和计算环境中的其他实体通信,那么它的作用将会被 削弱。这些实体包括用户、其他代理、代理环境以及其他非代理系统如基于c o r b a 的分布式系统等等。协议是通信模型的一种实现。目前存在从最基本的( 如消息 传递、电子邮件和远程过程调用r p c ) 到更为通用和复杂( 如k q m l ) 的一系列通 信协议。这些协议随通信实体类型的不同而变化。例如,比起通过k o m l 协议和代 昆明理工大学计算机系硕士研究生论文 , 8 理进行通信来,人们更乐意通过声音或g u i 接口和代理进行通信。对于移动代理 来说支持多种通信协议是非常必要的。 导航模型导航模型提供从发现和解析目标主机到移动代理的传输方式在内的 代理移动性。许多人认为导航模型必须提供些基本机制 g r e e ne ta 1 ,1 9 9 7 : ( 1 ) 代理、主机、服务等的命名;( 2 ) 存取远程移动代理环境的信息:( 3 ) 将移动代理转入“冻结”状态,为传输到远程主机作准备;( 4 ) 传送“冻结” 状态的移动代理到远程移动代理环境中;( 5 ) 接受从远程主机来的“冻结”状态 的移动代理并在新环境重建这个代理;( 6 ) 提供网络状况信息的网络拓扑信息 服务。 上述六个模型是一个完整的整体。如图2 1 所示,计算模型是核心,它对其他 模型有着重要的影响。安全模型和生命周期模型在结构上非常接近于核心。安全 性渗透于移动代理的每一性质之中,因而它是很基本的一部分。生命周期模型定 义了代理的有效状。态最外层是通信、导航和代理模型,它们都依赖于安全模型, 而通信模型则和生命周期模型没有太大的联系。 图21 移动代理模型之间的相互关系 2 1 2 几个基本概念 下面介绍本文中经常使用的移动代理中的几个基本概念。虽然它们的定义不 是非常形式化而且也没有被所有的移动代理研究者所接受。但是它们对于描述我 昆明理工大学计算机系硕士研究生论文 们的移动代理系统m a d e 是足够、有效的。虽然对这些概念的描述是基于面向对象 技术的,但是它们也同样适用于非面向对象的移动代理系统中。 代理( a g e n t )代理是代表一个人或一个组织去行动( 或完成任务) 的计算机 程序。目前的大多数代理为了实现可移植性都是用解释型语言( 如t c l t k 、j a v a 、 s e h e m e 和t e l e s c r i p t ) 编写的。每个代理都有自己的执行线程,因此它们能够按照自 己的意图执行任务。代理包括静止代理和移动代理。 静止代理( s t a t i o n a r ya g e n t )静止代理只能在它开始执行时的系统上执行。当 它所需要的信息或资源不在本地系统中或者需要和其它系统中的代理进行交互 时,静止代理通常使用象远程过程调用r p c 这样的通信机制和远程实体进行通 信。静止代理可以使用的分布对象系统中的通信机制有c o r b a 、d c o m 和远程 方法调用r m i ( r e m o t em e t h o di n v o c a t i o n ) 等。 移动代理( m o b i l ea g e n t )移动代理是能在自己的控制下在异构网络的主机之 间自主地进行迁移的计算机程序。程序能够自己选择何时何地进行迁移。它能在 执行的任意点上挂起并将自己传送到另一台主机上并接着该执行点继续往下运 行。它还可以通过克隆自己或产生子代理分散到多个主机上以相互合作完成复杂 的任务。移动代理的执行不再局限于它开始执行时的主机。迁移能力使得代理可 以移动到它想与之交互的对象所在的系统上去并充分利用和服务器对象驻留在同 一主机上所带来的好处。虽然当前的分布对象系统为静止代理的通信提供了足够 的支持,但对于移动代理而言它需要比现有分布对象系统所能提供的更多能力和 需求。 场所( p l a c e ) 代理的传输是在称为“场所”的代理执行环境之间进行的。场所 是移动代理系统中代理的执行环境,这个环境提供了象代理程序的解释执行和存 取控制这样的功能。源场所和目标场所可能驻留在同一移动代理系统中也可能驻 留在不同的移动代理系统中。场所是和位置相关的,位置由场所的名字和场所所 在的移动代理系统的地址组成。在一个移动代理系统中可以存在多个场所。在某 些移动代理系统中,场所指的就是移动代理系统本身。 位置( l o c a t i o n )代理的位置是指场所的地址每个场所驻留在一个移动代理系 统中,因此代理的位置应该包含代理所在的移动代理系统的网络地址和场所的名 字如果移动代理在迁移时没有指定代理的目的场所名,目标移动代理系统应该能 够选择一个默认的场所作为移动代理迁移的目的场所。 移动代理系统( m o b i l e a g e n t ss y s t e m ) 如l 前所述,移动代理系统是创建、解释、执 行、传送和终止代理的平台。它也被称为“移动代理运行环境”或”引擎”。移动代 理系统具有和具体的人或组织相关的授权。系统之间利用这个授权来建立信任机 制。每个移动代理系统都由它的名字和地址来唯一标志。 每个主机上都可以运行一个或多个移动代理系统,每个移动代理系统可能包 含个或多个场所,在每个场所中又可以运行一个或多个移动代理。在移动代理 系统没有实现位置的时候,可以将移动代理系统本身看作是一个默认的场所。 昆明理工大学计算机系硕士研究生论文 1 0 2 2 安全、高效的移动代理系统m a d e 移动代理系统m a d e 的目标是建立一个安全、高效、健壮的开放式移动代理 运行环境中间件。它不仅为实现移动代理的五个模型提供了支持,而且为移动代 理提供了丰富的功能支持和扩展基础。在m a d e 系统中,应用程序员能够根据分 布应用的需求选择合适的编程语言和通信机制来快速开发各种规模的代理应用, 而且纯j a v a 的系统实现也使m a d e 系统具有良好的可移植性和扩展能力。 2 2 1 移动代理系统m a d e 的结构 移动代理系统m a d e 的系统结构是在综合a g e n tt e l 的层次化结构、 t e l e s 砸p t 的服务器模型、a r a 的多语言支持、a 百e t s 的多种通信机制以及 c o n c o r d i a 、m o l e 等移动代理系统和o m g 的移动代理系统标准m a f m a f 9 7 , 1 9 9 7 的基础上提出的一个通用的层次化、可扩展的移动代理系统结构。它由代理 传输层、服务器层、代理层和一个名字服务器所组成、这些层次和我们在2 1 节 所描述的移动代理中的基本概念一一对应。语言解释器定义了代理运行的场所, 服务器层则和移动代理系统相当,而每个代理都是代理层中的一个实体。 最底层是代理传输层。它的目标是利用底层通信协议来实现代理的传输。由 于分布系统平台的异构性和代理应用的多样性,移动代理系统的代理传输也应该 是基于多种底层通信协议的。m a d e 通过一个统一的代理传输协议a t p ( a g e m t r a n s f e rp r i o r i ) 提供给服务器层一个与底层通信协议如( t c m p 、电子邮件、 h t t p 协议) 无关的代理传输环境。系统能够根据应用环境的不同为代理传送选 择合适的传输协议。有了代理传输协议,在m a d e 中增加新的代理传输底层通信 协议支持就无需对整个移动代理系统进行修改了。目前m a d e 只实现了基于 t c m p 通信协议支持的代理传送。 第二层是服务器层。它运行在每个主机上。该层主要由提供服务的一些管理器 和语言解释器所组成,它们包括e n g i n e 、安全管理器、事件管理器、持久化存储 管理器、通信管理器、c o r b a d c o m 服务和代理编程语言的解释器。这种模块化的 结构有利于实现整个系统的扩展,将对管理器进行的修改对整个系统的影响程度 降到最低。对于目前位于代理层的许多服务如资源目录服务、网络遥感服务、主 机位置无关的名字服务以及更高层的存取控制等都可以根据应用的需要,将其作 为服务器层的一部分。当然,这种扩展不仅会使得移动代理系统的服务器层变得 非常复杂,而且也会降低整个系统的效率。 e n g i n e 是服务层的核心。它实现移动代理的管理和控制、代理的迁移以及协调 和其它单元之间的工作。e n g i n e 跟踪在本地主机上运行的代理并控制代理的启 动、传送和终止。代理语言解释器和其它服务器和m a f i n d e r 服务进行的交互都 需要通过e n g i n e 才能进行。这种机制也有利于实现整个移动代理系统的安全。在 代理进行迁移时,e n g i n e 和安全管理器进行合作,将代理的代码和语言解释器捕 昆明理工大学计算机系硕士研究生论文 1 1 获的代理数据、运行状态等信息封装起来并对其进行相应的数字签名和加密。然 后e n g i n e 选择合适的通信协议将代理发送给目标主机。当接收到迁移到本地的主 机的移动代理时,e n g i n e 首先对进来的代理进行身份验证以决定是接收还是拒绝 代理的迁移,然后对代理进行解密并将其传送给相应的解释器装载执行,同时 e n g i n e 还要根据代理的身份给予它相应的授权。在代理运行期间,e n g i n e 还要 跟踪代理的状态和资源存取等情况。 通信管理器主要提供代理间的通信支持。正如我们将在后面所讨论的,通信管 理器要为代理提供灵活、多样的通信机制。它和事件管理器一起,为用户提供同 步和异步的消息传递、远程过程调用r p c 、远程方法调用r m ( 面向对象系统 中) 、事件机制、组通信和代理通信语言a c l 等通信和同步机制支持。通信管理 器的设计充分考虑了对其它通信协议的扩充支持,使得系统能够有效地支持特殊 领域的代理通信需求。当然,太多的通信机制支持会增加移动代理系统的复杂程 度,降低整个移动代理系统的性能,因此我们将高层的通信协议( 如a c l 通信协 议) 作为代理层的服务而不是作为通信管理器的服务,这也提高移动代理系统的 性能。 事件管理器对事件进行调度和管理。在某个事件到达后,事件管理器调用相应 的事件处理程序对该事件进行处理。代理应用可以自己定义各种面向应用的事件 及其处理程序来提高应用的处理能力。对于许多对实时性要求很高的应用以及反 应型的代理应用( 如股票交易系统) 来说,基于事件的快速反应机制是必不可少 的。 安全管理器主要实现底层的代理安全机制。这些机制包括数字签名、数据加密、 身份验证、资源存取控制以及我们在第四章所讨论的其它安全机制。在当前的移 动代理系统实现中,身份验证和存取授权及控制是最基本的安全设施。对于要迁 移的代理,系统首先要利用相应的加密程序( j t n p g p k a u f m a ne l :a l ,1 9 9 5 】) 对其 进行数字签名和加密,然后才能将它发送出去。在接收到代理之后,安全管理器 需要对代理的身份进行验证并据此给予相应的授权。对于经过加密的代理还需要 利用自己的密钥对它进行解密。对于许多代理编程语言女f f j a v a 、t c l 等来说,它 们没有提供足够的资源存取控制机制。在这种情况下安全管理器还需要根据代理 的授权进行资源的存取控制,这通常可以通过一个存取控制权限表来实现。对于 其它的安全机制如代理的跟踪、电子货币、代理加密等则是由代理层作为服务提 供。这种方法不仅可以减少系统的复杂度而且也能够提高系统的效率。由于加密 和数字签名都需要花费相当的时间,因此安全管理器还要提供给用户是否使用这 些安全措施的选择可能。用户可以根据具体的应用环境和应用安全需求选择不使 用代理传送的数字签名或( 和) 加密以提高代理应用的性能。 持久化存储管理器是和非易失性存储设备密切相关的,它提供了将代理保存 到非易失存储设备中并根据保存信息恢复代理的能力。移动代理系统通过持久化 存储管理器定期将运行代理的数据和运行状态保存到存储设备中。在系统发生故 障并重新启动后,移动代理系统能够根据代理留下的日志信息从最近的点开始恢 昆明理工大学计算机系硕士研究生论文 1 2 复代理的运行。由于代理的状态信息很多,每次设置代理的检查点( c h e c k p o i n t ) 的时候都将代理的所有信息保存到存储器的方法浪费了大量的存储资源。若能实 现代理信息的递增式存储将会节省大量的存储资源,但这需要对代理语言的解释 器进行修改。对于可靠性要求不高的代理应用和在高可靠性的系统中运行的代理 应用,它们不需要设置代理的检查点以实现容错性,这时它们的性能也将会得到 很大的改善。因此,持久化存储管理器也需要给用户提供是否设置代理的检查点 的选择余地。 c o r b a d c o m 服务提供移动代理系统和基于c o r b a 或d c o m 的分布对象 系统之间的互连支持。这种服务当然可以作为代理层服务之一来实现。但是考虑 到基于c o r b a 或d c o m 的分布对象系统己经成为广泛使用的分布式平台这一 事实以及和o m g 的移动代理系统标j a # _ m a f m a f 9 71 9 9 7 1 之间的兼容性,我们考 虑将这一服务作为移动代理系统服务器层功能的部分。当然,目前的m a d e 系 统还没有实现和基于c o r b a 的系统的互连,随着对于移动代理系统和c o r b a 之间的关系的进一步认识,我们对于这一部分服务究竟位于系统的哪一层次的看 法也会随之而改变。 语言解释器是由支持各种代理程序设计语言的解释器( 或非解释型语言的运行 环境) 组成的。每个解释器的实例就是代理的一个场所。它为代理的运行提供了 基本环境。每种语言的解释器都是四部分组成:( 1 ) 语言解释器提供该语言的 运行支持;( 2 ) 安全模块则提供对系统资源如c p u 、内存、文件系统、网络连 接等的保护支持,防止非授权用户存取或破坏这些资源;( 3 ) 状态模块负责捕 获和恢复正在运行的代理的内部状态等信息;( 4 ) 代理编程语言还要提供给用户 的一个使用包括通信协议、c o r b a 服务、持久化存储服务等服务在内的代理编 程接口。对于象j a v a 这样的语言来说,它的语言解释器本身已经提供了安全管理 和对象序列化等设施。语言解释器只需在这些设施基础上稍加修改就可以支持状 态的捕获和恢复等功能了。丽对于t c l t k o u s t e r h o u t ,1 9 9 4w e l c h ,1 9 9 5 】 s c h e m e d y b v i g ,1 9 8 7 等语言来说,它

温馨提示

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

评论

0/150

提交评论