(计算机软件与理论专业论文)移动代理在虚拟数字校园中的应用研究.pdf_第1页
(计算机软件与理论专业论文)移动代理在虚拟数字校园中的应用研究.pdf_第2页
(计算机软件与理论专业论文)移动代理在虚拟数字校园中的应用研究.pdf_第3页
(计算机软件与理论专业论文)移动代理在虚拟数字校园中的应用研究.pdf_第4页
(计算机软件与理论专业论文)移动代理在虚拟数字校园中的应用研究.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(计算机软件与理论专业论文)移动代理在虚拟数字校园中的应用研究.pdf.pdf 免费下载

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

文档简介

论文题目:移动代理在虚拟数字校园的应用研究 专业:计算机软件与理论 硕士生:彭文青 指导教师:罗源明副教授 摘要 十多年来,人们在网上虚拟大学( v i r t u a lu n i v e r s i t y ) 研究中形成了若 干思想和方法,产生了许多相当成熟的应用成果,为教育机构的实际教学,管 理工作提供了很好的支持但是,随着信息技术的不断发展,尤其是近年来的 分布式计算技术和e - l e a r n i n g 的广阔的市场需求对传统的v u 技术提出了新 的挑战以往的v 1 j 多是构建在原有的分布式系统的基础上,往往采用 c 1 l e n t s e r v e r ( c s ) 或b r o w s e r s e r v e r ( b s ) 的结构但是存在局限性,不能 很好满足e e d u c a t i o n 中虚拟教学环境下的教师与学生以及学生与学生等关 系中的互动协作关系:c s 结构中描述两个对象间的相互关系,主要是主从 关系或服务器客户关系,不强调实体间相互协同完成任务,无法充分体现现 实生活中人们学习工作中的协作关系,随着v u 的发展,学习者需要在虚拟学 习环境中有更多的学习模式的选择( 同步异步) ,需要更多和教师,学习伙伴 的协调合作:在用户需求迅速扩大和i n t e r n e t 浪潮的冲击下,传统的c s 技术 暴露出更多的不可克服的缺陷,如客户机和服务器在计算过程中必须一直维 持连接,计算过程有大量的中间结果需要传输,浪费带宽,因而难以适应移动 计算的低带宽,高延迟,不稳定的网络环境:另外,c 1 l e n t s e r v e r 或 b r o w s e r s e r v e r ( b s ) 模式的系统开发和移植困难,可维护性和可扩充性也比 较差,不能满足v u 应用需求,而且传统典型的分布式系统技术也不完全适合 于v u 系统,因此,v u 的研究和应用需要引入新的思想方法和技术基于这种 情况,移动代理技术被提了出来它集软件,通信,分布式系统计算技术于一体 祢补了传统的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 ( b s ) 技术的不足,在 v i r t u a lu n i v e r s i t y ( v 1 j ) 中有着巨大的应用前景 目前,国内外对移动a g e n t 在e e d u c a t i o n 中应用研究主要集中在基于 m o b i l ea g e n c 技术的虚拟学习环境的个人学习助手,以及教材动态编制发布 等针对a g e n t 技术在o n l i n el e a r n i n g 中某个具体应用的研究。而对如何在 现有的庞大虚拟校园网基础上,无缝地整合一个多用户,多应用,统一管理, 能够实现互动协作,信息共享等需求且结构灵活,易于扩展的m u t i l m o b i l e a g e n t 系统,从而充分利用不同分布式计算技术的优点达到虚拟教学环境中 最优的教学,科研与管理的效果这方面的工作则很少有人涉及 本文正是针对上述在现有虚拟大学中的不足,提出了自己的解决方案:设 计了一个面向虚拟大学的移动a g e n t 协作中间件系统模型( v u m a 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 l e t 代理系统上扩展了代理系统 资源目录服务功能和a g e n t 协作控制功能,实现了适用于v u m a m 的移动代理应 用开发平台e a g l e t 本文还讨论了a g l e t 的模型与编程机制,以及给出用x m l 实现a g e n t 与应用程序间数据共享的解决方案:本文最后给出一个以e a g l e t 为a g e n t 开发应用平台,基于v u m a m 模型的应用示例 关键字:移动代理;虚拟校园;移动代理协作中间件;v u m a m ;e a g l e t i i t i t l e :r e s e a r c ha n d i m p l e m e n t a t i o n o fm o b i l e a g e n tt e c h n o l o g y a p p l i e do n v i r t u a lu n i v e r s i t y m a j o r :c o m p u t e r s o f t w a r ea n d t h e o r y n a m e :p e n gw e n t s i n g s u p e r v i s o r : v i c e - p r o f e s s o rl u o y u a n - m i n g a b s t r a c t t h ea u t o n o m y ,c o o p e r a t i v i t y ,i n t e l l i g e n c ea n dm o b i l i t yo fm o b i l e a g e n t m a k ei to v e r c o m et h ew e a k n e s so f t r a d i t i o n a ld i s t r i b u t e d c o m p u t a t i o nm o d eo fc sa n db s ,a n db r i n gn e wb e t t e rs o l u t i o nt ot h e c o t e a c h i n g ,c o l e a r n i n ga n dc o m a n a g e m e n ti nv i r t u a lu n i v e r s i t y h o w e v e r n o w a d a y s t h em o s tr e s e a r c ho f m o b il e a g e n tt e c h n o l o g y o nv i r t u a l u n i v e r s i t ya r ef o c u s e do ns o m ec e r t a i na p p l i c a t i o nf o rs o m ec e r t a i nk i n d o fu s e r s ,a n dd o e s n t p r o v i d ee f f e c t i v ec o n t r o lm e c h a n i s mf o ru n i t e d m a n a g e m e n to fm u t i l 一a p p l i c a t i o na g e n t sw h i c hw o r kf o rm u l t i - u s e r sw i t h m u l t i - c h a r a c t e r s t h i sh a sp r e v e n t e dt h ei m p l e m e n ta n dp r o m u l g a t i o no f a g e n tt e c h o l o g yi nv i r t u a lu n i v e r s i t y f o c u s e do ns u c hi n s u f f i c i e n c y ,t h i sp a p e rg i v eo u ti t so w ns o l u t i o n i nt h i s p a p e r ,a v i r t u a l u n i v e r s i t y o r i e n t e dm i d d l e w a r e ( v u m a m ) a n da v i r t u a lu n i v e r s i t yf r a m e w o r kb a s e do nv u m a ma r eb o t hd e s i g n e d t h e n i t d i s c h s st h ea s s i g n m e n to fa g e n tc h a r a c t e r sa n df u n c t i o n ,a n dt h em o t h o d o f a g e n tn a m i n ga n dl o c a t i o n ,t h e n ,a g e n ts y s t e mr e s o u r c ed i r e c t o r ys e r v i c e a n dt h ec o n t r o lm e c h a n i s mo fc o o p e r a t i r e a g e n t v u m a mi sas i m p l e ,f l e x i b l e w e l l d e s i g n e d m o d e lw h i c hh a s c l e a r l y d e f i n e di n t e r f a c e i tc a nb e s e a m l e s sp l u g e di nt h en o w a d a y sv i r t u a lu n i v e r s i t y ,w h i c hc a nm a k eg o o d u s eo ft h ee x c e l l e n tc h a r a c t e ro fm o b i i ea g e n t ,a n da tt h es a m et i m e ,k e e p t h em a t u r ea p p l i c a t i o no ft h eo l ds y s t e m i nt h i gp a p e r ,w ea i s od e v e l o p a na g e n tp l a t f o r mn a m e dg a g l e t ,w h i c he x t e n d e df r o mt h ei b ma g l e ta g e n t s y s t e m i ne a g l e t ,w ei m p l e m e n tt h ef u n c t i o no fs o u r c ed i r e c t o rs e r v i c e a n da g e n tc o o p e r a t i o nc o n t r o lm e c h a n i s mm e n t i o n e da b o v e w ea l s og i v et h e s o l u t i o no fu s i n gx m lt os h a r ed a t ab e t w e e n a g e n ta n da p p l i c a t i o ns o f t w a r e i nv u m a m a tl a s t ,w eg i v ea ne x a m p l ea p p l i c a t i o na b o u tc o t e a c h i n go nt h e b a s eo fv u m a m k e y w o r d s :m o b i l ea g e n t ;v i r t u a lu n i v e r s i t y ;m o b i l e a g e n tm i d d l e w a r e ; v u m a m ;e a g l e t i 移动代理在虚拟数字校园中的应用研究 第1 章综述 1 1 问题的提出 十多年来。人们在网上虚拟大学的研究中形成了若干思想和方法,形成 了许多相当成熟的应用成果,为教育机构的实际教学,管理工作提供了很好 的支持但是,随着信息技术的不断发展。尤其是近年来的分布式计算技术 和e l e a r n i n g 的广阔的市场需求对传统的v u 技术提出了新的挑战以往的 v u 多是构建在原有的分布式系统的基础上,往往采用c 1 i e n t s e r v e r ( c s ) 或b r o w s e r s e r v e r ( b s ) 的结构但是存在局限性,不能很好满足 e e d u c a t i o n 中虚拟教学环境下的教师与学生以及学生与学生等关系中的 互动协作关系:c s 结构中描述两个对象间的相互关系主要是主从关系 或服务器客户关系,不强调实体间相互协同完成任务,无法充分体现现实 生活中人们学习工作中的协作关系,随着v u 的发展,学习者需要在虚拟学习 环境中有更多的学习模式的选择( 同步异步) ,需要更多和教师,学习伙伴 的协调合作:而传统的计算模式无法很好地满足这些要求,而且在用户需求 迅速扩大和i n t e r n e t 浪潮的冲击下,传统的c s 技术暴露出更多的不可克 服的缺陷,如客户机和服务器在计算过程中必须一直维持连接,计算过程有 大量的中间结果需要传输,浪费带宽,因而难以适应移动计算的低带宽,高 延迟,不稳定的网络环境:另外,c i l e n t s e r v e r 或b r o w s e r s e r v e r ( b s ) 模 式的系统开发和移植困难,可维护性和可扩充性也比较差,不能满足v u 应用 需求 3 因此,v u 的研究和应用需要引入新的思想,方法和技术基于这种 情况,移动代理技术被提了出来它集软件,通信,分布式系统计算技术于一 体,祢补了传统的c i i e n t s e r v e r 及b r o w s e r s e r v e r ( b s ) 技术的不足在 v i r t u a lu n i v e r s i t y ( v u ) l q 中有着巨大的应用前景 移动代理技术的概念是二十世纪九十年代初由g e h e r a l 公司在推出商 业系统t e l e s c r i p t 时提出的,它是c o r b a ,e j b 之后的新一代分布式处理技 术,集成了众多的优点,在许多新兴的领域得到了广泛的应用简单地说,移 动代理是一个能在异构网络中自主地从一台主机迁移到另一台主机,并可 与其它代理或资源交互的程序因此移动代理具有以下特性:移动性,自主 性,安全性,协同性,智能性和社会性等和传统的分布式计算模型相比,移 动代理有着减轻网络负载,克服网络延迟,包装不同协议,异步和自主地执 行功能,动态适应环境,自然的异构性,以及健壮性等优点 5 ,它诵补了 注:本文中出现的虚拟数字校园虚拟校园,数字校园,v i r t u a lu n i v e r s i t y , v u 均是同样涵义,本文不加以区别 3 移动代理在虚拟数字校园中的应用研究 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 ( b s ) 模式的不足因此,研究如何把移 动a z e n t 技术引入到v u 中,在现有的庞大虚拟校园网基础上,无缝地整合一 个功能强大多样,参与者众多,需求复杂且结构灵活,易于扩展的 m u t i l m o b i l ea g e n t 系统,从而充分利用不同分布式计算技术的优点达到 虚拟教学环境中最优的教学,科研与管理的效果,将有着重要的现实意义和 广阔的发展前景 1 2 当前国内外的研究情况 移动代理的异构性,协作性,自治性以及移动性使得它在许多新兴的领 域得到了广泛的应用,如在电子商务,网络管理和计算机协同工作( c s c w ) 等 领域;许多商业公司,研究机构和工业组织加入到研究移动代理的活动中, 迄今为止,已有约6 0 多种移动代理系统推出并得到广泛应用移动代理的研 究成了当今软件技术的一个热点课题 当前,国内外对移动代理的研究大多集中在移动代理的安全性和移动 代理技术在电子商务,分布式智能检索,网络管理,入侵检测以及计算机协 同工作( c s c w ) 等领域应用的研究:而对移动a g e n t 在e e d u c a t i o n 中应用研 究得不多,其中,在e - l e a r n i n g 方面做了比较多研究的有台湾淡江大学,主 要是研究基于m o b i l ea g e n t 技术的虚拟学习环境的个人学习助手,以及国 外对基于m o b il ea g e n t 的c o m m u n i t yl e a r n i n g ( 小组学习) 和教材的个性化 编制发布等针对o n l i n el e a r n i n g 某个具体应用的研究,但很少人研究如何 在现有的虚拟校园基础上,实现可统一管理的多用户,多应用的a g e n t 系统 体系框架 移动代理在虚拟数字校园中的应用研究 第2 章移动代理技术 简单地说,移动代理是一个能在异构网络中自主地从一台主机迁移到另一台 主机继续运行,并可与其它的代理或者资源交互的软件实体移动代理技术是 c o r b a ,e j b 之后的新一代分布式处理技术,集成了众多的优点,在许多新兴的领 域得到了广泛的应用,吸引了众多的注意力参与其中的学术界有 d a r t m o u t h ,m i t , 0 t t a w a ,c o m 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 等著名公司而且一直不断有新的研究机构和 工业组织加入到研究移动代理系统的活动中来,可以毫不夸张地说,移动代理的研 究己成为当今软件技术的一个研究热点 2 1 移动代理的定义 根据c h e s s 2 3 和g r a y 2 4 等的描述,移动代理m a ( m o b i l ea g e n t ) 是一个可以 自动决策无需用户干预的执行某种任务的程序,它在异构的网络环境下能自主地 从一台主机移动到另一台主机,该程序能够选择何时,何地移动在移动时,该程序 可以根据要求挂起其运行,然后转移到网络的其它地方重新开始或继续其执行最 后返回结果或所需的信息其工作原理如图2 一l 所示,移动代理通过网络把自身 从主机a 迁移到主机b 上去继续执行 移靖代舞i l 呻:挑 移动代理 _ 爝 一卜,、t 瓣、露。= :;誊蓦、 蹦络i 囊囊蒸基? 图2 一l 移动代理工作方式 h 水1 a 由上述定义,可以看出移动代理具有如下的基本特点: 1 。自主性:具有对外部事件的感知机制和代理的行为控制机制,能够根 据其内部状态和外部事件诀定自身的行为 移动代理在虚拟数字校园中的应用研究 2 协作性:移动代理系统中的多个移动代理之间能够通过一定的通信机 制来进行协作和协商 3 移动性:移动代理不是静态的计算实体,它具有能够在网络环境中自 由迁移的能力 移动代理系统e h 移动代理m a ( m o b i l ea g e n t ) 和移动代理环境m a e ( m o b i l e a g e n te n v i r o n m e n t ,也称为p l a c e ) 两个部分组成m a e 是一个分布在网络各种计 算设备上的软件系统,它也被称为移动代理服务器或移动代理平台它一般建立在 操作系统之上,为m a 提供运行的环境m a 则是只能存活在m a e 中的软件实 体m a 的移动便是从一个m a e 移动到另一个m a e 从抽象的角度来看,我们可以用七个模型来描述移动代理系统【9 】 ( 1 ) 代理模型( a g e n tm o d e l ) 这个模型定义移动代理的智能代理部分的内部 结构,即移动代理作为代理必须具有的一些特性,如代理的自治,学习,协商,协作,反 应和预动等性质在移动代理技术领域,研究人员关心的是提供一个代理移动的框 架,因此其代理模型主要和代理的自治性有关 ( 2 ) 计算模型( c o m p u t a t i o nm o d e l ) 计算模型定义移动代理的运行方式,如 m a 是编译运行还是解释运行,是以线程方式还是以进程方式生存于运行环境中 等计算模型决定代理是以通信还是以移动的方式来完成任务,以达到最佳的整体 运行效果 ( 3 ) 安全模型( s e c u r i t ym o d e l ) 移动代理系统本身是一个开放的系统,m a e 可 能要接受不信任的移动代理,移动代理也可能到不信任的m a e 中去执行,因此,必 须要有安全措旅移动代理的安全模型描述如何保证代理的完整性,防止代理携带 的数据泄漏,代理和服务器的相互认证,代理的授权和服务器资源存取控制策略 等 ( 4 ) 通信模型( c o m m u n i c a t i o nm o d e l ) 在基于移动代理系统的分布式应用中, 存在着用户,静态代理,其它的移动代理,其它的移动代理系统甚至是其它非移动 代理系统( 如c o r b a ) 等实体,移动代理为了实现特定的功能,必须具备与这些实 体通信的能力,特别是为了使代理具有协商,协作解决问题的能力,代理间的通信 手段必须方便灵活,这是通信模型所必须解决的 ( 5 ) 迁移模型( m i g r a t i o nm o d e l ) 迁移模型定义代理如何移动的问题,包括3 个 方面:1 代理要移动时怎样挂起代理,俘获代理的运行状态并把代码及有关数据打 包;2 以什么方式把代理传送到目的地;3 如何接收代理并恢复代理的运行 ( 6 ) 命名和定位模型( n a m i n ga n dl o c a t i n gm o d e l ) 移动代理系统中有很多的 移动代理,它们产生于不同的主机,有着不同的目的,移动代理本身是动态的,不断 在主机间移动因此,必须要有代理的命名和定位模型,保证代理名字的唯一性和 方便查找代理当前的地址 ( 7 ) 服务定位模型( s e r v i c el o c a t i o nm o d e l ) 服务定位模型涉及提供a g e n t 查 找所需服务的手段当本地服务不能满足a g e n t 时,它将寻找能提供所需服务的站 点然后前往该地 这些模型的实现构成了移动代理系统,不同的模型实现方法使得各个移动代 理系统之间有着很大的区别 根据移动代理携带的内容,移动代理系统m a s 有强移动代理系统和弱移动 代理系统之分前者在代理移动前俘获整个a g e n t 的状态( 包括代理的数据状态和 6 移动代理在虚拟数字校园中的应用研究 执行状态) ,把它们和代n - n n n n t - + 节n a g e n t 到达目的地后,其状态被 系统自动恢复,程序将继续在断点执行下去这样a g e n t 的传输过程是完全透明的, 不需要编程人员的关心但是该方式增加了系统实现的复杂性,如必须修改解释器 来提供俘获a g e n t 状态的函数另外,完整的状态传送增加了通信流量,在多线程情 况下尤其如此,这使得强移动系统的代理移动会是很耗时的事 情a r a ,d a g e n t ,t e l e s c r i p t 都属于强移动系统弱移动系统的代理移动只传送代码 和数据状态,在特定的入口点重启代理的运行甚至可以让编程者选择变量来封装 a g e n t 状态以使要传送的数据量达到最少因此,编程人员必须负责把a g e n t 的执 行状态封装到程序变量中去编程人员也必须规定代理移动后继续执行的入口点 很显然,弱系统的缺点在于编程人员必须熟悉整个传送过程所有基于j a v a 的系统 都是弱移动系统原因在于要利用现成的j a v a 虚拟机而要做到强移动则必须更改 解释器实际上,移动代理的移动都是自主的,是由编程人员明确决定它什么时候 移动的,因此任意执行点的状态俘获传送并不需要目前,大部分的移动代理系统 都采用弱移动方式 2 2 移动代理系统结构 移动代理系统由移动代理和移动代理服务设施两部分组成移动代理服务设 施基于a g e n t 传输协议a t p ( a g e n t t r a n s f e rp r o t o c 0 1 ) 实现a g e n t 在主机问的转移, 并为其分配执行环境和服务接1 2 1 :a g e n t 在服务设施中执行,通过a c l ( a g e n t c o m m u n i c a t i o n l a n g u a g e ) 相互通信并访问服务设施提供的服务 移动代理的基本特征是能够在异构的网络结点间移动,并通过与服务设施和 其它a g e n t 协商获取,提供服务来完成全局目标因此,移动代理体系结构必须体现 以下需求 5 : ( 1 ) 跨平台的语义一致性:移动代理移动过程中的主机可能基于不同的硬件 和软件系统,在这些异构平台上具有相同语义的语言才能保证m o b i l ea g e n t 行为 的正确性 ( 2 ) 持久化( p e r s i s t e n c e ) :移动代理在转移过程中必须保存代码和当前运行状 态才能在目标结点继续执行,移动代理的异步性也要求保存a g e n t 任务求解结果 ( 3 ) 安全机制:移动性产生的非确定性使安全性成为移动代理的一个重要问 题,缺乏安全性会造成恶意a g e n t 在网络中的泛滥或受到恶意主机的侵害移动代 理的安全机制一方面保证自身不受到攻击,另一方面保证自身是非恶性的 ( 4 ) 移动代理的规模:由于全部代码和状态在网络中传输,因此,移动代理应 该限制于e e , j , 规模,否则将丧失网络资源方面的优势 一个移动体系结构可以定义为以下相互关联的模块:安全代理,环境交互模 块,任务求解模块,知识库,内部状态集,约束条件和路由策略其体系结构如图2 2 所示 7 移动代理在虚拟数字校园中的应用研究 外部环境( 服务设施或其它a g e n t ) 图2 2 l o b i l ea g e n t 系统结构示意图 体系结构的最外层为安全代n ( a g e n tp r o x y ) ,它是a g e n t 与外界环境通信的 中介,执行a g e n t 的安全策略,阻止外界环境对a g e n t 的非法访问a g e n t 通过环境 交互模块感知外部环境并作用于外部环境环境交互模块实现a c l 的语义,保证 使用相同a c l 的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 运行模块可以设计为任务独立的模块,任 务相关性由不同的推理方法和规则集来实现知识库为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 所示创建状态标志着一个移动代理正处于创建过程,当创建者将移动代理放入 发送队列后转入准备态移动代理在网络传输过程中处于传输态,成功到达目标站 点后转入阻塞态移动代理在目标站点未获得执行权前始终处于阻塞态,在此期间 _ - - _ _ - _ _ _ 一一一一 移动代理在虚拟数字校园中的应用研究 服务设施对其进行身份确认和完整性检查,检查通过则转入执行态执行态是移动 代理生命周期中唯一具有活性的状态,在这个状态中它自主运行并完成预定任务 任务完成后,它可能会继续移动转入传输态,或转入结束态结束态是移动代理生 命周期的结束 图2 3 移动代理的生命周期 2 3 移动代理的关键技术 2 2 移动代理系统的实现涉及到多方面的技术,下面从6 个方面给予说明 ( 1 ) 编程语言( p r o g r a m m i n gl a n g u a g e ) m a s 的编程语言可以是编译型语言, 也可以是解释型语言,实际上,出于平台无关性的需要,几乎所有的m a s 都采用解 释型语言解释型语言还有两个优点:1 延迟绑定,即程序可以携带本地不存在 的函数和类:2 由于语言开发者明确控制哪些资源可以被访问,利于解决安全问 题对于编译型语言c c + + ,通常先把它编译成字节代码,然后解释执行字节代码 解释型语言的缺点是速度慢,因此即时编译( c o m p i l e do n - t h e - f l y ) 技术被提了 出来,即程序以字节码流动,到达目的地后或在执行前编译成本地代码执行最新 的j a v a 虚拟机采用了该种技术在移动代理系统中使用得最多的编程语言是 j a v a 和t c l t e l 是一种高层的脚本语言,在早期的移动代理系统中得到广泛的 应用它的缺点是执行速度慢,代码的模块性不好j a v a 几乎在所有的商业系统 中都得到了应用,其原因有3 点:1 j a v a 的虚拟机便于程序移植和高效执行:2 它 的安全机制允许不可信任的代码段在本地执行:3 产业界容易接受 ( 2 ) 移动( m i g r a t i o n ) 通常移动代理系统还提供一种简单的代理移动方式 一代理客隆( c l o n e ) 或派遣( d i s p a t c h ) ,代理自身并不移动,而是在异步复制一 个新的代理代理在移动时,要解决资源绑定的问题,一般分3 种情形:1 不再需 要或在异地具备的资源( 比如显示器) ,代理将解除绑定,到目的地后重新绑定相 应的资源:2 仍需要而又可以移动的资源( 如文件数据) ,代理或拷贝或直接携 带走资源:3 不能移动而又必须的资源,则要采用网络引用方式 ( 3 ) 通信( c o m m u n i c a t i o n ) 在移动代理系统中,根据移动代理的通信对象, 9 移动代理在虚拟数字校园中的应用研究 通信大体可分为以下3 种情形:1 移动代理移动代理环境通信这是一种多对 一的通信方式,是典型的c 1 i e n t s e r v e r 应用通信的目的在于获取代理环境特 定的服务2 移动代理移动代理通信移动代理间为了完成特定的任务,必须 具有交换信息或同步行为的能力这是一对一的通信方式,通信双方是对等的3 移动代理同域的其它移动代理通信这是一对多的通信方式,用于代理域内的 ( 如相互协作的代理域) 消息广播移动代理系统可采用的通信手段很多,有 r p c ,r m i 。m e s s a g e ,t u p l es p a c e s ,b l a c k b o a r d 。数据共享等方式 ( 4 ) 命名和定位( n a m i n ga n dl o c a t i n g ) 移动代理作为实体,它的名字必须 是全局唯一的,以把自己和其它m a 区别开来代理在网络间移动,不断改变自己 的位置,为便于代理的拥有者对其进行跟踪控制或通信,需要某种机制实现对代 理的正确定位代理的命名可以是完全透明的,代理名字不包含任何的地址信息, 如一个搜索代理被命名为s e a r c h a g e n t 这种命名方式不实用,因为命名时需要 知道系统范围内其它代理的命名情况,否则难以保证代理名字的唯一性在己实 现的移动代理系统中,代理的名字由两个部分组成第l 部分是局部地址信息( 通 常为主机结点地址+ 端口号) :第2 部分是本地名字或i d 号由于局部地址是唯一 的,因此只要本地名字或i d 号是唯一的,就可以保证代理名字的唯一性 对于移动的代理,定位方法有3 种:1 广播查询方法,向域内所有节点广播查 询消息,由符合的代理发出响应消息,这个方法只适合于一个域内使用:2 当代 理移动时,生成一个静态的路径代理,它记录有代理将要移往的地点要定位代理 时就可以根据路径代理一站站往下查找,直至找到代理,这种方法必须事前定义 好要移动的地点,不灵活:3 提供名称服务代理一旦创建,就在名称服务器中 注册自己的名字和当前位置代理移动时,要在名称服务器中更新自己的位置信 息定位代理则向名称服务器查询名称服务的方式很适合于大规模的移动代理 应用环境在i n t e r n e t 的规模上,它可以象d n s 服务器一样,以树型层次提供代理 定位服务 ( 5 ) 容错( f a u l t - t o l e r a n c e ) 移动代理通常在网络上漫游,以异步的方式和 用户交互移动中的代理会由于网络连接的中断或目的主机暂时离线而丢失,驻 留在系统中的代理会因系统崩溃而死亡因此,必须提供容错手段,确保代理完成 任务大多数的系统都提供代理非易失备份的方法来确保代理丢失后恢复运行 如a r a 中要执行有危险的操作时,a g e n t 可以产生所谓的断点( c h e c k p o i n t ) ,它是 a g e n t 内部状态的一个完全记录,用于a g e n t 以后的恢复 ( 6 ) 安全性( s e c u r i t y ) 安全性是移动代理系统中最重要的问题,是移动代理 系统能否被广泛接受的关键它也是最复杂的问题,因为它把传统的大型分布计 算安全问题和多用户操作系统的安全问题集中到了一块主机,用户可能互不认 识,互不信任通常可以把移动代理系统的安全问题分为4 个部分:1 代理的网络 传输安全:2 保护主机免受恶意代理的攻击或利用:3 保护代理免受其它恶意 代理的攻击:4 保护代理免受恶意主机的攻击主机所能受到的攻击包括硬件受 损,数据被破坏或非法窃取,数据被篡改,资源被非法使用和侵占等代理所受到 的攻击包括代码或数据被篡改或窃取,有意提供错误信息,被恶意主机中止运行 等 移动a g e n t 系统分层结构如图2 - 4 所示: 1 0 移动代理在虚拟数字校园中的应用研究 i 划思璺蒡哆1 名墨务【 i 啊移动曩舞l 其它服务 l 注册囊务 曩值服务l 生膏焉期量务l 馨惜晨鼻 皇垒纛务 li 邮t 墓硇平台 了t 弋, 疆值基矗 强is 0 嘿盯 图2 4 移动a g e n t 系统分层结构图 2 4 移动代理技术和传统分布式计算技术的比较 一客户n 务器方式 我们这里所说的客户n 务器方式指的是应用系统的一种体系结构。在这种 应用中,用户通过客户端进行操作和控制,并且由客户端完成相关的应用逻辑处 理,但一些关键的标准的操作将通过网络请求服务器完成。这是一种应用广泛的 计算能力远程使用方式。 客户服务器结构由三部分组成:客户端( c l i e n t ) ,服务器( s e r v e r ) 和 它们之间的连接 客户端是客户服务器结构的前端,用户通过它来与系统交互。在绝大多 数情况下,客户端要负责表示管理( 比如g u i 管理) 和一些与表示相关的应用逻 辑。客户端通常运行于用户的桌面系统( p c ,个人工作站) 上。 服务器通常是指应用系统中为各个客户端提供共亭资源服务的组成部分。 一个服务器可为多个客户端提供服务,从而在多个客户间达到资源共享的目 的。服务器通常运行干高性能计算系统上。 客户端与服务器之间的连接使其协作成为可能。这里所说的连接包括了底 层的网络连接( 如t c p i p ) 和较高层的通信机制及其支撑系统( 如r p c ) 。传 统的客户朋务器体系结构的层次构成如图2 5 所示: 在分布式计算领域,客户服务器模型已经得到广泛的应用。人们甚至利用 现代技术将以前开发的软件重新改造为客户服务器应用对于单一的固定的应 用来说,客户n 务器模型是一种成功的结构,它在各客户之间有效地实现了服 务器资源的共享。然而客户服务器模型依然要求主要资源集中在服务器上,不 能完全支持使用分布资源的应用。通常服务器端的代码的应用相关性较强,不利 移动代理在虚拟数字校园中的应用研究 于在不同应用间共享,也不利于修改。同时,在客户端,对每一个应用都必须开 发特定的客户端程序,不利于客户端应用程序的共享,这既增j j l 应用程序员的 工作量,又增加了最终用户的负担。 客户端 一。一一一一服务器 图2 - 5 客户服务器应用示意图 二分布式对象计算 随着对上述客户服务器模型及其缺陷认识的深入,人们在客户端和服务器 之间插入了一个中间层,称为“中问件”。这个中间件提供的服务包括定位、名 称解析、授权、事务语义、同步、数据格式转换等等。 2 6 中间件的加入使得客户端不再直接与某个特定的主机或进程联系,而是与一 个一般的抽象的服务器进行交互。对于客户端而言,真正的服务器实现的服务和 中间层提供的服务是一致的。这种结构的对象化就形成了分布式对象计算模型。 分布对象技术采用面向对象的多层客户服务器计算模型,该模型将分布在网络上 的全部资源( 无论是系统层还是应用层都按照对象的概念来组织,每个对象都有 定义明晰的访问接口。创建和维护分布对象实体的应用称为服务器,按照接i z l 访 问该对象的应用称为客户。服务器中的分布对象不仅能够被访问,而且自身也可 能作为其他对象的客户。因此在分布对象技术中,客户与服务器的角色划分是相 对的、多层次的。支持客户访问异地分布对象的核心机制称为对象请求代理 ( o b j e c tr e q u e s tb r o k e r ,o r b ) 。o r b 处于分布对象技术的核心位置,从o m g ( o b j e c tm a n a g e m e n tg r o u p ) 的o m a ( o b j e c tm a n a g e m e n ta r c h l t e c t u r ) 中, 我们能够体会到面向对象的分布计算技术典型结构。其中,对象服务包括支持分 布式系统正常工作的各类基本的系统级服务,例如名字管理、事件通告、对象事 务管理,对象生命期、时间同步、并发控制等。公共设施包括支持分布式系统高 效开发和有效工作的各类面向领域的常规服务和工具,例如g u i 服务、数据库 服服务,电予邮件服务,系统管理服务以及面向电信,仿真和金融等应用领域的领 域构架等等。应用对象涉及各种应用软件,它在对象服务和公共设施的帮助下完 成相应的应用逻辑,o r b 如同一条总线( b u s ) 把分布式系统中的各类对象和应 用连接成相互作用的整体。 在这种体系结构下,对象服务的实现几乎完全独立于调用该服务的客户,从 而可以实现位置、平台、编程语言三方面的透明性。然而,现有的分布式对象计 算技术有时会为了兼顾性能、对某些特定应用的实用性或易用性而不能完全实现 _ _ _ _ _ _ _ - _ _ _ - - 一 移动代理在虚拟数字校园中的应用研究 这些透明性。 实现分布式对象计算的主要技术有o m g 的c o r b a ,m i c r o s o f t 公司的d c o m 和 s u n 公司的j a v ar m i 图2 - 6 分布式对象计算 图2 7 对象管理体系 三移动代理系统和传统分布式计算技术的比较 分布式对象技术及其构件系统( a c t i v e x ,c o r b a ,j a v as t u d i o ) 在一般 应用领域特别是企业计算中获得了很大的成功,其软件工程方面的优越性十分突 出然而,在分布式计算领域,它们的缺陷也十分严重。其中最大的问题是所有 远程构件间的通信都必须经过应用前端。如图2 8 所示,假设某应用要用分别位 子高性能计算系统a 和b 上的两个对象的服务,并且a 计算的结果要送给b 进一 步处理。在现有的分布对象框架下,该应用的前端首先请求a 的服务,a 计算完 成后将结果传口前端,前端再将这些数据传给b 处理。这是一种简单的情况,如 果a 和b 在计算过程中要进行多次交互协同的话,所有的消息都必须绕道前端。 移动代理在虚拟数字校园中的应用研究 更不幸的是,通常一般用户到计算中心的网络带宽远远小于计算中心之间的网络 带宽。这样的应用不仅软件结构令人讨厌,其网络资源利用也很不合理 图2 9 是移动代理体系的计算方式图示,从图中可以明确地看出移动代理 闱户 图2 - 8 一个远程性能应用示意图 b 图2 - 9 传统分布式计算模型与移动a g e n t 模型的比较 体

温馨提示

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

评论

0/150

提交评论