移动Agent定位机制与迁移技术研究

2014-04-29 00:44:03范彬
电脑知识与技术 2014年10期

范彬

摘要:该文介绍了移动Agent的概念和特性,并针对移动Agent在迁移过程中的定位机制、路由规划、迁移策略等关键技术进行了研究与剖析。

关键词:移动Agent; 定位机制;路由规划;迁移策略

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)10-2204-02

Abstract: The paper introduces the concept and characteristics of mobile Agent, and carries on the study and analysis of the mobile agent key technology of positioning mechanism, route planning, migration strategy.

Key words: Mobile Agent; Positioning mechanism; route planning; migration strategy

随着计算机网络、计算机通信技术的飞速发展,Internet应用已深入到人们工作和生活的各个领域。为了获得最佳的服务,移动Agent的概念应运而生。移动Agent是能够智能地、在异构的网络环境中按照特定地规程而独立运行的计算机程序,它能够并有效利用网络资源,并代表用户完成特定的任务。移动Agent不仅具有交互性、自主性、主动性和反应性等特性,还具有一个重点特性——移动性。该文针对移动Agent的“移动性”,对其在移动过程中的定位机制以及迁移技术等关键技术进行分析与研究。

1 移动Agent的定位机制

由于移动Agent可根据特定的任务和路线,可在异构的软、硬件网络环境中自主地迁移,这种随机迁移使得其位置难以确定,从而造成了定位的困难。目前,移动Agent的定位机制有如下3种[1]:

1) 蛮力搜索机制:在多个目的节点中采用并行或顺序的方式来展开全面地搜索,从而完成对移动Agent的定位。

2) 使用日志机制:移动Agent访问过的每一个节点都会保存其移动轨迹,并且会定期进行更新,针对这些信息,采用沿路跟踪和重定向的方法来跟踪移动Agent,从而实现了移动Agent的定位。

3) 注册机制:该机制是指在移动Agent的通信模型中设置一个名字服务器,用于移动Agent的注册、注销或定位。当其他Agent需要定位移动Agent时,通过这个名字服务器即可定位。在实际应用中,进行通信的Agent需要提前约定好一个名字服务器。如果每一个Agent服务器都相应有一个名字服务器的话,就可以简化约定的达成。当多个Agent来自同一台源主机或到达同一台目的主机,它们只需简单地共享与它们的源主机或目的主机相联系的缺省名字服务器就可以了,无需事先交换名字服务器的地址。

由上述的分析可知:蛮力搜索机制独立于外部机制,如跟踪信息或名字服务器等,因此在实际应用中易于实现。而是用日志的机制的定位机制则需要知道移动Agent的源主机以及其迁移路径所遍历的任意一台主机才能够准确而完整地定位。注册机制需要提供一个名字服务器,该机制典型的应用是当执行同一任务的多个移动Agent被分配到多个不同的节点上进行工作,而相互之间又需要通信。此时完成移动Agent 的定位则只需共享其源主机中名字服务器即可。

因此,对于不同的移动Agent系统,可以根据系统的实际需求来选择适合的定位机制。

2 移动Agent的迁移技术

移动agent迁移技术是移动Agent技术的核心内容,下面主要从移动Agent的迁移分类、路由规划及迁移策略三个方面展开探讨。

2.1 移动Agent的迁移分类

移动Agent包括数据状态信息、代码状态信息和执行状态信息,根据其迁移时所携带的信息的不同,可以将迁移分为两类——强迁移和弱迁移[2]。

强迁移:指当移动Agent迁移时,将携带其自身的全部信息到达目的节点,并在到达目的地后,恢复数据、代码和执行状态全部信息,并继续从迁移之前中断处继续向下执行。实现了在迁移前和迁移后,移动Agent的相关信息保持不变,如NOMADA系统。

弱迁移:指当移动Agent迁移时,只携带其代码本身和数据状态信息,并能够根据实际需要有选择地携带移动Agent的部分执行状态信息,如Aglets、MOLE等系统。

二者的区分在于,弱迁移在迁移过程中只携带的部分数据量,因此其迁移操作开销较小,执行效率较高,且便于实现,但需要编程人员熟悉Agent的整个传送过程,并要编写大量代码。而强迁移的系统中,由于移动Agent的传输过程是透明的,方便对程序的理解和错误排除,也提高了系统可靠性与模块化设计程度,但该方法导致通信流量的增大,并提高了系统实现的复杂性。

