APP下载

移动代理技术

2010-08-15周祖荣

科技传播 2010年7期
关键词:代理协作安全性

卞 克,周祖荣

青岛科技大学,山东 青岛 266000

代理的研究起源于人工智能领域。代理是指模拟人类行为和关系、具有一定智能并能够自主运行和提供相应服务的程序。实际上,代理就是在主机上能独立完成一定检测功能的软件单元。在分布式系统的范畴中,代理是指分布式系统中的节点实体,一般用来进行信息收集和节点控制等工作。

1 移动Agent的定义

对于移动Agent的定义,不同的文献或应用系统各不相同。MA可以定义如下:移动Agent是具有移动特性的智能Agent,它可以自主地在网络上从一台主机移动到另一台主机,并代表用户完成指定的任务,如检索、过滤和收集信息,甚至可以代表用户进行商业活动。

2 移动Agent系统的组成

不同的移动Agent系统的体系结构各不相同,但几乎所有的移动Agent系统都包括如下两部分:Agent和MA环境。

MA环境(MAE)为Agent提供安全、正确的运行环境。可以实现MA的移动、执行状态的建立、启动。并可以实施MA的约束机制、容错策略、安全控制、通信机制。以及提供基本服务模块,如事件服务(event service)、黄页服务(yellow page service)、事物处理服务(transaction service)和域名服务(DNS)等。一台主机上可以有一个或多个MAE。在通常情况下,一个MAE只位于一台主机上,但当主机之间是以高速、持续、稳定可靠的网络连接时,一个MAE可以跨越多台主机而不影响整个系统的运行效率。

Agent可以分为移动Agent和服务Agent。移动Agent可以从一个MAE移动到另一个MAE,在MAE中执行,并通过通信机制与其他MA通信或访问MAE提供的服务。服务Agent不具有移动的能力,其主要功能是向本地的Agent或来访的Agent提供服务。移动Agent 的实现包括移动,通信,程序设计语言,容错,管理,协作和安全性7个部分。

2.1 移动

移动Agent包括3种状态:程序状态(program state)、数据状态(data state)和执行状态(execution stale)。程序状态指所属Agent的实现代码;数据状态包含全局变量和Agent的属性;执行状态包含局部变量值、函数参数值和线程状态等。

2.2 通信

Agent移动到目标机器后,所要完成的任务就是通信,进行数据交换。移动Agent系统可采用的通信手段很多,这里只对组通信进行说明。组通信也称为匿名通信。通信的双方并不能确认对方的身份。例如,在基于移动Agent技术的分布式信息查询应用中,一组Agent被派遣到Internet的各个信息源上执行搜索操作,在查询的过程中,为了提高搜索的并行度,某些Agent可能又派生多个子Agent组,当这些子Agent和其父Agent所在组中的Agent进行通信时,就是匿名通信。

2.3 程序设计语言

Agent通信语言(ACL,Agent Communication Language)是实现MA与MA执行环境、以及MA与MA之间通信的高级方式,是移动代理通信的基础。Agent的程序设计语言有4个基本要求,即支持移动、支持异构性、执行效率和安全性。从这几方面考虑,几乎所有的移动Agent系统都采用解释型语言。

2.4 容错

为保证移动Agent在异质环境中的正常运行,还必须考虑到服务器异常、网络故障、目标主机关机、源主机长时间无响应等异常情况的出现。MA在节点间移动和执行的过程是典型的串行过程,这种串行性使得整个过程链的容错性能等于其中最差的节点的容错性能,是典型的“灾难共享”,所以要在MA移动和执行过程的各个环节上进行故障的预测、防范和故障后的恢复。

2.5 管理

MA在发挥自主移动,自主通信等高度自主特性的同时,还应受到一定程度的管理。这种管理主要来自源主机。首先,源主机要对MA的行为负责,使其对整个系统不会产生危害;其次,源主机还要随时了解MA的当前工作情况,以避免MA的迷航或过度复制,也要随时回答MA提出的问题或协调MA的工作。目标主机协调其与本地Agent的交互等。

2.6 移动Agent的协作模型

虽然移动代理具有很强的自主性。但移动Agent在执行任务的过程中经常需要和其它实体进行协作,最常见的协作对象是MAE中的服务Agent及其它移动Agent。按照空间耦合和时态耦合的标准把当前移动Agent的协作模型分为4类:直接协作模型、基于黑板的协作模型、面向会见的协作模型和类Linda模型。

2.7 安全性

MA的移动性会带来很多不确定因素,要想使MA被广泛的接受,成功地应用于商业(如电子商务),就必须解决好MA的安全性问题。通常把移动Agent系统的安全问题分为4个部分:1)保护主机免受恶意Agent的攻击; 2)保护Agent免受恶意主机的攻击;3)保护Agent免受其他恶意Agent的攻击;4)保护低层传输网络的安全。

3 结论

移动代理是90年代以来的一项新技术,它的先进性,在分布计算领域美好的应用前景得到了许多专家的认可。移动代理的安全机制是移动代理技术中非常重要的一个环节,而恰恰是安全在移动代理技术里的实现最为复杂,也最难实现。本论文只介绍了MA的大体工作流程及其理论上的安全传输方式。其它部分如移动,通信,应用实例等方面都没有涉及。而在安全所做的工作也仅仅是在有限的理论指导下进行的,缺乏已经成型的范例作为参照。

猜你喜欢

代理协作安全性
新染料可提高电动汽车安全性
某既有隔震建筑检测与安全性鉴定
团结协作成功易
代理圣诞老人
代理手金宝 生意特别好
协作
ApplePay横空出世 安全性遭受质疑 拿什么保护你,我的苹果支付?
复仇代理乌龟君
协作
可与您并肩协作的UR3