1、Beijing University of Posts and Telecommunications Page 1Beijing University of Posts and Telecommunications Page 2 Beijing University of Posts and Telecommunications Page 3主要内容主要内容t 概述概述t 代理语言代理语言t 多代理系统多代理系统t 移动代理移动代理t 代理标准代理标准t 代理平台及实例代理平台及实例t 代理应用代理应用t 总结总结Beijing University of Posts and Telecomm
2、unications Page 4主要内容主要内容t 概述概述t 代理语言代理语言t 多代理系统多代理系统t 移动代理移动代理t 代理标准代理标准t 代理平台及实例代理平台及实例t 代理应用代理应用t 总结总结Beijing University of Posts and Telecommunications Page 5什么是什么是Agentt 广义的代理:人类、物理世界中的移动机器人和广义的代理:人类、物理世界中的移动机器人和信息世界中的软件机器人信息世界中的软件机器人t 狭义的代理:信息世界中的软件实体。具有一定狭义的代理:信息世界中的软件实体。具有一定程度的智能,其智能化的程度可以从简
3、单的预定程度的智能,其智能化的程度可以从简单的预定义规则到复杂的自学习人工智能推理机。义规则到复杂的自学习人工智能推理机。t 代理可代表其它实体如人、系统资源或其它程序代理可代表其它实体如人、系统资源或其它程序自主地运行,并常常是事件或时间驱动的。它可自主地运行,并常常是事件或时间驱动的。它可与用户、系统资源或其它代理进行通信以执行自与用户、系统资源或其它代理进行通信以执行自己的任务。更先进的代理可与其它代理合作承担己的任务。更先进的代理可与其它代理合作承担单个代理无法完成的任务。移动代理还可根据需单个代理无法完成的任务。移动代理还可根据需要从一个系统移到另一个系统上运行。要从一个系统移到另一
4、个系统上运行。Beijing University of Posts and Telecommunications Page 6代理及其环境代理及其环境代理可以看作是利用传感器感知环境,代理可以看作是利用传感器感知环境,并使用效应器作用于环境的任何实体。并使用效应器作用于环境的任何实体。设计智能代理的目的就是让它作用于周围环境,设计智能代理的目的就是让它作用于周围环境,Beijing University of Posts and Telecommunications Page 7代理的特点(代理的特点(1)t 代理没有统一的定义,但至少应具备以下属性:代理没有统一的定义,但至少应具备以下属性
5、:n代理性代理性(Acting on Behalf of Others)(Acting on Behalf of Others):代理具有代表:代理具有代表他人的能力,即它们都代表用户工作而不是代表自身。他人的能力,即它们都代表用户工作而不是代表自身。这是代理的第一基本特征。另外,代理可以把其它资源这是代理的第一基本特征。另外,代理可以把其它资源包装起来,引导并代替用户对这些资源进行访问,成为包装起来,引导并代替用户对这些资源进行访问,成为便于通达这些资源的枢纽和中介。(有的人已经弱化了便于通达这些资源的枢纽和中介。(有的人已经弱化了这一点)这一点)n自治性自治性(Autonomy)(Auto
6、nomy):一个智能代理应该是一个独立自主:一个智能代理应该是一个独立自主的计算实体,具有不同程度的自治能力,即部分或彻底的计算实体,具有不同程度的自治能力,即部分或彻底地不受用户干预而自行工作。它应能在无法事先建模、地不受用户干预而自行工作。它应能在无法事先建模、动态变化的信息环境中独立规划复杂的操作步骤,解决动态变化的信息环境中独立规划复杂的操作步骤,解决实际问题;在没有用户参与的情况下,独立发现和索取实际问题;在没有用户参与的情况下,独立发现和索取符合用户需求的资源与服务。符合用户需求的资源与服务。Beijing University of Posts and Telecommunica
7、tions Page 8代理的特点(代理的特点(2)n 主动性主动性 (Proactivity)(Proactivity):代理能遵循承诺采取主动行动,:代理能遵循承诺采取主动行动,表现出面向目标的行为。例如,表现出面向目标的行为。例如,InternetInternet上的代理可以上的代理可以漫游全网,为用户收集信息,并将信息主动提交给用户。漫游全网,为用户收集信息,并将信息主动提交给用户。n 反应性反应性(Reactivity)(Reactivity):代理能感知所处的环境,并对相:代理能感知所处的环境,并对相关事件做出适当反应。关事件做出适当反应。n 社会性(社会性(Social Abil
8、itySocial Ability):代理具有一定程度的社会):代理具有一定程度的社会性,即它们可以跟所代理的用户,资源以及其它代理进性,即它们可以跟所代理的用户,资源以及其它代理进行通信交流。行通信交流。n 智能性(智能性(IntelligenceIntelligence):代理具有一定层次上的智能,):代理具有一定层次上的智能,包括从预定义规则到自学习人工智能推理机等一系列的包括从预定义规则到自学习人工智能推理机等一系列的能力。例如,理解用户用自然语言表达的对信息资源和能力。例如,理解用户用自然语言表达的对信息资源和计算资源的需求;帮助用户在一定程度上克服信息内容计算资源的需求;帮助用户在
9、一定程度上克服信息内容的语言障碍;捕捉用户的偏好与兴趣;推测用户的意图的语言障碍;捕捉用户的偏好与兴趣;推测用户的意图并为其代劳。并为其代劳。Beijing University of Posts and Telecommunications Page 9代理的特点(代理的特点(3)t 代理也可能在一定程度上表现出如下属性:代理也可能在一定程度上表现出如下属性:n 合作性(合作性(CollaborationCollaboration):更高级的代理可以与其它代理分):更高级的代理可以与其它代理分工合作,共同完成单个代理无法完成的任务。工合作,共同完成单个代理无法完成的任务。n 移动性(移动性(
10、MobilityMobility):具有移动能力的代理,为完成自己的任):具有移动能力的代理,为完成自己的任务,可以从某地移动到其它地方。比如访问远程资源、与其它务,可以从某地移动到其它地方。比如访问远程资源、与其它代理代理“会面会面”并与之协作完成工作。并与之协作完成工作。 n 诚实性诚实性(veracity)(veracity):认为代理不会故意发布错误消息。:认为代理不会故意发布错误消息。n 顺从性:即代理不会违背命令,每个代理都会尽力完成用户所顺从性:即代理不会违背命令,每个代理都会尽力完成用户所要求的任务。要求的任务。n 理智性理智性(rationality)(rationality
11、):即代理仅采取有助于自身目标任务实:即代理仅采取有助于自身目标任务实现的行动现的行动, ,而不会采取妨碍自身目标任务实现的行动而不会采取妨碍自身目标任务实现的行动至至少不会盲目采取行动。少不会盲目采取行动。t 在实际系统中,代理的以上属性并不能真正全部得到保在实际系统中,代理的以上属性并不能真正全部得到保证。证。Beijing University of Posts and Telecommunications Page 10代理的特点(代理的特点(4)静态动态脚本动态对象偏好推理计划学习代理交互服务交互应用交互数据交互用户表述异步自治性自治性社会性社会性移动性移动性智能性智能性智能代理的域
12、值Beijing University of Posts and Telecommunications Page 11不同的研究学派不同的研究学派由于研究的领域和关注的重点不同,学术界对代由于研究的领域和关注的重点不同,学术界对代理的研究基本上可以划分为四个学派:理的研究基本上可以划分为四个学派:t 智能代理学派智能代理学派 来源于人工智能(来源于人工智能(AI)/分布式人工分布式人工智能(智能(DAI)领域,其主要关注的问题是如何解)领域,其主要关注的问题是如何解决那些可以天然地对应到多自治代理交互的分布决那些可以天然地对应到多自治代理交互的分布式问题。智能代理是研究的重点。式问题。智能代理
13、是研究的重点。t 用户接口学派用户接口学派 主要关注的问题是将代理应用于用主要关注的问题是将代理应用于用户接口设计。其研究目标是改变目前用户接口设户接口设计。其研究目标是改变目前用户接口设计中占统治地位的直接操纵模式,而采用主动行计中占统治地位的直接操纵模式,而采用主动行为,并采取更为协作性的辅助行为的应用来协助为,并采取更为协作性的辅助行为的应用来协助完成用户的任务。如完成用户的任务。如Office助手。助手。 Beijing University of Posts and Telecommunications Page 12不同的研究学派(续)不同的研究学派(续)t 移动代理学派移动代理学
14、派 来源于面向对象的编程模式的来源于面向对象的编程模式的发展,主要关注于移动代理,也就是说,编写发展,主要关注于移动代理,也就是说,编写那种能执行移动指令的代码,能在网络中移动那种能执行移动指令的代码,能在网络中移动程序本身和它的状态。像隐私和安全性等问题程序本身和它的状态。像隐私和安全性等问题就是这种代理现在考虑的重点。就是这种代理现在考虑的重点。 t 机器人研究学派机器人研究学派 把注意力集中在自治性的、把注意力集中在自治性的、能进行决策的机器人系统上,将其作为机器人能进行决策的机器人系统上,将其作为机器人研究的一个发展方向。研究的一个发展方向。 t 实际上,智能代理和移动代理两个研究领域
15、正实际上,智能代理和移动代理两个研究领域正在逐渐融合,智能性的移动代理正日益受到广在逐渐融合,智能性的移动代理正日益受到广泛关注。泛关注。Beijing University of Posts and Telecommunications Page 13代理与普通对象的主要区别代理与普通对象的主要区别t 相对于对象,代理是粒度更大、智能性更高,相对于对象,代理是粒度更大、智能性更高,具有一定自治性的实体。具有一定自治性的实体。t 代理的内部状态是心智状态,如知识、信念、代理的内部状态是心智状态,如知识、信念、能力、承诺、目标等。能力、承诺、目标等。t 代理之间的消息传递是基于语言动作的通信原代
16、理之间的消息传递是基于语言动作的通信原语,如通知、请求、承诺、拒绝等语,如通知、请求、承诺、拒绝等。Beijing University of Posts and Telecommunications Page 14智能代理与专家系统的主要区别智能代理与专家系统的主要区别t 代理是个性化的代理是个性化的n每个代理有不同的行为每个代理有不同的行为n整个专家系统是相同的行为整个专家系统是相同的行为t 代理是主动的,自治的代理是主动的,自治的n代理根据它们自己的目标行动代理根据它们自己的目标行动n专家系统被动地回答问题专家系统被动地回答问题t 代理是自适应的代理是自适应的n代理可以不断地学习并调整自
17、己的知识代理可以不断地学习并调整自己的知识n专家系统:一般是静态的专家系统:一般是静态的Beijing University of Posts and Telecommunications Page 15主要内容主要内容t 概述概述t 代理语言代理语言t 多代理系统多代理系统t 移动代理移动代理t 代理标准代理标准t 代理平台及实例代理平台及实例t 代理应用代理应用t 总结总结Beijing University of Posts and Telecommunications Page 16代理语言代理语言t代理编程语言代理编程语言t代理通信语言代理通信语言t代理内容语言代理内容语言Beiji
18、ng University of Posts and Telecommunications Page 17代理编程语言代理编程语言t JAVAJAVAt TCLTCL(Tool Command LanguageTool Command Language): SUN: SUN公司开发的一种公司开发的一种脚本语言,与脚本语言,与JAVAJAVA相比,它对用户更友好。相比,它对用户更友好。TCL/TKTCL/TK用用来进行快速原型开发和来进行快速原型开发和GUIGUI的开发。的开发。Safe-Safe-TclTcl 是运行是运行代理的扩展。代理的扩展。t APRIL(Agent Process In
19、ternet Language)APRIL(Agent Process Internet Language):由:由FujitsuFujitsu实验室开发。专用来建造能在实验室开发。专用来建造能在InternetInternet上运行上运行的多代理系统。在的多代理系统。在AprilApril中,代理位于中,代理位于AprilApril语言之上,语言之上,并分成若干层。并分成若干层。AprilApril提供了一个基本特征集从而允许提供了一个基本特征集从而允许创建并发进程、并发进程间的创建并发进程、并发进程间的TCP/IPTCP/IP通信、高层通信通信、高层通信原语及原语及listlist数据结构
20、等。数据结构等。t 其他编程语言其他编程语言Beijing University of Posts and Telecommunications Page 18代理通信语言代理通信语言t 代理通信语言代理通信语言ACL是实现是实现Agent与与Agent Host、Agent与与Agent间进行通信的基础,开放式间进行通信的基础,开放式Agent系统的系统的ACL应具有环境无关性、应用普应具有环境无关性、应用普遍性、简捷性、语法语义一致性等特点。遍性、简捷性、语法语义一致性等特点。n 通常独立于传输层。通常独立于传输层。n 基于语言行为理论:语言的行为通过标准的关键字来基于语言行为理论:语言的
21、行为通过标准的关键字来表达。也称为表达。也称为 “行为原语行为原语”( Performatives),例如),例如“Ask”、“Request”、“Tell”。代理的消息包括几个参。代理的消息包括几个参数,如消息的数,如消息的“Sender”、和、和“Receiver”,用于嵌入内,用于嵌入内容的容的“Language”和和“Ontology”(本体)以及实际的(本体)以及实际的“Content”(内容)。有些消息也可增加信息来记录消(内容)。有些消息也可增加信息来记录消息的息的“历史历史”。t典型的代理通信语言:典型的代理通信语言:FIPA ACL,KQMLBeijing Universit
22、y of Posts and Telecommunications Page 19语言行为语言行为t 语言行为理论的主要原理:通信语言也是一种动作,语言行为理论的主要原理:通信语言也是一种动作,发言人说话是为了使世界的状态发生改变,通常是改发言人说话是为了使世界的状态发生改变,通常是改变听众的某种心智状态。它不一定达到它的预期目的,变听众的某种心智状态。它不一定达到它的预期目的,因为每个代理对自身有控制权,不一定按发言人要求因为每个代理对自身有控制权,不一定按发言人要求的那样进行响应。的那样进行响应。t 言语行为的一种分类:言语行为的一种分类:n断言型断言型电视机是关着的电视机是关着的n指示型
23、指示型把电视机关掉把电视机关掉n承诺型承诺型我会关掉电视的我会关掉电视的n允许型允许型你可以把电视机关上你可以把电视机关上n禁止型禁止型你不能把电视机关掉你不能把电视机关掉n声明型声明型我宣布这个电视机归我所有我宣布这个电视机归我所有Beijing University of Posts and Telecommunications Page 20KQMLt 一种用于交换信息和知识的语言和协议。一种用于交换信息和知识的语言和协议。KQMLKQML既是一种消息传递格式,又是消息处理协议,既是一种消息传递格式,又是消息处理协议,它为表达消息和处理消息提供了标准的格式,它为表达消息和处理消息提供了标
24、准的格式,可用于支持代理之间的实时知识共享。可用于支持代理之间的实时知识共享。t K Q M LK Q M L 包 括 了 一 系 列 可 扩 充 的 行 为 原 语包 括 了 一 系 列 可 扩 充 的 行 为 原 语(Performative)(Performative), 行为原语定义了代理对知行为原语定义了代理对知识和目标的各种操作,在其上可以建立代理互识和目标的各种操作,在其上可以建立代理互操作的高层模型。操作的高层模型。t 一条一条KQMLKQML消息也称为一条行为原语,行为原语消息也称为一条行为原语,行为原语用用ASCIIASCII串表示串表示, ,行为用的参数由关键字标识,行为
25、用的参数由关键字标识,与顺序无关。与顺序无关。Beijing University of Posts and Telecommunications Page 21一条一条KQML消息消息t(ask-one(ask-one: sender joe: sender joe: content(PRICE IBM?price: content(PRICE IBM?price): Receiver stock-server: Receiver stock-server:language LPROLOG:language LPROLOG : ontology NYSE-TICKS) : ontology
26、NYSE-TICKS)Beijing University of Posts and Telecommunications Page 22KQML的主要行为原语的主要行为原语t 基本操作原语:基本操作原语:nTellTell、DenyDenyt 基于知识数据库的操作原语基于知识数据库的操作原语nInsertInsert、DeleteDeletet 基本响应原语基本响应原语nErrorError、SorrySorryt 基本查询原语基本查询原语nEvaluateEvaluate、ReplyReply、Ask-IfAsk-Ift 能力宣告原语能力宣告原语t 网络操作原语:网络操作原语:nregis
27、terregister, forwardforwardt 协调操作原语:协调操作原语:brokerbrokeroneoneBeijing University of Posts and Telecommunications Page 23FIPA ACL消息的主要结构要素消息的主要结构要素消消息息开开始始部部分分ACL消消息息( inform: sender agent1通通信信行行为为类类型型: receiver hp1-action-server 消消息息内内容容表表达达: content消消息息参参数数 ( price(bid good02) 150): in-reply-to roun
28、d-4 : language s1参参数数表表达达形形式式: ontology hp1-action)Beijing University of Posts and Telecommunications Page 24代理内容语言代理内容语言t用于表示嵌在代理消息内的内容。用于表示嵌在代理消息内的内容。tExamples: n KIF(Knowledge Interchange Format:知识交换格式)、知识交换格式)、SGML(标准通用标记语言):(标准通用标记语言):(AND(Block A)Block B)()(On A B)nXML(可扩展标记语言)。(可扩展标记语言)。Beiji
29、ng University of Posts and Telecommunications Page 25主要内容主要内容t 概述概述t 代理语言代理语言t 多代理系统多代理系统t 移动代理移动代理t 代理标准代理标准t 代理平台及实例代理平台及实例t 代理应用代理应用t 总结总结Beijing University of Posts and Telecommunications Page 26多代理系统多代理系统t单代理系统:系统中的代理代表用户或单代理系统:系统中的代理代表用户或进程执行任务。在执行任务时,代理可进程执行任务。在执行任务时,代理可能要与用户、本地或远端系统资源通信,能要与用
30、户、本地或远端系统资源通信,但它们不会与其它代理通信。但它们不会与其它代理通信。t多代理系统:系统中的代理之间可能会多代理系统:系统中的代理之间可能会广泛地合作以实现各自的目标。多代理广泛地合作以实现各自的目标。多代理系统中的代理还可能与系统资源和用户系统中的代理还可能与系统资源和用户交互。交互。Beijing University of Posts and Telecommunications Page 27特点特点t 多代理系统:多代理系统: 侧重于研究多个代理如何协调侧重于研究多个代理如何协调工作,以完成单个代理无法完成的任务。主要工作,以完成单个代理无法完成的任务。主要关心代理间的合作
31、,例如:为了合作解决问题,关心代理间的合作,例如:为了合作解决问题,代理间应当如何协调它们的知识、目标、技能代理间应当如何协调它们的知识、目标、技能和计划。和计划。t 与单代理系统的本质区别:支持代理间的通信。与单代理系统的本质区别:支持代理间的通信。t 根据单个代理之间的协作程度将根据单个代理之间的协作程度将MAS 分成两分成两类类n协作式多代理系统(协作式多代理系统(CMAS)n自利益多代理系统(自利益多代理系统(SMAS)Beijing University of Posts and Telecommunications Page 28协作式和自利益式多代理系统协作式和自利益式多代理系统
32、t 协作式多代理系统:代理们为扩大集体利益而协作式多代理系统:代理们为扩大集体利益而彼此之间共享资源。这种系统的设计目的只是彼此之间共享资源。这种系统的设计目的只是为整个系统性能,而不针对单个代理。为整个系统性能,而不针对单个代理。t 自利益多代理系统:每个代理的目标都是扩大自利益多代理系统:每个代理的目标都是扩大自身利益,虽然也试图与其它代理达成一致。自身利益,虽然也试图与其它代理达成一致。这些代理是代表某个用户,而不是整体的一部这些代理是代表某个用户,而不是整体的一部分进行工作。因此这样的代理被认为是自利益分进行工作。因此这样的代理被认为是自利益的,彼此之间存在竞争或无协作并有可能表示的,
33、彼此之间存在竞争或无协作并有可能表示相斥的关系。相斥的关系。Beijing University of Posts and Telecommunications Page 29MAS中代理的协调方法中代理的协调方法t 协调协调:为了保证一个整体中的各个代理以连贯:为了保证一个整体中的各个代理以连贯和协调的方式进行工作而进行的调节过程。和协调的方式进行工作而进行的调节过程。t 组织式协调组织式协调:提供一个对系统有较全面了解的:提供一个对系统有较全面了解的代理,从而能够利用一种组织或层次结构组织代理,从而能够利用一种组织或层次结构组织协调。协调。t 协调约定协调约定 协约网络协议协约网络协议:代
34、理们具有管理:代理们具有管理者和投标者的两重职能。假如一个代理无法用者和投标者的两重职能。假如一个代理无法用本地资源来解决分配给自己的某一问题时,它本地资源来解决分配给自己的某一问题时,它就把该问题分解成许多子问题,并寻找具有所就把该问题分解成许多子问题,并寻找具有所需资源的代理来解决这些子问题。子任务分配需资源的代理来解决这些子问题。子任务分配通过一个投标机制来完成通过一个投标机制来完成Beijing University of Posts and Telecommunications Page 30MAS中代理的协调方法(续)中代理的协调方法(续)t 多代理计划式协调多代理计划式协调:多代
35、理计划协调策略侧重于:多代理计划协调策略侧重于避免冲突发生避免冲突发生n集中式多代理计划:单代理将各自的计划发送集中式多代理计划:单代理将各自的计划发送给一个集中的协调者,由协调者来分析这些单给一个集中的协调者,由协调者来分析这些单个计划并找出其中潜在的冲突;个计划并找出其中潜在的冲突;n分布式技术策略:允许单个代理形成自己的计分布式技术策略:允许单个代理形成自己的计划。代理之间通过通信来建立并修改各自的计划。代理之间通过通信来建立并修改各自的计划,直至彼此间消除冲突为止。划,直至彼此间消除冲突为止。t 法规协调法规协调:通过制定法规,实现诸如空中运输控:通过制定法规,实现诸如空中运输控制或城
36、市交通领域内的职能代理之间的协调。制或城市交通领域内的职能代理之间的协调。Beijing University of Posts and Telecommunications Page 31MAS的优点(的优点(1)t 任务的分布任务的分布:一个任务可分成若干子任务并分:一个任务可分成若干子任务并分派到一系列代理上。通过知识交换、协商及控派到一系列代理上。通过知识交换、协商及控制信息的传送等,这些代理可并行地协调工作。制信息的传送等,这些代理可并行地协调工作。t 快速求解问题快速求解问题:由于代理间可以并行工作,多:由于代理间可以并行工作,多代理系统可以快速求解问题。代理系统可以快速求解问题。
37、t 增加灵活性增加灵活性:不同问题域的代理可以相互合作:不同问题域的代理可以相互合作解决一个更大的问题。解决一个更大的问题。t 增加可靠性增加可靠性:系统中若一个代理不可用,或因:系统中若一个代理不可用,或因某种原因未能完成任务时可交由其它代理完成某种原因未能完成任务时可交由其它代理完成任务,从而增加了整个系统的可靠性。任务,从而增加了整个系统的可靠性。Beijing University of Posts and Telecommunications Page 32MAS的优点(的优点(2)t 可扩展性可扩展性:当网络、业务、管理能力不足时,新的相关:当网络、业务、管理能力不足时,新的相关能
38、力可以容易地通过引入相关代理或代理子系统来完成。能力可以容易地通过引入相关代理或代理子系统来完成。t 有效协商有效协商:通过以高级代理通信语言:通过以高级代理通信语言ACLACL进行通信,多进行通信,多代理系统中的用户、业务提供者、网络提供者之间能够代理系统中的用户、业务提供者、网络提供者之间能够动态和有效地协商业务,从而在任务分派、业务花费、动态和有效地协商业务,从而在任务分派、业务花费、业务参数及业务质量等方面达成协议。业务参数及业务质量等方面达成协议。t 动态环境配置动态环境配置:当网络或业务发生变化时,代理间可以:当网络或业务发生变化时,代理间可以通过知识交换来互相通知相关信息。通过知
39、识交换来互相通知相关信息。t 易于与传统软件集成易于与传统软件集成:ACLACL语言具有高级异步通信特点,语言具有高级异步通信特点,它灵活地定义了组件交互的方法,易于与传统软件集成。它灵活地定义了组件交互的方法,易于与传统软件集成。t 个人化个人化: 个人代理可根据用户的需求调整自身以向用个人代理可根据用户的需求调整自身以向用户传送合适的业务户传送合适的业务。在管理业务的提供及使用中也可采在管理业务的提供及使用中也可采用同样的思想。用同样的思想。Beijing University of Posts and Telecommunications Page 33主要内容主要内容t 概述概述t 代
40、理语言代理语言t 多代理系统多代理系统t 移动代理移动代理t 代理标准代理标准t 代理平台及实例代理平台及实例t 代理应用代理应用t 总结总结Beijing University of Posts and Telecommunications Page 34移动代理简介移动代理简介t 移动代理:移动代理: 一个能在异构网络中自主地从一一个能在异构网络中自主地从一台主机迁移到另一台主机并与其它代理或资源台主机迁移到另一台主机并与其它代理或资源交互的程序。交互的程序。t 移动代理迁移的内容移动代理迁移的内容 代码运行状态。代码运行状态。n运行状态运行状态 执行状态和数据状态。执行状态和数据状态。n
41、执行状态执行状态 移动代理当前运行时状态如程序计数移动代理当前运行时状态如程序计数器,运行栈内容等。器,运行栈内容等。n数据状态数据状态 与移动代理运行有关的数据堆的内容。与移动代理运行有关的数据堆的内容。t移动代理机制的特点:客户代理能够迁移到移动代理机制的特点:客户代理能够迁移到业务代理所在服务器上,与之进行本地高速业务代理所在服务器上,与之进行本地高速通信。因而不再占用网络资源通信。因而不再占用网络资源。Beijing University of Posts and Telecommunications Page 35 移动代理的环境移动代理的环境MAEtMAEMAE(Mobile Ag
42、ent Environment)Mobile Agent Environment)定义:定义:移动代理环境是分布于异构计算机网络移动代理环境是分布于异构计算机网络上的软件系统,其主要任务是提供移动上的软件系统,其主要任务是提供移动代理的执行环境。该环境实现了移动代代理的执行环境。该环境实现了移动代理定义中的大部分模型。除此之外,还理定义中的大部分模型。除此之外,还提供了与自身相关的支持服务、与自身提供了与自身相关的支持服务、与自身的建造环境相关的支持服务、访问其它的建造环境相关的支持服务、访问其它移动代理的支持服务以及访问非代理软移动代理的支持服务以及访问非代理软件环境的开放性支持。件环境的开
43、放性支持。Beijing University of Posts and Telecommunications Page 36移动代理系统概貌移动代理系统概貌Beijing University of Posts and Telecommunications Page 37使代理的管理者能够监控和管理其代理。支持远端执行及代理迁移提供创建代理的能力并满足代理对运行环境的需求MAE的内部结构的内部结构移动代理及代理系统在整个代理环境范围内必须是可唯一标识的支持代理之间的通信及代理与代理系统服务之间的通信。保证代理及代理系统的私有性及完整性Beijing University of Posts a
44、nd Telecommunications Page 38 移动代理实现移动的方式移动代理实现移动的方式t远端执行远端执行:代理:代理( (程序代码程序代码+ +数据数据) )被传送到被传送到远端系统,在远端系统中作为一个整体被激远端系统,在远端系统中作为一个整体被激活和运行。任务完成后,代理可以自行销毁活和运行。任务完成后,代理可以自行销毁或贮留在服务器上,转入睡眠状态,以备以或贮留在服务器上,转入睡眠状态,以备以后某一时刻被激活。后某一时刻被激活。Beijing University of Posts and Telecommunications Page 39代理迁移代理迁移t 代理迁移
45、代理迁移:代理迁移可被看作是远端执行方式的一种:代理迁移可被看作是远端执行方式的一种扩展。代理不仅具有代码和数据,还有执行状态。它扩展。代理不仅具有代码和数据,还有执行状态。它能在某一网络节点上暂时挂起自身的执行,迁移到另能在某一网络节点上暂时挂起自身的执行,迁移到另一节点后,从挂起前的状态起继续执行一节点后,从挂起前的状态起继续执行( (一个任务可能一个任务可能是经过多个网络节点后完成的是经过多个网络节点后完成的) )。Beijing University of Posts and Telecommunications Page 40 移动代理技术的优点移动代理技术的优点t 高效性高效性:移
46、动代理把计算移至数据区,而不是把数据:移动代理把计算移至数据区,而不是把数据移至计算区,因此减少了对网络资源的消耗,提高了移至计算区,因此减少了对网络资源的消耗,提高了效率。效率。t 减轻网络负担减轻网络负担:利用移动代理,用户可以将信息打包:利用移动代理,用户可以将信息打包后发送至目的地,在目的地进行本地交互,从而不再后发送至目的地,在目的地进行本地交互,从而不再使用网络频繁进行远程交互。使用网络频繁进行远程交互。t 异步式自主交互异步式自主交互:系统把任务加载到移动代理中发送:系统把任务加载到移动代理中发送出去后,移动代理独立于发送程序异步操作。出去后,移动代理独立于发送程序异步操作。t
47、与实时实体交互与实时实体交互:对:对ATMATM交换机、核装置安全系统进行交换机、核装置安全系统进行控制的软件需对环境的改变作出立即响应。跨越大型控制的软件需对环境的改变作出立即响应。跨越大型网络来控制这类实体将会产生较长的响应时间。如果网络来控制这类实体将会产生较长的响应时间。如果从中央系统发送移动代理到本地来控制这些实时系统从中央系统发送移动代理到本地来控制这些实时系统将会大大减少响应时间。将会大大减少响应时间。Beijing University of Posts and Telecommunications Page 41移动代理技术的优点(续)移动代理技术的优点(续)t 动态适应性动
48、态适应性:如前所述,移动代理具有自动响应环境:如前所述,移动代理具有自动响应环境变化的能力。这一功能的前提是移动代理环境必须与变化的能力。这一功能的前提是移动代理环境必须与移动代理交流环境的变化。移动代理交流环境的变化。t 处理大量数据的能力处理大量数据的能力:需要对大量存贮在远端的数据:需要对大量存贮在远端的数据进行处理时,包含了处理程序的移动代理可以移至数进行处理时,包含了处理程序的移动代理可以移至数据存储地进行本地处理。据存储地进行本地处理。t 支持异构环境支持异构环境:移动代理系统所处的计算机和网络具:移动代理系统所处的计算机和网络具有异构性。由于移动代理系统独立于计算机和网络的有异构
49、性。由于移动代理系统独立于计算机和网络的特性,它支持透明操作。特性,它支持透明操作。t 服务器行为个人化服务器行为个人化:在智能网络领域内,代理技术被:在智能网络领域内,代理技术被认为是一种网络实体(如路由器)行为个人化的有效认为是一种网络实体(如路由器)行为个人化的有效途径。途径。t 方便的开发模式方便的开发模式:移动代理具有分布的本质,它的使:移动代理具有分布的本质,它的使用可以使分布式系统的设计与构造变得相对容易。用可以使分布式系统的设计与构造变得相对容易。Beijing University of Posts and Telecommunications Page 42分布对象计算和分
50、布对象计算和MA技术的集成例技术的集成例Beijing University of Posts and Telecommunications Page 43 移动代理的安全性移动代理的安全性t 两类不安全因素两类不安全因素n移动代理非法操作主机移动代理非法操作主机n主机或其它移动代理非法操作移动代理主机或其它移动代理非法操作移动代理Beijing University of Posts and Telecommunications Page 44移动代理技术尚待解决的问题移动代理技术尚待解决的问题t代理的安全性有待提高代理的安全性有待提高t移动代理的执行效率有待提高移动代理的执行效率有待提高t