首页> 中国专利> 一种不确定源条件下的可靠多播路由构建方法

一种不确定源条件下的可靠多播路由构建方法

摘要

本发明公开了一种不确定源条件下的可靠多播路由构建方法,包括:构建一个用于计算多播路由中的传输代价与恢复代价之和的优化计算模型;基于传输代价与恢复代价之和最小的目的,构建所述优化计算模型的约束条件;通过所述约束条件计算得到优化计算模型的计算结果,然后可以基于计算结果或者依据本申请提出的两种有效的多播森林构建方法来可靠的构建多播路由。所述方法既考虑传输消耗,提高宽带利用率,又考虑恢复代价,提高传输稳定性和可靠性。同时通过构建约束条件,能够快速有效的实现多播路由的构建。因此,所述不确定源条件下的可靠多播路由构建方法能够构建路径较优的多播路由,从而降低多播路由中的总代价并且提高宽带利用率。

著录项

  • 公开/公告号CN106998301A

    专利类型发明专利

  • 公开/公告日2017-08-01

    原文格式PDF

  • 申请/专利权人 梁海燕;

    申请/专利号CN201710294693.3

  • 发明设计人 郭得科;谢俊杰;

    申请日2017-04-28

  • 分类号

  • 代理机构北京风雅颂专利代理有限公司;

  • 代理人马骁

  • 地址 410003 湖南省长沙市开福区北辰三角洲D3区6栋1002

  • 入库时间 2023-06-19 02:53:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-04-05

    专利权的转移 IPC(主分类):H04L12/761 专利号:ZL2017102946933 登记生效日:20220324 变更事项:专利权人 变更前权利人:郭得科 变更后权利人:中国人民解放军国防科技大学 变更事项:地址 变更前权利人:410003 湖南省长沙市开福区北辰三角洲D3区6栋1002 变更后权利人:410003 湖南省长沙市开福区德雅路109号

    专利申请权、专利权的转移

  • 2020-03-10

    授权

    授权

  • 2017-09-08

    专利申请权的转移 IPC(主分类):H04L12/761 登记生效日:20170822 变更前: 变更后: 申请日:20170428

    专利申请权、专利权的转移

  • 2017-08-25

    实质审查的生效 IPC(主分类):H04L12/761 申请日:20170428

    实质审查的生效

  • 2017-08-01

    公开

    公开

说明书

技术领域

本发明涉及信息通信技术领域,特别是指一种不确定源条件下的可靠多播路由构建方法。

背景技术

多播是一种高效的网络信息传输方法。它可以把同一份内容从一个给定的发送端节点(简称为发送端)发送给一组接收端节点(简称为接收端)。这和单播相比就节约了大量的可用带宽。因为避免了在中间节点中不必要的流复制引发的宽带浪费,多播相对于单播能够节约大约50%的骨干网络带宽。同时,多播还可以减少发送端节点和相邻链路的负载。当前,随着软件定义网络的出现,使得在系统中设计和部署灵活的协议成为可能,也即具备了构建多播路由的技术条件。

最近相关研究人员提出了一些理想的多播方法,大致可以分为两大类。一类主要致力于研究减少带宽消耗的路由算法。例如PIM-SM(Protocol Independent Multicast-Sparse Mode),其思想是更愿意选择从接收端到发送端的最短路径。在这些多播算法中如果为所有接收端选取的路径有较多重复使用的话,就可以节省带宽。然而,已经存在的方法在路由设计的时候只考虑了让接收端以最短的路径连接到发送端,不同接收端对应的最短路径之间的计算是独立的。这样会忽略路径之间的可重复使用的部分。结果就可能出现路径彼此没有重合,这对带宽的利用来说很不利。例如:对一个多播组来说,斯坦纳树算法由于考虑了总的链路数最小化,能够非常有效地改善多播路由的带宽利用。

另一类算法旨在确保多播传输的可靠性。现在的许多重要应用都需要保证网络传输的可靠性。一种直接的可靠多播方法就是:当多播路由失效就立即从发送端进行恢复。这种方法对于只有一个发送端节点的多播非常不好。因此,有研究提出了对可靠性有感知的斯坦纳树问题(Reliability-aware Steiner Tree,RST)。它的方法就是在发送端和接收端之间的路径经过至少一个恢复节点。这样可以在多播路由失效以后接收端可以直接从恢复节点获取丢失的数据。为了方便描述,将该方法简称为RAERA方法。

但是,上述第一种多播方法主要研究如何减少多播传输的代价,并没有提供可靠的多播路由,也即没有考虑多播路由的恢复代价问题。此外,这类多播方法的恢复过程都是基于发送端进行的,导致恢复代价不能最小而且恢复的效率较低。第二种多播方法只讨论了单个发送端的可靠多播问题,虽然采用了改造的斯坦纳树算法,但是所有接收端只连接到同一个发送端,使得传输代价也无法达到最优。因此,在实现本申请的过程中,发明人发现现有技术至少存在以下缺陷:不能兼顾多播路由的传输代价和传输可靠性,导致多播路由无法实现最优设计,不能充分提高宽带利用率。

发明内容

有鉴于此,本发明的目的在于提出一种不确定源条件下的可靠多播路由构建方法,能够构建较好的多播路由,从而降低路由中的总代价并且提高宽带利用率。

基于上述目的本发明提供的一种不确定源条件下的可靠多播路由构建方法,包括:

构建一个用于计算多播路由中的传输代价与恢复代价之和的优化计算模型;其中,所述传输代价为多播路由中所有传输路径需要消耗的总传输代价,所述恢复代价为多播路由中所有接收端节点的恢复概率与对应的恢复代价计算得到的总恢复代价;

基于传输代价与恢复代价之和最小的目的,构建所述优化计算模型的约束条件;其中,所述约束条件包括一个发送端节点只通过一条路径向接收端节点发送数据、每条路径是唯一并且连通的、一个接收端节点只连接到一个发送端节点;

通过所述约束条件计算得到优化计算模型的计算结果,并根据计算结果构建多播路由。

可选的,所述多播路由的发送端节点为多个,即采用多发送端设计。

可选的,所述多播路由的发送端节点的位置采用不确定方式设置,即基于不确定发送端的方式构建多播路由。

可选的,所述优化计算模型中还设置有调节系数;所述调节系数用于调节传输代价与恢复代价两者相对的比例或权重。

可选的,所述优化计算模型对应的计算公式为:

其中,eu,v为多播路由中节点u到节点v的路径;E为不同节点之间路径的集合;cu,v为路径eu,v所对应的传输代价;τu,v为路径eu,v是否被用来构造多播路由,若是,则τu,v取值为1,否则取值为0;kd为节点d的恢复代价;D为接收端节点d的集合;α为调节系数;

