基于主控代理/协同代理自动执行的协作式测量方法

文档序号:6381520阅读:158来源:国知局
专利名称:基于主控代理/协同代理自动执行的协作式测量方法
技术领域
本发明涉及计算机网络测量技术领域,特别是计算机网络测量中多个测量节点间协作式测量的方法,尤其是计算机网络测量中基于主控代理/协同代理自动执行的协作式测量方法。
背景技术
随着Internet的迅速发展,网络已经成为人们信息交换的基础平台,其作用越来越重要。通过网络测量全面了解网络运行状况与规律是保证网络正常、良好地运营的先决条件。目前,网络测量特别是大规模互联网测量已经成为一个非常活跃的研究领域。所谓大规模互联网测量,是指在互联网上所进行的大范围、长期的测量活动,其特点是测量节点数目众多,涉及的网络节点数目更多,测量持续的时间比较长,测量采样模式复杂,测量采集的数据量非常大,在没有人工干预的条件下测量仍能够自动进行;并且针对某个测量参数需要进行多次重复测量。同时大规模互联网测量中的部分待测参数和指标还要求测量系统能够有效支持协作式测量。为了说明协作式测量方法,给出如下基本概念1.网络测量系统网络测量系统是根据用户指令自动执行网络测量的软硬件系统,一般包括测量命令发布节点,测量节点,结果回收节点。其中测量命令发布节点负责将用户指令以测量命令的形式发送给测量节点;测量节点负责根据接收的测量命令调度执行测量任务,暂存测量结果并将测量结果报告给结果回收节点;结果回收节点负责接收测量节点报告的测量结果。
2.测量工具为了获取某种网络参数而设计的软件系统,测量工具由测量节点调用执行,测量工具的一次执行称为一次测量。
3.测量命令测量命令是测量命令发布节点发送给测量节点的指令,指明在特定的时间执行一个特定的测量任务。
4.协作式测量协作式测量是指需要两个甚至多个测量节点按照一定的执行策略协作参与,在此基础上才能够成功实施的网络测量。执行策略通常会对多个测量节点的执行顺序予以规定,例如要求测量启动节点必须首先启动执行某一测量工具并等待,测量协作节点随后启动相关测量工具并要与测量启动节点进行通讯,成功后测量任务开始执行。如果测量节点没有按照规定的策略执行,将会导致测量失败。目前网络中许多重要指标的测量和许多测量工具的实现都需要协作式测量的支持,如单向延迟和可利用带宽。两个站点之间路径可利用带宽的测量工具pathload是协作式测量的比较典型的例子。pathload工具有两个子模块patload_snd和pathload_rcv,二者分别运行在两个端系统上,测量策略要求pathload_rcv必须先于pathload_snd启动,否则测量任务无法完成。进行手动测量时,测量者可以人为保证两个模块的启动顺序,从而可以保证测量的顺利进行。但是对于包含了协作式测量任务的大规模网络测量而言,由于测量持续时间较长,测量通常需要连续进行并且测量任务众多,效率低下且难以有效控制的手动测量方式无法满足测量要求,必须设计一种能够自动执行的协作式测量方法以支持测量任务的自动执行。
目前存在的众多测量系统,如Surveyor、Skitter、AMP/PMP等虽然能够对大规模网络测量提供一定的支持,但是它们不能支持协作式测量任务的自动执行。另一著名的测量系统NIMI注意到了协作式测量任务的特殊要求并提出一种解决方案用户在发布协作式测量任务的测量指令时,指定接收模块比发送模块提前五分钟启动(这里,接收模块是指在协作式测量中需要首先启动的测量程序),以此来保证测量策略得到满足。按照这种方案,用户在进行大规模网络测量之前,首先必须确定测量持续时间内所有协作式测量任务准确的起始执行时间,并按照上述方案设置所有协作式测量任务中的接收模块和发送模块的启动时间,从而保证测量策略得到满足。但在实际的大规模网络测量中,受测量间隔等因素的限制,用户在测量实施之前常常无法预先确知所有测量任务的启动时间。例如测量任务的测量间隔为泊松采样时,系统随机选择每次测量的起始时间,用户无法预先确定。同时,这种解决方案实现起来比较繁琐,可靠性差,并且由于需要预先设定多个测量节点的启动时间,还引入了多个测量节点之间的时钟同步问题。由于无法准确设置多个重复性协作式测量任务中各个参与方的启动时间,NIMI也就无法对这种需要重复执行的协作式测量提供有效的支持。由此可见,NIMI系统的解决方案仅从用户使用技巧角度而非系统的角度出发,没有很好的解决大规模测量中协作式测量自动执行的问题。