2.2 移动agent的路由规划

移动Agent在网络中迁移时其路由规划通常有三种形式[3]——固定路由、可变路由和动态路由。

固定路由是指在移动Agent在迁移开始前,按照一定的算法预先计算好每对节点之间的最佳路由,然后再构造出一个固定的迁移路由表, 移动Agent在其生命周期内只能严格按照路由表中的固定路线进行迁移,不能随着网络环境的变化而随意更改路线。

可变路由是指在固定路由的基础上,移动Agent可以感知其所在的网络环境的软硬件等资源,并能够自主地适当调整其预先规划好的迁移路由表,从而更好地完成其携带的用户任务。

动态路由是指移动Agent 可以根据当前复杂的网络环境以及其任务执行的情况完全自主地选择其迁移路线,其诞生主机不会约束或干涉移动Agent的路由计划。

从上述的描述可知:固定路由和可变路由在实现移动Agent迁移是其主要迁移路线都是在迁移之前就已规划好的,很难适应实时多变的网络环境资源及用户任务,但其原理简单,易于实现。而动态路由弥补了前两种路由的缺陷,能够实时地感知网络的软硬件资源状况,具有动态规划移动Agent迁移路线的能力,从而保证安全、高效地完成用户任务,很好地适应了当前网络流行的分布式计算系统。

2.3 移动agent迁移策略

移动Agent迁移策略是指可以根据当前动态的网络环境、移动Agen携带的任务、以及网络带宽、网络延迟等约束条件为移动agent规划出最佳的迁移路线,并能够确保移动agent在开销最小的情况下,能够更及时、更准确地完成用户任务。迁移策略选择的优劣将直接影响其任务的完成情况 [4]。

目前,很多学者在迁移策略方面进行了大量的探索。如Aglet只提供了事件驱动的机制,迁移策略需由用户编程实现,但没有考虑硬件资源对迁移的影响;Acharya等人在实现移动agent系统Sumatra 时已经意识到了网络环境中不同的硬件资源及其使用状况将会对移动agent迁移的造成一定能够的影响,因此在系统实现时考虑到了网络延迟参数;Concordia 在设计时提出了旅行计划的系列概念,从而较好地实现了在迁移时将移动Agent的任务体与其迁移信息的分离, 但由于其旅行计划中描述能力有限,限制了系统地灵活性;刘大有等人提出了旅行图的概念,基于旅行图的迁移策略考虑了网络带宽、网络延迟以及价格对移动Agent迁移策略的影响,避免了由于网络节点失效或者网络断连引起的迁移失败的发生,较好地确保了迁移的顺利完成;张正球等人提出了一种改进的基于迁移计划图的移动Agent结构化迁移策略,该策略考虑到了服务价格、服务质量等因素的影响,在感知当前网络环境及其它一些负载信息的基础上,根据这些信息以及一些约束条件,动态地为移动agent 规划出一条最佳的迁移路线。

由此可见,一个最佳的移动Agent迁移策略,不仅要考虑复杂的网络软硬件资源、网络传输资源以及主机处理能力等资源的影响,还应该充分考虑服务速度、服务质量、服务价格乃至移动Agent的迁移经验等因素,从而才能制定出更加完整、更加全面的移动Agent迁移策略。

3 总结

移动Agent是一种新型的分布式计算与网络通信模型,该文对其定位机制与迁移技术进行了较为全面的研究与阐述,为其以后在网络中的广泛应用奠定了理论基础。

参考文献:

[1] 黄萍,曹阳.移动Agent系统中命名和寻址方案的分析与设计[J].武汉大学学报(理学版), 2002,48(1): 55-58.

[2] 王新颖.移动Agent实现技术[EB/OL].http://www. China_pub.com/computers/ eBook /1391/info.htm.

[3] 骆正虎.移动Agent系统若干关键技术问题研究[D].合肥:合肥工业大学计算机与信息学院,2002.

[4] Lange Danny B, Dridor Yariv. Agent Transfer Protocol. IBM Tokyo Research Laboratory[EB/OL].http://www.trl.ibm.co.jp/aglets,2004.