所述约束条件对应的约束公式包括:

τu,v≤eu,v

其中,Ns表示发送端节点s的邻居节点的集合,πd,(s,v)表示路径es,v是否在发送端节点s到接收端节点d的路径上,表示如果则发送端节点s负责给接收端节点d发送数据,S为发送端节点的集合;

Nd表示接收端节点d的邻居节点的集合,πd,(u,d)表示路径eu,d是否在发送端节点s到接收端节点d的路径上,Nv表示节点v的邻居节点的集合,πd,(u,v)表示路径eu,v是否在发送端节点s到接收端节点d的路径上,πd,(v,u)表示路径ev,u是否在发送端节点s到接收端节点d的路径上,V表示网络中服务器节点集合;

表示路径的传输代价,表示从恢复节点r(d)i对接收节点进行恢复的概率,r(d)i表示接收端节点d的第i个恢复节点,ρu表示节点u如果是可用来恢复的节点则取值为1,如果是普通节点则取值为0。

可选的,所述不确定源条件下的可靠多播路由构建方法包括:

计算当前接收端节点到所有发送端节点的最短路径;其中,所述最短路径为传输代价最小的路径;

分别计算所有所述最短路径对应的总代价,其中,所述总代价为传输代价与恢复代价之和;

选取总代价计算值最小对应的那条最短路径作为当前接收端节点的最优路径,并且将该最优路径添加到多播路由森林中;

依次计算剩余接收端节点的最优路径,直到完成多播路由的构建。

可选的,所述不确定源条件下的可靠多播路由构建方法还包括:

计算得到每个恢复节点到每个发送端节点的第一最短路径集合;其中,所述最短路径为传输代价最小的路径;

计算当前接收端节点到所有发送端节点的第四最短路径集合;

对于每个发送端节点,根据所述第一最短路径集合找到离该发送端节点最近的恢复节点所构成的第二最短路径集合;

计算当前接收端节点到所有恢复节点的第三最短路径集合;

将所述第二最短路径集合与所述第三最短路径集合进行组合,并且计算得到当前接收端节点经过恢复节点到达发送端节点的第五最短路径集合;

分别计算所述第四最短路径集合与所述第五最短路径集合的恢复代价与传输代价组合得到的总代价,选取总代价最小的那条路径作为当前接收端节点的最优路径,并将该最优路径添加到多播路由森林中;

依次计算剩余接收端节点的最优路径,直到完成多播路由的构建。

可选的,所述不确定源条件下的可靠多播路由构建方法还包括:

获取当前已构建的多播森林和增加的路径;

根据路径计算增加的路径对应的传输代价;

找到增加的路径上的恢复节点集合;

根据所述恢复节点集合,计算得到增加的路径对应的恢复代价;

根据增加路径的恢复代价和传输代价,计算得到增加路径对应的总代价。

本发明实施例的另一方面,还提供了一种电子设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法。

从上面所述可以看出,本申请提供的不确定源条件下的可靠多播路由构建方法,通过构建一个同时考虑多播路由中的传输代价和恢复代价的优化计算模型,使得既能够考虑多播路由中的传输消耗,提高宽带的利用效率,又由于考虑到了恢复代价,也即降低了在传送终端或出错出现时需要消耗的宽带,从而提高了多播路由传输的稳定性和可靠性。通过构建对应的约束条件,使得能够快速有效的实现多播路由的构建。因此,本申请所述的不确定源条件下的可靠多播路由构建方法能够构建路径较优的多播路由,从而降低多播路由中的总代价并且提高宽带利用率。

附图说明

图1a、1b、1c分别为本发明提供的没有恢复节点的多播、具有恢复节点且为单个发送端的多播以及具有恢复节点且为多个发送端的多播结构示意图;

图2a、2b、2c、2d分别为本发明提供的发送端到接收端之间不带有恢复节点、带有一个或多个恢复节点对应的实施例的多播路径示意图;

图3为本发明提供的不确定源条件下的可靠多播路由构建方法的一个实施例的流程示意图;

图4为本发明提供的没有恢复节点的多播路由构建方法的一个实施例的流程示意图;

图5为本发明提供的具有恢复节点的多播路由构建方法的一个实施例的流程示意图;

图6为本发明提供的多播路由中新增路径的新增代价计算方法的一个实施例的流程示意图;

图7为本发明提供的基于Internet网络环境下链路失效概率对多播总代价影响的分析结果示意图;

图8为本发明提供的基于Internet网络环境下发送端节点数量对多播总代价影响的分析结果示意图;

图9为本发明提供的基于Internet网络环境下接收端节点数量对多播总代价影响的分析结果示意图;

图10为本发明提供的基于Internet网络环境下恢复节点数量对多播总代价影响的分析结果示意图;

图11为本发明提供的基于数据中心网络环境下链路失效概率对多播总代价影响的分析结果另一个实施例的示意图;

图12为本发明提供的基于数据中心网络环境下网络交换机数量对多播总代价影响的分析结果示意图;

图13为本发明提供的基于数据中心网络环境下发送端节点数量对多播总代价影响的分析结果示意图;

图14为本发明提供的基于数据中心网络环境下接收端节点数量对多播总代价影响的分析结果示意图;

图15为本发明提供的基于数据中心网络环境下恢复节点数量对多播总代价影响的分析结果示意图;

图16为本发明提供的执行所述数据推荐方法的电子设备的一个实施例的硬件结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

针对于现有的多播路由通常采用发送端节点位置固定的设置方式,基于发送端能够满足一定的约束条件下不必使得发送端固定的思想启发,本申请提出了一种采用不确定发送端节点的多播路由构建方式,一方面能够优化多播路由结构,另一方面能够提高路由中宽带利用效率,降低链路损耗。但是,多个不确定发送端的出现也给传统的多播带来了新的挑战和机会。这个根本的原因是在各种各样的网络里被广泛使用的内容副本策略。例如,在谷歌文件系统GFS和分布式Hadoop的HDFS里,处理最原始的文件,每个文件块至少被存放在两个地方。也即,在网络中同样的文件和视频资源会被保存在多个地方可能是为了备份的作用,同一个文件的多个备份都可以用来作为多播的发送源节点。此外,许多内容传输的应用会使用内容副本设计来提高健壮性和有效性。事实上,每一个副本都可以作为传输的发送端。那就是说,只要满足一定的约束条件,一个多播传输的发送端不必要放在固定的位置。这就是本申请要讨论的不确定发送端问题。这可以减少大量网络带宽的消耗。

