还剩16页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
一种具有容错功能的移动代理间通信技术[doc]一种具有容错功能的移动代理间通信技术第23卷第9期9月计算机应用ComputerAppHcaf ionsVol.23,No.9Sept.,文章编号1001—908109—0035—04种具有容错功能的移动代理间通信技术陈鹏,温涛,刘爽
1.辽宁石油化工大学计算机系,辽宁抚顺113001;
2.大连东软信息技术学院,辽宁大连116023摘要:提出一种基于双向指针链的移动代理间通信算法,不仅可以保证移动代理间的可靠通信,并且可以通过迭起移动代理在移动过程中形成欧I前向指针链,有效地提高通信效率.在移动代理完毕计算任务后,算法可以运用移动代理在迁移过程中形成的后向指针链回收其所占用日勺资源.关键词:移动代理;分布式目录服务;容错;前向指针;后向指针;双向指针链中图分类号:TP
393.01文献标识码:AAFault-tolerantlnner-agentCommunicationTechnologyofMobileAgentSystems4,t+3s,,t+2s2,t+1,如图3所示.接下来.站点s日勺分布式目录服务根据Nhavevisiteds向移动代理近来所经历的前NN=3个节点发送位置确认信息,如图4所示.VisitedTimeS2=t+l IslocalS=false LocationS二S,t+3S3,t+2NhaveVisitedS2=sl,tSVisitedTimeS31=[+2IslocalfS3=false LocationS3ffiS.t+3NhavcYisiLtxJS=SI.[+1si〜AckfS3-nu]1〜ISslVisitedTimeS+3Islocal S,=true Location S=0NhaveVisited S=S
3.t+2SI,t+1sL,tAck n-null〜囤图1移动代理在迁移前VisitedTime S2=t+l Islocal S二=false LocationS2二S.t+3Ss.t+2NhaveVisitedS=sL tVisiteATimcSst+2IslocalS3=falseLocaf ionS3S.t+3Si=
2.[+lcslt]AckSO=null固VisitedTimeS,=t+3IslocalS+=falseLocationS,0NhaveVisitedS*二si.t S
2.t+1Ss.t+2IS.I]酉,4SI,tXs
2.t+IXst.t固图2移动代理在迁移中VisitedTimeS2=t+lVisitedTimeSs=t+2VtedTimcS,~t+3Islocal Sl=falselslocalSa=falseislocalS=LocatorSLocationS3=s.t+3LocationS,=0siNhaveVisitedSNhavcVisitedNhaveyis1t^lNhaveVisittxlS.S,S.st.tJ=[S2,[+1sl=s
3.t+2s
2.t+1si.t AckS--nullAckS3勘llIlAck=nllIllamp;1IS31IS.I团圆VisitedTimeSttVisitedTimeamp;=T+4IslocalS,--falselslocal Ss=true I.0cad0nsl=s,t+3Ss,t+
2.[+1s_L~ionO.ONhavcVisited sO=nullNlmveVis|ted【盎1昌S+3XSXsz.t+1:AckSI-nullAckS5+3XS+2Xs=.[+1图3移动代理抵达新的I站点VisitedTimeSI[+lVisitedTimeS3=t+2VisitedTuneSgt;=t+3IslocalS2=falselslocalS,=falselslocalS,=trueLocation S2Locaf ionS3=S.t+3LocationS0S.t+3S3,t+2Nhac,FisRe一dsNhaveyisit^ls31NhaveVisitedS,=sl.t=[S
2.[+1sl:t=S
3.【+2S
2.t1sL.t〜Ack S=null A啦S3勘HIlAckC—null〜AcksIslI ss^+4--------------==lssVisitedTimeamp;tVisitexiTimeamp;=t+4IslocalSO.--hhelslocalSs=tmeLocation SI=S.t+3Ss.t+
2.【+1Ss=ONhmcd_LscatiAnavcVi=nullNhaveVisltedAck sinullAck Ss一一+3XS+2Xs+.【+图4新站点送确认信息D38计算机应用站点,s,,只接到位置确认信息后更新本站点上有关该移动代理日勺位置信息,也对应地更新自己的信息,.AckS设为null,完毕一次移动代理迁移,如图5所示.visitedT5mae SI1=【+1~ocal⑸=false Locafion SI=S.t-i-3S,.〃.2^laveVisitedSI=sl,tAckfSD-null1SI1AckfSO=nullVisitedTimeS512ialocal s,=false LocationS3S,t+3NhaveVisitedS31=si.t+1siAckSlunIS3I.t+3S3,〃.
2.t+1nullVisitedTimeSl[+3laloealStrueLocation S+=0NhavVialtedS=S,/z.2S,.c+1s-,t AckS.=nllllIS1圆VisitedTimeSsl=t+4EslocalSs=trueLocationS0=0NhaveVm|ted;amp;,t+1lAck Ss=咀un图5移动代理完毕一次迁移后的情形下面我们运用上例中移动代理迁移时留下的前向指针链.完毕一次模拟通信:假如站点s.上有一代理要与图中时移.代理通信,从s.上的分布式目录服务可以懂得移动代理曾.以时间戳t+I,t+2,t+3迁移到,,,通过比较移动代.访问的时间戳最大,因此可以直接将消息发向s,从而跳.了站点,,提高了通信效率.当消息抵达站点时,站.上日勺分布式目录服务可直接将其路由至,从而实现两个移•代理之间的I通信.假如发生故障或者退出连接,s.站点上.分布式目录服务通过比较后将消息路由给时间戳较大的I s,.点,s,站点上的I分布式目录服务通过比较再将其路由至s.点,实现了两个移动代理之间的I通信,当s,s,,amp;中有两个.点同步退出连接或发生故障时,算法仍能将消息路由到目的.动代理,因此算法具有较高的I容错性能.当移动代理完毕计算任务时,根据移动代理迁移时在.个站点S上留下日勺NhaveVisitedSi,可以形成后向指针链.运用算法中欧I distory_ChainMA函数可以对移动代理M.路过的各个站点进行资源的回收,提高了系统的可用性.在•收资源时,算法同样具有容错性,当持续nnlt;=N个站.发生故障时不影响对其他站点移动代理所占资源的I回收.4结.在本文中我们提出了基于双向指针链,具有容错功能的移动代理通信算法,有效地处理了基于移动代理的分布式系统中代理间可靠通信的问题.通过上面的I分析,算法不仅具有较高容错性,并且可以通过迭起前向指针链,提高通信效率.当移动代理完毕任务时,还给出了对应有效的I资源回收方案.算法没有基于任何中心控制点,便于扩展,合用于大.的分布式计算系统中日勺移动代理间通信.参照文献【1】朱淼良,邱瑜.移动代理系统综述【JL计算机研究与发展,.3z(l).
[2]【丑ngeBB.IshimaM.Programanddeplo^ngjavamobileagentswithaglets[M].Addison-Wesley,
1998.
[3]PeineH,StolpmannT.Thearchitectureofthemplatformformo-bileagents[A].MobileAgents,ProcofMA97,LNCS1219[C].Berlin:Springer-Vmiag,
1997.50—
61.[41Voyager.^eursionsw.corn/products/voyager/voyag.ell”,asp[EB/OL],-09-6/*—03—
08.
[5]MomanLDistributedDirectorySewieeandMessageRouterforMobileAs nts[J].ScienceofComputerPIDlH日g,,39:249—
272.(上接第21页.〜全.止匕外,私钥欧I使用也需要进行权限识别,只有卡片日勺拥.者进行PIN值确实认后才能使用,保证了私钥使用的安全.2)签名日勺安全.在客户端设备上安装有确认按键.在每次签名时,都必须人工按键进行确认.这样顾客可以限定签名的次数,虽.遭受袭击,也可以缩小损失范围,便于顾客及时补救.3)验证顾客证书的合法性在客户端模型中加上时间芯片,可以验证证书的I有效期.在智能卡里存储信任锚,可以验证证书与否由合法的CA.构来颁发;在主机端软件可以与CRL相联络,来检查顾客.书与否被撤销过.三个方略巧妙地融合在一起,便可以验.顾客证书的合法性.4)构造的新奇性客户端设备由智能卡芯片和USB芯片两部分构成.这是一种可插拔的I分离构造,即在客户端设备上固定USB.片,并提供一种智能卡芯片卡座,便于智能卡芯片的插拔..用这样的构造可以减少顾客更新客户端设备的成本,即当.要更新时,只更新智能卡芯片即可.5)使用以便性客户端设备与主机的通讯采用USB接口,与读卡器相比.克服了读卡器日勺成本昂贵和不便于携带的缺陷,并且具有即.即用日勺特点;作为一种物理设备,客户端设备小巧便于顾客.带,遗失后也很轻易被察觉,使顾客能及时采用补救措施.6)记事.该模型还开辟了一块顾客文献存储区,用于寄存少许.顾客信息,顾客只要将该客户端设备连接到主机上.输入PI.码,就可以以便地存取个人信息了.5结束语本客户端模型以私钥的安全管理为中心目的I,充足考.在PKI系统中怎样保证顾客操作的安全性和以便性,实现.密钥对的安全产生,私钥的I安全管理,签名,解密,信任锚的•储等一系列安全功能.它安全性高,携带以便,便于顾客.用,易于推广.微型PKI客户端方案时实行必将推进PKI.别是无线PKI技术日勺普及和发展.参照文献
[1]AdamscJoydS.公开密钥基础设施一概念,原则和实行【M】.冯登国,等译.北京:人民邮电出版社,.[21冯登国.计算机通信网络安全m.北京:清华大学出版社..
[3]王爱英.智能卡技术【M】.北京:清华大学出版社,.[41冯登国,等.信息安全一一关键理论与实践【M】•北京国防工.出版社,.[51EEB/OL].-
11.
[61],一II.CHENPeng,WENTao,LlUShuangrl.LiaoningUniversityofPetroleumamp;ChemicalTechnology,,Fushun,1113001,China;
2.NEUSOFTInstituteoflnformationTechnology,DalianLiaoningl16023,CTAbstract:WepresentaFault-tolerantcommunicationtechnologyformobileagents tem.Itn otonlyguaranteesthereliablecommunicationofinner-agent sbutalsoenhancestheefficiencyofcommunicat ionbycollapsingtheforwardingpointerchain.WealsopresentamechanismtorecycletheresouPethatmobileagentsoccupie daftertheyfinishedtheirtask.Keywords:mob i1eagent;distributeddirectoryservice;faulttolerant;forwardingpointer;baekwardlngpointer;dual direetionchain1引言伴随网络技术和分布式智能领域研究的不停深入,老式的分布式计算模式已经不能满足目前复杂的分布式计算的要求,为此研究者们提出了一种新的计算模型一一移动代理,它不仅结合了软件代理的自治智能的特点并且引入了移动的思想,极大地延伸了分布式计算欧J模式.不过移动代理要成为实用的主流技术还需处理几种重要的I问题,如移动代理间日勺可靠通信,移动代理日勺安全性,移动代理欧I执行效率以及移动代理的容错机制等等.在基于移动代理的I分布式系统中,一个大的计算任务一般是由多种代理协作完毕的,因此怎•保证移动代理问的I可靠通信是基于移动代理日勺分布式系统.要处理的一种非常紧迫的问题,它决定着移动代理能否完.分布式计算任务以及能否有效地运用网络资源,减少网络.载.2既有移动代理间通信技术日勺研究与分析到目前为止,有关移动代理间通信的I问题已经进行了.量的I研究工作.这些研究大体可分为两类:基于位置已知.移动代理间通信和基于位置透明的移动代理间通信.1基于位置已知的移动代理间通信.这种技术一般.移动代理系统的底层实现,其基本思想是:移动代理在发起.信前必须明确懂得目时代理确实切位置,然后通过该位置.息与之通信.这种措施日勺局限性是显而易见日勺:在通信的I过.中假如接受消息的移动代剪发生迁移,这次通信只能宣布.败,从而无法保证移动代理间的可靠通信.因此这种措施.在初期H勺移动代理系统中使用.2基于位置透明的移动代理间通信.这种技术一般.高层实现.在此类通信技术中重要有两种实现措施:一种.基于宿主代理Homeagent的另一种是基于前向指.Forwardingpointers技术附基于宿主代理欧I移动代理问通信:基于这种通信技术.系统有时et8[2J,Ara等.其重要思想是:若移动代理要进.通信,则分别向其宿主代剪发送通信信息,由其宿主代理代.转发.这种通信技术的I局限性是可以想见欧J.它重新引入了.心控制节点一一宿主代理,这与分布式计算系统设计的初.背道而驰.当移动代剪发生迁移时,移动代理需尽快告知.主代理它的最新位置,这样就会大大地增长网络的负载;由.中心节点的引入阻碍了分布式系统的扩展性,使得这种技.只在较小的分布式系统中比较适应,从而限制了它的I应用.围.且当宿主代剪发生故障或退出连接时,都将导致基于.个宿主代理日勺移动代理无法进行正常日勺通信.基于前向指针技术的移动代理问通信J:目前基于前向指针的J移动系统有Voyager【4等.其重要思想是:移动代理在收稿日期:一4—07;修订日期一06-01作者简介:陈鹏(1977—),男,江苏徐州人,硕士硕士,重要研究方向:分布式计算,网络安全;温涛(1962一),男,陕西宝鸡人,专家,博士.重要研究方向网络安全,协议工程;刘爽(1977—),女,辽宁锦州人,硕士硕士,重要研究方向分布式计算,计算几何.36计算机应用正迁移过程中每到一种新日勺位置都会向它的前一种站点发送.位置信息,这些信息称为前向指针,由一系列前向指针构成.链称为前向指针链,它用于跟踪移动代理的位置并与之通信.当两个移动代理进行通信时,它们之间发送的消息沿着前.链进行转发.这种技术没有了像宿主代理那样的控制性中.节点,又防止了基于位置已知代理间通信技术所带来的弊端.更合用于大规模的分布式计算系统.但这种技术也有一定.缺陷,即伴随移动代理的迁移,前向指针链的长度越来越长.前向指针链中日勺任何一种站点发生故障或退出连接,都将.致与通过该站点的I移动代理失去联络,这个问题在大型欧L布式计算系统中尤为突出.使得这种算法的容错性太差,.法保证可靠欧I移动代理间通信.3具有容错功能的移动代理间通信算法通过以上的I分析可以发现,既有的措施无法保证移动.理间日勺可靠通信,为此我们设计了基于双向指针的具有容.功能的移动代理间通信算法.算法中我们采用点到点的对.通信模型,并作如下假设1)算法是应用层的实现,因此消.的传递是可靠时;2)算法是分布式的,没有任何中心控制•点;3)我们只考虑由于参与分布式计算时站点发生故障而.发的容错性,而不考虑代理自身发生故障的情形.通过对基于前向指针算法日勺分析我们发现,其容错性.较差日勺重要原因是处在前向指针链中的I站点对通过该节点.动代理的位置信息记录太少,以至于目前向链中的一种站.发生故障或退出连接时,通信信息无法抵达目的移动代理.而导致通信失败.我们可以在移动代理抵达新的I节点后向.所通过前N个近来站点发送最新的位置信息以及访问该•点的I时间戳,使节点可以有足够的冗余信息以形成具有容.功能的前向指针链,用于对分布式计算中代理之间日勺消息.信进行路由;与此同步移动代理在新KJ节点上记录移动代.在访问本站点前所访问的近来日勺前N个站点以及访问它.时日勺时间戳,以形成具有容错功能的后向指针链,用于在分.式计算结束后回收移动代理在迁移过程中所占用日勺资源,.提高系统的可用性.算法由分布式目录服务和消息路由两部分构成.分布式目录服务用于保留移动代理在迁移过程中留下.位置信息.当移动代理抵达新日勺站点时,该站点日勺分布式.录服务首先为该移动代理创立一张有关位置信息的表Tabi.MA,并在该表中记录所访问的近来的I前N个站点和访.它们时的|时间戳,并向这N个站点发送新的位置信息,当.些站点收到确认信息后,将本站点分布式目录服务中的I有.该站点的I位置信息更新.分布式目录服务为每个移动代理所建的I位置信息表重要包括如下状态VistedtimeS=t表达移动代理访问本站S的I时间戳为t..s=true~false表达移动代理与否在当地.s站点.LocationS=sm…t S…1,t-
1.s+-2,t-2•••sm.t.表达在.s站点记录着日勺移动代理也许在的I站点sm….s…….s和访问它们时的I时间戳t,t…,tl.在本算法中它重要.来形成前向指针链,以跟踪移动代理的位置并与之通信.NhaveVisitedS=S+,t S+—I,t一I.s+一
12.t.…S,t.表达在.s站点记录着的在访问本站点前所访问的I近来的前n个站点.s+,.s-----,.S和访问它们时的I时间戳t,t----,t..它的I重要功能是形成一种后向指针链,当移动代理完毕任务,系统不再需要该移动代理时,该移动代理在各个站点上所留下的I NhaveVisitedS形成反向链,用于回收移动代理在各个站点所占用的I资源.AckS=S+,t S-------,,t-1S…2,t-2•••.s.t./null记录了在.s站点需要其发送确认信息日勺站点和移•代理访问它们的时间戳.分布式目录服务算法描述如下Migrate一agent SI,Agent〃实现将移动代理从S.迁出IIf Islocal Sl=True FailSl=falseThenIM=NhaveVisitedS1;PostSI,agentSI,visitedTimeSI+1,M;IslocalSl=false;1Receive一agent SI,S2,agent SI,t,M〃实现S2接受从S.移过来的移动代理IIf FirstofQueueS2=agent SI,t,M FailS2=falseS1!=S2ThenlVisitedTimes2=t;IslocalS2=true;If M有N个元素ThenINhavevisitedS2中除掉时间戳最小的J那个站点信息,然后再并上S.,t—1ElselNhavevisited S2直接并上SI,t-1Location s2=null;AckS2=NhaveVisitedS2;Send一aekS2,Ack S2〃从移动代理所在的S2向前N个站点发送位置确认信息IWhileAckS2!=nullI对Ack S2中的I每个SiifFailSi=falsethenlsend Si,S2,VisitedTime S2;将Si,t从Ack S2中删掉;elsel将Si,t从AckS2中删掉;receive_ackS,s2,t〃站点s接受从s2发来确实认信息lif VisitedTimeSlt;t thenllfM有N个元素then{Location s除掉时间戳最小H勺那个站点信息,然后再并上S,telse{Location s直接并上S,telse什么也不做算法阐明,N时值可以随容错规定变化.容错规定越高,N的值越大,但N也不能无限制地增大,当N增大时,站点间传送的位置信息也会随之增多,网络负载也就会增长,因此我们要在这两者之间找一种平衡点.通过引入的冗余信息保证第9期陈鹏等:一种具有容错功能的移动代理间通信技术
3.移动代理间的可靠通信,虽然前向指针链中有n个持续n.N站点发生故障或退出连接仍能与该通过这些站点口勺移.代理进行通信,从而提高了移动代理系统的容错性能.消息路由运用分布式目录服务中的移动代理位置信息•发代理之间传送的消息.对于分布式目录服务来说,移动代.也许的状态是1移动代理在当地;2移动代理不在当地,.还没有得到它新位置确实认信息;3移动代理不在当地,但.以时间戳t.,t2,…,t分别访问S.,s2,…,S站点.在分布式.算过程中.针对基于分布式目录服务的信息,消息路由也许.出如下反应1若移动代理在当地,直接与之通信;2若移.代理已经迁移出本站点,但有关它的新位置信息没有返回,.将消息排人队列等待移动代理欧I位置信息;3移动代理不.当地,但曾以时间戳t.,t2,…,t分别访问s.,s2,…,s站点,.从中选一种时间戳最大的I且可用於I站点将消息发送出去..样可以非常以便地跟踪移动代理的I位置并与之通信.消息路由算法如下.mute_message m〃路由移动代理间的|通信消息mIlfislocal8=trueThen与之通信;ElseifislocalB=falselocation!=ramThenlfind SwithmaxcinlocationSfails=false;forward m,S}Elseislocals=falselocation B=nullThenlputminqueen;while locations=nul1I等待n时间片;findSwithmaxtflails=false;forwardm,s distory_chainMAi〃回收移动代理在迁移过程中所占用H勺资源lif ReceiveDistoryMessage=true then{destroyed=false;//destmynd用来标识当地分布式目录服〃务中有关该移动代理的信息与否已删除whiledesm^ed=fal8eIfindSiwithmaxcinNhavevisitnds ifFailSi=falsethen{forward distoryMAi,Si将回收移动代理的I信息dlstoty TableMAi发向站点Si distoryTable MAi:〃将当地移动代理MA;时所占用的资源回收distoryed=true;elsedeleteSi,tifromNhavevisitndS}下面我们用图例直观地阐明移动代理欧I迁移过程及路过各站点的状态变化.为了简朴起见我们只考虑一种移动代.日勺情形,在这里N=
3.假设一种移动代理通过s.,s2,s,抵达s4,如图I所示,站点s.,s2,s,上的分布式目录服务均为该代理创立一张位置.息表,记录代理所访问的站点和对应的时间戳,接着由于计.的I需要移动代理继续进行移动.图2显示移动代理移出站点s4,因此Islocal s4=false.但由于新的I位置信息仍不懂得,因此locationsd=null..移动代理抵达S时,站点S上分布式目录服务为该移动代理创立一张表用于记录该移动代理信息,并对应地设置表中的状态VistedTime s5:t+4;hLocal=true;NhaveVisited=s4,t+3s3,t+2s2,t+1;Ack s5。
个人认证
优秀文档
获得点赞 0