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

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

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

文档简介

基于c o r b a 的移动代理系统的研究与实现 摘要 移动代理是9 0 年代中期刚刚兴起的一种分布式计算模型,目的是使程序的执行 尽可能靠近数据,降低网络通讯开销,节省带宽,平衡负载,加快任务的执行,从而 提高分布式系统的处理效率。c o r b a 技术是当前流行的日渐成熟的分布式计算技术, 主要用来解决分布式异构系统互操作的问题。作者结合这两者的优势,遵照m a s i f 规范,使用j a v a 语言研究设计了一个移动代理系统原型:c o n c o m a 。 本文介绍了移动代理技术及与之关系密切的c o r b a 服务,在此基础上提出了 c o n c o m a 系统的整体架构。文章给出了c o n c o m a 系统的命名定位机制,以此为基础 研究了移动代理系统的两大核心技术:代理迁移机制和代理通讯机制,并给出了 c o n c o m a 系统中对应的迁移模型和通讯模型。最后,作者提供了移动代理在电子商 务领域的应用实例,说明移动代理系统的应用方案与前景。 关键词:移动代理,c o r b a ,服务,命名,定位,强弱迁移,代理通讯 一- - 一一 一一 南京航空航天大学硕士学位论文 a bs t r a c t m o b i l ea g e n ti sak i n do fd i s t r i b u t e dc o m p u t i n gm o d e lp r o p o s e di nt h e m i d d l eo f 1 9 9 0 s b ym i g r a t i n g b e t w e e n n e t w o r kn o d e s ,t h e a g e n t c a nb e p h y s i c a l l yl o c a t e dt ot h en e e d e dd a t a ,s ot h ec o m m u n i c a t i o nc o s ti sb r o u g h t d o w n ,t h en e t w o r kb a n d ss a v e d ,t h e1 0 a db a l a n c e da n dt h ep e r f o r m a n c eo ft h e w h o l e s y s t e mi m p r o v e d c o r b at e c h n o l o g y i s w i d e l yu s e d i nd i s t r i b u t e d c o m p u t i n g t os o l v et h e p r o b l e mo fi n t e r o p e r a b i l i t y b e t w e e nh e t e r o g e n e o u s s y s t e m s t om a k ea d v a n t a g eo ft h et w ot e c h n o l o g i e s ,w ed e s i g n e dam o b il ea g e n t s y s t e m c a l l e dc o n c o m a c o n f o r m i n g t om a s i f s p e c i f i c a t i o n ,u s i n g t h e p r o g r a m m i n gl a n g u a n g ej a v a t h isp a p e rd i s c u s s e st h em o b i l ea g e n tt e c h n o l o g ya n dt h ec o r b as e r v i c e s w h i c ba r ei nd e e pc o n n e c t i o nw i t hm o b i l ea g e n tt e c h n o l o g y t h i sp a p e rp u t s f o r w a r dt h en a i n i n ga n dl o c a t i n gm e c h a n i s mo fc o n c o m ao nt h eb a s eo fw h i c h w er e s e a r c ho nt h ec o r et e c h n o l o g yo fam o b il ea g e n ts y s t e m :t h ea g e n tt r a n s f e r m e c h a n i s ma n dt h ea g e n tc o m m u n i c a t i o nm e c h a n i s m ,t h e nw eb r i n gf o r w a r dt h e c o r r e s p o n d i n gm o d e l si nc o n c o m a l a s t ,b yp r o v i d in ga ne - c o m m e r c ee x a m p l e , w ed e s c r i b et h em o b i l ea g e n ts y s t e m sa p p l i c a t i v ep l a na n d p r o s p e c t k e yw o r d s :m o b i l ea g e n t ,c o r b a ,s e r v i c e ,n a m i n g ,l o c a t i o n ,s t r o n g w e a k t r a n s f e r ,a g e n tc o m m u n i c a t i o n 南京航空航天大学硕士学位论文 缩略语词汇表 a c l : a g e n tc o m m u n i c a t o nl a n g u a g e s a t p : a g e n tt r a n s f e rp r o t o c a l c o r b a :c o m m o no b j e c tr e q u e s tb r o k e r i i o p : m a s i f 姒f u r i u r l u r n 代理通讯语言 代理传输协议 a r c h i t e c t u r e 公共对象请求代理体系 结构 i n t e r n e ti n t e r - o r bp r o t o c o l 互连网o r b 互通协议 m o b i l ea g e n ts y s t e mi n t e r o p e r a b i t yf a c i l i t y 移动代理系统互操 作设施 m o b il ea g e n tf a c ili t y 移动代理设施 u n if o r mr e s o u r c ei d e n t i f i e r统一资源标识符 u n i f o r mr e s o u r c el o c a t o r统一资源定位符 u n if o r mr e s o u r c en a m e统一资源名 南京航空航天大学硕士学位论文 1 1 分布式计算的发展 第一章绪论 计算机系统主流的计算模式从早期基于大型机的集中式计算模式开始,经历了基 于孤立微机的计算模式、多个微机通过网络以简单的文件共享方式协作的计算模式、 基于c l i e n t s e r v e r 的网络计算模式、c o r b a 和d c o m 等分布对象计算技术的计算模 式,目前分布式计算模式已成为计算模式的主流。当前,分布式计算模式主要有以下 几种: - 客户服务器模式 _ 远程过程调用 c o r b a 、c o m 及d c o m - 网格计算 移动代理 1 1 1 客户服务器模式 客户服务器模式是目前尚在广泛使用的最为传统的计算模式。这种模式的思想 是构造一种操作系统,它由一组协同进程组成,这组进程称作服务器( s e r v e r ) ,为 用户提供服务的进程称作客户( c l i e n ) ,客户和服务器都运行在微内核中。用户服 务器模式常常以简单的面向非连接的请求应答协议为基础。客户向服务器发出一个 请求消息请求一些服务( 如读文件块) ,服务器完成后返回所要的数据或者给出个 错误码,指出工作未完成。 i 1 2 远程过程调用模式 远程过程调用是为了克服客户服务器模式的缺陷而提出的。客户服务器模式所 有通信建立的基础都是输入输出,在分布式计算中将它作为基础会令分布式计算领 域中的研究人员产生误解。他们的目标是使分布式的计算看起来象集中式计算一样。 1 9 8 4 年b i r r e l l 和n e l s o n 提出了r p c 方法,允许程序去调用位于其他机器上的过程。 当位于机器a 的进程调用机器b 上的某过程时,机器a 上的该进程被挂起,被调用 的过程在机器b 上执行。调用者将消息放在参数表中传送给被调用者,结果作为过程 的返回值返回给调用者,消息的传送与i o 操作对于编程人员是不可见的。但是,r p c 仍然存在着许多细微的问题。酋先由于调用的进楹与被调用的过程运行在不同的机 基于c o r b a 的移动代理系统的研究与实现 器上,因而在不同的地址空间执行,这就导致了问题的复杂化。尤其当两台机器不是 同一型号时,在机器之间传递参数与调用结果很复杂。最后,调用者与被调用者都有 可能会崩溃,任何种可能的失败都会引起不同的问题,但大多数问题还是可以解决 的。 1 1 3c o r b a 技术 为了解决分布式计算环境( d c e ,d i s t r i b u t e dc o m p u t i n ge n v i r o n m e n t ) 中不同 硬件设备和软件系统的互联,增强网络间软件的互操作性,解决传统分布式计算模式 中的不足等问题,0 m g ( 对象管理组织,o b j e c tm a n a g e m e n tg r o u p ) 组织提出了c o r b a ( c o 哪o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,公共对象请求代理体系结构) , 以增强软件系统间的互操作能力,使构造灵活的分布式应用系统成为可能。c o r b a 标 准提出的应用软件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议, 以支持异构分布应用程序间的互操作性及独立于平台和编程语言的对象重用。即: c o r b a 允许应用之间相互通信,而不管它们存在于哪里以及是谁设计的。c o r b a l 1 于1 9 9 1 年由o m g 发布,其中定义了接口定义语言( i d l ) 以及在对象请求代理( o r b ) 中实现客户对象与服务器对象之间交互的应用编程接口( a p i ) 。c o r b a 2 0 于1 9 9 4 年发布,规定了各个供应商之间的o r b 的通信规则。c o r b a 经过近十年的发展,已逐 步走向成熟,并成功地应用在我国许多大型的软件系统中;随着i n t e r n e t 的发展, c o r b a 更加强调原有标准与网络的结合,在新近发布的c o r b a 3 0 标准中,制定了j a v a 与i n t e r n e t 的集成方案。c o r b a 标准主要分为三个部分:接口定义语言( i d l ) 、 对象请求代理( o r b ) 以及o r b 之间的互操作协议i l o p 。 o r b 是对象之间建立c 1 i e n t s e r v e r 关系的中间件。使用o r b ,客户可以透明地 调用一个服务对象上的方法,这个服务对象可以在本地,也可以在通过网络连接的其 他机器上。o r b 截获这一调用同时负责查找实现服务的对象并向其传递参数、调用方 法返回最终结果。客户并不知道服务对象位于什么地方,它的编程语言和操作系统是 什么,也不知道不属于对象接口的其他系统部分。这样,o r b 在异构分布环境下为不 同机器上的应用提供了互操作性,并无缝地集成了多种对象系统。 在开发传统的c 1i e n t s e r v e r 应用时,开发者使用他们自己设计的或个公认的 标准来定义用于设备之间通信的协议。协议的定义依赖于实现语言、网络传输和许多 其他因素,而o r b 的出现简化了这一过程。使用o r b 时,协议是使用接口定义语言( i d l ) 定义的,而i d l 是独立于语言的。并且o r b 提供很强的灵活性,它使程序员选择最适 合的操作系统、执行环境,甚至系统各个组件也可以采用不同的编程语言实现。更重 要的是,它允许现有组件的集成。在一个基于o r b 的解决方案中,丌发者可以使用与 创建新剥+ 象样的i d l 剥遗留系统进行建模,他们创建“包装”代码以在标准化的软 件总线与遗留系统接口之问传递信息。 使刖c o r b a ,用户可以透明地访问信息,并不需要知道信息存在于什么软件中、 南京航空航天大学硕士学位论文 使用什么硬件平台,以及位于企业网络的什么地方。作为面向对象系统的通信核t l , c o r b a 为今天的计算环境带来了真正的互操作性。 1 1 4 网格计算技术 网格计算( g r i dc o m p u t i n g ) 是伴随着互联网而迅速发展起来的,专门针对复杂 科学计算的新型计算模式。这种计算模式是利用互联网把分散在不同地理位置的电脑 组织成一个“虚拟的超级计算机”,其中每一台参与计算的计算机就是一个“节点”, 而整个计算是由成千上万个“节点”组成的“一张网格”,所以这种计算方式叫网格 计算。这样组织起来的“虚拟的超级计算机“有两个优势,一个是数据处理能力超强; 另一个是能充分利用网上的闲置处理能力。充分利用网上的闲置处理能力则是网格计 算的有一个优势,网格计算模式首先把要计算的数据分割成若干“小片”,而计算这 些“小片”的软件通常是一个预先编铝4 好的屏幕保护程序,然后不同节点的计算机可 以根据自己的处理能力下载一个或多个数据片断和这个屏幕保护程序。只要节点的计 算机的用户不使用计算机时,屏保程序就会工作,这样这台计算机的闲置计算能力就 被充分地调动起来了。这种“蚂蚁搬山”式的分布式计算的处理能力十分强大,网格 计算不仅受到需要大型科学计算的国家级部门,如航天、气象部门的关注,目前很多 大公司也开始追捧这种计算模式,并开始有了相关“动作”。 1 i 5 移动代理技术 以上采用的各种计算模式各有其特点,但是,他们都有一个共性:在计算过程中, 完成计算代码的位置是固定不变。由此,它们共同的弱点便是,不能移动的代码导致 系统结构僵硬、缺乏足够的灵活性,给分布式软件系统的设计、发布、维护、升级带 来很多问题。代码不能移动还使计算的移动十分困难,难以实现网络和机器负载的均 衡和通过对计算位置的调整节省网络带宽和提高响应速度。而随着网络的发展,这些 问题变得越来越突出,由此移动代理被提出。 随着计算机网络,尤其是i n t e r n e t 例 的迅速发展,一方面为用户提供了无比 丰富的信息资源和多种通讯手段,另一方面也使得用户处理、甚至定位感兴趣的信息 变得异常困难。同益庞大的网络及其异质性给网络管理和互操作提出了新的挑战。如 何合:f | i 、有效利用i n t e r n e t 上巨大的计算资源成为计算机工作者们关注的重要问题。 当时流 亍的分们式计算技术都基于c i i e n t s e r v e r 模式,通过远程过程调用( r e m o t e p r o c e d u r ec a l1 ) 或消息传递( m e s s a g ep a s s i n g ) 等方式进行远程通信,比较适合 稳定的网络环境和应用场合。随着新型网络应用( 如:移动计算) 的出现, c l i e n t s e r v e r 模式的缺点同益明显,远远不能适应当今快速多变的网络应用发展, 移动a g e n t 技术集智能a g e n i ,、分布式计算、通信技术与一体,提供了一个强大的、 基于c o r b a 的移动代理系统的研究与实现 统一的、开放的计算模式,更适合于提供复杂的服务( 如:复杂的i n t e r n e t 信息搜 索、i n t e r n e 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 技术具有了求解大规模问题的能力。非常适合 于现代网络计算的需求。移动代理其基本的思想是使计算实体在分布式环境中迁移, 依次在所须数据所在的计算机系统上直接操作,然后返回用户本地机上。移动代理具 有自主性、协作性以及移动性,它可以代替用户去完成所需的任务。而且它能根据各 种用户需求以及实际情况在网绑确自主地迁移,发现、过滤和转发网上的信息以及代 替用户与网上的服务进行交互。这种“迁移一计算迁移”的模式非常适合这种基于 i n t e l 6 n e t 的分布式计算的要求,它为解决网上信息的利用等问题提供了新的思路。 而这一分布式计算新模型在分布式信息搜索、个人助理、电子商务、主动网络、移动 计算、数据挖掘的众多领域都有着广泛的应用前景。 在本章后几节中,我们将简单介绍移动代理基本概念、基本结构、优点及应用 领域,最后介绍本论文课题的研究意义及研究内容。 1 2 移动代理基本概念 1 。2 1 代理及其分类 a g e n t 一词直译为“代理“,一般而言指的是一个具有自主性、社会能力和反 映特征的计算机软硬件系统,广义上是指具有智能的任何实体,包括人类、智能 硬件( 如机器人) 和智能软件。f i p a ( f o u n d a t i o nf o ri n t e l i g e n tp h v s ic a la g e n t ) 对 眵“1 的定义为”“:”a g e n t 是驻留于环境中的数据,并执行对上不境产生影响的行 为。巴) 其中,软件a g e n t 的定义如下( 非f i p a 定义) “1 :u 智能软件a g e n t 是能为用 户执行特定的任务、具有一定程度肋智能以允许自主执行部分任务并以一种合适的 方式与环境相互作用的软件程序。f 纠能软件a g e n t 通常有以下属性”1 : 目主性( a u t o n o m y ) :一个a g e n t 能在没有与环境的相互作用和来自环境的 南京航空航天大学硕士学位论文 命令的情形下自主执行任务。这是a g e n t 区别于普通软件程序的基本属性。 响应性( r e a c t i v i t y ) :a g e n t 必须对来自环境的影响和信息作出适当的响应。 主动性面向目标( p r o a c t i v i t y g o a lo r i e n t e d ) :a g e n t 不仅对环境变化作 出反应,而且在特定情况下采取主动行动,这种自身采取主动的能力需要 a g e n t 有严格定义的目标。 推理学习自适应能力( l e a r n i n g a d a p t a t i o n ) :a g e n t 的智能由三个主要部 件来完成,即内部知识库、学习或自适应能力以及基于知识库内容的推理能 力。 可移动性( m o b i l i t y ) :一个a g e n t 在计算机网络中漫游的能力。 角色( c h a r a c t e r ) :a g e n t 在社会活动中对安全性、风险、信任、诚实等因 素的考虑。 通信合作协调( c o m m u n i c a t i o n c o o p e r a t i o n c o o r d i n a t i o n ) :这是在 a g e n t 群体中应具有的社会属性。 其中,移动a g e n t 是一种特殊类型的a g e n t ,它是位于网络中并通过迁移或服务 接口能与网络中其他程序进行通信的a g e n t 。它通常是由客户端迁移到服务器端执行 的脚本程序。 1 2 2 移动代理的结构 移动代理( m o b i l ea g e n t ) 是代理适应计算机网络化与i n t e r n e t 技术的需要,它具 有软件代理的一些特点,还具有它自己的一些特征,总结为下面六个模型:代理模型, 生命周期模型,计算模型,安全模型,通讯模型和协商模型。 代理模型:代理模型定义了移动代理的智能代理部分的结构,它代表代理所 具有的性质。也就是说,它定义了移动代理的自主性、学习能力和协作能力。 特别地,它定义了代理的主动性和反作用性。 生命周期模型:每个移动a g e n t 都有一个生命周期。通常它是因某个任务而 被生成,带着这一任务旅行,完成任务后自动死亡。 计算模型:当移动a g e n t 到达目标站点后,它应能有效地利用当地站点资源 完成自身的任务。 安全模型:当移动a g e n t 处在异地站点时,它应有保护自己的能力及维护当 地环境的能力。 通讯和协商模型:当移动a g e n t 处在异地站点时,它应能与当地的其它实体 进行有效的交往以实现自身的目标。 基于c o r b a 的移动代理系统的研究与实现 图1 1 移动a g e n t 的结构模型 由图1 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 的安全策略,阻止外界环境对m o b i l ea g e n t 的非法访问。 m o b i l ea g e n t 通过环境交互模块感知外部环境并作用于外部环境。环境交互模块 实现a c l 的语义,保证使用相同a c l 的m o b i l ea g e n t 和服务设施之间的正确通信和 协商,而通信内容的语义与a c l 无关。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 任务相关的推理方法和规则;运行模块包括m o b i l e a g e n t 的初始化和事件处理程序,前者在初始化或移动到另一节点后启动事件处理程 序,后者持续自主运行,感知外部环境的请求,并依据内部的规则和状态产生动作。 m o b i 】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 执行过程中的当前状态,它影响 m o b jl 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 的创建者为保证m o b j l ea g e n t 的行为和性能而作出的约束, 如返回时间、站点停留时间及任务完成程度等,一般只有创建者拥有对约束条件的修 改权限。路由策略决定m o b i l ea g e n t 的移动路径。可以是静态路由也可以是动态路 由。 1 2 3 移动代理系统的结构 m m 有多利,m o b i j 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 以及m o b i l ea g e n t 服务设施( a g e n t i n f r a s t r u c t u r e ,又称为a g e n te n v i r o n m e n t ) 。m o b i l ea g e n t 服务设施为每个m o b i l e a g e n t 建立运行环境、提供服务接口,并利用m o b i l ea g e n t 传输协议( a t p ) 实现m o b i l e 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 通 信语言( a c l ) 相互通信并访问服务设施提供的服务。其结构如图1 2 所示。 图i 2m o b i l ea g e n t 服务设施构成 事件处理系统包括初始化程序和事件处理模块。事件处理模块是连接整个 m o b i1 ea g e nc 服务设施的神经中枢,它控制服务设施中其他模块,根据外部环境和 m o b i l ea g e n t 执行环境中的不同服务请求,协调相关组件提供所要求的服务。 环境接口模块包括m o b i l ea g e n t 传输控制模块和通信模块,它们分别负责处 理不同的外部请求。传输控制模块采用a t p 协议,具体实现m o b i l ea g e n t 的移动; 通信控制模块采用a c l 完成m o b i l ea g e n t 传输之外的其它通信任务。 执行环境( m o b i l ea g e n tc o n t e x t ) 负责激活和执行m o b i l ea g e n t ,同时实施 服务设施安全策略保护节点不受攻击。有两种执行环境分配策略:为每一个m o b i l e 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 往往被分配不同的 执行环境。服务设施基本服务提供的m o b i l ea g e n t 服务,包括m o b i l ea g e n t 的生 命周期服务、事件服务以及目录服务等i 生命周期服务包括与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 传输协议和通信协议的支持,实现 m o b i l ea g e n t 在服务设施问的移动及与服务设施和其它m o b i l ea g e n t 之间的事件 传递:目录服务向m o b ea g e n t 提供一定范围内服务设施的描述信息的列表,并 与m o b i 1e a g e n l 协商7 髟成路由选择。这些服务在不同的服务设施中都应该得到实 i 见i :订棚同的抖丽。定制j j l ;i 务为m o b i l ea g e n t 提供领域相关的任务求解服务。 基于c o r b a 的移动代理系统的研究与实现 定制服务以组件的形式出现以方便第三方的应用开发。本地访问代理具有两方面的 功能:提供服务设施与本地应用的接1 :3 ,应用程序通过它创建、发送、接收自己的 m o b i l ea g e n t ;此外m o b i l ea g e n t 或服务设施需要访问设施所在主机的本地应用 程序,本地访问代理集中对这些访问进行管理和安全性控制,代表服务设施访问本 地应用,然后返回结果。 代理的传输是在被称为“场所”( p l a c e ) 的代理执行环境之间进行的。场所是移 动代理系统中代理执行的执行环境,这个环境提供了如代理程序的解释执行和存取 控制这样的功能。每个场所驻留在一个移动代理系统中。每一个主机上可以驻有几 个不同p l a c e ,每一个p l a c e 同样可以驻有不同的代理。它们共同构成移动代理系 统。 总而言之移动代理系统则是创建、解释、执行、传送和终止代理的平台。它又被 称为移动代理运行环境,是整个移动代理技术中核心的部分。移动代理系统具有和具 体的人或组织相关的授权。系统之间利用这个授权来建立信任机制。上述这些基本概 念及相互关系如图1 3 所示。 图1 3 移动代理系统的组成 1 3 移动代理的优点及应用领域 移动a g e n t 的移动性、自治性、反应性、导向目标性和针对环境性使移动a g e n t 技术在许多领域中,特别是i n t e r n e t 领域中显示了强大的优势,主要优点可f j 纳 如r : 一 降低网络通讯量、节约网络带宽。通过将服务请求a g e n t 移动到目标主机,使该 g c n t 直接访问该主机上的资源,与源主机有较少的交互,从而避免了大量数据 的网络传送,降低了系统对网络带宽的依赖;这同时也缩短了通信时延,提高了 南京航空航天大学硕士学位论文 服务响应速度。见图1 4 。 图1 4 移动代理降低网络通讯量 一减少网络延时。通过迁移到资源所在的站点上去,移动代理能够以比从网络上访 问的方式更快的速度访问资源,从而减少网络延时。 一支持移动用户。移动代理能以异步的方式自主地运行。我们可以将要完成的 任务嵌入到移动代理中,并通过网络将其派出去,然后就可以断开源主机与目标 主机的连接。此后,移动代理就独立于最初生成它的进程,可以异步自主地运行 了。源主机可以在随后适当的时候再与目标主机连接并接收运行的结果信息。这 对于移动设备或移动用户来说尤其有用。移动计算的真正意义也在于此。见图 】5 。 图15 移动代理支持移动用户 移动代理有很强的适应能力,能根据自己所处的环境做出相应的变化。这使得移 动代理能处理一些复杂的问题,完成用户指定的特定的任务。例如:移动代理可 以根据服务器和网络的负载动态决定移动目标,有利于负载均衡。而且,移动代 删n q 智能路山减少了用户浏览或搜寻时的判断。 一 在进行任务处理时可以动态创建多个a g e n t 并行工作,提高效率并降低作业的响 j 煎州n 1 j 。 一 支持异步自主执行:传统分布式系统中异步通信机制可以异步地处理多个请求, 9 基于c o r b a 的移动代理系统的研究与实现 但要求提出请求的客户端必须始终在线等待并响应请求的回答,这对移动客户而 言是不可行的。使用移动a g e n t 技术,用户可以将整个任务而不是单个请求提交 给多个a g e n t 去执行,这些a g e n t 被发送到网上之后,可以独立于发送它们的程 序,异步地、自主地、协作地完成任务,它们的生命周期可以长于创建它们的程 序。 _ 支持平台无关性:网络环境( 尤其是i n t e r n 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 发送到远端系统,代替人在远端完成各种 控制活动,可以从根本上解决网络延迟问题。 封装网络协议:任何网络程序都是建立在特定的协议之上,网络程序的开发要求 程序设计者深刻的理解低层的网络协议:随着i n t e r n e t 的发展,新的协议和数 据格式不断的产生,随着网络协议的升级,程序需要重新编写、编译,这些都给 网络应用的开发和维护带来困难。移动a g e n t 系统是一种中间件,位于操作系统 和应用程序之间,封装了低层网络协议,提供移动、通信、容错、安全等基本功 能,开发人员无须了解低层实现即可开发网络应用。当网络协议升级时,只需修 改移动a g e n t 系统中相关的功能实现而无须修改移动a g e n t 应用程序。 提供个性化服务:随着i n t e r n e t 上信息数量的飞速增长,上网用户的数量和种 类也在快速增加。这些用户来自不同的民族和地区,有着不同的文化背景,他们 列信息的需求和使用方式有着很大的差异,这就要求对i n t e r n e t 进行个性化的 表示和使用。使用移动a g e n t 技术,用户可以根据服务器端提供的低层操作函数, 编写满足自己特定需要的a g e n t ,然后发送到服务器端运行,利用服务器端的数 据资源或计算资源为不同的用户服务。这种方式可以有效地增加服务器功能的伸 缩。陀。 一移动代理是容错、 i = | ! 壮的,能够克服网络隐患,在不可靠的网络中也能提供稳定 i i , j n 务。z :移动代础系统中。移动代理作为个自治的构件封装了涉及分布计算 旧全部状态,对它可以很容易的进行跟踪和设立检验点,部分失败时,能够在不 需疆全局信息的情况下进行本地恢复。例如,在远程工业实时控制系统中,通过 确:隐患i i j 网络传送挖制信恩远远不如将控制指令通过姒商接移动到该受控系 l n 南京航空航天大学硕士学位论文 统上执行安全。 这些优点都是采用移动技术合理和有利的理由,但是认真分析会发现,上述的优 点并不是移动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 的入侵检测系统、g i s 系统、移动 数据库系统以及用移动a g e n t 来求解一些数学问题等。 总之,移动a g e n t 特别适合用于解决传统方法中要么代理过于昂贵、要么就解决 不了的问题,如数据、控制、专家知识或资源分布问题,使大量的数据处理可在数据 源处进行( 因为移动a g e n t 可以移动) ,只需交换少量的高层信息,就可以减少大量 原始数据传送到远地的操作,提高了网络的利用率。如需要人性化的问题,由于移动 a g e n t 具有观察能力、主动适应能力,而不是通过一些预先严格递给你一的接口函数 与外界进行交? t ,能根掂目标主动规范化自己的行为,使用户界面达到“人性化”。 如需璎集成的问题,通过给旧系统上包装一层a g e n t 外壳,其他系统可以调用旧系统 的功能。 1 4 课题研究的内容、方案和意义 移动a g e m 受到了水r i 学术界、工业界的广泛关注,吸引了众多著名的大学、公 司、t 机构进行”究 发一r 作,目f ;l f 已经开发出众多的姒系统,其代表性的系统 有:( n e r a lm a g h 公帅01 e le s c r i p t ,i b m 的基于j a v a 的a g l e t 这是目前最为 j l 基于c o r b a 的移动代理系统的研究与实现 完整的商业化移动代理系统之一。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 ,d e c ( c o m p a q ) 研究院的o b l i q ,c o r n e l l 大学的t o e a m a ,德国s t u t t g a r t 大 学设计开发的m o l e s 是纯j a v a 的移动代理系统。a g e n tt c l ,是由d a r t m o u t h 学院设 计开发的一个简单、安全、平台无关的移动代理系统。”“” j a v a 是面向对象的程序设计语言,它非常适合作为a g e n t 设计的基础语言。首先, 它在平台无关性、安全性、支持静态类型检查、显示类型转换、支持自动内存管理等 多个方面直接满足a g e n t 设计需求;其次,j a v a 提供了灵活的扩展机制,尽管j a v a 没有提供迁移、通信及状态捕捉等语句,但可以扩展它的动态类装入、对象流、多线 程和反射等机制实现这些功能。 而公共对象请求代理体系结构c o r b a ( c o m m o no b j e c tr e q u e s t b r o k e r a r c h i t e c t u r e ) 是对象管理组织所定义的用来实现现今大量硬件、软件之间互操作的 解决方案,使用c o r b a ,用户可以透明地访问信息,并不需要知道信息存在于什么软 件中、使用什么硬件平台,以及位于企业网络的什么地方。作为面向对象系统的通信 核心,c o r b a 为今天的计算环境带来了真正的互操作性。c 0 r b a 不只意味着对象请求 代理( o r b ) ,它还是非常全面的分布式对象平台。c o r b a 使j a v a 应用可以跨越网络、 语言以及操作系统,并为j a v a 提供了一组分布服务,如分布式自我观察、动态发现、 事务、关系、安全和命名等。而j a v a 不仅是一种语言,它还是一个动态代码系统, 它对运行对象来说是一个可移植的虚拟机( j v ) 。j a v a 为开发、管理、发布 c 1 i e n t s e r v e r 应用提供了更简单的方式。人们可以通过将应用放在个w e b 服务器 上将这一应用发布给成千上万个用户,而不必关心它的安装和升级。j a v a 还非常适 合服务器的开发,它可以动态地将服务代码移向最需要它们的地方。j a v a 将会使 c o r b a 对象能够运行在从主机、网络计算机到蜂窝电话等可编程的各种机器上,并简 化了大型c o r b a 系统的代码发布。对客户和服务对象来说j a v a 是很理想的编程语言, j a v a 内置的多线程、垃圾收集和错误处理使编写健壮的网络对象变得很容易。 c o r b a 处理网络的透明性,j a v a 处理实现的透明性,c o r b a 为j a v a 可移植应用 环境提供了一个分布式的结构。同时,由于c o r b a 提供的各类服务( 服务的具体特性 将在第二章中详细介绍) 与移动代理系统关系十分密切,所以,作者决定将这两种技 术结合起来,基于c o r b a 设计并实现一个移动代理系统。本文所设计的移动代理系统 遵从m a s i f 规范来实现,但对于规范所没有强制规定的环节,作者根据情况采取了适 合于本系统的做法。本文将详细介绍作者采用j a v a 语言,在v is i b r o k e rf o rj a v a 平台上研究开发的移动代理系统:c o n c o - m a ( 意思是:结合了c o r b a 技术的m o b i l e a g e n l ) 。由于在一个移动代理系统中,迁移机制与通讯机制是核心技术,命名定位机 制是实j 见这两种机制的基础,所以,作者在课题中的研究的主要工作和任务是: 在v is jb r o k e rf o rj a v a 平台上设计c o n c o m a 系统的整体框架。 研究移动代理命名与定位机制,设计c o n c o - m a 系统的定位机制。 南京航空航天大学硕士学位论文 研究移动代理迁移的含义,设计c 0 n c 沪m a 系统的迁移机制。 研究移动代理通讯的类别,设计c o n c 0 一m a 系统的通讯模型。 c o n c o - w i a 系统的部分功能实现。 基于c o n c o - m a 系统设计基于移动代理的应用实例模型。 1 5 论文章节安排 本文的章节安排。 文章的第二章将介绍讨论c o r b a 规范及与移动代理相关的c o r b a 服务,并且在文 后的附录中对采用的c o r b a 平台v i s i b r o k e rf o rj a v a 做了简单的介绍。第三章将讨 论并给出

温馨提示

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

评论

0/150

提交评论