由此,本申请提出一种可靠的、带宽利用高效的不确定发送端多播路由(ReliableMulticast with Uncertain Sources,ReMUS)。本申请发现多播中的恢复代价是由于接收端从上游恢复节点或者发送端节点获取丢失数据包而产生的。ReMUS要解决的目标就是实现传输代价和恢复代价之和最小化。该问题面临如下基本的挑战。首先,对一个多播来说,带宽的有效利用和可靠性是相互冲突的因素。尽管多播树上恢复节点的使用可以有效降低恢复代价,避免从发送端重传丢失数据包,但也会直接改变最小代价的斯坦纳树路由,从而增加多播的传输代价。其次,多个不确定发送端的出现也会对传输代价和恢复代价造成影响。多个发送端需要谨慎的安排各个接收端的路径,而非用最短的路径来连接发送端。即使如此,与基于发送端进行恢复的多播传输相比,多个不确定发送端的多播还是具有更多的优势。

因此,本申请的关键在于发现发送端和恢复节点的选择以及ReMUS路由构建的问题。更精确的,本申请的目的是要找到所希望的不确定发送端多播森林,使得传输代价和恢复代价最小。其中,传输代价是多播森林里所有链路(也称路径)的总恢复代价。总的恢复代价是由每个接收端需要恢复的概率以及对应的恢复代价决定的。每个接收端节点的恢复代价指的是从上游恢复代理节点(即那些可作为恢复节点的节点)传输的代价。

为了进一步清楚解释本申请中构建多播路由方法的原理和思路,首先通过几个不同多播路由结构的分析来引出本申请的构建思路。参照图1所示,图1a、1b、1c分别为本发明提供的没有恢复节点的多播、具有恢复节点且为单个发送端的多播以及具有恢复节点且为多个发送端的多播结构示意图。

为了获得最优化的且可靠的多播路由,最关键的是减少传输代价和最小化恢复代价。而多个不确定发送端的出现会带来两种代价的复杂影响,因此需要考虑这些复杂因素来构建多播路由。可选的,可以将在多个不确定发送端下求解可靠的、带宽使用有效的多播问题定义如下:对于任何一个可以使用不确定发送端的多播,ReMUS问题是要找一个有效的森林,可以让传输代价和总的恢复代价之和最小。它需要满足一个约束,即一个接收端只需要连接一个发送端。其中,传输代价指的是多播森林里所有边(即路径)的总代价。总的恢复代价是用每个接收端节点的恢复代价和恢复概率来计算的。每个接收端节点的恢复代价就是从它的恢复代理节点到它的代价。

一般来说,一个恢复代理节点可以从多个发送端节点或者新增加的恢复节点里选出。事实上,要设计一个完备的可以适用于任何恢复节点设置的ReMUS模型是非常关键的。为了说明清楚如何建模,先通过提出一个例子来对基于发送端节点的恢复模型来建模,并且提出一个更通用的恢复模型。

可选的,ReMUS的一个例子:图1a中显示了一个可靠的多播树,即多播路由结构,它覆盖了发送端节点s1和接收端节点{d1,d2,d3,d4,d5,d6,d7}。此时,多播树和网络中都不包含恢复节点。因此,当某个接收端节点没有收到多播数据包时,发送端节点s1需要重传数据包,这就产生了额外的传输代价,这是在一定概率下的恢复代价,也即对于每个接收端节点均有相应的概率需要恢复。毫无疑问,当接收端节点频繁地从发送端进行恢复重传,就会产生大量的恢复代价。当一些恢复节点在网络里存在时,只要在构建多播路由树的时候,使恢复节点位于从发送端节点到接收端节点的路径上,就可以让接收端节点从这些恢复节点获取数据。由于引入了恢复节点,恢复代价大大减少。如图1b所示,恢复节点{r1,r2,r3,r4,r5}会被引入到网络里。新的多播树会覆盖恢复节点r1和r4。当数据包从r4到d6传输时丢失,r4就可以把恢复数据包发给d6

更进一步,多个发送端节点有利于提高多播的可靠性。对于一个有多个发送端{s1,s2,s3}的多播路由,图1c中显示了一个理想的覆盖接收端节点{d1,d2,d3,d4,d5,d6,d7}和一些恢复节点、发送端节点的多播路由。每个接收端节点只连接唯一的一个发送端节点。由图可知,图1b中的多播树占用了13条链路,而图1c中只占用了10条链路,所以采用更多的发送端节点可以有效减少传统多播的传输代价。此外,由于引入了多个发送端节点,在图1b中的接收端节点d7的恢复代理节点是发送端节点s1,而在图1c中却是发送端节点s2,因此,接收端节点d7的恢复代价由于恢复路径的变短而减少。所以,增加更多的发送端还会减少恢复代价。

因此,针对于基于发送端进行恢复的模型,为了实现可靠多播,基于发送端的恢复模型对于网络里不存在恢复节点的情况而言是一种固有的解决方法。如图1a所示,发送端s1会在从s1到d6的路径上发生丢包情况时进行重传。此外,本申请还提出一个适用于多个发送端的恢复模型。多个发送端会带来很多好处,诸如降低传输代价、减少多播失效后的恢复代价等。

对于一个带有多个发送端节点的多播,首先要确保所有接收端节点要连接到发送端节点。为了降低传输代价,尽管有很多发送端节点可以同时连接来获取数据,但是每个接收端节点只需要连接到唯一的发送端节点。对于一个接收端节点来说,选择合适的发送端节点对它的传输代价和恢复代价有重要的影响。一个接收端节点的恢复代价等于这个节点需要进行数据重传的概率乘上重传的传输代价。而一个多播路由的恢复总代价等于所有接收端节点的恢复代价之和。由此可知,假设从接收端节点u到它的数据发送端节点v的路径要经过n跳,e1,e2,…,en。那么,从v到u的重传概率的计算公式为βu,v=1-(1-βe1)×(1-βe2)×…×(1-βen),其中,βei是第i段路径丢失数据包的概率。βu,v为从节点v到节点u的路径上数据包丢失的概率。

对于通用的恢复模型设计,如果一个恢复节点集合提前在网络里部署好,构建多播树林的方法可以覆盖一些恢复节点。用这种方法,可以在接收端节点没收到数据的时候要求恢复节点重传数据,使得它的恢复代价减小。对于这个接收端节点来说,这种情况下的恢复代价计算方式是恢复数据包重传的传输代价乘上这段重传路径上数据包丢失的概率。称这个概率为该接收端需要从该恢复节点进行数据重传的恢复概率。一般来说,因为恢复节点距离接收端节点更近,从恢复节点进行恢复要优于从发送端节点进行恢复。然而,对每一个接收端节点来说,最终的多播森林里不一定有它的恢复节点。因此,需要通过发送端节点来进行恢复。因此,一般的恢复模型会比只通过发送端节点或只通过恢复节点进行恢复的模型要更实用。

