基于Sama协议的移动Agent组通信机制

来源 :上海海事大学学报 | 被引量 : 0次 | 上传用户:xuefu2008
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:为提升通信性能,提出1种基于Sama协议的消息传递机制,它能够在异构网络中与移动Agent组进行高速有效的通信.该机制利用信息发送对象(Message Dispatcher Object, MDO)同步发送信息,独立于移动Agent的物理位置,能够透明地发送信息给所有移动Agent,并且能够对主机故障进行处理,确保系统正常运行.
  关键词:移动Agent;通信机制;可靠通信
  中图分类号:TP309;TP311;TP393 文献标志码:A
  
  Mobile Agent group communication mechanism
  based on Sama protocol
  XIONG Hua, LIU Guangzhong
  (Information Engnieering College, Shanghai Maritime Univ., Shanghai 200135, China)
  Abstract: In order to improve communication performance, a message propagation mechanism which conducts mobile Agent group communication efficiently in heterogeneous network is proposed based on Sama protocol. It uses Message Dispatcher Object (MDO) to propagate messages concurrently, and is independent of Agent locations. It can propagate messages transparently, deal with host failures, and guarantee the system function well.
  Key words: mobile Agent; message propagation; reliable communication
  
  0 引 言
  
  Sama协议的主要贡献在于其支持高效率信息传送的分布性和同步性,有助于提高信息传递速率和稳定性.Sama使用信息发送对象(MDO)作为静态代理出现在每个主机上,能够同步发送信息.[1]虽然Sama协议给出移动Agent多播消息通信的方法,但没有就消息的次序性问题和组管理机制给出说明.因而,Sama协议没有提供1种可行的移动Agent通信的解决方法.[2]本文就该协议做出一些改进,制定1种新的组通信机制,加快异构网络中的组群中的信息传送,实现Agent地址的独立性和信息发送的透明化.[1]1 主要组件
  MDO是该机制的主要组件,负责Agent成员管理和信息发送.在每个主机中都有1个MDO,作为Agent服务器的一部分运行在主机上.在实现过程中,每个MDO作为1个对象作用于服务器中.在机制开始工作前,系统管理员需要生成MDO,每个MDO有如下参数:
  (1)MDO 列表.MDO需要了解所有MDO及其在网络中的位置,将这些信息存放在列表中.由于信息量被最小化,只包含2个数字,1个是MDO标示符,另外1个是IP地址.每个MDO的位置等同于列表中的值,故可以使用一维数组数据结构形成列表.
  (2)信息存储队列.每个MDO都有1个信息队列,用于缓存收到的信息.
  (3)本地组成员列表.此列表显示该MDO包含的本地成员Agent, MDO接收到信息之后就通过此列表转发给Agent.
  (4)最长信息转移时间(MMTT).MMTT是在主机间的最长信息转移时间,通过2台主机间传输报文需要的时间计算出MMTT,使用值的上界,这样更合理.
  (5)最长Agent转移时间(MAMT).MAMT是Agent从一台主机转移到另一台主机所需的时间,也使用上界.
  
  MDO也提供移动Agent加入、离开、注册和注销的管理,当Agent想离开一台主机到另一台主机时,会使用MDO的注册和注销的方法:在迁移前,1个Agent会从本地组成员列表中注销自己,然后再迁移到目的地;到目的地后,Agent首先进行注册,并且从出发点的MDO接受自己在迁移时无法收到的消息.[4]图1是该系统的1个例子[1],包含8台主机,Agent服务器运行在这些主机上,每台主机上都有1个MDO对象,在主机0,1,3,4,5上有移动Agent,而在2,7上没有Agent.当然,Agent也可以迁移到这些主机上,这些主机通过互联网进行连接.
  
  2 信息传输机制
  
  当1个移动Agent想发送1条信息给其他组时,不需要直接发送信息给成员,而是将信息发送给本地的MDO,然后信息开始传播.这个过程分2阶段:第1阶段是本地MDO把消息发送给其他站点的MDO;第2阶段是每个MDO根据本地组成员列表把信息发送给本地的Agent.[1]2.1 第1阶段发送
  第1阶段信息发送通过二叉树的方式同步进行.首先,第1个MDO收到1条消息,然后将消息发送给另一个MDO.这样2个MDO同时拥有信息,然后第2个MDO也参与信息发送过程,2个MDO发送消息给另外2个MDO,这样拥有信息的MDO就达到4个,然后这4个MDO再发送信息给另外4个MDO,此过程不断循环,直到所有MDO都收到信息.因此,每1步收到信息的MDO数量就会翻倍.收到信息后,每个MDO又会参与到信息传递过程中.实际上,该机制是采用吸收更多的主机来进行同步迅速的信息传播.在MDO中进行信息传播的结果是1个二叉树,MDO就是其节点.
  
  图2为1个拥有16个MDO的实例.假设在主机0号的移动Agent发送1条信息给组,它首先把信息传送给本地的MDO 0,该MDO开始信息发送:第1步,把信息发送给MDO 8;第2步,MDO 0和8把信息发送给MDO 4和12.第3步,这4个MDO把消息发送给MDO 2, 6, 10和14;最后,剩下的MDO从8个MDO中接收到信息.经过4步之后,所有16个MDO都收到了信息,并开始把这些信息发送给其本地的Agent.第1阶段信息传播可以从任何1个MDO开始,实际上,发送者Agent所在的MDO就是开始的源.
  第1阶段传播信息的算法可以归纳如下:
  假设n是MDO的数目,(a, b)是列表的边界.
  (1)得到信息,得到列表边界数值,计算出子列表MDO的大小.
  (2)如果没有边界,则:若MDO的开始发送源所在的列表位置是p,可以设置边界为a=(p+1)mod n, b=(p-1)mod n;否则结束.
  (3)如果(b-a)mod n < 2,信息发送给a 和b,结束.
  (4)找到列表的中间数,设其位置是m, m=(a+((b-a)mod n)/2)mod n.
   (5)计算子列表的边界,前一半列表的计算如下:a=a, b=(m-1)mod n.
  (6)发送信息后给出后一半列表a=(m+1)mod n, b=b.
  (7)回到(1).2.2 第2阶段主要传播方法
  信息在站点MDO间传播之后,MDO会在信息上添加序列号,然后使用底层网络中的方法,比如广播和多播发送信息给所有本站点中的Agent.现有许多用于局域网和广域网的基于IP多播组通信机制,这些机制提供了局域网中成员间高速、可靠的信息传播.[3]
  广播是主机针对某个网络上的所有主机发送数据包.其可能是网络,可能是子网,也可能是所有的子网.如果是网络,例如A类网址的广播就是 netid.255.255.255;如果是子网,则是netid.netid.subnetid.255;如果是所有的子网(B类IP)则是 netid.netid.255.255.广播所用的MAC地址是FF-FF-FF-FF-FF-FF.网络内所有的主机都会收到这个广播数据,网卡只要把 MAC地址为FF-FF-FF-FF-FF-FF的数据交给内核就可以了.一般说来,ARP或路由协议RIP是以广播的形式播发的.
  广播是多播的特例,多播就是给1组特定的主机(多播组)发送数据,这样,数据的播发范围会小一些,多播的MAC地址最高字节的低位为1,例如01-00-00-00-00-00.多播组的地址是D类IP,规定是224.0.0.0~239.255.255.255. 虽然多播比较特殊,但究其原理,多播的数据还是要通过数据链路层进行MAC地址绑定然后发送,所以1个以太网卡在绑定1个多播地址后,还要绑定1个多播的MAC地址,使其可以像单播那样工作.
  广播和多播的性质是一样的,路由器会把数据放到局域网里,然后网卡对这些数据进行过滤,只取想要的数据,比如感兴趣的多播数据和组播数据.当1个主机运行1个处理某个多播IP的进程时,会给网卡绑定1个虚拟的多播MAC地址,并做出1个多播IP.这样,网卡就会让带有该多播MAC地址的数据进来,从而实现通信,而没有监听这些数据的主机就会将其过滤掉.3 可靠性研究
  所提出的模型已经能够用于信息传递,然而,为提高可靠性,Sama还采用回复机制和超时机制,确保所有成员都能收到信息.每个MDO在收到信息后,都会发送1个回复信息给其父节点,父节点在确认子节点收到信息并且自己也同样收到信息后,也发送回复信息给其父节点,最后根节点得到回复信息,表明所有的MDO都成功地收到信息.回复机制保证信息广播的可靠性.
  而超时算法则是在整个机制中设置2个参数:MMTT和MAMT.MMTT指在2个主机中转移信息的最大花费时间量;MAMT指1个代理从一台主机到另一台主机迁移的最大花费时间量.此算法规定,每个MDO都必须保存信息一段时间,确保即使正在转移的Agent也能收到信息,这段时间可由式(1)计算[4]得出:
  Timer=max(MMTT×(log2NMDOS-1),MAMT)(1)
  式中:NMDOS为整个网络的站点MDO数;MMTT为最长信息转移时间;MAMT为最长Agent转移时间.
  另外,该算法还规定在MDO发送消息之前必须限定1个时间量,在这个时间量到达之前,MDO必须接收到来自于子节点的回复信息.如果超过时间量,机制就认为子节点发生故障,触发故障处理事件的发生.这个时间量使用MMTT和MDO列表大小计算得出,可以很好地估断出所有MDO发送给它们父节点回复信息的时间量,见式(2):
  Timer>max(2×MMTT×(log2NMDOS-1),
  MAMT×(Vlan/Vwan)×NAgenti)(2)
  式中:Vlan表示局域网内的网速;Vwan表示广域网内的网速;NAgent指内部成员数.式(2)可加入到生成树算法中.
  
  4 故障处理
  
  主机故障分为3类[1]:(1)在收到信息前或接收过程中主机发生故障;(2)在收到信息后但在发送回复信息前主机发生故障;(3)发送信息源的MDO在发送信息后、接收到回复信息前发生故障.
  4.1 在收到信息前或接收过程中主机发生故障
  如上所述,Sama通信使用应用层机制如RMI.[5]机制把故障理解为重新建立某种连接.因为某个主机发生故障,需要把其排除在二叉树以外,这就要求主机的父节点在信息发送后必须检测到故障.从源MDO在第1阶段发送消息的时候,首先发送备份消息给数据库.数据库在发生节点故障时起到临时的救急作用.如图3所示,父节点在发现故障结点后通知源节点,然后将数据库中的信息发送给坐落于故障节点旁边正常的MDO让它继续转发下去.然后把故障节点从列表中去除,生成1个通知信息给所有的MDO,告知该变化.每个MDO在收到该信息后,更新其列表,除去故障的MDO,然后执行生成树算法,构造新的信息传播树.
  
  图3显示信息传播是如何从失败主机12中恢复的.在系统中,当MDO 0开始发送进程,MDO 8开始侦察到MDO 12发生故障,然后通过数据库发送消息给坐落于MDO 12旁边的MDO 13,在发送更正信息后,把MDO 12从列表中除去,新的信息传播树如图4所示.
  
  4.2 在收到信息后主机发生故障
  第2种故障的恢复是使用计时器.如前所述,在发送消息给MDO后,每个MDO设置1个计时器,如果MDO没有在固定时间范围内从该MDO下面的全部子节点中接收到回复信息,就认为发生了某个故障,并找到没有发送回复信息的MDO.故障处理和第1种故障类型类似,机制使用同一种方法排除失败的主机,也就是数据库把信息转发给正常的MDO,让其继续转发.在这类恢复中,MDO能通过数据库顺序号检测到重复的信息.
  4.3 发送信息源的MDO在发送信息后、接收到回复信息前发生故障
  第3类主机故障是由子节点侦查到的.如果MDO在收到回复信息前发生故障,子节点尝试发送回复信息却无法与故障MDO连接,这些子节点便能够监测到故障.第1个子节点首先监测到故障,然后选择自己作为新的树根,删除故障MDO,然后发送更正信息给所有的MDO用来更新MDO列表和信息树,通过序列号重复信息会被检测到.如图5所示,MDO 1监测到MDO 0发生故障,MDO 1对信息传送树进行更新.
  
  5 结束语
  
  本文提出基于Sama分布应用层的组通信机制.Sama使用信息发送对象(MDO),在Agent服务器中是1个特殊对象,能够高速并行地进行信息发送.Sama不基于任何特殊网络模式,能应用于如类似互联网的异构网络中.该机制能自动侦查出网络中的故障并将其恢复,同时通过广播和IP多播的方式升华Sama协议的限制[6],提升性能.
  当然,本文对二叉树建立所提出的算法没有考虑到各个站点间的距离,只是把编号作为参考对象,在将来的工作中可以考虑以站点间距离为度量,用Dijkstra’s最优短路径算法找到最优站点树.[7]
  
  参考文献:
  [1]JAFARPOUR H, YAZDANI N, BAZZAZ-ZADEH N. A scalable group communication mechanism for mobile agents[J]. J Network and Computer Application, 2007(30): 186-208.
  [2]陶先平, 冯新宇, 李新, 等. Mogent系统的通信机制[J]. 软件学报, 2000, 11(8): 1 060-1 065.
  [3]杨博, 刘大有, 刘鲲, 等. 移动Agent的主动通信机制[J]. 软件学报, 2003, 14(7): 1 338-1 344.
  [4]CHOCKLER G, KEIDAR I, VITENBERG R. Group communication specifications: a comprehensive study[J]. IN ACM Computing Surveys, 2001, 33(4): 1-43.
  [5]DASGUPTA P, NARASIMHAN N, MOSER L. MagNET: mobile agents for networked electronic trading[J]. IEEE Trans On Knowledge and Data Eng, 1999, 11(4): 509-525.
  [6]FUGGETTA A, PICCO G, VIGNA G. Understanding code mobility[J]. IEEE Trans on Software Eng, 1998, 24(5): 342-361.
  [7]GRASSHOPPER. Basics and Concepts.[2001-3-1]. http://www.Grasshopper.de.
  (编辑 王文婧)