发明内容
本发明的目的是提出一种基于主控代理/协同代理自动执行的协作式测量方法,为实现该目的,包括步骤1)测量命令发布节点将测量命令分别发送给主控测量代理和协同测量代理,其中发送给主控测量代理的测量命令称为主测量命令,发送给协同测量代理的测量命令称为从测量命令;2)主控测量代理在主测量命令指定的时间启动执行该命令,然后根据主测量命令的信息生成新的协作通知命令(简称Doslave命令)并将其发送给相应的协同代理;3)协同代理收到Doslave命令后进行验证,根据验证结果执行相应的从测量命令;4)主控、协同代理相互协作完成一次协作式测量。
其中,Doslave命令仅包含协同代理需要执行的从测量命令标识,与对应的主测量命令的标识一致,而不包含需要执行的具体测量命令。


图1基于主控代理/协同代理自动执行的协作式测量的实现过程示意图具体实施方式
本发明提出了一种基于主控代理/协同代理自动执行的协作式测量方法,该方法通过测量命令发布节点、主控测量代理以及协同测量代理的交互共同完成协作式测量,其中测量命令发布节点以测量命令的形式将测量任务分发给各个代理,主控测量代理负责发起协作式测量并协调所有相关协同测量代理的测量执行。针对一个协作式测量任务,发送给主控测量代理的测量命令称为主测量命令,主测量命令除了包括主测量代理需要执行的测量任务之外,还包括与该协作式测量任务相关的协同测量代理列表;发送给协同测量代理的测量命令称为从测量命令,该命令包括了协同测量代理需要执行的测量任务。每一个测量命令都有一个测量命令标识用于区别别的测量命令,而一个协作式测量包括的主、从测量命令具有相同的测量命令标识,能够唯一标识一个测量任务。
图1是基于主控代理/协同代理自动执行的协作式测量的实现过程示意图,图1中节点A是测量命令发布节点,B主控测量代理,C是协同测量代理,一次协作式测量需要代理B、C共同完成,其中节点A、主控测量代理B、协同测量代理C可以是一般计算机,如图中所示。测量过程如下(1)测量发布节点A将主测量命令发送给主控测量代理B,(1’)测量发布节点A将从测量命令发送给协同测量代理C,(2)主控测量代理在主测量命令指定的时间启动执行该主测量命令,(3)主控测量代理根据主命令信息生成Doslave命令并将其发送给相应协同测量代理,其中,Doslave命令仅包含协同代理需要执行的从测量命令标识,与对应的主测量命令的标识一致,而不包含需要执行的具体测量命令,(4)协同测量代理在接收到一个Doslave命令后,需检查已接收到的来自测量命令发布节点的从测量命令列表,判断其中是否存在该Doslave命令指定的从测量命令,若存在,测量执行;否则,丢弃该Doslave命令;协同测量代理在接收到主控测量代理的Doslave命令指示之前,不能主动执行从测量命令;(5)根据权利要求2的步骤2、3中的协同代理通过来自主控代理的Doslave命令触发执行从测量命令的方式,不受主控代理和协同代理之间时钟差异的影响,支持需要多次重复执行的协作式测量;
(6)主从测量命令相互协作完成一次协作式测量。
本发明的优点本发明提出的基于主控代理/协同代理自动执行的协作式测量方法中,协同代理通过来自主控代理的Doslave命令触发执行从测量命令,绕开了协作式测量中普遍存在且对测量影响较大的时钟同步问题。采用本发明提出的这种方法,从主控测量代理发出一个Doslave命令,到协同测量代理接收到该命令的延迟时间一般在几百毫秒之内,即使在网络拥塞很严重的情况下,该延迟时间一般也在几秒钟之内,所以测量参与各方启动时间的差异必然也在这一时间范围内,这就保证了即使是在时钟同步不太好的网络环境中,该方法也能实现较为精确的自动协作式测量。同时,由于不需要人为预先设置主控代理/协同代理的启动时间,即使对于随机测量间隔(例如泊松采样间隔)且需要多次重复执行的协作式测量任务,本发明提出的这种方法也能够提供良好的支持。
在大规模网络测量中,测量代理数量众多并且在地理位置上比较分散,因此很难通过一种方便安全的方法在所有测量代理之间建立安全联盟关系,在这种情况下,测量代理之间只能采用较为简单的安全控制策略。但是,测量代理与测量命令发布节点之间可以使用严格的安全约束机制。本发明中,由测量命令发布节点通过主、从测量命令指定各个测量代理的具体测量任务,Doslave命令只需携带简单的命令标识信息即可协调主控、协同测量代理之间的测量执行,协同测量代理在接收到来自测量命令发布节点的从测量命令之后,并不能立即执行该从测量命令,而必须接收到一个特定的Doslave命令(该命令包含与从测量命令相对应的命令标识)之后,才能启动执行。这样方式可以比较有效地防止攻击者发送恶意指令,从而使测量代理执行非法操作的行为发生。
本发明提供了网络应用特别是网络测量领域中需要多方协作完成的任务的实现方法,能够很好的保证需要多方共同参与的测量任务的自动协作执行。
权利要求
1.一种基于主控代理/协同代理自动执行的协作式测量方法,其特征在于,该方法通过测量命令发布节点、主控测量代理以及协同测量代理的交互共同完成协作式测量,其中测量命令发布节点以测量命令的形式将测量任务分发给各个代理,主控测量代理负责发起协作式测量并协调所有相关协同测量代理的测量执行;针对一个协作式测量任务,发送给主控测量代理的测量命令称为主测量命令,主测量命令除了包括主测量代理需要执行的测量任务之外,还包括与该协作式测量任务相关的协同测量代理列表;发送给协同测量代理的测量命令称为从测量命令,该命令包括了协同测量代理需要执行的测量任务;每一个测量命令都有一个测量命令标识用于区别别的测量命令,而一个协作式测量包括的主、从测量命令具有相同的测量命令标识,能够唯一标识一个测量任务。
2.根据权利要求1的基于主控代理/协同代理自动执行的协作式测量方法,其步骤如下1)测量命令发布节点将测量命令分别发送给主控测量代理和协同测量代理,其中发送给主控测量代理的测量命令称为主测量命令,发送给协同测量代理的测量命令称为从测量命令;2)主控测量代理在主测量命令指定的时间启动执行该命令,然后根据主测量命令的信息生成新的协作通知命令Doslave命令并将其发送给相应的协同代理;3)协同代理收到Doslave命令后进行验证,根据验证结果执行相应的从测量命令;4)主控、协同代理相互协作完成一次协作式测量;其中,Doslave命令仅包含协同代理需要执行的从测量命令标识,与对应的主测量命令的标识一致,而不包含需要执行的具体测量命令。
3.根据权利要求1的基于主控代理/协同代理自动执行的协作式测量方法,其步骤如下(1)测量发布节点A将主测量命令发送给主控测量代理B,(1’)测量发布节点A将从测量命令发送给协同测量代理C,(2)主控测量代理在主测量命令指定的时间启动执行该主测量命令,(3)主控测量代理根据主命令信息生成Doslave命令并将其发送给相应协同测量代理,其中,Doslave命令仅包含协同代理需要执行的从测量命令标识,与对应的主测量命令的标识一致,而不包含需要执行的具体测量命令;(4)协同测量代理在接收到一个Doslave命令后,需检查已接收到的来自测量命令发布节点的从测量命令列表,判断其中是否存在该Doslave命令指定的从测量命令,若存在,测量执行;否则,丢弃该Doslave命令;协同测量代理在接收到主控测量代理的Doslave命令指示之前,不能主动执行从测量命令;(5)根据权利要求2的步骤2、3中的协同代理通过来自主控代理的Doslave命令触发执行从测量命令的方式,不受主控代理和协同代理之间时钟差异的影响,支持需要多次重复执行的协作式测量;(6)主从测量命令相互协作完成一次协作式测量。
全文摘要
本发明涉及计算机网络测量技术领域,基于主控代理、协同代理自动执行的协作式测量方法,包括步骤1)测量命令发布节点将测量命令分别发送给主控测量代理和协同测量代理,其中发送给主控测量代理的测量命令称为主测量命令,发送给协同测量代理的测量命令称为从测量命令;2)主控测量代理在主命令指定时间启动执行该主命令,然后根据主命令信息生成Doslave命令并将其发送给相应从代理;3)协同代理收到Doslave命令后进行验证,根据验证结果执行相应的从测量命令;4)主控、协同代理相互协作完成一次协作式测量。本发明的方法特别是网络测量领域中需要多方协作完成的任务的实现方法,能够很好的保证需要多方共同参与的测量任务的自动协作执行。
文档编号G06F9/30GK1529235SQ03160228
公开日2004年9月15日 申请日期2003年9月28日 优先权日2003年9月28日
发明者王恺, 杨峰, 张庆峰, 毕经平, 王 恺 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1