为了获取一般模型的特征,令Rd代表接收端节点d的恢复代理节点集合。这个集合包含从d到它的发送端节点的路径上所有的恢复节点和这个发送端节点。不失一般性的,因为这条路径上只有唯一的一个发送端节点并且该发送端节点也可以用来进行恢复,所以用符号r(d)1代表这个发送端节点作为恢复代理。用符号代表从恢复代理r(d)1对接收端节点d进行恢复的概率。由此得到:其中,可以通过重传概率计算公式计算得到;为数据包在从恢复代理r(d)i到接收端节点d的路径上丢失数据包后,需要从该代理进行恢复的概率。

所以,一个接收端的恢复代价需要根据相应的概率来分情况讨论和计算。对于一个接收端节点,可能存在多个恢复代理,每个恢复代理进行重传的概率不同,对应的恢复代价也不同。因此把所有情况下的恢复代价进行概率加权求和,这个总和就视为该接收端节点的总的恢复代价。例如,图1b中接收端节点d6有三条恢复路径,它们分别连接三个恢复代理s1,r1和r4。因此,d6的恢复代价就是它在这三条恢复路径上进行恢复的代价之和。每条恢复路径的恢复代价等于重传代价乘以重传概率。

基于理解了多播路由中传输代价和恢复代价的产生机理就可以相应的构建计算模型,本申请正是在同时考虑传输代价和恢复代价的基础上,提出了一种可靠多播路由的构建方法。参照图3所示,为本发明提供的不确定源条件下的可靠多播路由构建方法的一个实施例的流程示意图。所述不确定源条件下的可靠多播路由构建方法包括:

步骤101,构建一个用于计算多播路由中的传输代价与恢复代价之和的优化计算模型;其中,所述传输代价为多播路由中所有传输路径需要消耗的总传输代价,所述恢复代价为多播路由中所有接收端节点的恢复概率与对应的恢复代价计算得到的总恢复代价;

步骤102,基于传输代价与恢复代价之和最小的目的,构建所述优化计算模型的约束条件;其中,所述约束条件包括一个发送端节点只通过一条路径向接收端节点发送数据、每条路径是唯一并且连通的、一个接收端节点只连接到一个发送端节点;

步骤103,通过所述约束条件计算得到优化计算模型的计算结果,并根据计算结果构建多播路由。

由上述实施例可知,本申请提供的不确定源条件下的可靠多播路由构建方法,通过构建一个同时考虑多播路由中的传输代价和恢复代价的优化计算模型,使得既能够考虑多播路由中的传输消耗,提高宽带的利用效率,又由于考虑到了恢复代价,也即降低了在传送终端或出错出现时需要消耗的宽带,从而提高了多播路由传输的稳定性和可靠性。通过构建对应的约束条件,使得能够快速有效的实现多播路由的构建。因此,本申请所述的不确定源条件下的可靠多播路由构建方法能够构建路径较优的多播路由,从而降低多播路由中的总代价并且提高宽带利用率。

需要说明的是,本申请不仅在于上述步骤体现的方法,而且还在于本申请针对于现有多播设计中设计存在不合理的地方,发现主要在于没有同时考虑传输代价与恢复代价的综合效果,使得多播路由中的代价不能最优化。同时,本申请设定的一个接收端节点只连接到一个发送端节点的约束条件既优化了总代价设计,而且有利于通过求解优化计算模型而快速构有效的多播路由。

在本申请一些可选的实施例中,所述多播路由的发送端节点为多个,和/或,发送端节点的位置采用不确定方式设置。也即本申请还可以通过设置多个发送端来降低传输代价和恢复代价,可以通过不确定发送端的方式优化多播路由的构建同时降低路由中的总代价。

在本申请一些可选的实施例中,所述优化计算模型中还设置有调节系数;所述调节系数用于调节传输代价与恢复代价两者相对的比例或权重。也即,对于传输代价与恢复代价基于在不同的多播环境中,可能其实际占有的比例或权重是不同的,本申请通过设置调节系数可以进行适应性的调节。例如:在某些环境中,认为可靠性是必须满足的条件,那么在计算式就可以相应的加大恢复代价的系数。

在本申请一些可选的实施例中,所述优化计算模型对应的计算公式为:

其中,eu,v为多播路由中节点u到节点v的路径;E为不同节点之间路径的集合;cu,v为路径eu,v所对应的传输代价;τu,v为路径eu,v是否被用来构造多播路由,若是,则τu,v取值为1,否则取值为0;kd为节点d的恢复代价;D为接收端节点d的集合;α为调节系数,用来在传输代价和恢复代价之间权衡,也即调节传输代价和恢复代价计算时占有的比重。当然,也可以针对传输代价和恢复代价分别设置调节系数。

在所述优化计算模型对应计算公式中,ReMUS问题的目标函数是让传输代价与恢复代价之和最小化。传输代价为连接发送端和接收端路径集合F中使用的链路数目之和。可靠多播的恢复代价是每个接收端节点的恢复代价之和。

所述约束条件对应的约束公式包括:

τu,v≤eu,v,用于表示如果边eu,v被用来传输数据,那么τu,v一定为1;

用于确保链路只可以从集合E中选择;

该三个约束条件用于确保一个发送端只通过一条路径向接收端节点发送数据。

用于确保接收端只需要从一个发送端获取数据;

用于计算每个接收端的恢复代价;对于每个接收端节点,可能用于恢复代理的不同而存在不同的恢复路径。因此,接收端的恢复代价是所有恢复路径上丢失数据包后需要重传的代价。而在某一段路径上丢失数据包而需要重传是一个概率事件。所以,接收端节点的恢复代价就是每条恢复路径丢失数据包的概率乘上该回复路径的代价之总和。

用于表示一个节点u如果不是一个可用来恢复的节点,则是普通的节点;

用于表示变量eu,vu,v,πd,(u,v)uu,v是二进制变量。

其中,Ns表示发送端节点s的邻居节点的集合,πd,(s,v)表示路径es,v是否在发送端节点s到接收端节点d的路径上,表示如果则发送端节点s负责给接收端节点d发送数据,S为发送端节点的集合;Nd表示接收端节点d的邻居节点的集合,πd,(u,d)表示路径eu,d是否在发送端节点s到接收端节点d的路径上,Nv表示节点v的邻居节点的集合,πd,(u,v)表示路径eu,v是否在发送端节点s到接收端节点d的路径上,πd,(v,u)表示路径ev,u是否在发送端节点s到接收端节点d的路径上,V表示网络中服务器节点集合;表示路径的传输代价,表示从恢复节点r(d)i对接收节点进行恢复的概率,r(d)i表示接收端节点d的第i个恢复节点,ρu表示节点u如果是可用来恢复的节点则取值为1,如果是普通节点则取值为0。