其他文献
[摘 要]随着三线建设的推进,随迁职工子弟和出生在三线的子弟人数逐渐增多。职工需要依托三线企事业单位解决子弟教与育的问题。三线企事业单位广泛开办了子弟学校,解决了子弟教育和部分家属就业安置问题,为三线建设提供了完备的后勤服务保障。与在家庭所在地或三线企事业单位所在地接受教育相比,就读于子弟学校是三线子弟接受教育的最佳选择。子弟教育需求的增长扩大了子弟学校的师资缺口。三线企事业单位采取内部抽调、发展
期刊
《党建文汇》杂志曾被评为“中国共产党类核心期刊”、“全国十佳文摘期刊”。  上半月版读者对象为广大党务工作者和党员干部,侧重于对党务工作的指导性、权威性、实用性和服务性。  下半月版读者对象是广大党员,侧重于可读性和教育性。下半月版发挥《党建文汇》文摘的优势和大容量,摘登事件、问题、人物事迹以及党员应当和需要掌握的社会政治、经济、文化、法律、科学以及业务工作和生活方面的知识信息,突出刊物的可读性和
期刊
本刊讯 2007年11月10日,全国18家党报党刊“创新基层党建,迎接、学习、贯彻十七大”征文活动总编(主编)座谈会在广州召开。会议特邀全国党建研究会顾问、中央政策研究室原副主任郑科扬,全国党建研究会副会长蔡长水,中组部党建所副局长陈东平,中组部组织局副处长徐宝林等出席并作指导。  本次会议的主要议题是:各征文单位交流征文活动情况,介绍有关经验;规划、部署下一阶段征文工作;邀请有关领导同志对征文活
期刊
[摘 要]沪西工人半日学校是中共党史上第一所工人学校。从1920年秋至1925年春,校名多有变化,包括上海第一工人补习学校、工人补习学校、工人识字班和工人夜校补习班。具体经办人先后为李启汉、陈为人、嵇直、孙良惠与刘华等,邓中夏、李立三、项英等人也参与过该校的实际教学。该校是党开展工人运动的起点,是1925年二月罢工的策源地。在党的领导下,办校人员经过艰苦摸索,成功找到了联系、发动工人阶级的具体途径
期刊
一、我国经济正在进入一个新的发展阶段    记者:党的十七大报告提出:“加快转变经济发展方式,推动产业结构优化升级。”那么从“增长”到“发展”,一词改变有何深刻的内涵?  刘世锦:增长是量的描述,发展是质的规定,高增长并不意味着一定会带来全面协调可持续的发展。国际上对增长和发展的关系也有不少讨论。增长并不等于发展,有些国家就曾经出现过“有增长而无发展”的情况。十七大报告提出“加快转变经济发展方式”
期刊
老三届(66、67、68届中学生)与新三级(77、78、79级入校的大学生),大多出生于二十世纪五六十年代。他们与共和国同行,每个人的生活经历都折射出党和国家的发展历程。他们是中国改革开放政策的第一批受益者,如今已成为各条战线的中坚力量。他们既继承了父辈们有理想、讲奉献、求真、务实的传统美德,又与时俱进,追踪新潮,具有独特的气质和鲜明的时代特征,是共和国的建设者和改革开放的主力军。  这代人在求知
期刊
改革开放近30年来,在市场经济条件下上海农村经历着工业化、城市化和全球化带来的“千年未有之大变局”,农村基层组织也发生了多元化的变迁和创新。在农村经济社会已经发生并将继续深刻变化的历史条件下,特别是在建设社会主义新农村的新形势下,探索上海农村基层组织的有效组织形式,实现农村基层组织功能的合理转变,建构高效的村级组织运行机制,尤其具有重要意义。    一、上海农村基层组织的历史考察    当前上海市
期刊
摘要:为探索适合中国国情和上海特点的反恐防范管理机制,提出具有风险减缓因子的上海某重点目标单位风险评估体系,结合综合风险评估中的脆弱性评估和应对能力自我评估构建上海市反恐重点目标单位(脆弱性)风险评估的指标体系,综合运用层次分析法(AHP)和模糊综合评价法实现定量和定性分析,实证表明了该指标体系的科学性和可操作性。
期刊
长假在法华镇路一带修车,闲暇走走这条路,第一次发现它是很有趣的。  法华镇路一带曾经是个小镇。没多少人会记得这一点,因为如今,这里在上海版图内也算个“上只角”的好地段了。法华镇路,就好像是许多年前来自小镇的大姑娘,而今变成了出得厅堂明事理的起居于大城的“家主婆”,穿戴言语见了世面,但行事依然保留着一些淳朴与实惠。  连接着淮海西路、番禺路与定西路的法华镇路并不长,也不宽,弯弯扭扭的,走一走,也就一
期刊
一、坚持中国特色政党制度,走中国特色政治发展道路    记者:党的十七大报告提出:“坚持和完善人民代表大会制度、中国共产党领导的多党合作和政治协商制度,不断推进社会主义政治制度自我完善和发展。”那么,怎样认识我国的政党制度在我国的政治中的地位和作用?  甄小英:中国共产党领导的多党合作和政治协商制度是中国共产党把马克思主义政党学说和统一战线理论与中国具体实际相结合的伟大创造,是中国共产党与中国人民
期刊