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

(计算机应用技术专业论文)移动agent的强迁移及其安全性的研究.pdf.pdf 免费下载

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

文档简介

原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进 行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何 其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出重要贡 献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人 承担。 论文作者签名:日期:趁丑互:一1 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保 留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本 学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名: 导师签名:军夏皇丘¥日期:出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 的强迁移的研究是 本文的重点之一,通过对j v m 寄存器和j v m 栈结构的分析,应用 i a v a 平台的调试工具( j p d a ) ,我们来捕捉a g e n t 迁移前的局部变 量、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 的迁移的效率。 我们研究一种新技术的目的都是为了应用,移动a g e n t 技术已经 在电子商务、移动计算、信息搜索等领域进行了深入的研究,但要 想在这些领域广泛使用,就必须解决好安全性问题。因此我们提出 一种解决移动a g e n t 系统安全问题的方法,文中安全部分的内容就 山东大学硕卜学位论文 是分析移动a g e n t 目前所面临的安全威胁及安全需求后,提出一种 基于属性证书认证的移动a g e n t 系统平台的安全解决方案a 关键字:移动a g e n t ;j p d a ;强迁移;路径选择;属性证书 2 山东人学硕l 。学位论文 a b s t r a c t a l o n gw i t ht h ea c c e l e r a t e di n f o r m a t i o np r o c e s so fs o c i e t y ,t h e a p p l i c a t i o no fn e t w o r ki si n c r e a s i n gi nt h ef o r mo fe x p o n e n t i a l t h e f o r m e rm o d eo fd i s t r i b u t e dc o m p u t a t i o ni sm o r ea n dm o r e , u n f i tt ot h e e n v i r o n m e n to fn e t w o r kt o d a y i no r d e rt os o l v et h ep r o b l e m ,an e w t e c h n i q u ec o m ei n t ob e i n g ,t h i si sm o b i l ea g e n t m o b i l ea g e n ti s t h e o u t c o m eo fn e t w o r kt e c h n i q u ea n da r t i f i c i a li n t e l l i g e n c e t h e t e c h n i q u e o fm o b i l e a g e n tc h a n g e st h e m o d eo fd a t a p r o c e s s i n g ,w h i c hm a k e st h ep r o g r a mm i g r a t et ot h et e r m i n a li n s t e a d o ft h et e r m i n a ld a t am i g r a t et o p r o g r a m a f t e rt h ec o m p u t a t i o n , m o b i l ea g e n to n l yb r i n g st h er e s u l t st ou s e r t h i sm o d er e d u c e st h e u n s t a b l en e t w o r k si n f l u e n c et od i s t r i b u t e d c o m p u t a t i o n t h e u n s t a b l en e t w o r ka r ec a u s e db yl o w - b a n d w i d t h ,h i g ht i m ed e l a y ,e t c t h r o u g ha n a l y z i n g t h ec u r r e n tm o b i l e a g e n tp l a t f o r m ,a n d c o m p a r i n gt h e i rs t r o n g p o i n ta n ds h o r t c o m i n g ,w ep u tf o r w a r ds o m e b e t t e r m e n to na g e n t sm i g r a t i o n ,r o u t ea n ds e c u r i t y a c c o r d i n gt ot h ea n a l y s i so fm o b i l ea g e n t sm i g r a t i o n ,w ew i l l d i v i d et h em o b i l ea g e n t sm i g r a t i o ni n t os t r o n gm i g r a t i o na n dw e e k m i g r a t i o n ,t h es t a n d a r di st h a tt h em i g r a t e dp r o g r a ms t a r t st oe x e c u t e f r o mb r o k e np o i n to rn o t t h es t r o n gm i g r a t i o no fm o b i l ea g e n ti so n e o ft h ee m p h a s e si nt h i sp a p e r t h r o u g ht h ea n a l y s i so fj v m r e g i s t e r a n dj v ms t a c k ,w eu s ej p d at oc a p t u r et h et h r e a di n f o r m a t i o n ,s u c h a s :t h el o c a lv a r i a b l e ,v a l u eo fp ca n ds oo i l t h e nb yu s i n gt h e t e c h n i q u eo fs e r i a l i z e ,t h em o b i l ea g e n tm i g r a t et ot h ed e s t i n a t i o n f i n a l l ym o b i l ea g e n tr e s t o r e si t ss t a t ea n dg o e so ne x e c u t i n ga tt h e d e s t i n a t i o n t h ea l g o r i t h mo fc h o o s i n gr o u t ei nt h i sp a p e ri sa l s oaw a yt o 3 e n h a n c ct h ec a p a b i l i t y o fm o b i l ea g e n t w eu s em o b i l ea g e n t t c c h n i a u et os e r v c rm o b i l ea g e n t sc h o o s i n gr o u t e w ea n a l y s e st h e t 姐d i t i o n a la l g o r i t h ma n du s e ss o m ew a yt o d i s c o v e ra n dp r e d i g e s t r o u t et oi m p r o v et h ee f f i c i e n c yo fc h o o s i n gr o u t e ,w h i c h a l s oc a n i m p r o v et h em o b i l ea g e n t se f f i c i e n c y t h ea i mw ed or e s e a r c hi st h a tt h en e wt e c h n i q u e c a l lb ea p p l i e d i nf u t u r c 。i ft h er e s e a r c h r e s u l ti n d i c a t e t h a ti tc a n tb ee x t e n s i v 。 a p p l i c d ,t h es i g n i f i c a n c eo fr e s e a r c hi s n o tg r e a t a l o n gw i t hm o b i l e a g e n tg o i n gd e e p i n t om o b i l ec o m p u t i n g ,i n f o r m a t i o ns e a r c h a n d e - c o m m e r c e ,e t c ,t h es e c u r i t y i sb e c o m em o r ea n dm o r e1 m p o t 8 “t s ow ed u tf o r w a r ds o m em e t h o dt os o l v et h es e c u r i t yo fm o b i l ea g e n t s y s t e m i n t h i sp a p e r ,w ep u tf o r w a r dam e t h o dw h i c hi s b a s e do n a t t r i b u t ec e r t i f i c a t et os o l v et h es e c u r i t yp r o b l e m k e v w o r d :m o b i l ea g e n t ;j p d a ;s t r o n gm i g r a t i o n ;c h o o s i n g f o “t e ; a t t r i b u t ec e r t i f i c a t e 4 c s : j p d a : r p c : j v m : a t p : a c l : a c e : u r l : j v m t i : j d w p : j d i : p c : p k i : p m l : a a : c a : c l i e n t s e r v e r 符号说明 j a v ap l a t f o r md e b u g g e ra r c h i t e c t u r e r e m o t ep r o c e d u r ec a l l j a v av i r t u em a c h i r e a g e n tt r a n s f e rp r o t o c o l a g e n tc o m m u n i c a t i o nl a n g u a g e a g e n tc o o r d i n a t ee n g i n e u n i f o r mr e s o u r c el o c a t o r j a v av mt o o li n t e r f a c e j a v ad e b u gw i r ep r o t o c o l j a v ad e b u gi n t e r f a c e p r o g r a mc o u n t e r p u b l i ck e yi n f r a s t r u c t u r e p r i v i l e g em a n a g e m e n ti n f r a s t r u c t u r e a t t r i b u t ea u t h o r i t y c e r t i f i c a t ea u t h o r i t y 5 1 1 前言 第一章绪论 近几年,随着w o r l dw i d ew e b 应用指数级的增长,信息爆炸趋势 已逐渐显现。在进行大规模的分布式信息的交互过程中出现的问题 也越来越明显。 分布式计算是计算机网络中的关键技术。目前的分布式计算基 本上都是基于传统的c l i e n t s e r v e r 模式,通过r p c ( r e m o t e p r o c e d u r ec a l l ) 或者消息传递( m e s s a g ep a s s i n g ) 等方式在比较稳 定的网络环境中实现跨平台的操作,传统的分布式系统是数据向处 理代码处迁移,这必然引起中间过程的多次交互、大量中间数据的 传输,因此对网络的依赖性很强。随着计算机网络的飞速发展,特别 是新型网络应用( 移动设备的接入) 的出现c s 模式难以适应移动 计算的低带宽,高延迟的不稳定网络环境,c s 模式的缺点日益明显, 逐渐不适应当今一些快速多变的网络应用服务。基于这种情况,移 动a g e n 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 l l 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 如何在网络上很好地实现移动,尤其是其移动方式如何与当前快速 发展的互联网技术相融合,是目前国内外研究者所关注的个焦 点。 1 2 目前研究的现状 2 0 世纪9 0 年代中期,i n t e r n e t 和j a v a 语言的出现促进了移动 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 系统的开发平台或执行环境,大致可以分为三 类:基于传统解释性语言,基于j a v a 语言和基于c o r b a 平台的。 ( 1 ) 基于传统解释性语言的代表产品是g e n e r a lm a g i c 公司的 早期产品t e l e s c r i p t i 。t e l e s c r i p ta g e n t 之间的通信有两种方式: 两个a g e n t 运行在同个空间时可以相互调用对方的方法;而在不 同的空间时,则需要建立连接,互相传递对象。t e l e s c r i p t 是一个比 较成功的产品,其安全性、容错性能和执行效率都比较好,但由于 j a v a 语言的出现和流行,导致它的没落,最终有基于纯j a v a 的 o d y s s e y | 2 l 代替,但它也用到了t e l e s c r i p t 平台中用到的概念。 ( 2 ) 基于j a v a 语言的代表产品有i b m 公司开发的a g l e t i 。 它是纯j a v a 技术。并提供开发包a g l e tw o r k b e n c h 。 a g l e t 这个字是由a g e n t 和a p p l e t 两个字的前后部分合并而成。 顾名思义,它是具有a g e n t 行为的j a v aa p p l e t 对象,但a p p l e t 只传 送代码,而a g l e t 可以传送代码和状态。 a g l e t 以线程的形式产生在一台主机上,它可随时暂停运行,并把 整个a g l e t 派到另一台机器,再重新启动执行任务,由于a g l e t 是弱 迁移,即a g l e t 迁移时只携带代码和数据状态,不能捕获线程的执行 状态,所以a g l e t 在每次移动之后都是从入口点( k n o w ne n t r yp o i n t ) 开始运行的。 a g l e t 与a g l e t 之间的通信,基于事件驱动,采用消息传递方式。 此外,出于安全上的考虑,a g l e t 并非让外界直接存取其消息,而是通 过一个代理( p r o x y ) 提供相应的接口与外界沟通。 ( 3 ) 基于c o r b a 平台的代表产品是i k v + + 的g r a s s h o p p e r , 山东上学硕f 学位论文 具有m a s i f 和f i p a 两个版本。通过专有的g r a s s h o p p e ro r b 互连 由于该系统符合m a s i f 规范,同样可以通过其它c o r b ao r b 互 连。g r a s s h o p p e r 的通信机制设计非常巧妙,可以通过c o r b a 进行 通信,也可以通过j a v ar m i 和s o c k e t 进行通信,整个通信结构采用 插件技术,因此具有很好的扩展性。 1 3 课题研究的内容 本文主要的研究内容有以下三个方面: 研究移动a g e n t 的迁移技术。在文中研究移动a g e n t 的迁移技术 就是通过应用j p d a 来实现移动a g e n t 的强迁移进行的。 研究移动a g e n t 的选路算法。通过对d i j k s t r a 选路算法的分析, 我们应用d i j k s t r a 算法和网络拓扑发现技术来实时发现网络中的新 髦 节点,并对网络拓扑结构进行简化,来加快选路算法的效率。 移动a g e n t 安全性分析。通过对移动a g e n t 平台安全性进行分析, 我们应用属性证书来加强移动a g e n t 系统的安全性。 1 4 课题研究的目的及要解决的关键问题 目标是在一个广泛的网络为基础计算机设备上,实现移动a g e n t 的强迁移,优化其迁移路径并保障移动a g e n t 系统的安全性。 t 要解决的关键问题是:如何使用j p d a 实现代理的强迁移,并且 保证移动代理系统的安全性。 1 5 论文的安排结构 本文共分五章,具体安排如下: 第一章阐述的是论文研究的背景和现状,简要的介绍了研究的 内容和目标,并提出了需要解决的关键性问题,以及文章具体章节的 安排。 在第二章中对移动a g e n t 的特性、系统组成、创建和技术标准 9 山东大学硕i 学位论文 进行了概述,并且对现有的平台进行了介绍和比较,为我们下一步具 体研究做铺垫。 第三章是本文研究的主要内容之一,本章内容主要是基于j p d a a g e n t 的强迁移的实现。我们通过对j v m 寄存器和栈变量的分析, 应用j p d a 对运行状态进行捕捉、存储,并通过序列化和类装载等 技术在目的站点恢复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 0 第二章移动a g e n t 概述 2 1 移动a g e n t 的特性 移动a g e n t 是软件a g e n t 技术与分布式计算技术相结合的产物, 所以它与传统的网络计算模式有着本质的区别1 3 】。 1 ) 移动a g e n t 不同于一般的进程迁移 4 1 15 1 ,因为一般来说进程迁 移系统不允许进程自己选择迁移的时间和目的地址,而移动a g e n t 却可以随时迁移到它想去的地方。 2 ) 移动a g e n t 也不同于j a v a 语言中的a p p l e t ,a p p l 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 必须能够在不同的地址空间中连续 运行,即保持运行的连续性。具体说来就是当移动a g e n t 转移 到另一个节点运行时,其状态必须是在上一节点挂起时的状 态。 山东大学硕十学位论文 2 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 n t 传 输协议a t p 1j ( a g e n tt r a n s f e rp r o t o c 0 1 ) 实现a g e n t 在主机间的转 移,并为其分配执行环境和服务接口;a g e n t 在服务设施中执行,通过 a c l ( a g e n tc o m m u n i c a t i o nl a n g u a g e ) 相互通信并访问服务设施 提供的服务【1 】 99 i 移动a s e n t 服务设施i = = = = = = = j 移动a s e n t 服务设施l 图2 - 1 移动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 的创建、移动、持久化存储和执行 环境分配。 事件服务:包括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 ) 移动代理( 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 2 山乐天掌帧l 学位论义 象所在的移动a c e l 6 】( a g e n tc o o r d i n a t ee n g i n e ) 平台之上,并充分 利用和服务器对象驻留同一主机上所带来的好处。 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 3 1 依赖位置的命名服务 依赖于位置的命名服务方法的优点是可读性好,可以明显地看 出移动a g e n t 是属于哪一个h o m eb a s e 以及其他的相关信息。依赖 位置命名可以采取类似u rl 【7 1 的方法进行命名,这样可以保证他的 名字的唯一性和可读性。他的命名语法可以简单的描述如下: : 其中 是基于h o m eb a s e 的容错的命名方法,类似于h t t p 地址中的w w w ; : 是h o m eb a s e 的地址和端口号; :黾每个a g e n t 的名- 7 ,这个名字在同一个h o m eb a s e 上是唯i 给定的。 2 3 2 独立于位置的命名服务 独立于位置的命名服务【8 】可以允许h o m eb a s e 对于a g e n t 相对 改变,对于这样的命名,一旦给定就永久不变。它的命名规则是参照 u r n 9 】制定的,语法描述如下: : : 其中u r n 是说明采用的命名方法,类似于h t t p 地址表示中的 w w w ;n i d 是名字空间的标识符,用于标识不同的移动a g e n t 系统, 一般情况下,一个移动a g e n t 系统拥有一个名字空间;n s s 是名字空 间的一个特定的字符串,是利用特定的哈西函数对h o m eb a s e 和 a g e n t 的名字映射成的特定标识符。 2 3 3a g e n t 的创建 应用依赖于位置的命名服务来创建a g e n t ,移动a g e n t 被创建时的 节点称作它的h o m eb a s e 节点,当一个移动a g e n t 在他的h o m eb a s e 节点被成功创建后,就被赋予一个全局的唯一标识a g e n t l d 并向 a g e n t 名字服务器( n s ) 注册h o m eb a s e 的地址信息。在移动a g e n t 的整个生存周期中不管迁移到任何节点,作为对其寻址的标识 a g e n t l d 都不会改变。 2 4 移动a g e n t 的技术标准 2 4 1m a s i f - m a s i f 标准中首先规定了通用概念模型,该模型基本上涵盖 了现有移动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 l a c e ) 、域( r e g i o n ) 、代码库( c o d e b a s e ) 和通信基础等一系 列概念。m a s i f 定义了两个标准构架:m a f f i n d e r 和 m a f a g e n t s y s t e m ,通过定义接口语言( i d l ) 对它们的属性、操作 和返回值进行了明确的规定。 m a f f i n d e r 构架通过提供一个名字和地址映射关系的动态数据库。 实现了a g e n t 、位置和a g e n t 系统的注册、注销和定位等操作。 m a f f i n d e r 属于名字服务,每个域或多个域共享一个m a f f i n d e r m a f a g e n t s y s t e m 定义对a g e n t 系统的操作包括:接收、创建、 暂停、恢复等,它详细定义了方法名参数类型、含义、数量,返回值 等,这些方法提供了a g e n t 传输的基本功能。 2 4 2f i p a 1 4 f l p a 是一个可以公开利用的规范,它不是一项特定的应用技术, 山东大学硕i 。学仨,论文 而是针对不同应用领域的通用技术:它也不是一项独立的技术,而 是一套基本技术集,该技术集使得开发者可以开发出具有高度协同 能力的复杂系统。目前最新的公开标准f i p a2 0 0 0 。f i p a 管理模型 主要有3 部分构成【1 i : 1 )a m s ( a g e n tm a n a g e m e n ts y s t e m ) f i p a 管理模型中的必须部分,相当于平台的管理者,它监控a g e n t 对平台的访问。a m s 保存着在该平台上活动的a g e n t 的i d ,每个 a g e n t 为了获得有效的l d 必须先向a m s 注册。 2 ) d f ( d i r e c t o r yf a c i l i t a t o r ) 平台的必须部分,提供平台内的黄页服务。a g e n t 可以向d f 注册 自己的能力或服务信息,也可以从d f 中查询提供有关服务的a g e n t 的信息。 3 l m t s ( m e s s a g et r a n s p o r ts e r v i c e ) 提供了不同a g e n t 之间的a c l 消息交互机制。m t s 由平台上的 a g e n tc o m m u n i c a t i o nc h a n n e l ( a c c ) 提供。a c c 是平台上为a g e n t 提供消息交互的实体。m t p ( m e s s a g et r a n s p o r tp r o t o c o l l 是不同 a c c 之间的消息交互协议。 2 5 现有平台及其之间的比较 1 、t e le s cr i p t 。t e l e s c r i p t 是比较著名的第一个商业移动主体系 统。它由g e n e r a lm a g i c 公司开发,主要用在美国电话电报公司( a t & t ) 的p e r s o n a l l i n k 网络中。t e l e s c r i p t 的主要用途是主动( a c t i v e ) 邮件、 网络、平台管理以及电子商业。在主动邮件系统中,邮件中会嵌入一 个程序,当收到和浏览邮件时,就会执行这一程序,而这个程序可以是 t e l e s c r i p t 主体。在平台管理的应用程序中,t e l e s c r i p t 主体被用于自动 软件更新。主体将必要的文件携带到一台机器。自己将这些文件安装 之后,自动终止运行。在电子商务应用之中,一个t e l e s c r i p t 主体可以派 遣一个个人的数字助手p d a ( p e r s o n a ld i g i t a la s s i s t a n t ) 搜寻多个电子 目录以获得特定产品,将最好的价格及相应的供应商报给p d a 。 山东犬学硕 学位论丈 t e l e s c r i p t 网络系统被划分成许多的位簧,每个位置是主体的运 行环境,为进入其中的移动主体提供服务。网络中的任意一个结点 都可以提供一个或多个位置。静态主体永久占据某个位置,在此位 置提供服务。而移动主体可以在不同的位置之间移动。位于不同位 置上的移动主体可以获得相应位置提供的服务。t e l e s c r i p t 主体是 用类似于j a v a 和c + + 这样的面向对象语占t e l e s c r i p t 来编写的,随 后再被编译成虚拟机的字节码。 2 、a g l e t 。a g l e t l l o 】是一个比较有代表性的采用j a v a 语言开发的 移动主体系统。该系统中主体被称作a g l e t ,每个a g l e t 是一个j a v a 对象。每个主体包含内核、代理、旅行计划和一个唯一的标识符。 内核包含主体所应执行的代码、数据以及与外部环境的接口。代理 作为一个安全防护墙,控制外部对象对它的访问权限,防止恶意用户 对程序主体内部信息的随意读写和破坏。系统中还设计了一个语义 场景( c o n t e x t ) 服务程序,用来维护管理主体的运行环境,并保护主 机不受外来恶意主体的破坏。系统提供了主体的创建、派遣、克隆、 回收、挂起、激活、终结和消息传递等操作。克隆是根据原有的主 体重新生成一个新的主体。新主体除了标识符与原来主体不同外, 其它部分均相同。当主体需要移动时就调用派遣方法,系统通过代 理传送协议把主体传送到目的服务器。 1 6 珊 量量b 图2 - 2 a g l e t 生命周期 山东丈学硕十学位论文 3 、c o n c o r d i a 。c o n c o r d i a1 1 1 l 是由三菱( m i t s u b i s h i ) 开发的 移动主体系统。一个最简单的c o n c o r d i a 系统应由j a v a 虚拟机、 c o n c o r d i a 服务器和一个主体组成。每个服务器彼此记录下来对方 的i p 地址。当主体需要移动时,则调用服务器中的方法,该方法请求 服务器将主体的执行挂起,之后为该主体产生一个永久映像。然后 服务器检查主体中的旅行计划,来决定主体应到达的下一个主机。 服务器与目的主机联系并将主体的映像传给该主机。传送结束后, 在目的主机的服务器上排队准备执行。轮到该主体执行时,该主体 依据旅行计划中制定的在该主机上的入口方法启动执行。此系统非 常注重安全和容错性,提供了比较丰富的安全管理手段。从主体的 存储、传送以及服务器资源三个方面实施了安全保护。主体的存储 采用了加密的方法对主体的备份加以保护。主体传送利用数字签名 蘩, 来对用户进行鉴别。传送时对主体进行加密,通过对称密钥交换来 验证主体的发送者和接收者。资源保护则建立在对j a v a 安全模式 , 的扩展之上。对主体的限制主要是根据用户而定。 4 、v o y a g e r 。v o y a g e r 1 1 2 1 【1 3j 是o b j e c t s p a c e 公司开发的系统, 也是基于j a v a 。该系统提供了一个新颖的功能一能够收纳任何 | j a v a “类”,并在远端主机上运行。在主体生成时,v o y a g e r 能产生一个 唯一的标识符和一个用户可选择的名字。虚拟机提供了一个 “m o v e t o ”原语来实现主体从一个主机移动到另一个主机。系统不 在线程级上捕捉状态,而是采用一个被称作m e s s a g e r 的代理来传递 消息,有“同步”、“异步”和“将来”三种消息类型。当主体移往其它站 点时,会在原地留下一个对象,该对象将把发给主体的消息传递到新 的地址,也就是说可以给移动中的主体发送消息。 1 7 2 6 本章小结 e t o 方法 迁移 网络 图2 - 3v o y a g e r 运行机制 本章主要是对移动a g e n t 的特性、系统组成、技术标准、命名 和创建进行介绍,为后续工作做好铺垫。通过平台问的相互比较和 分析,明确了各种移动a g e n t 平台的优劣,有利于论文在移动a g e n t 的迁移、路由和安全三个方面的研究。 3 1 迁移概述 第三章移动a g e n t 的强迁移 移动a g e n t 的迁移就是要解决a g e n t 状态的捕捉、传输和恢复问 题【1 4 】。移动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 ,j a v a 序列化机制可以用于数据状态的保存和恢复;类代码的迁 移可以通过j v m 动态类装载技术;a g e n t 的执行状态位于j v m 中, 出于安全方面的考虑,j v m 不允许j a v a 程序直接访问其方法调用栈 和操作数栈,一般的编程语言也不能直接捕获其运行线程的执行状 态,我们通过分析j v m 的结构,应用j p d a 来捕获线程运行栈的信息弘 和p c 计数器值,实现移动代理运行状态的迁移。 3 1 1 迁移步骤 a g e n t 实现语占中包括一条语句和库函数来调用m o v e t o ( h o s t ) , 此处h o s t 是a g e n t 希望访问的下一个主机。当执行此语句时,a g e n t 执行过程如下【1 6 l : s t e p l :初始化m a 迁移。当主机接受到a g e n t 迁移的请求时, 必须初始化一下动作:首先向m a e 申请迁移,得到授权后m a 挂起, 收集数据状态、执行状态和代码信息,存入相应的对象后序列化,迁 移准备就绪。 s t e p 2 :执行迁移。委托m a e 调用安全模块进行安全签证,执行 迁移,传送到新主机。 s t e p 3 :m a 迁移到目的主机后,认证发送方,然后解码,反序列化, 恢复状态,进入执行就绪状态,等待j v m 调度,同时向目标m a e 注册, 1 9 并通知源m a e 注销该m a 的记录。 整个过程如图3 1 : 绍。 提出移动申 l 停止a g e n t 0 收集a g e n t 图3 - 1a g e n t 执行过程 详细实现m a 状态的捕捉和代码的迁移将在下面章节具体介 3 1 2 迁移分类 弱移动【”l :除了代码本身,只携带数据状态,根据需要只把移动 a g e n t 的部分执行状态存入数据状态中随a g e n t 一起移动,传输的 数据量有限,弱移动操作的开销小,执行效率高,但它改变了移动后 的执行语义。移动a g e n t 移动到新主机后,不再接着移动前的断点 处执行,而是执行主线程的某一个入口函数( 如:在m o l e 中是主线 程的s t a r t 方法,在a g l e t s 中是主线程的r u n 方法) 。在该函数中, 根据数据状态决定应该如何执行。如果a g e n t 包含多个线程,则移 动之后,只是启动包含入口函数的线程,再由它决定启动哪些线程。 a g l e t s 、m o l e 和o d y s s e y 都是弱迁移系统。 强迁移 1 7 1 :一般指将代理的代码、数据和执行状态全部迁移到 目的节点,代理对象恢复成和迁移前完全一样的状态,能够从迁移 之前的断点处继续执行。即迁移前a g e n t 的执行过程中的相关信息 在迁移后保持不变,例如运行栈保存的与调用顺序有关的p c 技术 器等系统信息等:对代理的执行线程来说,这是一种完全透明的 方式,如n o m a d a 系统。 3 i 3 强迁移和弱迁移比较与示例 d a t ac o n t r o lc o d ed a t ae x e c u t i o nn a v i g a t i o n a lt r a n s f e r s t a t es t a t e a u t o n o m y d i r e c t i o n m o b i l em o v em o v em o v e m o v eo w ni n 0 u t a g e n t s ( w e a k ) m o b i l em o v e m o v e m o v e m o v em o v eo w ni n o u t a g e n t s ( s t r o n g ) 表3 - 1 弱迁移与强迁移对照表 强迁移和弱迁移部分程序比较示例 图3 - 2 ( 左为强迁移,右为弱迁移) 山东夫学硕卜学位论文 3 2 基于j p d a 强迁移的实现 为使移动a g e n t 在迁移之后,能从迁移前的断点恢复执行,需要将迁 移前移动a g e n t 的执行状态捕获下来( 即状态捕获) ,传送到远程主机, 然后在远程主机将执行状态恢复。移动a g e n t 的执行状态以线程执行 状态为基础【18 1 。 a g e n t 执行状态迁移与数据态迁移和代码态迁移相比是比较困难, 原因如下: 1 ) a g e n t 的执行状态位于j v m 中,出于安全方面的考虑,j v

温馨提示

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

评论

0/150

提交评论