在构建的优化计算模型中,利用G(V,E)代表网络的拓扑,S代表发送端节点的集合,D代表接收端节点的集合。F代表网络里被用来构造多播路由的链路集合。Nv代表节点v的邻居节点集合。Eu,v代表节点u和节点v之间的链路,即路径。τu,v代表边eu,v,即路径eu,v是否被用来构造多播路由,也即表示该边是否属于集合F。同时,为了建立多播路由,并且确保每个接收端节点可以连接到唯一的发送端,需要给每个接收端节点选择一个发送端节点。用令代表发送端节点s是否会作为接收端节点d的数据来源,如果成立,s就负责给d提供数据。为了确保只有一条路径连接到发送端,πd,(u,v)用来表示边eu,v是否在从发送端s到接收端d的路径上。用Ρu,v表示在F里是否存在一条从u到v之间存在联通路径。用cu,v表示边eu,v的传输代价,而c(Pu,v)表示路径Ρu,v的传输代价,等于这条路径上所有边的传输代价之和。需要说明的是,路径是指系列边的组合,路径可以包含一条或者多跳边。为了计算恢复代价,用kd表示节点d的恢复代价,并且满足kd≥0。假设可选的恢复节点事先固定,并且包含于集合C,用ρu表示节点u是否为恢复节点,其中,集合C表示网络中可作为恢复节点的节点集合。Rd表示所有可以对节点d进行恢复的代理节点。r(d)i表示节点d的第i个恢复节点。当数据包在之间丢失,节点r(d)i可以进行恢复。

可选的,当设置有调整系数时,还可以通过调节系数的设置来解决已有的两种多播路由方案。具体的,当调整系数α=0,在目标函数,即优化计算模型对应的计算公式中就没有考虑恢复代价的优化,并且没有丢失的数据包。只考虑如何让整个多播森林的传输代价最优。若α≠0,则优化计算模型对应的计算公式中,ReMUS问题是一个有不确定发送端的多播可靠问题。进一步,如果只存在一个发送端,多播问题就退化为求解斯坦纳最小树问题。该问题也是图论里著名的NP难问题。因此,在多个发送端节点可供选择的情况下,由于发送端的不确定性,ReMUS问题会比单个发送端的斯坦纳最小树问题还困难。也即,ReMUS问题也是NP难的。而考虑到同时优化的问题,ReMUS问题会更困难。

对于本申请需要构建的多播来说,节约网络带宽的同时也需要提高可靠性。因此,需要构建一个总代价最小的多播路由。这要从两个方面考虑。一方面,需要采用基于发送端恢复的模型来减少恢复代价。这主要是用于优化网络里不存在恢复节点的情况。针对这种情况,本申请提出一种基于发送端恢复的多播方法来实现优化计算模型的求解。另一方面,当网络里存在恢复节点的话,可以用上述的优化模型来同时实现最优化传输代价和恢复代价。通过调节α来实现ReMUS的总代价最优。针对这种情况,本申请提出了一种基于发送端节点或恢复节点进行恢复来实现优化计算模型的求解。

针对于多播路由中不存在恢复节点的情况,本申请提出的基于发送端恢复的多播方法是为了找到一个多播森林并且通过基于发送端实现可靠的多播。同时,值得一提的是,多个发送端存在的多播代价会比发送端少的多播代价更少。考虑到之前的分析结果,使用所有的发送端是不必要的。因此,当多个发送端可以选择的时候,应该选用那些使得多播总代价最小的发送端来构建多播路由。一种简单的方法是选用距离每个接收端最近的那个发送端来传输数据。然而,这种方法下计算的路径是孤立的,很少会重合,并不能发挥多播传输的优势。因此,需要找到使得传输代价最少的多播路由。

构建的思路如下:给定一个网络,首先把它抽象为一个无向图。把每条链路的传输代价设为它的权重。在这个带权图中,两个节点之间的最短路径代表着传输代价之和最小的那条路径,可能不是跳数最少的路径,但是,由此选出的最短路径不代表具有最小的恢复代价。因为对于基于发送端的恢复模型来说,恢复代价不仅和路径的传输代价有关,还与路径的概率有关。因此最短路径的恢复代价不一定最好。

为了构建一个有效的多播森林,本申请设计了一个贪婪策略。这个策略可以为每个接收端找到合适的发送端。对每个接收端来说,首先计算从一个接收端到所有发送端的最短路径。然后,计算这些最短路径的总代价,包括恢复代价和传输代价。其次,选择总代价最小的那条路径作为这个接收端的路径。基于上面的分析,得到本申请提出的基于发送端恢复的多播方法。参照图4所示,为本发明提供的没有恢复节点的多播路由构建方法的一个实施例的流程示意图。该方法包括:

计算当前接收端节点到所有发送端节点的最短路径;其中,所述最短路径为传输代价最小的路径;也即,先选定任意一个接收端节点,也即目的节点,并根据计算的总代价来设定对应的路径,或者也可以依照一定的规律依次选定相应的接收端节点;而对于每一个接收端节点来说,对应不同的发送端节点分别具有相应的最短路径。

分别计算所有所述最短路径对应的总代价,其中,所述总代价为传输代价与恢复代价之和;

选取总代价计算值最小对应的那条最短路径作为当前接收端节点的最优路径,并且将该最优路径添加到多播路由森林中;

依次计算剩余接收端节点的最优路径,直到完成多播路由的构建。

这样,通过针对于每个接收端节点,依次构建代价最优的路径,从而逐步构建得到代价最优的多播路由,也即能够降低多播路由的总代价。

此外,针对上述方法,当所有链路的传输代价是一样的话,最短路径可以有最少的传输代价。如果发生重传的概率也一样,那么最短路径也有最少的恢复代价。

本申请还包括对于上述方法计算的时间复杂性分析:计算最短路径的时间复杂性是O(|V|2)。因此,上述方法的第二步复杂性为O(|V|2)。第三步循环部分的时间复杂性为O(|S|×|V|)。第六步的复杂性是O(|V|)。第一步的循环部分需要O(|D|×|V|2)。因此,得到上述方法的时间复杂性是O(|D|×|V|2)。

针对于部分附图的说明:在附图中目的节点为接收端节点,源节点为发送端节点。

