关键词:Agent
Agent技术在90年代成为热门话题,甚至被一些文献称为软件领域下一个意义深远的突
破,其重要原因之一在于,该技术在基于网络的分布计算这一当今计算机主流技术领域中,正
发挥着越来越重要的作用。一方面,Agent技术为解决新的分布式应用问题提供了有效途径
;另一方面,Agent技术为全面准确地研究分布计算系统的特点提供了合理的概念模型。
一、问题
目前,常规的分布计算技术是基于经典的客户/服务器计算模型的,即将分布式应用分
解为客户和服务器两大部分,服务器只有在接到客户的请求后方能提供服务。这些技术是在
共享分布资源的应用背景下形成的,在解决新的分布式应用方面存在诸多局限性。从以下几
个目前人们较为关心的分布式应用需求中,我们不难发现问题所在。
1. 从"人找信息"到"信息找人"
目前绝大多数的Internet应用是建立在客户/服务器计算模型基础上的,这就使得通过
Internet进行信息分布和查找的应用不可避免地存在以下问题:一方面,信息提供者不能适
时地将信息主动提供给最需要的用户;另一方面,信息使用者不知道到哪里能够找到急需的
信息。越来越多的人开始为Internet上形形色色的庞杂信息所累,"逛"Internet的感觉真有
点象逛商业街的感觉:疲劳、茫然;需要的东西不知道在何处寻找,不需要的东西却强烈地冲
击人们的视野。盲目被动的搜寻导致网上流动的有效信息占有率大大降低,使已经十分紧俏
的网络带宽被浪费。人们希望服务器能够根据客户的需求主动提供信息,实现"信息找人"。
然而,常规的分布计算技术却难以胜任,原因之一就是经典的客户/服务器计算技术不支持主
动服务机制。
2. 并行工程
尽管现代企业在其产品设计制造过程的诸多环节上,卓有成效地采用了各种计算机辅
助工具,但各环节之间仍存在着数据共享和部门协同的沟痕,影响了产品设计制造的整体进
度和质量。为此,人们提出了并行工程(CE)的概念,其核心思想就是以分布式的企业计算环
境为基础设施,实现产品设计制造全过程以及相关资源的优化组合,使各部门最大限度地协
同工作,减少中间环节对产品设计制造的进度和质量的影响。然而,常规的分布计算技术同
样难以胜任此类协同工作的应用。因为经典的客户/服务器计算技术不支持服务器对客户的
直接控制,也不支持客户应用之间直接的群体感知。
3. 分布式交互仿真
仿真器早已在教育、训练、制造和娱乐等诸多领域的应用中显示出其重要的价值。但
是单一仿真器的应用局限性很大,例如孤立的军用仿真器,不能适应现代战争环境对武器系
统综合效能分析的需要,或对战斗人员进行接近战场环境训练的要求。为了更好地发挥现有
仿真器的作用,减少训练费用,美国国防部支持了称为分布式交互仿真(DIS)的研究,其初衷
是将各类仿真器和计算机通过网络连接起来,在此基础上建立虚拟的战场环境,以提高仿真
训练的实效性。显然,常规的分布计算技术更难以胜任此类应用。因为,DIS中的行为实体是
不能简单地用"客户"和"服务器"两类角色来刻划的。
概括地讲,常规的分布计算技术的局限源于经典的客户/服务器计算模型的局限,即:
将分布式应用中的自主行为实体简单地划分为"客户"和"服务器"两类;客户与服务器
之间的交互关系仅限于客户主动请求/服务器被动响应的非对等关系。
二、应用
Agent的概念和技术出现在分布式应用系统的开发之中,并表现出明显的实效性。以下
列举几项人们在分布式应用方面所从事的涉及Agent的研究和开发工作,从中我们可以初步
体会到Agent概念和技术的意义。
1. 利用Agent技术改善Internet应用
例如,研制"信息找人"的Agent。它具有"需求"与"服务"的集散能力,它接受信息分布
者有关信息要点的注册,以及信息查询者有关信息需求要点的注册。该Agent根据这些信息
,主动通知用户谁能够提供其所需信息,或主动通知信息提供者谁目前需要其所能提供的信
息。
2. 利用Agent技术实现并行工程的思想
例如,利用Agent技术开发工作流管理者。它能够向各工作站下达工作流程和进度计划
,主动引导各工作站按照工作流程和进度计划推进工作,受理并评价各工作站工作进展情况
的报告,以及集中管理各类数据等等。
3. 利用Agent技术开发分布式交互仿真环境
例如,将飞行训练仿真器与计算机网络上的若干工作站连接起来,在工作站上实现多个
模拟飞机的Agent,与仿真器构成可交互的空战仿真环境。受训人员操作这种置于交互仿真
环境中的仿真器,不仅能够体验各种操纵飞机的技能,而且能够通过与智能化的自主模拟战
机的交互,实践各种空战战术行为(单一飞行训练仿真器能支持前者,但不能支持后者)。
实际上,Agent的概念并非是今天才出现在分布计算领域的,它在分布式系统自身的管
理中早已被使用了。例如,在80年代形成的基于TCP/IP的互联网络管理技术SNMP中就采用了
manager/agent模型。在该模型中,agent是运行在被管理单元上的自主行为实体,它能够对
被管理单元上的相关事件作出反应、响应manager发来的管理命令等等。然而直到今天,Ag
ent的概念和技术在分布计算领域才引起人们的重视,因为它在解决当今分布式应用面临的
普遍问题上产生了实际效果。
三、概念
在分布计算领域,人们通常把在分布式系统中持续自主发挥作用的、具有以下特征的
活着的计算实体称为Agent。
1. 自主性
Agent具有属于其自身的计算资源和局部于自身的行为控制机制,能够在没有外界直接
操纵的情况下,根据其内部状态和感知到的环境信息,决定和控制自身的行为。例如,SNMP中
的agent就是独立运行在被管理单元上的自主进程。
破,其重要原因之一在于,该技术在基于网络的分布计算这一当今计算机主流技术领域中,正
发挥着越来越重要的作用。一方面,Agent技术为解决新的分布式应用问题提供了有效途径
;另一方面,Agent技术为全面准确地研究分布计算系统的特点提供了合理的概念模型。
一、问题
目前,常规的分布计算技术是基于经典的客户/服务器计算模型的,即将分布式应用分
解为客户和服务器两大部分,服务器只有在接到客户的请求后方能提供服务。这些技术是在
共享分布资源的应用背景下形成的,在解决新的分布式应用方面存在诸多局限性。从以下几
个目前人们较为关心的分布式应用需求中,我们不难发现问题所在。
1. 从"人找信息"到"信息找人"
目前绝大多数的Internet应用是建立在客户/服务器计算模型基础上的,这就使得通过
Internet进行信息分布和查找的应用不可避免地存在以下问题:一方面,信息提供者不能适
时地将信息主动提供给最需要的用户;另一方面,信息使用者不知道到哪里能够找到急需的
信息。越来越多的人开始为Internet上形形色色的庞杂信息所累,"逛"Internet的感觉真有
点象逛商业街的感觉:疲劳、茫然;需要的东西不知道在何处寻找,不需要的东西却强烈地冲
击人们的视野。盲目被动的搜寻导致网上流动的有效信息占有率大大降低,使已经十分紧俏
的网络带宽被浪费。人们希望服务器能够根据客户的需求主动提供信息,实现"信息找人"。
然而,常规的分布计算技术却难以胜任,原因之一就是经典的客户/服务器计算技术不支持主
动服务机制。
2. 并行工程
尽管现代企业在其产品设计制造过程的诸多环节上,卓有成效地采用了各种计算机辅
助工具,但各环节之间仍存在着数据共享和部门协同的沟痕,影响了产品设计制造的整体进
度和质量。为此,人们提出了并行工程(CE)的概念,其核心思想就是以分布式的企业计算环
境为基础设施,实现产品设计制造全过程以及相关资源的优化组合,使各部门最大限度地协
同工作,减少中间环节对产品设计制造的进度和质量的影响。然而,常规的分布计算技术同
样难以胜任此类协同工作的应用。因为经典的客户/服务器计算技术不支持服务器对客户的
直接控制,也不支持客户应用之间直接的群体感知。
3. 分布式交互仿真
仿真器早已在教育、训练、制造和娱乐等诸多领域的应用中显示出其重要的价值。但
是单一仿真器的应用局限性很大,例如孤立的军用仿真器,不能适应现代战争环境对武器系
统综合效能分析的需要,或对战斗人员进行接近战场环境训练的要求。为了更好地发挥现有
仿真器的作用,减少训练费用,美国国防部支持了称为分布式交互仿真(DIS)的研究,其初衷
是将各类仿真器和计算机通过网络连接起来,在此基础上建立虚拟的战场环境,以提高仿真
训练的实效性。显然,常规的分布计算技术更难以胜任此类应用。因为,DIS中的行为实体是
不能简单地用"客户"和"服务器"两类角色来刻划的。
概括地讲,常规的分布计算技术的局限源于经典的客户/服务器计算模型的局限,即:
将分布式应用中的自主行为实体简单地划分为"客户"和"服务器"两类;客户与服务器
之间的交互关系仅限于客户主动请求/服务器被动响应的非对等关系。
二、应用
Agent的概念和技术出现在分布式应用系统的开发之中,并表现出明显的实效性。以下
列举几项人们在分布式应用方面所从事的涉及Agent的研究和开发工作,从中我们可以初步
体会到Agent概念和技术的意义。
1. 利用Agent技术改善Internet应用
例如,研制"信息找人"的Agent。它具有"需求"与"服务"的集散能力,它接受信息分布
者有关信息要点的注册,以及信息查询者有关信息需求要点的注册。该Agent根据这些信息
,主动通知用户谁能够提供其所需信息,或主动通知信息提供者谁目前需要其所能提供的信
息。
2. 利用Agent技术实现并行工程的思想
例如,利用Agent技术开发工作流管理者。它能够向各工作站下达工作流程和进度计划
,主动引导各工作站按照工作流程和进度计划推进工作,受理并评价各工作站工作进展情况
的报告,以及集中管理各类数据等等。
3. 利用Agent技术开发分布式交互仿真环境
例如,将飞行训练仿真器与计算机网络上的若干工作站连接起来,在工作站上实现多个
模拟飞机的Agent,与仿真器构成可交互的空战仿真环境。受训人员操作这种置于交互仿真
环境中的仿真器,不仅能够体验各种操纵飞机的技能,而且能够通过与智能化的自主模拟战
机的交互,实践各种空战战术行为(单一飞行训练仿真器能支持前者,但不能支持后者)。
实际上,Agent的概念并非是今天才出现在分布计算领域的,它在分布式系统自身的管
理中早已被使用了。例如,在80年代形成的基于TCP/IP的互联网络管理技术SNMP中就采用了
manager/agent模型。在该模型中,agent是运行在被管理单元上的自主行为实体,它能够对
被管理单元上的相关事件作出反应、响应manager发来的管理命令等等。然而直到今天,Ag
ent的概念和技术在分布计算领域才引起人们的重视,因为它在解决当今分布式应用面临的
普遍问题上产生了实际效果。
三、概念
在分布计算领域,人们通常把在分布式系统中持续自主发挥作用的、具有以下特征的
活着的计算实体称为Agent。
1. 自主性
Agent具有属于其自身的计算资源和局部于自身的行为控制机制,能够在没有外界直接
操纵的情况下,根据其内部状态和感知到的环境信息,决定和控制自身的行为。例如,SNMP中
的agent就是独立运行在被管理单元上的自主进程。