移动Agent.ppt_第1页
移动Agent.ppt_第2页
移动Agent.ppt_第3页
移动Agent.ppt_第4页
移动Agent.ppt_第5页
免费预览已结束,剩余42页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

移动 agent,ma,随着internet应用的逐步深入,特别是信息搜索、分布式计算以及电子商务的蓬勃发展,人们越来越希望在整个internet范围内获得最佳的信息,渴望将整个网络虚拟成为一个整体,使软件代理(agent)能够在整个网络中自由移动,移动代理(ma)的概念随即孕育而生。,ma,ma的定义,ma ma的最初构想:将整个网络虚拟成为一个整体,让移动agent在internet上自主移动并执行,来完成用户指定的任务。 简单的说,ma是一个能够在运行过程中自主地从一台主机迁移到另一台主机,并可与其它agent和资源交互的程序 移动的目的是使程序的执行尽可能的靠近数据源,降低网络的通信开销,平衡负载,提高完成任务的时效。,ma,ma的特点,传统的分布式计算主要采用远程过程调用、c/s 结构等计算模型,它要求所有参与计算的节点在进行交互时,都必须同时在网络中存在,如果某些需要的资源暂时无法访问到, 则整个计算过程将失败;另一方面, 分布式系统通常过多地依赖于网络通信协议, 这些协议在完成任务的过程中需要进行多次交互, 从而很容易导致网络拥塞。 移动agent是一种特殊的agent,它除了具有agent的基本属性以外,移动性是其最重要的特点,它可以从一台机器通过网络移动到另外一台机器运行,并根据需要克隆或生成子agent,子agent具有同父agent相同的性质。,ma的特点,ma的特点,移动性 这是它和agent的区别所在。 ma的移动一般是在不同主机上持续移动,由于ma会在运行状态下挂起、移动,然后继续执行,因此移动的对象除了agent外,还必须有agent的当前运行状态信息和相应的数据。,ma的特点,自主性 ma能在没有人或其他agent直接干涉和指导的情况下持续运行,并能控制其内部状态和动作。 agent的移动一般是由agent自主决定进行的。,ma的特点,协作性 若干个ma可以在网络中相互通信合作,共同协作完成某一任务。 例如, 一个用户的agent可以从具有相同兴趣需求的agent那里获得很多有用的信息。,ma的特点,智能性 指agent具有一定的自适应能力,可对环境的变化做出适当的反应,并且具有一定的智力,因为它有一定的智能算法。 ma技术的重要特性之一是它对网络环境的适应能力,如它可以减少网络负载和支持间断计算。,ma,ma的工作原理ma体系结构,ma的体系结构 ma 系统由ma和ma服务器两部分组成。 ma服务器基于ma传输协议atp实现在主机间的转移, 并为其分配执行环境和服务接口。ma在服务器中执行, 通过ma 通信语言acl 互相通信并访问服务器提供的服务。,ma的工作原理ma体系结构,ma的体系结构,ma的工作原理检索模型,基于ma信息检索系统的模型 此模型是根据分布式检索信息系统的要求和移动agent的特点所提出,采用移动agent取代c/s方式的远程数据查询,降低了对网络的依赖性, 同时具有资源的自动注册和发现功能, 使系统更加灵活且易于扩充。,ma的工作原理检索模型,用户管理agent,注册查询agent,查询agent,用户,查询服务agent,注册服务agent,服务管理agent,注册agent,服务agent,dock管理agent,监控agent,提出查询要求,根据要求创建,生成路由表,客户端,注册服务器ar,agent dock 服务器(ad),数据服务器ds,启动时创建,查询ar,获取url地址列表,提供目录服务,保存了所有信息源的地址和信息种类。,根据查询agent要求在本地数据库中查询,本地url及信息资源种类,资源注册,交互,移动agent提供了暂存功能,ma,ma的关键技术,mae是ma系统实现的关键,它利用agent传输协议 实现agent在主机间的迁移,并为其分配执行环境和服务接口。它还要实现容错策略、安全控制策略、通信机制、基本服务设施等功能。,ma的关键技术,ma的迁移技术,ma的迁移技术,迁移策略 ma的迁移策略是指在动态变化的网络环境下,如何规划ma的迁移路线,使之更快更好地完成任务,迁移策略的优劣直接影响ma的性能。,ma的迁移技术,迁移策略 静态路由策略 ma创建者在mae中事先给出目标主机和访问控制列表。 动态路由策略 ma根据网络动态变化情况和任务完成情况来选择目标主机。,ma的迁移技术,在执行分步式计算任务时, ma一般要根据网络的当前状况动态确定迁移路线, 即采取动态路由策略。在搜索开始时计算的最佳路由, 在搜索过程中可能会因为环境条件而发生变化, 因为各个站点的网络延时不同, 随着时间和网络流量的变化而变化。,ma的迁移技术,建立初始检索种群 设网络中的站点为 v=(m1,m2,m3,mn),e=(mi-mj) ( 1mj) ( 1=i,j=n)是从一个主机到另一个主机所需的时间,移动 agent 在站点之间移动,来完成某项任务,agent 在移动的过程中记录站点被访问的次数 count,以及信息的使用率 在初始化种群的时候,根据用户agent 记录的每个站点的检索频率进行构建, 这样就提高了查找所需信息的效率。,ma的迁移技术,具体做法如下: 用户 agent 在信息检索之前,对创建的 agent 进行状态, 知识库,约束条件,以及对信息使用率的规则等进行初始化。在检索过程中它一方面将用户兴趣模型, 分类信息库等写入知识库中 另一方面可以记录站点的检索次数,以及根据信息使用率的规则记录站点信息的使用率 l(0=l=1)。,ma的迁移技术,根据用户 agent 记录的站点搜索次数count以及信息的使用率l,计算网站的利用率 p。 if l is 高 or c is 多 then v is 使用率高(p) 根据 p 的大小建立初始种群,如果 p 的值相同,则根据个体的适应度高低来选择。,ma的迁移技术,动态路由规划 定义一个访问路径 itinerary 的描述类,里面封装用于动态路径规划的方法:,public class itinerary implements java.io.serializable private touringmap map; tasksemantic get_tasksemantic( ) ; / / 获得任务语义 netts get_ netts( ) ; / / 获得网络传输资源状况 hosts g et_ hosts( ) ; / / 获得主机资源状况 touringex perience get _ touringex perience( ) ; / / 归纳已往的旅行经验 / /下面的方法根据获得的任务语义、 网络传输资源状况、 主机资源状况、 旅行经验(理想情况下应包括这几方面参数) 规划路径: public abstract string getnexthost ( tasksemantic tasksemantic, netts netts, hosts hosts, touringexperience touringexperience) ; public abstract int initialize( ) ; / /参数省略 / / access metho ds ,ma的迁移技术,迁移路径算法说明 一般情况下, 为了高效完成用户给定的任务, 移动agent 分成多个子agent 迁移到其它节点上执行, 这样,各个子 agent 形成一定的前驱关系。但是由于网络的延迟性、不可靠性以及缺乏足够的安全性, 网络经常发生通信故障, 这就需要移动 agent 根据网络条件动态予以调整。,ma的迁移技术,迁移路径算法说明 如果一个客户 agent 需要查询一个数据库,而这个数据库需要另外一个数据库中的数据, 则客户 a gent 可以动态地分成几个子agent。其中一个子agent 先迁移到第二个数据库中执行查询,得到查询结果,再携带结果迁移到第一个数据库中继续执行第一个查询。如果还需要第三个数据库,子a gent 还可以继续迁移。,怎样寻找移动 agent 的最佳迁移路径?,ma的迁移技术,s,za,xa,ba,ya,bc,bb,za,ma需访问的节点为m= a, b, c ma访问顺序为: a- c- b- a ma可迁移的节点为n= x, b, y, z,假设这里最短的迁移路径是:,s- ya- bc- bb- za,(1)由于图中的有向图是分层的, 因此, 从 n-1 层计算其中 1个节点与结束节点的最短路径; 计算完后, 标记为已访问过。如果 agent 可以与 2个以上的节点进行交互, 则执行过程(3)。 ( 2)上移一层,重复( 1) , 直到开始节点为止( 对于 n 集合则为空)。 ( 3)采用复制方法即复制一个移动 agent ,表示为 agent * , 使得 agent* 能与其它节点交互。图1中,当移动agent 迁移到 b 节点时,既可以与 c 节点交互又可以与b 节点交互,这时可以克隆一个 agent*, 使它与 b 节点交互。,ma的通信机制,通信机制 由于信息的交流是多级别、多层次的,因此,ma系统也应该能够支持ma展开不同层次的通信,大致可以体现为两个层次: 基于知识交换的高层通信机制,如agent通信语言acl 基于基本通信方式的低层通信机制,如mp、rpc、rml,ma的通信机制,高层通信机制 acl是实现ma与mae以及ma与ma之问的高层通信方式。 目前常用的acl有kqml/kif和fipa acl。,ma的通信机制,ma的安全性,ma系统的安全问题涉及四个方面: ma之间通信的安全保护; mae(主机)的安全保护; ma自身的安全保护; 网络的安全保护。,ma的安全性,ma之间通信的安全保护 ma通信的安全问题主要包括为ma双方提供可靠的通讯认证,保证信息不被窃取、修改、重发,杜绝不安全的委派等,常用的方法是在底层用加密、认证技术建立一条安全通道,一切通信信息都在安全通道中进行。,ma的安全性,mae(主机)的安全保护 a存在许多潜在的表现形式,如trojan木马、计算机病毒、网络蠕虫。恶意的或有错误ma很容易利用主机的缺陷和不足对主机进行破坏。,ma的安全性,目前可采用的技术 认证 用来提供对ma创建者身份进行认证,判断其是否来自于可信的一方。 授权、访问控制 是一种加强授权的方法,它根据授权的信息对ma进行实时监控,判断其是否有越权的操作。 砂箱模型 限制ma的访问权限,使之好像运行在一个特定的箱子里,ma的安全性,目前可采用的技术 代码检验 要用于检查ma的代码,看它是否会执行某些非法指令。 有偿服务 有效地抵御拒绝服务攻击,避免资源不合理的占有和交易。 限制技术 制技术包括时间限制、空间限制、复制限制,它对控制具有持久性功能的ma行为很有效。,ma的安全性,ma自身的安全保护 ma的安全保护主要有两方面:迁移中ma的安全保护和运行中ma的安全保护。 解决方案 基于检测的保护措施 基于预防的保护措施 网络的安全保护,ma的容错性,在ma系统中有两个主要的故障环节 站点故障 通信故障 容错机制的目标就是要针对这些潜在的、不可避免的威胁,在ma迁移和执行的各个环节上进行异常的检测、防范和异常后的恢复。 非阻塞性 “只执行一次”,ma的容错性,ma的管理,ma商业成功应用的重要因素之一就是能够对其进行有效地跟踪和管理,这意味着ma在具有高度自主性的同时,还需一定程度的约束。这种管理可以来自于源主机,也可以来自于目标主机,支持的操作包括:源主机可以随时了解ma的运行情况,跟踪ma当前的位置,协调ma的工作,同时视具体情况延迟、重启或中止ma的执行。目标主机也要对外来ma进行管理,避免其过渡使用本地资源、协调其在本地的执行,协助其下一步的迁移等等。,ma的管理,孤儿检测 当ma执行完任务或其有效期期满之后,ma必须被删除,否则,这些孤儿ma会浪费大量的网络资源(如带宽)和系统资源(如cpu、内存)。,ma的标准化工作,各大公司、研究机构相继都推出了属于自己的商业化或实验性的ma系统平台,它们在体系结构和系统实现上的较大差异严重阻碍了ma系统的互操作和ma技术的进一步发展,在这种背景之下,为了保持各个平台的特色以及开发人员研发的独立性,很多公司向omgg提交了有关ma的规范建议书,其中,比较有影响的是由open group、ibm general magic、gmd fokus等多家组织和公司于98年3月共同商讨制定的“ma系统互操作草案”,其对以下几个方面进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论