在一些可选的实施例中,当网络中存在恢复节点时,这些恢复节点可以被用来减少接收端需要进行恢复的代价。这些恢复节点是网络中一类特殊的节点,它们具备缓存一定时间内的数据包。所以视为位置固定事先知道的节点。而申请人发现恢复节点的位置分布和数量会对本申请提出的具有恢复节点的多播路由构建方法造成较大的影响。如果恢复节点分布具有优势,最终的路由结果也会比较理想。如图2a-2d所示,图中三角形表示发送端节点、圆形表示普通节点、正方形表示恢复节点、五边形表示接收端节点。假设每条链路的代价是1,数据包在每条链路丢失的概率是0.1,可以针对图中不同多播路径的恢复代价进行分析。在图2a中,当数据包丢失时,发送端节点s会把那些丢失的数据包重传给d。此时因为没有其他恢复节点可以进行重传,只能从发送端节点再次传输。因此,相应的恢复代价是4×(1-0.94)=1.3756。在图2b中,接收端节点d有两个恢复节点,因此对应两种恢复形式分别计算,采用发送端节点s来进行恢复或者采用恢复节点A来恢复。它的总恢复代价是4×0.1+3×0.9×(1-0.93)=1.1317。比较图2a和图2b后,发现如果从发送端到接收端的路径上有恢复节点的话,可以明显减少恢复代价。类似的,d在图2c和图2d中的恢复代价分别是1.0678和0.9778。比较图2b和图2c的恢复代价,可以发现恢复节点的位置也会对恢复代价产生很大影响。

可选的,在讨论ReMUS问题的求解时,可以把恢复节点的位置等信息设置为随机并且事先固定的,也就是不可改变的因素。由此尝试在这些因素下解决ReMUS问题。而为了同时降低传输代价和恢复代价。在求解ReMUS问题的时候,需要结合恢复节点的位置。基于以上分析,本申请提出的具有恢复节点的多播路由构建方法充分利用具有优势的恢复节点,避免那些不太有利的恢复节点。因为使用过多不利的恢复节点会增加恢复的传输代价,并不能降低多播总代价。

参照图5所示,为本发明提供的具有恢复节点的多播路由构建方法的一个实施例的流程示意图。所述具有恢复节点的多播路由构建方法包括:

计算得到每个恢复节点到每个发送端节点的第一最短路径集合;其中,所述最短路径为传输代价最小的路径;

计算当前接收端节点到所有发送端节点的第四最短路径集合;

对于每个发送端节点,根据所述第一最短路径集合找到离该发送端节点最近的恢复节点所构成的第二最短路径集合;

计算当前接收端节点到所有恢复节点的第三最短路径集合;

将所述第二最短路径集合与所述第三最短路径集合进行组合,并且计算得到当前接收端节点经过恢复节点到达发送端节点的第五最短路径集合;

分别计算所述第四最短路径集合与第五最短路径集合的恢复代价与传输代价组合得到的总代价,选取总代价最小的那条路径作为当前接收端节点的最优路径,并将该最优路径添加到多播路由森林中;

依次计算剩余接收端节点的最优路径,直到完成多播路由的构建。

由上述实施例可知,该方法首先会把第一最短路径集合CSP计算出来。令F2代表用该方法计算得到的多播森林。然后,该方法会计算每个接收端到所有发送端的第二最短路径集合DP。其中,该方法会调用calculateNATC,同时把这个第二最短路径集合的总代价记录到表里。然后,同样的,对同一个接收端节点需要计算到每个恢复节点的最短路径,并把这条路径的总代价保存起来。事实上,只要让接收端能接通一个发送端节点即可,所以该接收端也可以到这个已经存在的多播森林里任何一个节点的最短路,计算其总代价。最后,需要从这个接收端节点所有的最短路径里选出最好路径来实现总代价最小。选出来的路径会加入到多播森林,进而逐步实现多播路由的构建。

因此,多播代价森林可以用具有恢复节点的多播路由构建方法来计算需要使用的链路和发送端节点、恢复节点。当数据包丢失,缓存了那些丢失的数据包的恢复代理就会对没能收到数据包的接收端进行恢复。一般来说,恢复代理的选择应该是距离丢失数据包的接收端节点最近的那个恢复节点。可是,最近的恢复节点不一定缓存了丢失的数据包,此时需要从恢复路径的上游找其他恢复节点进行恢复。

本申请还提供了所述具有恢复节点的多播路由构建方法计算的时间复杂性分析:计算从一个节点到其他所有节点的最短路径的时间复杂性是O(|V|2)。因此,具有恢复节点的多播路由构建方法中的第一个循环部分是O(|C|×|V|2)。函数calculateNATC(P,C,F,β)的时间复杂性是O(|V|)。第六步和第十步的循环部分的时间复杂性分别是O(|S|×|V|)和O(|C|×|V|)。第二步复杂性为O(|V|2)。第三步循环部分的时间复杂性是O(|S|×|V|)。因此,所述具有恢复节点的多播路由构建方法的时间复杂性是O((|C|+|D|)×|V|2)。

在一些可选的实施例中,本申请还考虑了新增路径对多播森林的总代价的影响。由此提出了一种计算新增路径对应的新增代价的计算方法。参照图6所示,为本发明提供的多播路由中新增路径的新增代价计算方法的一个实施例的流程示意图。所述新增路径的新增代价计算方法包括:

获取当前已构建的多播森林和增加的路径;

根据路径计算增加的路径对应的传输代价;

找到增加的路径上的恢复节点集合;

根据所述恢复节点集合,计算得到增加的路径对应的恢复代价;

根据增加路径的恢复代价和传输代价,计算得到增加路径对应的总代价。

上述算法对应函数calculateNATC(P,C,F,β)的主要功能,用于将新增加的路径P以及对应的总代价加入到多播森林F中。这个新增加的总代价里就包含了新增的这条最短路径的恢复代价和传输代价。该算法首先找出新增加的链路,它们属于P但不属于F,然后计算这些链路的传输代价;下一步找出这条路径上的恢复节点,如果没有恢复节点,就要采用基于发送端的恢复。该算法还要计算d的恢复代价。最后,新增的总代价就是传输代价和恢复代价之和。

基于以上的两种多播方法,基于对恢复节点和路径的选择以及路由结果的影响,要快速、准确找到较优的多播森林是非常难的。因此,本申请针对两种一般情况提出了对应有效的算法。(1)基于发送端恢复的方法(Source Recovery–based Multicast,SR-based)需要构建一个不需要使用恢复节点的多播森林,其中所有的发送端可以被用来进行传输恢复数据。(2)基于恢复节点恢复的方法(Recovery Node–based Multicast,RN-based)来利用恢复节点构造恢复代价更小的多播森林。在构造它的多播路由的时候,会让一些恢复节点覆盖。由于这些节点在本地保留了一段时间间隔的多播数据,所以一旦下游节点未收到这些数据就直接从那些恢复节点进行恢复。在两个场景下,无论有多少不确定的发送端可供选用,一个固有的约束是每个接收端节点只需要连接到一个发送端。

