MobileAgent
- 格式:pdf
- 大小:208.10 KB
- 文档页数:6
第27卷
V01.2 7 第6期
No.6 西南师范大学学报(自然科学版) Journal of Southwest China Normal University(Natural Science) 2002年12月
Dec. 2002
文章编号:10oo一5471(2002)06一o881—06
Mobile Agent系统位置透明通信的一种方法
唐浩坤, 李建国
西南师范大学计算机与信息科学学院,重庆400715
摘要:在Mobile Agent的应用中,Agent不是孤立地完成任务,而是需要不断地与其它Agent进行协作和信息交换、 Mobile Agent的特性使它的位置又经常变动.由于现有的Agent位置追踪方法在查寻开销,存储开销以及安全性上 存在不足,因而提出了一种Agent位置透明通信的方法,解决了Agent位置追踪问题和Agent迁移时的消息处理、 关键词:代理;移动代理;位置追踪;代理影子;消息缓冲 中图分类号:TP183 文献标识码:A
在传统的分布式计算环境中,计算实体一被创建其位置就固定下来,发送方只需按接收方的当前位置
就能始终与其通信.而在基于MSA的计算环境中,由于Agent的位置可能经常变动,因此,Agent间的通 信需考虑两个问题:一是当Agent位置改变时,其它Agent如何知道这一变化,二是当Agent迁移时,如何 处理正发送给它的消息.
对于Agent位置追踪问题的简单解决方法是:①当Agent位置改变时通知所有其它的Agent.②每个A.
gent通信前自己查询接收方的当前位置.第一种方法会增加网络负担,第二种方法增加了Agent的负担. 当然,对Agent迁移时的消息处理也可通过禁止Agent在迁移过程中的消息接收来解决.但这会引起消息
丢失,增加消息发送方重发的负担.在MSA系统中设置一消息缓存机制能较好的解决这一问题.
目前已有的Agent位置追踪方法主要有三种:第一种是树状域追踪法,它将整个计算机环境分为树状
的多个域,每个域内都有一个名字服务记录当前域内所有Agent的标识与位置之间映射关系.第二种是分 布式追踪方法,在这种方法中计算机系统通过Agent在每个迁移地址所留下的指针就可以查找到Agent的
当前位置.Agent在初创位置设置一虚拟Agent代理,消息发送者只要得到Agent的虚拟代理,就能顺着这 条前指链找到Agent的当前位置.此方法的改进模式是在创建地留下Agent代理,以后每当Agent位置发生
改变时都会通知代理其位置的变化,这样代理始终知道Agent的当前位置并可将消息转发给这个Agent.第
三种以Agent Tracer为中心的位置透明通信方法,此法以Agent Tracer为中心,以Agent影子(Agent shad.
ow)为辅助的Agent追踪方法.它将MSA系统根据需要分成若干集合,每个集合称为一个域,每个域设置
一个Agent Tracer,由它记录域内所生成的Agent标识和当前位置.Agent每次迁移后都会通知Agent Tracer
修改Agent的当前位置.同时每个Agent被创建时都为其设一个确定不变的影子(shadow),记录了所对应
Agent的标识(GUIO)及相应的Agent Tracer的地址.这样消息发送方只要得到接收方的影子,就能通过 Agent Tracer找到Agent的当前位置,实现Agent位置的透明通信. 这几种方法在查找的存储开销、定位时间、占用带宽、多点失效、网络拥塞控制,系统安全性和A.
gent生命结束后的事后处理这几项指标的某些方面存在或多或少的问题.
收稿日期:2001—11—29
作者简介:唐浩坤(1977一),男,重庆人,硕士研究生,主要从事软件Agent技术方面的研究 维普资讯 http://www.cqvip.com 882 西南师范大学学报(自然科学版) 第27卷
针对上述方法在这几个方面的不足,本文提出一种定位服务器方法进行Agent的位置追踪,它是以定
位服务器为中心,以域内追踪器为辅助的双层追踪系统.兼顾了集中管理和分散管理的优势,利用Agent
命名位上的域码标志使名字服务器通过简单的过滤就能确定Agent的当前位置,并利用名字服务器上的后 备系统,使得本方法在上述几个指标上都有不错的表现.下面我们就具体看看本系统模型各部分的结构和 功能.
1 Agent的标识结构
让我们先对本系统中所用到的独特的Agent标识结构做一个探讨(图1).
Agent 1 至 所在域的编号,最后的 个字节是为将来的应用而预 二——二 二 二= 1二二=I_=--央二__二二_=二
留的扩充位,便于满足以后的特殊需要・ 4个字节 2个字节 1个-7-节 首先我们将MSA系统中所有计算机系统根据应用需要 分成若干类,我们称之为一个域,并为每个域设一个Mobile 图1 Agent的标识示意图
Agent域内追踪器作为其生成Agent的追踪设施,在域内追 Fig.1 Sketch Map of Agent Mark
踪器之上是Agent定位服务器.其中定位服务器和域内追踪器是本系统的核心.下面将分别对这两个核心
部分的结构和功能进行讨论.
2定位服务器
Agent定位服务器是由以下4个部件组成:
1)迁移对照表 在一个Agent做了跨域迁移后,其标识中的域码编号会发生变化.其迁移到的域内追踪器就会把该A—
gent的原有标识和由名字生成器生成的新标识通知定位服务器中的迁移对照表予以记录.定位服务器收到
第一个该Agent的新标识就说明该新标识已对外公布,就可在表中删除这个Agent的新旧标识记录.在一 个Agent开始迁移到迁移后新标识公布之间发给此Agent的消息就能通过迁移对照表找到该Agent当前地
址,并将消息转发给它处理.
2)名字解析器
通过判断Agent标识中的域码编号就能确定它当前所在域,并将发给此Agent的消息送到这个域的消 息缓冲池中缓存起来或是直接送到那个域的域内消息缓冲池中.
3)缓存监督器 ・
它定期向各域询问其域内缓冲池的剩余空间,并记录这些信息.然后就发送信息给各域的消息缓冲 池,让其发送相应数目的消息给各个域内的消息缓冲池.
4)消息缓冲池
它将发往各域Agent的消息缓存起来,这样可以有效防止消息的重发.它是以队列的形式存在的,按
先进先出的方式将排在各域队首的消息先发往各域的域内缓冲池.需要注意的是当缓冲监督器发现A域 的域内空隙缓冲池大于A域现已用的消息缓冲池,则发往此域的新消息就会直接被送到A域的域内消息
缓冲池.
定位服务器是本系统的核心部分,用户在得到Agent标识后首先要查询定位服务器,了解该Agent当 前所属域,在定位服务器中这部分工作是由名字解析器完成的,它仅需通过Agent的域码编号位就能确定
此Agent的当前域名,算法简单,不易出现网络瓶颈.为防止名字服务器由于某些故障可能导致的系统崩
溃,定位服务器将采用稳定可靠的主机,并有备份的第二套系统能随时接替出现故障的定位服务器继续工 作,保证了系统的安全性(图2).
维普资讯 http://www.cqvip.com 第6期 唐浩坤,等:Mobile Agent系统位置透明通信的一种方法883
Agent标识I t 消息发送者 I
消 自 /
1 f B域的消息缓:中队列 中取出相应个消息发I=H 科 I缓冲池 厂 往B域,填补B域缓 ;池的剩余空间
B域内域Y内追踪器 l B域的域内缓冲池 I
3域内追踪器 图2定位服务器的逻辑关系和工作流程
Fig.2 Logic Relation of Orientation Server and Work Flowchart
域内追踪器也是由4个部分组成:
1)域内地址映射表
其中记录着该域内所有Agent在域内的当前地址,并可以从域内的缓冲池中取出发往域内Agent的消
息交给相应的Agent处理. 2)迁移对照表
当域内的Agent迁移到其它域时,它就会通知本域的迁移对照表记录下这个Agent的新旧地址,并从 域内的缓冲池中取出发给该Agent的消息直接转发给这个Agent的新地址.
3)域内消息缓冲池
将发给该域Agent的消息缓存起来,以便地址映射表从中提取消息给相应的Agent处理.
4)名字生成器
为每一个当前生成或迁移来的新Agent产生一个新名字.并将域名所在编号填写在此Agent的域码编 号栏. 图3示例域内追踪器的组成部分以及它的处理过程.图4是域内追踪的名字生成器的工作流程
t I 陂内消息缓冲池将收到 陡移对照表将Agent的新旧地 l的要求域内Agent处I 记下,并到域内消息缓冲池中 I l理的消息缓存其中 l I寻找发往此Agent的消息 I 迁移 量{= 巽 信息 密等磐嚣零蠢皆弩 l 落 琶_的 瞻繁 首
A取出;号 l曩 gent 阳应的 处理 l I 罾衣删
I 1 0 、‘ ’ 。”H 。IH J t t需Agent处理消息 l此Aqent的当前地址.让Aaent外理i文 消息I
图3域内追踪器工作示意图
Fig.3 Sketch Map of Track Device in Regi
on How to Work 维普资讯 http://www.cqvip.com 884 西南师范大学学报(自然科学版) 第27卷
图4域内追踪的名字生成器工作流程 Fig.4 The Work Flowchart of Track Device in Region’s Name Creater
4模拟实现
l消息发送者l tAgent标识 IMobile Agenf定位服务 I匝五蚕亟囵I
: …— === 内追踪器1l l域内追踪器2l・-・・・・匝 辜i
NAMEn NAMEn当前位置 NAME1当前位置l NAME2当前位置
图5 Agent的位置追踪示意图
Fig.5 Sketch Map of How to Track Agents’l ocation
5各种方法的比较
再通过一个模拟示例来比较一下前面所提到的几种方法的优劣:
对于一个有 个Agent的系统运用上述几种方法进行位置的透明通信时的开销. 5.1查找次数开销 1)树状域追踪法:对于一个Ⅳ+1层的结构查找次数很多,因为发送方在得到接收方标识后会从它
所属的域开始由下至上逐层查询其中的名字服务器,直至找到相应的标识为止,最坏的情况是要一直查到
根域才能找到Agent的标识,即要找到Agent的准确位置至少要查2N一1次.对于双层结构最坏的情况会 查3次. 2)分布式追踪法:查找次数与此Agent迁移的次数成正比.其改进方式只需查3次.
维普资讯 http://www.cqvip.com