《移动Agent技术在分布式计算中的应用(可编辑).doc》由会员分享,可在线阅读,更多相关《移动Agent技术在分布式计算中的应用(可编辑).doc(40页珍藏版)》请在三一办公上搜索。
1、 图书分类号:.:工学硕士学位论文移动技术在分布式计算中的应用硕士研究生: 刘杰导 师: 党德玉教授工学硕士申请学位级别:学科、专业: 计算机应用技术所在单位: 信息工程学院答辩日期: 年月授予学位单位: 东北电力大学摘 要摘 要目前,互联网己成为人们发布和获取信息的重要平台,如何有效合理地利用庞大的网络资源,得到最有效的服务已成为人们关注的焦点。随着网络用户数和信息量的爆炸性增加,传统的分布式计算技术越来越呈现出效率低的劣势,因此研究和开发新的、高效的分布式计算模型成为迫切需要。移动技术是一种新型的分布式计算技术,它是为解决复杂的、动态的、分布式的智能型应用问题而提出的一种全新的计算手段。移
2、动技术涉及计算机网络、分布式系统和人工智能等诸多领域,由于其具有移动性、自主性和协调性等优点,因而具有广阔的应用前景和发展空间。本文重点研究和探讨如何将移动技术应用于分布式计算中,成功搭建了分布式计算的平台,并在该平台上进行了初步尝试。本文首先分析比较了几种传统的分布式计算技术和常见的分布式对象模型,然后介绍了移动的概念、体系结构、计算模式和关键技术及移动的代理平台一一的相关理论,并根据分布式计算的特点提出了一个新的基于移动的分布式计算框架结构,详细阐述了基于移动技术的分布式计算框架的设计方法和实现的关键技术。最后用高阶矩阵乘法验证了该平台的高效性。关键词移动:;分布式计算东北电力大学硕士学位
3、论文酊 ., : ,. . . 、.,.,. ,. ., ,?一,.:;:.论文原创性声明本人声明,所呈交的学位论文系在导师指导下本人独立完成的研究成果。文中依法引用他人的成果,均已做出明确标注或得到许可。论文内容未包含法律意义上已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成果。本人如违反上述声明,愿意承担以下责任和后果:.交回学校授予的学位证书:.学校可在相关媒体上对作者本人的行为进行通报;.本人按照学校规定的方式,对因不当取得学位给学校造成的名誉损害,进行公开道歉;.本人负责因论文成果不实产生的法律纠纷。日期:论文作者签名: 塑壹蕉 年?土月丑论文知识产权权属声明
4、本人在导师指导下所完成的论文及相关的职务作品,知识产权归属学校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。本人离校后发表或使用学位论文或与该论文直接相关的学术论文或成果时,署名单位仍然为东北电力大学。论文作者签名:导师签名:第章前 言言第章前.课题研究的背景和意义人工智能和计算机网络的飞速发展,特别是近年来及其相关技术的普遍应用,为高性能计算提供了必要的方法和手段。在这样的背景下,计算已经不再像以前那样仅仅局限于网络中的几台服务器上,而是要求所有计算机都融入到高性能计算这一大环境中来,这就引发了高性能计算新一轮的研究热潮,其中分布式计算更是研究的热点。在科学研究中,一直存
5、在大规模高密度的巨型计算,但是巨型机开发困难,硬件成本昂贵,而且将一些中小规模的计算加载到巨型机上运行,不但巨型机本身的效能得不到充分的发挥,且对于巨型机上宝贵的计算资源而言,也是一种巨大浪费;但另一方面,世界上存在着大量的微型计算机和工作站,它们之间用局域网和广域网连接在一起,构成了一个巨大的计算资源,和巨型机相比,这种资源廉价。因此利用网络连接的机群系统进行分布式计算,成为业界近十年来研究的热点。在网络高速发展的今天,各个站点的资源都在不断地变化,即使在小范围的局域网上,计算机和计算机上的资源也在时刻动态地变化。如要利用这种资源进行计算,人为地去把握动态变化信息是很困难的;另一方面,网络低
6、带宽、高延迟越来越成为限制网络并行计算发展和推广的瓶颈,为解决这个矛盾,人们提出许多新的网络计算模型,移动就是在这种形势下提出的一种新的分布式计算模型。移动技术。咖是一种新型的分布式计算技术。世纪年代初,公司在推出其商业系统时第一次提出了移动的概念,即一个能在异构网络环境中自主地从一台主机迁移到另一台主机,并可与其它或资源交互的软件实体。移动是一类特殊的软件,它除了具有软件的基本特性?自治性、响应性、主动性和推理性外,还具有移动性,主动代表用户完成指定的任务。移动具有突出的优点,正因为如此,移动技术受到了来自于世界范围内的工业界及学术界的重视。移动可以移动到网络中的各个节点,因而可以充分地利用
7、网络上的资源。不少专家预言,移动将成为分布式计算模式的主流,其突出优点旧主要有以下几点:.有利于减轻网络负载;移动技术能较大程度地减轻网络上原始数据的流量。它不需要像请求与应答结构那样在网络问频繁地传送数据;不需要保持网络的始终连通,允许间断式的连接,提高了网络的利用率。分布式系统通常依赖于通信协议,这些协议在完成给定任务的过程中涉及多次交互行为,这将导致网络交通拥挤。移动可以将一个会话过程打包,然后将其派遣到目的主机上进行本地交互。此外当进行远地主机的大量数据处理时,这些数据不应在网络上传来传去,而应在本地被处理完成。理由很简单:应把计算移动到数据上去进行,而不是把数据移动到计算中来,这一特
8、点越是在通讯量大的情况下越能体现出优越性。.有利于并行处理:移动在进行任务处理时可以动态地创建多个使之并行工作,这就提高了效率并降低了任务的响应时间。.可以封装协议;当数据在分布式系统中进行交换时,每一台主机都有自己的网络协议,该协议将对传出的数据进行编码,并对传入的数据进行解码。但是,协议经常为满足新的效率和安全需要而改进,而实现该协议的代码升级工作要么几乎不可能,要么相当困难。而移动能够直接移动到远地主机,建立起一个基于私有规程的数据传输通道。.能以异步方式自主运行:通常,移动设备上的计算皆依赖于昂贵而脆弱的网络连接,它要求在移动设备和固定网络之间建立持续的连接,这种要求从经济和技术的角度
9、来讲都不易实现。但这些任务可以嵌入到移动中去,此后移动就可独立于生成它的进程异步自主操作了。移动设备则可在稍后的时间里再通过连接来收回。.具有较强的应变能力:移动具有感知其运行环境,并对坏境变化做出反应的能力。许多移动拥有在网络主机之间动态合理分布自身的独特能力,比如按一定规则来维持解决某个特定问题的最优配置。.具有天然的异构性:分布式网络计算平台往往是异构的,由于移动第章前 言通常独立于计算机和传输层,而仅仅依赖于其运行环境,所以移动提供了系统无缝集成的最优条件。.具有较强的坚定性和容错性:移动具有对非预期状态和事件做出应变的能力,这使我们更容易创建坚定和容错性好的分布式系统。当关闭一台主机
10、时,所有正在该主机上运行的会得到警告,并有足够的时间移动到另一台主机上继续运行。将移动的思想引入到分布式计算系统中,对系统进行组织和设计,这将在很大程度上解决以往分布式计算模式中的低带宽,高延迟问题,因此采用移动技术进行分布式计算是一个值得探索的研究课题。.国内外研究现状和发展趋势目前的分布式计算主要采用远程过程调用、进程迁移、/模式,移动代码等技术。随着面向对象技术的发展日趋成熟,出现了多种模型,其中的一,的/叫,的/是对的包装和扩展四是其中的主流。但这些模型都存在一定的局限性,最明显的就是要求所有参与计算的节点在进行交互时,必须同时在网络中存在,如果某些所需资源暂时无法访问到,则整个计算过
11、程将失败。并且目前分布式系统通常依赖于网络通信协议,在完成任务的过程中这些协议需要进行多次交互,从而很容易导致网络拥塞。而基于移动的分布计算模型就很好地解决了这些问题。在移动模式下,客户机向服务器提交的不再是一些简单的请求,而是包含代码和数据的移动对象。移动对象代表用户,按照“程序靠近数据”的原则,在服务器间自主的移动,完成数据处理的任务。移动的出现使得计算机之间的通信变成向其它计算机提供可执行的计算过程,通过网络传送的消息也是包含计算过程及其所处状态的计算实体。在移动计算模型中,计算过程及其相应状态在接收方计算机中完全代表了发送方的所有请求,此时网络的可靠性变得不再那么重要,这是因为:.移动
12、仅仅在移动时使用带宽。.移动在移动后即使此时已经失去了与创建者之间的网络连接仍东北电力大学硕士学位论文将继续执行。移动可以封装一个完整的会话过程,然后自主移动到目的主机上去进行本地交互。因此,如果一个客户机需要与网络上特定服务器进行大量的通信,最好的办法就是实现一个使用移动的系统,该能够自动移动到远程服务器上,执行计算任务并返回,这样可以减少网络拥塞。整个计算过程中客户机没有必要在网络中存在,仅仅在移动返回时,客户机才需要连接到网络上。从年代初移动的概念被提出以来,移动技术一直受到业界的广泛关注,并得到较快的发展。移动目前已经从理论探索进入到实用阶段,涌现出了一系列较为成熟的开发平台和执行环境
13、。考虑到移动本身需要对不同的软硬件环境进行支持,所以最好选择在一个解释性的、独立于具体语言的平台上开发移动。是目前开发移动的一门理想语言,因为经过编译后的二进制代码可以在任何具有解释器的系统上运行,具有很好的跨平台特性。目前使用的移动系统大致可以分为三类:一类是基于传统解释语言的,一类是基于语言的,另一类则是基于平台的。下面介绍几个典型的移动系统嗍,它们代表了当今移动技术的基本方向和潮流:.公司的:作为移动系统专用语言的最早尝试, 公司开发的曾经在过去的几年里被广泛采用。是一种面向对象的解释性语言。它在开始出现时还是一个比较成功的移动开发平台,其安全性和健壮性都比较好,执行效率也很高。但随着的
14、迅速崛起及其跨平台特性的逐步完善,的优势慢慢消失, 公司开始改变其策略,开发了一个完全用实现的, ,以移动系统,它能够支持及 。继承了的许多特性,是目前被广泛使用的一个移动开发平台。.公司的“:是最早基于的移动开发平台之一。的名字来源于和,可以简单地将其看成具有第章前 言行为的对象。以线程的形式产生于一台机器,需要时可以随时暂停正在执行的工作,并将整个分派到另一台机器上,然后继续执行尚未完成的任务。从概念上讲,一个就是一个移动对象,它支持自动运行的思想,可以从一个基于的主机移动到其它支持的主机上。构造了一个简单而全面的移动编程框架,为移动之间的通信提供了动态而有效的交互机制,同时还具备一整套详
15、细而易用的安全机制,这一切使得移动的开发变得相对简单起来。.公司的嘲:可以看成是一个增强了的对象请求代理,它是一个纯分布式计算平台,可用来迅速生成高性能分布式应用程序,是代表当前技术水平的一个优秀的移动开发平台。移动为设计和建造能很好地适合大规模网络动态环境的分布式应用提供了一个新的方法。基于移动的分布式计算系统具有较好的互操作性、扩展性、动态性和普遍性,但是由于基于移动的分布式计算技术的各项支撑技术,包括移动技术本身,还处于研究和发展的阶段,加之涉及的技术范围广、难度大,因而从总体上对其进行研究,进而形成分布式计算应用的比较通用的整体开发框架并投入使用的例子还鲜见报道。在国内目前关于这类系统
16、的研究尚处于起步阶段,很多理论和技术仍处于探索阶段,新的问题亟待解决,大量的方法和思想亟待研究与实现。因而开展基于移动的分布式计算程序开发框架的研究是一项具有挑战性,同时也极有意义的工作。.本课题的主要工作和组织结构.本课题的主要工作本课题的研究工作主要有六大部分:.移动系统的选择和平台的搭建:本文在分析比较了多种分布式计算技术和分布式对象模型后,发现移动技术能较好地弥补其它技术和模型的不足。由于肼是完全基于的移动平台,故决定采用 来搭建系统的分布式计算环境。东北电力大学硕十学位论文.在的基础上实现了一个适用于通用并行问题求解的计算环。目的是让用户透明的实境现分布式计算,即不必要求用户了解移动
17、机制和的就可以利用移动进行分布式计算。.在分析了一般并行数值计算程序的基本框架的基础上,提出了通用的并行问题求解设计模式。在程序框架中,具有和两个角色模型。开发者只需要在框架结构下完成创建分解计算任务和执行任务的组件,而创建、进行调度、迁移代码的全过程由系统完成,并且组件具有更好的重用性。.提出了通信与交互模型,参照和实现了的基础通信原语。这是一个基于消息队列的通信模型,支持发送和广播原语,以。及异步的接收原语。.在系统中实现了一个简单的平均分配任务的调度模型,然后提出了一个能够根据负载动态调度的调度模型的具体实现方案,并介绍了一个简单事务模型。.在局域网内用高阶矩阵乘法对该环境进行验证,结果
18、表明该框架能较好地完成用户指定的任务,有效地提高了计算的效率。.本文的组织结构本文共分为五个章节。第章为引言,简要介绍了课题研究的背景、意义和国内外的研究现状,然后介绍了本文的研究内容和组织结构。第章比较全面地分析比较了传统的分布式计算技术和几种常见的分布式对象模型。第章系统地介绍了移动技术及移动平台的相关理论。第章是本文的核心部分,详细介绍了基于移动技术开发分布式计算框架的设计与实现。本课题在推出的移动系统的基础上实现了一个适用于通用并行问题求解的计算环境。从通用并行问题求言第章前解的设计样式、消息通信机制、调度策略模型、简单事务模型等四个具体方面来详细分析系统的设计过程,并讨论实现中的技术
19、细节问题。第章给出了一个比较具体的分布式计算实例?高阶矩阵乘法的设计与实现,并对运行结果作了简要的说明。最后是结论部分,主要对本文的研究结果加以总结并对研究的发展和迸一步的工作加以展望。东北电力大学硕士学位论文第章分布式计算技术分布式计算技术是指在网络计算平台上开发、部署、管理和维护以资源共享和协同工作为主要目标的分布式应用系统。即开发者设计的应用必须在互连计算机组成的网络上分散计算以减轻系统负担,这些应用必须对已有的资源进行最优利用以满足业务的需求,从而达到性能、可扩展性、安全应用和维护等方面的要求。目前分布式计算技术有很多,本章主要对几种常见的分布式计算技术和分布式对象模型做一简要介绍。.
20、传统的分布式计算技术通信网络的出现使得计算能力的远程使用成为可能。下面简要讨论已有的几种分布式计算技术,并分析其各自的优缺点。.远程过程调用 ,远程过程调用是为缓解最初的消息传递模型编程的琐碎性而提出的。支持本机的程序通过标准过程调用机制调用远程机的过程。调用的客户机实际上调用的是本地的桩,桩将过程名以及调用参数放入调用信息中并将其发送给远程主机。远程机上服务器的桩接收到消息后,从中抽取过程名和参数,然后调用相应的过程,在过程完成后,远程机的桩将结果发回给客户机的桩,之后客户机的桩将结果返回给客户,但在通信过程中需要在远程和本地间进行频繁的交互,而且这种调用必须是单向的。.远程求值 ,显然,远
21、程过程调用正确执行的前提是被调用的过程事先存在。这个要求限制了在大型分布式系统中的应用。在很多情况下,要调用的过程在远程节点上并不存在,这就要求人们研究新的方式解决这个问题,远程求值“”方法第章分布式计算技术正是在这种情况下出现的,它具有较高的灵活性。它允许网络中的节点向远程节点发送子程序和参数信息,远程节点启动该“子程序”。一些初始请求可由该子程序发出,中间结果也由该子程序处理,而不需返回源节点,子程序只是将最后的处理结果返回源节点。.客户/服务器模式./,/分布式技术发展到今天,/模式成为主流技术。在/通信模型中,通信的实体双方有固定的、预先定义好的角色:服务器提供服务,客户使用服务。这种
22、模式隐含了一种严格的依赖关系:客户依赖于服务器所提供的服务而工作。客户发出服务请求,然后在服务器上完成任务,最后服务器将处理结果返回到客户机。引入客户和服务器的角色,模式和模式都是/模式的一种。/模式存在着一些固有的缺陷,如果服务器不确切提供客户方所要求的服务,比如它提供更为底层的服务,则客户就必须得通过一系列的远程调用来获得其所需的服务,这就导致了服务响应的延迟和网络带宽的浪费。另外,当客户请求较多时,服务器的效率会大大降低,客户请求的响应时间也会延长,这主要是由计算环境中的处理器资源计算资源、软件资源和信息资源等都集中在服务器上造成的。.移动代码?针对/结构中资源过于集中的缺点,?“”模式
23、使用了代码移动的技术,即在需要远程服务时,首先从远程获得该服务的代码。例如,主机最初由于没有代码而无法执行任务,但网络中主机可提供所需要的代码,这时就可以向申请获得该代码。一旦获得中的相应代码,就同时拥有了代码资源和本地处理器资源,任务就可在中完成。与/模式不同,无需知道远程主机如的情况,因为只需下载所需的代码即可。?模式最典型的例子是中的应用小程序和服务小程序,从服务器下载到浏览器中在本地运行,而则从本地上载到服务器常为服务器上在远程运行。可移动代码的迁移只是程序代码的迁移,而并没有携带程序的运行状态和数据等其它信息。另外,移动代码本身不是有名字的实体,它们相互之间不能进行通信合作。因此,移
24、动代码只适合简单的网络服务提供以及远程软件安装等领域。.分布式对象模型面向对象的分布式计算发展到现在已经日趋成熟,因为面向对象的分布式计算的核心就是分布于环境中的对象,故面向对象的分布式计算技术具体体现于分布式对象技术。分布式对象技术采用面向对象概念组织、管理网络计算、支持面向对象的多层客户机/服务器模型,可以在不同机器的对象间相互传递消息,共同协作实现系统功能。目前,有多种分布式对象模型,其中的。的/,的/跏是对跚的包装和扩展是其中的主流。.,公共对象请求代理体系结构是年由对象管理组织,提出的应用软件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支持异构分布应用程序间的互操作
25、性及独立于平台和编程语言的对象重用。以为基础,定义了一种与程序设计语言无关的分布式对象模型和构件模型,可以在异构平台间实现对象互操作,能实现真正的跨平台。它采用连接式基础对象模型,底层网络通信采用机制。此外还提供了分布和组装构件的方法,因此也可以看作是一种构件集成模型。基于的软件具有良好的扩展性、开放性、集成性、移植性和复用性。在安全性上,提供了验证、安全审计等多种机制,为网络安全提供了充分的保障。但没有提供垃圾回收功能。目前,已有多个软件开发商提供了对的支持,其代表软件有:的,的等。但与其它主流技术相比,在软件开发商的支持程度和产品成熟度上要稍差一些。第章分布式计算技术. 是以“和为主提出的
26、分布式对象模型,它源于动态数据交换,经历发展而来,叫是它的基础。而是、和的最新扩展,是 结构的基础。比较而言它在实现上更加简便。与和/中的对象模型不同,只支持封装机制和接口继承,不支持实现继承。但组件可以有多个接口,通过包含和聚合实现对象复用,并能以二进制形式发布。它的基于,与不兼容且不提供向程序设计语言的映射。用接口仓库管理信息并可以从本地和远程访问,用类型库管理信息,只能在本地访问。与不同,提供了垃圾回收功能。是在网络上的扩展,它采用产生式基础对象模型,从根本上消除了本地和远程对象的差别。在环境中位于某一网络上的对象能和另一个网络上的对象进行通信,其底层通信机制是,并支持多种通信协议,如/
27、,/,等。没有提供良好的安全机制,许多有安全性的问题要由用户来处理。遵循和规范,是一种开放技术的集合,对控件、文档、脚本处理等都提供支持。的主要支持者是,同时,等公司也对它提供支持。与一样同程序设计无关,有较好的集成性和扩展性,产品成熟度较其它主流技术要高,但可移植性较差,主要是在微软的操作系统上运行。唧聃嘲啦瓢一图. 体系结构东北电力大学硕士学位论文. /是公司的提出的分布式对象模型,它与很相似,但局限于语言,采用连接式基础对象模型。/删能使不同虚拟机上的对象实现互操作,利用,某台虚拟机上的对象可以像调用本地机上的方法一样调用远程机上对象的方法,/雕支持对象可持续性和自动垃圾回收机制。基于/
28、剐的软件有较好的平台无关性和可移植性,同时还可以实现在上的移动执行。在安全性方面,它采用沙箱模型,网络安全性较高。/用面向对象的思想继承和发展了,提供了纯的分布式应用系统的开发方法。可以使用注册器来获得远程对象的应用,服务器调用注册器把一个名字和远程绑定在一起,客户机通过名字从服务器注册查找远程对象,系统也可以利用服务器下载对象字节码到客户机以及客户机上载对象字节码到服务器。和其它类型的应用系统样,用/珈开发的分布式应用系统也由接口和类组成,接口声明了方法,类实现了接口中定义的方法,在一个分布式系统中,应用系统的某些实现部分可以位于不同的机器上。的一个主要特色是其动态装载类的字节码的能力,一个
29、对象的类型和行为可以被传递到远程的虚拟机上。蹦传递对象时不会改变一个对象的行为,系统可以在运行时确定所执行任务的具体内容。支持/跚的主要厂商是,其产品成熟度较其它主流技术要差一些,/和有良好的互补性,两者的结合是未来的趋势。目前同时提供了对两者的支持,在.及以后的版本中,跚有了新的发展?,它在和问通信使用的是/协议,而不是使用传统的所使用的胛协议,在引以为自豪的技术中,也是使用瑚协议,配合使用技术,应用可以和实现无缝对接。上述三种主流技术虽然互有差别,但它们之间也有紧密的联系。的底层是与有许多相同之处的/,提供了和的集成,利用 中可以在程序中加入控件。第章分布式计算技术中有一个的参考实现,它本
30、身也是一个对象,通过它,平台可以像操作控件一样操纵类。而且与程序设计语言无关,可以为提供分布能力,将 作为控件对待,使 可以和上的其它组件通信。和的对象实例都具有全局统一的,和都对本地和远程的静态方法调用提供支持,其接口均与实现相分离,并可用描述。提供了向多种程序设计语言的映射,其中包括。虽未提供对对象可持续性的支持,但它可以很方便地和结合,一方面扩充了的功能,另一方面可以充分利用的可移植代码技术。总之,各项技术有同有异,其标准也是一个值得研究的课题。分布式计算技术发展至今,一个比较明显的趋势是智能化不断升级,如传统的和技术,最初都由人工控制安全、事务、序列化等细节,而后来的甚至技术都由一定的
31、框架来实现也称为相应的服务器和设旋。随着中间件技术的发展,分布式计算的目标是智能的、可热拔插的分布式计算。近年来的软件技术特别是移动就在这些方面有比较大的突破。.本章小结本章首先介绍了分布式计算技术的概念,然后重点介绍了几种传统的分布式计算技术,并分析比较了几种常见的分布式对象模型,为我们下一章分析移动技术用于分布式计算作了铺垫。东北电力大学硕十学位论文第章移动技术技术的诞生和发展是人工智能技术和网络技术发展的必然结果。它是指模拟人类的行为与关系、具有一定智能并能自主运行和提供相应服务的程序。从世纪年代起,传统的技术开始致力于对知识表达、推理、机器学习等技术的研究,其主要成果是专家系统。作为人
32、工智能的一个分支,技术理论的研究成果使应用程序有了初步的面向目标的特征,即应用程序具有了某种意义上的主动性,而人工智能的另一个分支?决策理论和方法则使应用程序具有了自主判断和选择行为的能力。随着网络技术的发展,可以让在网络中移动并执行,完成某些功能,这就是移动的思想。.移动技术世纪年代公司在推出商业系统时提出了移动的概念,简单的说,移动是一个能在异构网络上自主地从一台主机迁移到另一台主机,并可与其它或资源交互的软件实体。实际上它是技术与分布式计算技术的结合。.移动概述移动技术是一门新兴的技术,其基本思想是让在网络中移动并完成某项任务。移动可以自主地在异构的网络上按照所定的路线移动,寻找合适的资
33、源,利用和这些资源同处一台主机和网络的优势,处理和使用这些资源,代表用户完成特定的任务。.移动的技术特征移动能够在异构的网络节点间移动,带来了许多新的技术特点,在以网络为中心的计算环境中为许多应用领域提供了新的解决问题的方法。它需要与服务设施及其它移动协商来提供或获取服务以完成全局目标,因此移动需要具有以下技术特征“”:第章移动技术.异步计算:异步计算提供不同时间和空间范围内的应用互操作机制。传统的分布式系统一般基于同步方式,只有特定的应用程序支持有限的异步交互如电子邮件。移动引入了完整的异步计算环境,可以支持异构计算机软件、硬件环境。用户可以自己创建,异步地与其它网络节点上的交互,任务完成后
34、将结果反馈给创建者。.资源优化:传送大量的原始信息不但费时而且容易阻塞网络。移动能够优化网络和计算资源,实现负载均衡。对于客户方,只需要的创建与接送设施,而不必为建立网络以及数据库连接投入大量资源;服务方利用的异步性能够分析请求间的逻辑相关性,将接纳的移动分组统一处理;在网络使用方面,移动减少了网络连接耗费的带宽,能够根据任务目标、网络通信能力和服务器负载等因素动态规划异步操作的能力;智能化路由策略能够优化路径、降低网络延迟,避免了资源访问的盲目性。.移动计算:移动计算受到处理能力、网络连接质量和代价、能源及安全性各方面的限制,缓冲管理、资源分配与撤销算法等传统方法难以提供根本的解决方案。移动
35、技术避开了移动计算中的网络和处理能力瓶颈,将交互与信息处理转移到具有很强处理能力和安全性的主机上执行,代表用户完成信息查询、数据交换等多种任务。.并行任务求解:为完成某项任务,通过将任务分解并分配给多个移动,使它们同时在相同或不同节点上运行。利用其并行性、移动性和信息处理能力能够实现大规模非确定性任务的求解。特殊的安全机制使得移动的安全问题显得非常突出,它的安全机制主要有两方面:一方面保证自身不受到攻击,另一方面保证自身是非恶性的。此外,因为移动的代码和状态要在网络中传输,因此规模必须限制在中小范围内,否则会丧失节约网络带宽这一优势。而且应该有一种在异构平台上具有相同语义的语言来保证移动行为的
36、正确性。在移动的过程中,还需要保存代码和当前运行状态以便在目标节点继续运行。总之,移动具有动态执行、移动计算、异步计算、并行计算和智能化路由等技术特点,能够解决传统的/计算模式无法解决的问题。它能够在一个单一的通用程序模型结构下,有效地、健壮地实现大规模的分布式应用。东北电力大学硕十学位论文.移动的体系结构移动可以在客户机和服务器之间双向移动,所以移动的体系结构“埘通常包含移动和移动 两部分。主机上为移动,它是系统的核心部分,提供移提供支持的实体称为移动动的各种功能支持,包括对移动的创建、运行、挂起、终止、传送、接收、保护、验证等工作,目的是创建一个位置透明、便于控制、安全可靠的运行环境,最终
37、实现移动在网络上的自由移动和智能运行。通常只位于网络的一台主机上,利用情况下,一个移动,传输协议实现移动在主机间的移动,并为其分配执行环境和服务接口。移动在移动服务环境中执行,通过 ,通信语言啪相互通信并访问移动 提供的各种服务。.移动结构模型:移动的结构模型“例如图所示。之间的正确通信模块:实现之间及与和协商。不但可以自觉感知环境和其它移动的变化并做出相应的反应,而且还可以通过双方通信直接交换信息。我们可以采用一种简化的儿 ,知识查询和操作查询乜作为通信语言,实现之间的交互,从而达到信息快速传输的目的。安全控制模块:使移动具有自身保护的能力,防止外部环境对它的非法访问通常通过数字签名或加密等
38、方法来完成。任务求解模块:初始化或将移动到另一节点后启动事件处理线程,然后持续自主运行。它可以感知外部环境的请求,并依据内部的规则和状态产生动作。知识数据库:为所感知的世界和自身模型,并保存运行时所需的数据知识、中间任务求解结果以及移动采集处理并将要发送给用户的数据。路由策略:决定的移动路线,可以是静态的服务设施列表,也可以是基于规则的动态路由以满足复杂和非确定性任务的求解。第章移动技术图移动结构模型内部状态集:移动执行过程中的当前状态,它影响移动的任务求解过程。约束集:移动的创建者为保证的行为和性能而设置的约束参数集合。在移动结构模型中包含 。的主要作用是用户委托的任务,它需要实现移动语义、
39、安全控制和与外界的通信等功能。.移动 负责建立安全、的结构模型:移动正确的运行环境,为移动提供最基本的服务,包括初始参数设置、创建启动、传输及正常执行等,移动的移动性和问题求解能力很大程度上取决于移所提供的服务,其结构模型“如图所示。动定制服务模块:主要以组件的形式出现,为移动提供相关任务的求解服务。基本服务模块:提供移动基本的服务,如实现创建、移动、执行环境分配;实现间的事件传递;实现路由选择,提供定位信息;提供面向特定任务的服务接口。东北电力大学硕十学位论文结构模型图移动安全控制模块:实现主机的安全性策略,控制本地资源的安全访问。模块:实现在服务环境之间的移动机制,包括移进移出。模块:功能
40、和实现与移动的结构中的模块相同,主要负责之间的通信。的中心部件,事务处理与移动管理模块:它是移动负责将正常运行时所需的各项服务正确分配给相应的模块,并协调各个模块的正常工作。此模块的另一个重要功能就是制定的约束机制,并根据约束条件控制各个模块的正常运行。在移动 结构模型中包含 ,不具有移动能力,其主要功能是向本地的或来访的提供服务。一个移上通常驻有多个,分别提供不同的服务。由于是不能动的管理员启动和管理,因此移动的,并且只能由它所在的移动移动中的不能直接访问系统资源,只能通过提供的接口访问受控的资源,从而避免恶意对主机的攻击,这也是移动系统经常采用的安全策略。第章移动技术.移动计算模式移动计算
41、模式溉“捌是一种灵活的基于的分布式计算模式,移动技术给分布式系统的设计、实现和维护都带来了新的活力,它可以在通信功效、网络容错、间断计算和网络适应性等方面提高网络应用质量。移动计算由一组可在计算过程中进行移动的完成。之间可以进行通信协作,和网络资源这里的资源包括所有可以访问到的网络软硬件资源之间可以进行通信协作。为了寻找网络上的合适资源或者为了适应网络环境的变化,需要不断进行迁移,而迁移并不影响计算的进行。合作完成一个计算任务的多个以及网络平台和资源共同构成了一个移动系统。因此,的通信协作和的迁移构成了移动计算的主要成分,移动的活动就构成了移动计算。.移动计算模式:移动计算模式定义了一个移动的
42、各种执行状态和驱动状态转换的事件。由于计算是依次调用其它节点上的服务对象来完成部分任务,因此该模式可以称为基于任务的模型 ,实现上可直接对应于基于任务的生命周期模型。如图所示,该模型从初始状态开始,根据一系列的条件形成一个任务网,每个任务有独自的状态,且一个任务可以理解为一个或多个服务对象的执行。因此当一个节点上的任务完成后,该任务相关的服务对象消失,移动携带着执行体和相关数据迁移到下一个节点。该计算模式适合于那些任务复杂而数据量小的任务,并且要求节点间的通信量相对计算量来说较少的在同一个节点上的计算任务,或者是那些计算资源和大量数据资源均驻留在同一个节点上的计算任务。图移动计算模式东北电力大
43、学硕十学位论文.协同计算模式:协同计算模式定义了多个的执行状态和相互协同的工作模式。由一个管理根据计算任务模型生成多个执行任务的,并将这些任务分派到计算任务中指定的计算节点。这些任务到达指定节点后就不再移动。任务根据计算资源和数据资源决定是否开始执行任务,如果不具备数据资源,它可以查询数据源节点并与分布在该节点上的任务协同进行数据资源的传输。任务可以自己携带计算资源,或从分布在其它节点上的任务处得到计算资源。该计算模式适合于那些数据资源与计算资源分离的计算任务,或者需要协同计算共同完成计算任务的情况。如计算客户需要用异地的并行节点,而数据体驻留在客户端的工作站上,则它需要使用协同计算完成数据传
44、输和协同计算。又如多个异地数据仓库的数据查询和分析任务,需要多个首先移动到各个数据库节点,查询出相应数据后进行协同分析计算,最后得到分析结果。.移动协同计算模式:移动协同计算模式综合了以上两种计算模式的特点,属于混合计算模式。如果说协同计算模式比较适合局域网络计算,而移动计算模式适合广域网的话,移动协同计算模式更适合于网络计算。即在局域网络中使用协同计算模式,通过移动计算模式将移动流动到其它局域网络中进行另一个协同计算任务。该计算模式的工作方式为:向某个局域网络的若干个节点上派发执行子任务并使之协同工作,一旦这些子任务完成一个阶段的任务后,由管理可能是某个预定的或选举出的子任务收集本阶段的计算
45、成果,再通过广域网络流动到另外一个局域网络,并在该网络中的若干个节点上继续派发执行子任务,再使之协同工作从而完成下一个阶段任务。.移动的关键技术移动利用先进的网络技术和基础设施为用户提供智能化的服务和任务规划求解。为实现这一目标,移动系统必须解决以下关键技术:.通信语言?嘲:定义了及其服务设施闻协商过程的语法和语义。移动的应具有应用的普遍性、简洁一致的语法第章移动技术和语义、通信内容的独立性等。目前常用的有。和,它们的格式非常接近,这里只简单地讨论。分为三层:内容层、消息层和通信层。内容层包含消息的实际内容,可以携带任何语言表达的内容,包括表达为码或二进制代码的语言。通信层描述低级的通信参量,如发送者、接收者和与通信有关的唯一标识符。消息层是语言的核心,它的主要作用是识别传输消息所采用的网络协议,给出发送者对内容的态度或意图,即行为原语。行为原语定义了可作用于的知识库和目标库删支持基于的模型的各种许可操作,常用的原语有基本操作原语、基于知识数据库的操作原语、基本响应原语、基本查询原语、?、能力宣告原语、网络操作原语、和协调器操作原语等,开发者可以自己扩充来实现特定的系统。目前虽出现了一些的开发包如、等,但是及其类似语言还有一定局限性,即缺少一个精确的语义系统,通信层基本无语义。.传输协议:传输协议定义了移动传输的语法和语