进一步,为了验证本申请方法的优点,本申请还在Internet2和数据中心网络下进行了大规模的实验。而实验结果也显示了无论网络设置的拓扑和规模,均证明本申请提出的方法可以有效地实现可靠的、带宽有效的多播路由。

首先,在进行实验之前需要对相关参数及环境进行设置,其内容如下:

先在不同的网络拓扑下,比较RN-based算法和SR-based算法、RAERA方法。其中,RN-based为基于恢复节点的多播方法;SR-based为基于源节点的多播方法;RAERA为现有多播方法。

实验环境包括Internet2以及还有数据中心网络。同时,采用了胖树结构的典型拓扑。在不同拓扑下,RN-based方法总是产生了很少的多播代价。当数据包丢失的概率增加,相应的恢复代价也会有所增加。随着网络规模(交换机的数目)和接收端数目的扩展,所有算法的恢复代价都会增加。通过增加恢复节点的数量来提高RN-based方法,虽然没有明显的效果,但是还是可以降低总的代价。在单个发送端的情况下,RAERA会实现更好的多播效果。然而,发送端节点数量的增加会让本申请的两种方法变得比RAERA方法更好。

RAERA方法是为了实现软件定义网络的可靠多播路由。但是这种方法只适用于单个发送端的情况。它包括两个阶段。首先,从唯一的发送端节点出发构建一棵多播树,然后把树里的每一个接收端节点进行重路由,减少传输代价。同时,RAERA的重路由还要确保至少在每个接收端节点上游存在一个恢复节点。

本申请通过不同的网络(发送端、接收端和恢复节点数量变化,链路失效的概率β以及网络规模的改变)实现了大量的实验。ReMUS对应的模型适用于通用的场景,因此为了简化实验,假设每条链路的传输代价是1。因此,总的使用链路代价(数目)相当于多播森林的传输代价。评价指标是ReMUS的总代价,它由传输代价和恢复代价组成。首先,用三种算法构建多播森林。然后,记录不同多播森林的传输代价,恢复代价和总代价。在下面的所有测试里默认α=1。此时,多播总代价就是传输代价与恢复代价之和。

针对于Internet2环境的实验:

在该实施例中,基于Internet2的网络做实验。假设α=1,这代表恢复代价会和传输代价具备相同的权重。除非特殊声明,本申请设置发送端的数目是3、接收端数目是10,而恢复节点数目也是10。本申请每次测试会重复5次,最后求取平均值。在每轮实验里,本申请随机选择发送端和恢复节点的位置。此外,本申请设定标准的数据包丢失率是β=0.1,代表接收端节点进行恢复的期望。每条链路的数据包丢失率都是一样的。

参照图7所示,为本发明提供的基于Internet网络环境下链路失效概率对多播总代价影响的分析结果示意图。其中β为链路失效概率。为了评价链路失效的概率对算法性能的影响,本申请令β从0增加到0.1。每次增加的间隔是0.01。图7是一个直方图,其中包含了三种算法的三种代价。特别明显的,β增加会让恢复代价和总代价都上升。然而,这个变化比较微弱。当β=0,所有算法的恢复代价都是0。这是因为没有数据包丢失。尽管传输代价保持稳定,但是RN-based方法的传输代价最好。这是因为该方法用了多个发送端,并且采用了贪婪的策略。比较图中三种算法的恢复代价,本申请的两种方法都比单个发送端的RAERA方法更有效。图7显示本申请的RN-based方法产生更少的总代价。这是因为它的传输代价更有优势。总的来说,恢复代价会随着β的增加而增加。RN-based方法可以实现最少的总代价。

参照图8所示,为本发明提供的基于Internet网络环境下发送端节点数量对多播总代价影响的分析结果示意图。本申请让发送端数目从1增加到10。如果不改变其他参数,看得出增加的发送端会对本申请的方法有很大影响。而RAERA受到的影响较小,这是因为RAERA只会随机选择一个发送端。虽然RAERA在多个发送端的情况下效果不好,但是在单个发送端的情况下会有很少的传输代价,这就使得RAERA在单个发送端的时候总代价会很小。本申请的方法却在多个发送端下体现出很好的效果。而且,RN-based方法可以实现最少的总代价,这是因为它考虑了恢复节点的位置,而降低ReMUS的恢复代价。对于本申请的SR-based和RN-based方法,在发送端节点数量增加到10时,两种方法的恢复代价降低到传输代价的四分之一。但是,当发送端数量增加到8以后,它们的优势就不再明显。在此以后,两种方法的总代价保持稳定。这也说明使用太多发送端是不必要的。

参照图9所示,为本发明提供的基于Internet网络环境下接收端节点数量对多播总代价影响的分析结果示意图。如果其他参数不变,本申请测试了当接收端节点从10增加到30时恢复代价和传输代价。如图9显示,所有代价毫无疑问都会增加。其中,恢复代价的变化最为明显。尤其是RAERA方法。而且,RAERA多播这是有最高的总代价和恢复代价。这是因为它的发送端节点只使用了一个,而限制在传输路径上必须包含一个恢复节点。当接收端节点数量增加,RAERA的恢复代价会快速的增加。本申请的方法RN-based和SR-based多播有类似的变化趋势。它们的传输代价几乎是一样的;而且,随着接收端数目增多,两种方法的代价增加的较为缓慢。RN-based方法是更好的。因为RN-based方法考虑到恢复节点的位置,会有最少的恢复代价。

参照图10所示,为本发明提供的基于Internet网络环境下恢复节点数量对多播总代价影响的分析结果示意图。让恢复节点从5增加到20来测试恢复节点数目变化会对三种算法代价的影响。如图10所示,本申请的RN-based方法会有最少的恢复代价和最少的传输代价。RAERA和RN-based方法都对恢复节点有感知能力,所以这两种方法的代价会受到该恢复节点变化的影响。具体来说,就是这两种方法在构建多播树的时候会考虑到使用恢复节点降低恢复代价;而SR-based方法本来就只基于发送端恢复,所以不会受恢复节点数目变化的影响。当恢复节点最多,SR-based方法的恢复代价保持不变。

当很少的节点被选做恢复节点,RAERA会有一个较高的恢复代价。这是因为它的发送端只有一个。当恢复节点最多,RAERA的恢复代价下降得最快。但是RN-based的恢复代价会更小。这是因为RN-based使用了多个发送端。

总的来看,以上四组不同变量的测试可以反映出Internet2拓扑下RN-based方法的有效性。该方法不仅有最少的恢复代价,还有最少的总代价。尽管Internet2是一个真实的拓扑,规模却不是很大。因此,在大规模下对本申请设计的两种算法测试采用了数据中心网络常见的胖树拓扑。

现代数据中心是一种非常重要的网络设施,可以给不同的租户提供云计算这类服务。为了评价本申请RN-based和SR-based方法的性能,本申请在大规模的胖树拓扑下进行实验。然后比较不同算法的恢复代价和传输代价。为了排出实验中随机的影响,每轮测试会重复50次然后求平均值。除了特殊说明,设置发送端的数目是10,接收端数目是200,恢复节点数目是600,网络的交换机数目是1000,链路失效概率是0.1,恢复代价和传输代价的权重是1。这些节点都是随机选择的,因而它们的位置和算法是无关的。

参照图11所示,为本发明提供的基于数据中心网络环境下链路失效概率对多播总代价影响的分析结果另一个实施例的示意图。在之前的设置下,先构造1000个交换机容量的胖树网络。让链路丢失数据包的概率从0增加到0.1。图11显示了它的传输代价和恢复代价。明显地,所有传输代价是不受概率变化的影响。所有的恢复代价都会在失效概率增加的时候上升。同时,本申请的方法在恢复代价上比RAERA方法更好。RAERA多播的恢复代价不仅是最高,也是增加的最快。而RN-based方法无论β如何变化,始终是最好。

参照图12所示,为本发明提供的基于数据中心网络环境下网络交换机数量对多播总代价影响的分析结果示意图。交换机数量从1000增加到3000,会对三种算法造成如图12所示的影响。当网络规模增加,所有的恢复代价增加。尤其是RAERA方法的恢复代价增加得最快。它的恢复代价也是三种算法里最高的。然而,本申请的RN-based方法有最少的恢复代价。三种算法的传输代价都增加的很慢,但都比各自的恢复代价要大很多。同时,RN-based方法也有最少的传输代价。它的总代价也是最少的。

参照图13所示,为本发明提供的基于数据中心网络环境下发送端节点数量对多播总代价影响的分析结果示意图。图13显示了发送端数目从1增加到10对三种算法的影响。SR-based方法的恢复代价随着发送端增多会快速降低。RAERA的传输代价却一直保持稳定,这是因为该算法只会使用其中一个发送端。而只有一个发送端的情况下,RAERA性能会比SR的性能要好。然而,RN-based方法才是最好的,并且产生最少的恢复代价和传输代价。

参照图14所示,为本发明提供的基于数据中心网络环境下接收端节点数量对多播总代价影响的分析结果示意图。让发送端数量从100增加到400,观察到所有的恢复代价和传输代价都会增加。为了确保发送端、接收端和恢复节点的总数少于交换机的数量,让恢复节点数量为550个,而不是600个。图14显示接收端节点的增加会使得恢复代价和传输代价增加。其中,恢复代价增加的更快也更明显。同时,RN-based方法产生最小的恢复代价,这只有RAERA方法的恢复代价的一半。此外,每种算法的传输代价会远高于各自的传输代价。RN-based方法的总代价总是最少的。

参照图15所示,为本发明提供的基于数据中心网络环境下恢复节点数量对多播总代价影响的分析结果示意图。如果不改变其他参数,让恢复节点从100个增加到700个。图15显示了它对多播算法的影响。当恢复节点增加,RAERA方法和RN-based方法会有很大提高,它们的恢复代价可以降低,从而总代价也会减少。但是,RN-based方法的恢复代价和总代价一直表现得比RAERA方法更好。RAERA多播的恢复代价是最高的。SR-based方法的传输代价一直是稳定的,这是因为该算法在恢复节点增多时也只要发送端来进行恢复,故而,恢复节点的变化不会对它造成影响。同时,RN-based方法不仅可以实现最少的传输代价,它的总代价是最少的。

总的来看,尽管数据包丢失概率和交换机数目、发送端数目、接收端数目以及恢复节点的数目不同,本申请的RN-based方法始终是最好的。它的恢复代价、传输代价以及总代价都比另外两种算法更好。

和传统多播方法相比,不确定发送端的多播可以更好地提高可靠性。即使软件定义网络的出现让之前的多播方法有了很大改进,不确定多播的路由方法仍然缺乏更多的关注。因此,本申请提出了ReMUS问题来实现总代价最小化的多播流传输。并且经过说明,这个问题是NP难的。本申请设计了RN-based和SR-based方法来优化恢复代价,同时保证较好的传输代价。在实验部分,本申请做了大量的实验。使用了两类典型的拓扑,Internet2和大规模的数据中心网络拓扑。实验结果显示,和传统的多播方法如RAERA相比,不确定发送端的多播方法可以引发更少的多播开销。具体来说,RN-based方法有利于降低恢复代价,从而使得总的多播代价更小。

基于上述目的,本发明实施例还提出了一种执行所述不确定源条件下的可靠多播路由构建方法的电子设备的一个实施例。

所述执行所述不确定源条件下的可靠多播路由构建方法的电子设备包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述任意一种方法。

如图16所示,为本发明提供的执行所述不确定源条件下的可靠多播路由构建方法的电子设备的一个实施例的硬件结构示意图。

以如图16所示的电子设备为例,在该电子设备中包括一个处理器201以及一个存储器202,并还可以包括:输入装置203和输出装置204。

处理器201、存储器202、输入装置203和输出装置204可以通过总线或者其他方式连接,图16中以通过总线连接为例。

存储器202作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的所述不确定源条件下的可靠多播路由构建方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的不确定源条件下的可靠多播路由构建方法。

存储器202可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据不确定源条件下的可靠多播路由构建方法对应装置的使用所创建的数据等。此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器202可选包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至不确定源条件下的可靠多播路由构建方法对应装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置203可接收输入的数字或字符信息,以及产生与不确定源条件下的可靠多播路由构建方法对应装置的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器202中,当被所述处理器201执行时,执行上述任意方法实施例中的不确定源条件下的可靠多播路由构建方法。

所述执行所述不确定源条件下的可靠多播路由构建方法的电子设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

需要说明的是,本申请的主题虽然包括在不确定源条件下的多播路由设计,但是基于本申请方法的设计思路表明,本申请构建多播路由的方法只是更加适用于采用不确定源的情况,即发送端位置不确定的情况,但是并不能使得本申请只限于使用在不确定源条件中,而是也可以在确定源条件中采用本申请对应的方法构建多播路由。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。

此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。

本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号