CN1965532B - 具有端到端可靠性的群通信的方法和设备 - Google Patents
具有端到端可靠性的群通信的方法和设备 Download PDFInfo
- Publication number
- CN1965532B CN1965532B CN2005800134414A CN200580013441A CN1965532B CN 1965532 B CN1965532 B CN 1965532B CN 2005800134414 A CN2005800134414 A CN 2005800134414A CN 200580013441 A CN200580013441 A CN 200580013441A CN 1965532 B CN1965532 B CN 1965532B
- Authority
- CN
- China
- Prior art keywords
- node
- end system
- buffer
- orphan
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1868—Measures taken after transmission, e.g. acknowledgments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/15—Flow control; Congestion control in relation to multipoint traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明致力于覆盖组播网络中的可缩放性和端到端可靠性。使用一种吞吐量可缩放并且端到端可靠的简单端系统组播体系结构。在该体系结构中,节点之间的传送利用TCP以及反压机制来提供具有有限大小的转发缓冲器的中间节点之间的数据分组传送。在每个节点中还存在一个有限大小的备份缓冲器来保存从接收器窗口复制到转发缓冲器的分组的副本。当重新建立TCP连接时使用这些备份缓冲器,以便在子节点的父节点发生故障之后,向子节点提供数据分组的副本,对组播覆盖网络内的所有节点保持完整的数据分组序列。该体系结构提供端到端可靠性,容许多个同时的节点故障,并且向任意群规模和任意缓冲器大小提供正的吞吐量。
Description
技术领域
本发明涉及以可缩放的吞吐量以及有保证的端到端可靠性通过应用层组播进行内容传送方法和设备。
背景技术
在许多应用(例如基于因特网的内容分发网络)中,传送信息的可取手段是组播,其同时向一组选择的主机传送信息。目前存在支持因特网协议(“IP”)网络中的组播的一组标准。但是,覆盖(或者应用层)组播已成为支持网络的IP组播的日益普及的备选方案。虽然IP组播在因特网上并不普遍可用,并且要求为每个通信群分配全球唯一的IP地址,不过在现有的基础设施上能够容易地实现组播覆盖,并且不需要任何全球群标识符。
在高抽象级别上,覆盖网络(overlay network)可被描述成定向通信图,其中节点是端系统,任意两个节点之间的棱边(edge)代表这两个节点之间的路径。在端系统组播体系结构中,通过在端系统之间建立点对点连接形成覆盖,每个节点按照存储转发方式把数据转发给下游的节点。在端系统级别形成组播分发树。这样的范例被称为端系统组播,或者应用层组播,或者简单地称为利用覆盖的组播。虽然该路径实际上可能经过物理网络中的几个路由器,在这种抽象级别上,该路径被看作覆盖网络中的直接链路。
节点可通过各种形状或拓扑(例如树形拓扑)被连接。端系统明确参与按照存储转发方式把数据转发给其它节点。在从覆盖网络中的其父节点收到数据之后,节点将在其每个输出链路上复制数据,并把所述数据转发给覆盖网络中它的每个下游节点。
随着利用宽带因特网接入的用户或主机的激增,端系统组播已成为具有固有的部署障碍的支持IP组播的一种日益实际、可行并且吸引人的备选方案。最近已进行了一些研究,以检查有效的覆盖树构成和维护的协议开发。这些研究包括Y.H.Chu,S.G.Rao和H.Zhang,A Casefor End System Multicast,in Proceedings of ACM SIGMETRICS,June 2000,P.Francis,Yoid:Extending the Internet MulticastArchitecture,(April 2000)http://www.icir.org/yoid/docs/yoidArch.ps.gz,D.Pendarakis,S.Shi,D.Verma和M.Waldvogel,ALMI:An Application Level MulticastInfrastructure,3rd Usenix Symposium on Internet Technologies andSystems(USITS),March 2001,B.Zhang,S.Jamin,L.Zhang,HostMulticast:A Framework for Delivering Multicast To End Users,Proceedings of IEEE Infocom(2002),S.Banerjee,B.Bhattacharjee和C.Kommareddy,Scalable Application Layer Multicast,Proceedings of ACM Sigcomm 2002,J.Liebeherr,M.Nahas,Application-layer Multicast with Delaunay Triangulations,To appearin JSAC,special issue on multicast,2003,S.Shi和J.Turner,PlacingServers in Overlay Networks,Technical Report WUCS-02-05,Washington University,2002,S.Shi和J.S.Turner,Multicast Routingand Bandwidth Dimensioning in Overlay Networks,IEEEJSAC(2002),以及A.Riabov,Z.Liu,L.Zhang,Multicast overlay Treeswith Minimal Delay,Proceedings of ICDCS 2004。
通过利用点对点传输控制协议(“TCP”)连接,也可在覆盖网络中实现可靠的组播。在J.Jannotti,D.Gifford,K.Johnson,M.Kasshoek和J.O′Toole,Overcast:Reliable Multicasting with an OverlayNetwork,Proc.of 4(th)Symposium on Operating Systems Design andImplementation,Oct.2000中,在端系统之间使用超文本传输协议(“HTTP”)连接。在Y.Chawathe,S.McCanne和E.A.Brewer,RMX:Reliable Multicast for Heterogeneous Networks,Proceedings ofIEEE Infocom,2000中,直接使用TCP会话。这种方法的主要优点在于部署的简易性。另外,由于逐跳拥塞控制和数据恢复的缘故,证明能够更好地处理接收器方面的异质性。
但是,直接利用TCP会话的方法存在两个问题。第一个问题涉及端到端可靠性。在组播覆盖树中的内部节点发生故障的情况下,生根于故障节点的子树中的节点需要重新附着到剩余的树上,并且需要从TCP会话被停止的点重新建立TCP会话。这种重新附着到剩余的树上,并且重新建立TCP会话的问题在文献中被称为弹性(resiliency)问题,在这方面,它包括故障的检测和树的重构。
最新的弹性体系结构已成为热门话题。例如,在S.Banerjee,S.Lee,B.Bhattacharj ee,A.Srinivasan,Resilient Multicast usingOverlays,Sigmetrics 2003中,利用随机备份链路提出一种弹性组播体系结构。即使重新附着的节点可被发现并且树可被重新构成,仍然不能保证TCP会话能够从他们被停止的那一点重新开始。这种局限性归因于覆盖网络中的中间节点的转发缓冲器大小有限,只能够把一定量的信息保持一段时间。于是,新建立的TCP会话需要的分组可能不再存在于转发缓冲器中。
在利用覆盖网络的可靠组播中出现的第二个问题是可缩放性。缺少当在基于覆盖的群通信中把TCP协议用于提供可靠的内容传送时,对TCP协议的性能的了解。虽然研究已提倡TCP连接的覆盖网络的使用,不过这些研究没有解决在吞吐量、缓冲器要求和内容传送的等待时间方面的可缩放性顾虑。
相反,最近十年中,在支持IP的可靠组播传送协议的设计和评估上花费了大量的努力,例如参见S.Floyd,V.Jacobson,C.Liu,S.McCanne和L.Zhang,A Reliable Multicast Framework forLigth-Weight Sessions and Application Level Framing,IEEE/ACMToN,December 1997,Vol.5,Number 6,pp.784-803,C.Bormann,J.Ott,H.-C.Gehrcke,T.Kerschat,N.Seifert,MTP-2:TowardsAchieving the S.E.R.O.Properties for Multicast Transport,ICCCN1994和B.N.Levine和J.J.Garcia-Luna-Aceves,A Comparison ofReliable Multicast Protocols,ACM Multimedia Systems,August1998。对于这样的支持IP的可靠组播方案,其他研究,例如E.M.Schooler,Why Multicast Protocols(Don′t)Scale:An Analysis ofMultipoint Algorithms for Scalable Group Communication,Ph.D.Dissertation,CS Department,256-80 California Institute ofTechnology,2000和A.Chaintreau,F.Baccelli和C.Diot,Impact ofTCP-like Congestion Control on the Throughput of Multicast Group,IEEE/ACM Transactions on Networking vol.10,p.500-512,August2002已举例说明当群大小增大时,群吞吐量消失。从而这些方案存在可缩放性问题。
最近关于基于覆盖网络的可靠组播的可缩放性问题已报告了一些初步结果。在G.Urvoy-Keller和E.W.Biersack,A MulticastCongestion Control Model for Overlay Networks and itsPerformance,NGC,October 2002中,作者研究了可缩放性问题,同时考虑了用于点对点可靠传输的具有固定窗口大小的TCP友好的拥塞控制机制。给出了表示端系统缓冲器的大小对群吞吐量的影响的模拟结果。在F.Baccelli,A.Chaintreau,Z.Liu,A.Riabov,S.Sahu,Scalability of Reliable Group Communication Using Overlays,IEEEInfocom 2004中,具有早期拥塞通知(“ECN”)的加法增长乘法递减(“AIMD”)窗口拥塞机制被视为点对点可靠传送协议。在端系统具有无限大小的缓冲器的假设下,表明在群吞吐量由与群规模无关的常数确定下界的意义上,这种基于覆盖网络的可靠组播具有可缩放的吞吐量。
于是,仍然需要一种简单的端系统组播体系结构,其中利用TCP执行端系统之间的传输,并且中间节点具有有限大小的转发缓冲器和备份缓冲器。该组播体系结构可提供端到端可靠性,并且容许多个同时的节点故障。另外,对于任何群规模和任何缓冲器大小来说,该可靠群通信的吞吐量始终严格为正值。
发明内容
本发明的目的在于包含多个端用户节点的可缩放、端到端可靠的组播覆盖网络,所述组播覆盖网络利用本地(native)传输控制协议(“TCP”)并结合反压机制来避免节点之间的数据分组丢失。每个中间节点包含大小有限的输入和输出缓冲器以及备份缓冲器。备份缓冲器被用于保存从输入缓冲器复制到输出缓冲器的分组的副本。当在节点故障之后重新建立TCP连接时,使用保存在这些备份缓冲器中的数据分组副本。TCP的反压机制不仅允许可靠的点对点传送,而且允许可缩放的端系统组播。
本发明的目的在于为由于节点故障的缘故脱离覆盖网络的孤儿端系统节点的重新连接创造条件的方法和系统。可处理多个同时的节点故障。在孤儿节点和与这些孤儿节点相关的任何子树的重新连接之后,在整个网络内传送新的树拓扑,向新近重新连接的端系统节点提供保证从源节点到覆盖网络树中的每个端系统节点的连续、不间断的数据分组流的传送所必需的数据分组的副本。这些数据分组副本是保存在包含于覆盖网络中的每个节点中的备份缓冲器中的数据分组副本。按照覆盖网络的所需配置重新连接孤儿节点,并且所述孤儿节点能够遵循被安排成优化网络的特定质量(例如吞吐量),或者使不良特性(例如通信延迟)最小化的贪心试探法。本发明还向端系统节点提供脱离覆盖网络树和加入覆盖网络树,以保证组播覆盖树内群通信(group communication)的可靠性和可缩放性的方法。
附图说明
图1是根据本发明的组播覆盖网络的示意图;
图2是图1的覆盖网络的另一示意图;
图3是供本发明的覆盖网络之用的端系统节点的示意图;
图4是根据本发明的具有输入和输出阻塞的高度为2的二叉树的示意图;
图5是图4的单个节点的示意图;
图6是表示具有重传和重新排序约束的一系列TCP连接的随机图;
图7是作为在TCP-SACK情况下的群规模,指数往来通信量和不同的输出缓冲器大小的函数的群吞吐量;
图8是往来通信量的几个法则的吞吐量的图;
图9是相对于分级丢失概率的群吞吐量的图
图10是树深度的演化的一个例子的图;
图11是非叶节点的平均度的演化的一个例子的图。
具体实施方式
可靠的群通信要求按照有效的方式从单一源向多个端用户同时传送相同的内容。通过利用组播树形结构,使内容的广播效率高,在组播树形结构中,树的每个节点复制它从其母节点收到的分组,并将复制的分组之一发送给其每个子节点。与树的节点是因特网路由器并且需要专门的路由和控制机制的天生可靠的因特网协议(“IP”)组播相反,组播覆盖使用其中节点是实际的端系统或者端用户并且只要求端系统之间目前可用的点对点连接的树。
覆盖网络树中的棱边代表它所连接的两个节点之间的路径。虽然该路径可能经过物理网络中的几个路由器,不过在组播覆盖网络中使用的抽象级别把该路径看作覆盖网络树中的端系统节点之间的直接链路。端系统节点明确参与按照存储转发的方式把数据分组转发给其它端系统节点。
利用适当的通信协议实现节点(例如母节点和子节点)之间的点对点通信。可以使用为覆盖网络树内的节点之间的数据分组的可靠分发或传输以及各种节点之间的协议和控制信号的传递创建条件的任何适当通信协议。最好,所述通信协议是TCP。在本实施例中,TCP被用作给定组播覆盖网络中的每对节点之间的点对点或者跳到跳传送协议。在一个实施例中,如同在例如TCP-RENO或者TCP-NewRENO中那样,实现快速重传快速恢复。在M.Allman和V.Paxson.RFC2581-TCP Congestion Control(http://www.ietf.org/rfc/rfc2581.tex(1999))中可找到快速重传快速恢复的一个例子,该文献在此整体引为参考。在一个备选实施例中,还使用有选择的确认(“SACK”)。另外,尽管不要求,不过明确拥塞通知(“ECN”)可被用作节点之中的通信协议中的中间步骤。
如图1-3中所示,在组播覆盖网络10中,源母节点12向一个或多个子节点14发送数据。在从源母节点12接收数据之后,每个子节点14复制数据,并且充当后来的母节点,在其每个输出链路16上把数据的副本发送给覆盖树10中它的每个后续子节点18。在该覆盖网络10中,除了只接收数据而不重传数据的叶节点之外,保存和转发分组的每个节点都供应用于分组转发目的的缓冲器。如图3中所示,所有节点16,源母节点14除外,但是包括叶节点18,都包含一个与上游TCP的接收器窗口对应的输入缓冲器20,并且除了叶节点18之外,每个节点16都包含几个输出或转发缓冲器22。最好,每个节点16包含用于每个下游TCP连接或者后续子节点18的一个输出缓冲器。
另外,给定的一组节点中的每个节点包含与输入缓冲器20和每个输出缓冲器22通信的至少一个备份缓冲器24.在一个实施例中,包含备份缓冲器的该组节点包括在源节点之后的既包含输入缓冲器又包含输出缓冲器的那些节点.于是,叶节点,即只接收而不重传数据分组的那些节点不会包含备份缓冲器.这里使用的节点或端系统节点指的是给定的组播覆盖网络内的端系统或端用户,包括叶节点,但是不包括源母节点.每个备份缓冲器24保存被复制并从输入缓冲器20(接收器窗口)传出到输出缓冲器22中的数据分组的副本.这些备份缓冲器24提供覆盖网络10中所需数量的冗余,并且当在一个或多个端系统节点发生故障之后,在覆盖网络中的各个节点之中重新建立通信连接时被使用.
根据通过每个节点转发的数据的数量选择每个节点的输入缓冲器20、输出缓冲器22和备份缓冲器24的大小。输入缓冲器20、输出缓冲器22和备份缓冲器24通常具有有限的大小或容量。对于输入缓冲器20、输出缓冲器22和备份缓冲器24来说,这些缓冲器大小可被分别表示成BIN、BOUT、BBACK。在一个实施例中,备份缓冲器的大小由给出,其中BOUT max是最大输出缓冲器大小,BIN max是最大输入缓冲器大小,m是可被保存在备份缓冲器中的数据分组副本容纳的同时节点故障的数目。
一般来说,组播覆盖树10的拓扑影响群的性能,即,通过覆盖树的数据分组的传输。例如,如果树的深度,即树内排列在串行或连续层级中的节点的数目过大,那么在树中深处的节点以较长的延迟接收分组。另外,如果树的出度或者扩展过大,那么下游连接竞争共用链路的带宽,尤其是在链路的“最后一哩”中,导致拥塞和通信延迟。对于本发明来说,树拓扑被看作给定的,并且给定树的出度或者扇出(fan-out)由常数D限制。
从管理的观点来看,至少一部分的组播覆盖树拓扑被保存在一个或多个端系统节点中。于是,其中保存该拓扑信息的每个节点至少具有整个组播覆盖树的部分视图。另一方面,整个组播覆盖树拓扑被保存在每个节点中。在这里举例说明的一个实施例中,使用一种相对简单的结构,该结构允许每个节点知道其先辈节点及其整个子树。提供该结构只是出于举例说明的目的,本发明并不限于这种结构。根据本发明还可根据备选的体系结构实现。
由于根据本发明可以使用各种组播覆盖树拓扑,因此使用类属符号来表示给定树拓扑内的各个节点。参见图2,每个节点被分配指明端系统在组播树中的位置的一个编号(k,l)对26。第一索引k28是到树的源节点12或根的距离,也被称为层级。第二索引l30允许相同层级内多个端系统的编号。对于完整的二叉树来说,在相同层级上或者在到源节点的相同距离k内的所有端系统用数字l=0,...,2k-1标记。如图所示,完整的二叉树具有为2的最高层级,k=2,并且l=0,1,2,3。
本发明的目的在于在吞吐量可缩放并且端到端可靠性有保证的情况下,提供组播覆盖树中的节点之间的数据分组的可靠传送和转发。在一个实施例中,根据本发明的方法包括利用通信协议和反压(backpressure)机制防止组播覆盖树中节点之间的数据分组丢失。这里使用的反压机制(尤其是TCP的反压机制)指的是当包含在布置在树中更深处的端系统节点中的输入或输出缓冲器达到容量时,通过网络把阻止(impede)信号回送给例如发送者或者母节点,避免覆盖网络树内的帧或数据分组丢失的机制或算法。
在组播覆盖中可能存在三种不同类型的分组丢失。第一种是在端系统节点(发送者和接收者或者母节点和子节点)之间的路径中发生的丢失。在一个实施例中,本发明通过使用TCP在端系统节点之间传送数据分组,避免或恢复这些第一种丢失。特别地,本发明依赖于TCP内的确认和重传机制。
第二种是由位于端系统节点中的输入缓冲器中的溢出引起的丢失。根据本发明,第二种丢失由用于通过组播树转发数据分组的通信协议的反压机制解决。在一个实施例中,协议是TCP,反压机制包括用于单一分组数据丢失的RENO,用于多个丢失或者错误的NewRENO以及SACK。另一方面,也可使用ECN。在反压机制的一个实施例中,位于给定接收者节点的输入缓冲器中的可用空间被传送给树中的其它节点,例如传送给该给定节点的发送者或者母节点。在一个实施例中,这是通过TCP的确认协议(“ACK”)来传递的。由TCP连接的给定节点发送的确认分组包含在其输入缓冲器或者接收器窗口中目前可用的空间。响应接收者节点发送的空间信息,发送者节点将不发送或者转发新的数据分组,除非该新分组,以及任何其它传输中的分组在输入缓冲器中具有足够的空间。除了把输入缓冲器中的可用空间通知发送者节点之外,当输入缓冲器中的可用空间显著减少时,给定的接收者节点利用发送给源节点的特殊数据分组,向覆盖树中的其它节点发送通知。在一个实施例中,当缓冲器空间与最大段长度(MSS)相差两倍或者更多时,发送通知。
第三种是由位于端系统节点中的输出缓冲器中的溢出引起的丢失。在复制数据分组并把副本发送给输出缓冲器的过程中会发生这些第三种丢失。在一个实施例中,反压机制还被用于防止这种丢失。根据本发明,只有在数据分组被复制到给定端系统节点的所有输出缓冲器之后,才从该端系统节点的输入缓冲器中除去该数据分组。除非在输出缓冲器中存在容纳该数据分组的足够空间,否则复制处理被阻止。一旦在该输出缓冲器中存在用于一个数据分组的足够空间,就恢复复制和传送。从而,这种“阻止”反压机制消除了在端系统节点的输出缓冲器的溢出,所述溢出可由向输出缓冲器发送超出该输出缓冲器处理能力的更多数据分组引起。于是,根据本发明使用的体系结构避免了第三种的数据分组丢失。即使对于大小有限的缓冲器,根据本发明使用的反压机制也能够避免在覆盖节点的数据分组丢失。于是,本发明促进大小有限的输入和输出缓冲器的使用。
本发明还解决了由分组丢失引起的重新排序延迟的问题,重新排序延迟能够显著影响吞吐量,从而影响群通信的可缩放性。当数据分组沿着覆盖网络树中的路径丢失时,通信协议(例如TCP)最终重传丢失的数据分组。但是,由于这些重传输,数据分组的顺序或排序会被搅乱。例如,具有较大序号的一些数据分组将在复制的重传数据分组到达之前到达给定的节点,所述较大序号指示这些数据分组稍后被转发并且应跟在重传的数据分组之后。给定节点顺序复制并把数据分组从输入缓冲器转发给输出缓冲器。于是,较早到达的具有较大序号的数据分组将不被复制到转发缓冲器,直到在复制的重传数据分组到达并被转发为止。
对于给定的节点,分组处理中的延迟对节点的吞吐量的影响可以忽略。但是,处理延迟在覆盖网络中的数据分组的整个流动中产生扰动。这些扰动表现为到达后续的下游节点的数据分组的突发,并且会在节点之间的下游路径中造成明显的性能退化。源于一个节点的扰动还能够在后续的子树中产生波纹效果。另外,作为反压机制的结果,这些性能退化会影响源节点发送速率,从而影响群通信吞吐量。
端系统组播网络中的弹性涉及覆盖网络内的节点故障和节点撤离的处理.这些故障和撤离通常在没有预先通知或报警的情况下发生.于是,在一个实施例中,本发明提供在至少一个节点中的故障的检测之后,组播覆盖网络中的节点之间的可靠数据分组传送.根据本发明,通过利用通信协议和反压机制,可结合或者独立于分组丢失的防止提供可靠的数据分组传送.本发明的目的还在于一种在局域网和广域网中实现这些算法的计算机可执行代码,以及包含这些代码的计算机可读介质.
在一个实施例中,本发明检测组播覆盖树中的至少一个端系统节点故障。最好,本发明提供多个节点故障的同时检测,和检测到多个节点故障之后的可靠数据传送。由于诸如TCP之类的通信协议并不总是提供检测未应答节点的可靠并且高效的机制,因此需要其它方法来检测故障。根据本发明检测节点故障的适当方法包括心跳探查和保活信号。对于心跳探查来说,每隔一定时间通过用户数据报协议(“UDP”)把心跳消息发送给给定节点的所有相邻节点。遗失来自相邻节点的心跳用信号表明节点故障或者节点撤离。可按照类似的方式建立保活消息接发系统。
当检测到节点故障时,组播覆盖树被重新配置,以致故障节点的成为孤儿的节点和生根于这些孤儿节点的子树被重新附到或者重新连接到初始的组播树上,同时保持从源节点到每个剩余的端系统节点的完整数据分组序列的传送。故障端系统节点的孤儿节点包括故障节点下游的源于故障端系统节点或者从故障端系统节点接收数据分组的所有节点。孤儿节点包括为故障节点的子节点的孤儿子节点和包含在生根于这些孤儿子节点的子树中的端系统节点。在一个实施例中,在每个孤儿节点的重新连接之后,建立新的TCP节点连接。用于重新附着孤儿节点的新节点可被看作故障节点的孤儿节点的替代母节点。各种方法可被用于重新配置组播树。下面讨论供本发明使用的适当方法。
在本发明的方法的另一实施例中,检测多个同时的端系统节点故障,所有成为孤儿的端系统节点被同时重新连接到组播覆盖树。
通过把关于新配置的子树的信息向上回送到根或源母节点,并把先辈树信息向下分发到新近重新连接的子树,完成这种重新配置。在一个实施例中,有关新配置的子树的拓扑信息的分发由故障节点的母节点和子节点发起,先辈树信息的分发由“继母”节点发起。
除了树形结构的弹性之外,在故障或撤离节点的识别及故障或撤离节点的孤儿节点和子树的重新连接之后实现端到端可靠性还包括保证数据完整性。保证数据完整性包括向新的替代母节点(或者说“继母”节点)提供足够陈旧的数据,以致重新连接的子节点和这些子节点的子孙从源母节点接收完整的数据分组序列。在本发明中,位于每个端系统节点中的备份缓冲器被用于在成为孤儿的节点被重新连接之后,保存通过子树的数据分组的副本,保证数据完整性。这里使用的完整的数据分组序列包含向端系统节点提供从源节点提供的服务或信息的足够完整和连续的数据流所必需的所有数据分组,例如完整的视频会议,完整的电影或者完整的音频广播。当建立新的连接时,正在创建新连接的发送者节点的备份缓冲器中的数据分组被复制到与所述新连接对应的发送者节点中的输出缓冲器中。由于备份缓冲器包含已从输入缓冲器复制到输出缓冲器的较陈旧数据分组的副本,发送者节点从其输出缓冲器中较陈旧并且序号比发送者节点的输入缓冲器中目前的序号小的数据分组开始。
选择备份缓冲器的大小,以保持足够的数据,从而提供被传送给输出缓冲器的足量的较陈旧数据。在下面更详细说明的一个实施例中,备份缓冲器的大小被选为与输入缓冲器和输出缓冲器的大小相比足够大,以致即使当存在多个同时的节点故障或撤离时,也能够提供端到端可靠性。例如,如果BOUT max和BIN max分别是给定节点的输出缓冲器和输入缓冲器的最大大小,那么备份缓冲器的大小可以是:
以便容许m个同时的节点故障和撤离。根据本发明的本实施例,每个故障节点或撤离节点的子节点可被重新附着到生根于故障节点或撤离节点的第m代先辈的子树中的任意节点。
根据本发明用于保证端到端可靠性的备份缓冲器体系结构非常简单。特别地,可在应用层实现该体系结构,不需要搜索处理具有供将被重新附着的每个孤儿节点使用的正确号码序列的数据分组的端系统节点。
本发明还解决了节点离开或加入组播覆盖树的程序。虽然按照惯例,UDP一直被用于实时应用,不过由于包括公平带宽共用和按次序的数据分组传送在内的优点,TCP是UDP的优选替代物,尤其是对于多媒体应用来说更是如此。另外,TCP能够通过客户机加入的只允许HTTP通信量的防火墙。由于本发明的基于端系统的可靠组播体系结构可被用于广播实况事件,因此使用令节点或端用户主动离开或加入进行中的实况广播的程序。
在一个实施例中,节点离开组播覆盖树或者被从组播覆盖树清除的程序包括把撤离或清除通知待清除节点的母节点和子节点,随后断开对应的TCP会话。随后关于节点故障重新配置覆盖网络树。当节点被增加到或者加入覆盖网络中的该组节点中时,该节点联系源母节点,所述源母节点向新节点提供关于其母节点的必要信息。新节点随后建立与指定的母节点的TCP连接。除了为了新树中的端到端可靠性之外,源母节点还把关于缓冲器大小的约束通知新节点,以致新节点中的输入缓冲器和输出缓冲器大小分别不会超过BIN max和BOUT max,并且备份缓冲器大小满足不等式(1)。离开和加入程序由在节点故障情况下使用的拓扑信息更新过程来完成。
避免数据分组序列中的中断可能不是无足轻重的,尤其是对于远离根节点的节点来说更是如此,因为发生故障时,这些节点正在接收的分组可能已被所有其它群成员(除了故障节点之外)处理和丢弃。于是,备份缓冲器被用于产生流内容(即否则在节点故障期间会被丢失的数据分组)的副本。如图3中所示,当数据分组从输入缓冲器20转移到输出缓冲器22时,离开输入缓冲器的每个数据分组的副本被保存(40)在备份缓冲器24中。备份缓冲器随后可被用于通过把副本传送给(42)输出缓冲器22以便转发给子节点18,恢复在节点故障期间丢失的数据分组。
根据本发明的容许m个同时故障的端到端可靠群通信可被定义为同时从组播树中清除m个节点,同时重新连接所有成为孤儿的节点,继续传输,并向所有剩余的节点提供来自源母节点的数据分组的完整传输。换句话说,m个节点的故障不会导致在剩余节点接收的流的顺序或内容的任何变化。但是,故障恢复会导致为恢复连通性而需要的延迟。
在覆盖网络正在恢复m个故障的时间内,不能保证正确地恢复任何另外的故障。但是如果发生l个故障,1≤l≤m,那么即使所述故障在系统已被完全恢复之前发生,系统也能够恢复另外的(m-l)个故障。在这种情况下,恢复期间发生的新故障会增大总的恢复时间。例如,如果BOUT max和BIN max分别是系统中的输出缓冲器和输入缓冲器的最大大小,那么r阶的备份缓冲器的大小为(r·(BOUT max+BIN max)+BOUT max)。其中r阶被定义为可由本发明的系统和方法处理的同时故障的数目。
在一个实施例中,下述算法被用于恢复故障。节点(k′,l′)是节点(k,l)的幸存先辈,如果节点(k,l)的母节点未能幸免于该故障,并且(k′,l′)是从(k,l)到源母节点的路径上的第一个幸存节点的话。每个断开的端系统(k,l)被重新连接到属于幸存先辈(k′,l′)的子树的一个节点上。在连接被恢复之后,节点(k′,l′)重新传送包含在其备份缓冲器中的所有分组。随后它通过从输入缓冲器读取并写入输出缓冲器,继续传输。从(k′,l′)到(k,l)的新路径上的中间节点,以及(k,l)的整个子树中的所有节点都能够忽略它们已收到的分组,只是把所述已收到的分组转发给下游节点。
于是,可用下面的定理表述根据本发明的端到端可靠性。具有大小为(m·(BOUT max+BIN max)+BOUT max)的备份缓冲器的组播覆盖系统是端到端可靠的,容许m个故障。
为了证明该断言,考虑节点链(k1,l1)→(k2,l2)→(k3,l3)。是TCP连接(ki+1,li+1)上的接收器窗口的大小,i=1,2。如果检测到节点(k2,l2)的故障,那么(k3,l3)与节点(k1,l1)连接,并请求它重新发送从分组编号t+1开始的分组,t是节点(k3,l3)接收的最后分组的编号。保存在位于节点(k2,l2)的输入缓冲器和输出缓冲器中的分组的数目加上往来于节点(k2,l2)的传输中分组的数目最多为(BOUT max+BIN max)。该约束由TCP的接收器窗口大小的选择所保证。最多个分组将‘飞向’节点(k2,l2),不会超过节点(k2,l2)的输入缓冲器中的自由存储区的数量。类似地,最多个分组将‘飞向’节点(k3,l3),但是它们不会被从节点(k2,l2)的输出缓冲器中清除,直到(k3,l3)确认它已收到分组为止。于是,在节点(k1,l1)的最小分组编号与在节点(k3,l3)的最大分组编号之间的差值不会超过在节点(k2,l2)的缓冲器大小的总和。在重传期间,位于节点(k1,l1)的应用不能访问输出套接字缓冲器,另外可能需要重新传送该缓冲器的内容。从而,需要重新传送的分组的数目由BOUT max+(BOUT max+BIN max)限制,BOUT max+(BOUT max+BIN max)是1阶备份缓冲器的大小。
如果(k2,l2)具有一个以上的子节点,那么每个子节点最多要求重新传送BOUT max+(BOUT max+BIN max)个分组,相同的1阶备份缓冲器将提供所有必需的分组。
如果发生一个以上的故障,并且在从断开的节点(k,l)到其幸存的先辈节点(k′,l′)的路径上存在一个以上的故障节点,那么幸存的先辈节点可能需要重新传送位于该路径上的所有故障节点的输入缓冲器和输出缓冲器的内容,加上位于(k′,l′)的输出缓冲器的内容。由于故障节点的数目由m限制,因此该定理被证明。
事实上,故障容许的定义使用了容错文献中的标准概念;于是,上面的证明实际上证实了更有力的结果,这里以推论的形式陈述所述结果:
备份缓冲器大小为(m·(BOUT max+BIN max)+BOUT max)的组播覆盖系统是端到端可靠的,容许树的某个链上的m个同时并且连续的故障。
根据本发明的组播覆盖树允许节点在传输期间离开和加入群中。离开的节点可由上面说明的故障恢复方法处理。在关于加入覆盖网络的节点的一个实施例中,加入传输的节点可能想要连接远方的叶节点,所述叶节点正在处理最小序号的分组,以致新加入的节点能够捕获最多的传送数据。但是,如果延迟是一个重要因素,那么加入节点可连接近可能接近根节点的节点。实际上,特别是由于最后一哩效应的缘故,每个节点的下行链路的最大数目有限,并且不是组播群中的每个节点都能够接受新连接。于是,从还没有用完其容量的“有效”节点中选择新连接的上行链路节点。
在故障之后恢复连通性的程序与加入程序类似,但是对于节点故障来说,替代母节点的选择进一步局限于故障节点的幸存先辈的子树.在通信延迟将被最小化的应用中,目标是在度约束(degree constraint)的条件下,使树尽可能地保持均衡。于是,在一个实施例中,使用贪心试探法来恢复连通性。在一个实施例中,通过使最长的子树重新连接到尽可能地接近根节点或源节点的节点,在度约束的条件下,贪心试探法使总的树深度降至最小。下面关于一个节点故障说明了一种例如称为GREEDY_RECONNECT算法的算法,但是多个同时节点故障的情况可被处理成一系列的单一故障。
首先,假定节点(k,l)发生故障。假定S是生根于(k,l)的子节点的一组成为孤儿的子树。假定A是(k-1,m(k,l))的子树之中,而不是(k,l)的子树之中的一组有效节点。随后选择具有最大深度的子树的节点(k+1,l′)∈S。随后选择最接近源节点的节点(p,q)∈A,并连接(k+1,l′)到(p,q)。随后更新S←S\{(k-1,l′)},并把来自(k+1,l′)的子树的有效节点增加到A中。到S不为空为止,即到所有的子树都已被重新连接为止,完成该处理。
根据目标函数,可以考虑其它方法。例如,在另一实施例中,如果要使吞吐量最大化,并且最后一哩链路具有有限的带宽,那么较低的扇出提供较高的吞吐量,最佳的拓扑是一个链。在另一实施例中,如果要使延迟最小化,那么最佳构形是所有节点与源节点直接连接的星形。另外,如果没有设定具体的目标,那么使用上行链路的随机选择(仍然以扇出约束为条件)。
在群的吞吐量由正常数确定下限而与群的规模无关的意义上,根据本发明的可靠组播覆盖体系结构是可缩放的。即使在具有反压机制的无限大小的组播树中,群吞吐量也是正值。考虑到在G.Urvoy-Keller和E.W.Biersack,A Multicast Congestion Control Model for OverlayNetworks and its Performance,in NGC,October 2002中报告的初步模拟结果,以及在关于支持IP的可靠组播的文献中报道的具有不可缩放性结果的对照物,这是一个意外的结果。
在下面描述的一组随机假设下进行根据本发明的组播覆盖体系结构的可缩放性的证明,并且所述证明覆盖反压(ECN标记)和节点故障重连。借助几个相关的形式说明在所述证明中使用的模型。第一种形式是充分代表所有所需的机制,并且有助于速率可缩放性的数学证明的随机图。第二种形式是Petri网,它可被看作上面的随机图的某一类别的折叠(folding),并且给出网络拓扑和控制的更全局和直观的表示。第三种形式是(max,plus)递归,其被链接到随机图中的最大权重路径并被链接到群吞吐量。这些递归原来是模拟这种新种类的对象的最有效方式。
参见图4,图中图解说明了具有输入和输出阻止(反压)的高度为2的二叉树32的一个例子。二叉树32图解说明Petri网形式中无损失(loss-free)标记的模型。在每个节点或端系统38的输入缓冲器34和输出缓冲器36实现与反压机制相关的阻止机制。图5中更详细地图解说明了二叉树32的单个端系统节点38。如图4和5中所示,按照上面说明的索引符号(k,l)识别或标记每个端系统节点32。对于每个端系统节点(k,l),每个输入缓冲器34的大小表示为BIN (k,l),与到后续或子端系统(k′,l′)的连接对应的输出端的每个输出缓冲器36的大小表示为BOUT,(k′,l′) (k,l)。以数据分组为单位测量输入缓冲器和输出缓冲器的大小。为了简化起见,所有分组被认为大小相同。
虽然可以使用其它类型的通信协议,不过端系统之间的连接最好是TCP连接.如图中所示,类似的符号被用于TCP连接.例如,到端系统(k,l)的TCP连接用对应的索引标志(k,l)标记.另外,每个TCP连接沿着包含串联的一系列路由器H(k,l)的路线而行。TCP连接(k,l)的路由器用索引h=1,2,...,H(k,l)标记。每个路由器被表示成单一的服务器队列。连接(k,l)的路由器h的输入缓冲器被表示成Petri网中具有标记(k,l,h)的位置。在图4和5中,Petri网中的这些位置由圆44表示。TCP连接(k,l)的表示为(k,l,beg)的位置代表端系统(k-1,m(p))的输出缓冲器。类似地,位置(k,l,end)代表端系统(k,l)的输入缓冲器。关于TCP连接(1,0),在图4中示出了索引h的符号。
TCP连接(k,l)的窗口大小序列被表示成(Wm (k,l))m≥1,46。更准确地说,Wm (k,l)是分组m看到的窗口大小。该序列在集合{1,2,...,Wmax}中取值,其中Wmax是最大窗口大小。为了便于举例说明,对该序列采取与TCP RENO拥塞避免AIMD规则对应的下述随机演化。应用随机加法增长规则,以致当它等于w时,对于每w个分组,窗口增大一个最大段长度(MSS),只要不存在任何分组标记。当分组被路由器之一标记时,应用乘法递减规则,窗口被减半。实际上,减半的整数近似被用于把窗口保持在集合{1,2,...,Wmax}中。类似地,如果窗口等于Wmax,那么它保持等于该值,直到第一分组标记为止。如果假定独立于概率p(k,l)标记分组,那么(Wm k,l)m≥1是非周期的遍历Markov链。
关于通过图4和5中图解说明的准Petri网的分组的处理,权标被用于代表数据分组、确认或者一般地,与调度或反压机制相关的控制事件。按照与迁移(transition)(图中用栅48表示)相关的处理规则,权标从一处移动到另一处。这种Petri网中的一般规则是一旦权标在所述迁移的上游的每个位置可用,就发生依据该迁移的权标的处理。随后从每个上游位置消耗一个权标,并在某一随机处理时间(它取决于所述迁移)之后,在所述迁移的所有上游位置中创建一个权标。
例如,在位于附图左部的源创建代表群通信的分组的权标。根据处理规则定义的条件,从一处到一处地(即从缓冲器到缓冲器地)处理这些权标,并且延迟与随机处理时间相关。如图所示,通向h=beg和h=end的位置的迁移具有零处理时间。其它迁移在模拟沿着路线的先进先出(“FIFO”)路由器。这些迁移中的处理时间是描述往来通信量(cross traffic)对通过路由器/链路的群通信的分组处理的影响的随机变量。通过路由器(k,l,h)的分组m的随机处理时间由σm (k,l,h)表示,并被称为分组m的集合服务时间。在每个路由器中按照FIFO方式调度TCP连接的分组的事实由具有附着到每个路由器的一个权标的本地反馈环表示。如图4中所示,为了易读和清楚起见,只在最右侧的TCP连接上表示了这些本地环。由于这种本地环的结果,只有在分组m-1离开之后,分组m才能够在路由器中开始它的服务时间。
另一反馈弧表示各种流程控制和反压机制。相关的位置已被扩大为方框,并用初始存在于该位置的权标的编号标记。Petri网的初始条件是其所有位置代表权标为空的缓冲器,即,组播还没有开始,所有输入和输出缓冲器是空的。
具有标记为BIN (k,l)的位置的反馈弧代表端系统节点(k,l)向其母节点通知接收器窗口大小。由于由该反馈弧上的位置和位置(k,l,1),(k,l,2),...,(k,l,end)构成的循环中的权标的总数是不变量,并且保持等于BIN (k,l),当被加到端系统节点(k,l)的输入缓冲器中的分组数目中的TCP连接(k,l)的飞行分组的总数等于BIN (k,l)时,该反馈弧的位置没有留下任何权标,以致位置(k,l,beg)的下游迁移被阻塞。
具有标记为BOUT,(k′,l′) k,l的反馈弧代表来自端系统节点(k,l)的输入缓冲器的流的阻塞,因为在与TCP连接(k′,l′)相关的输出缓冲器中缺少空间。该反馈弧源于位置(k′,l′,end)的上游迁移,而不是源于位置(k′,l′,beg)的下游,因为当被TCP连接(k′,l′)的接收者确认时,只从该输出缓冲器删除分组。
用拥塞窗口(Wm k,l)m≥1标记的反馈弧代表TCP的动态窗口流控制;但是,该反馈弧并不如同在典型的事件图中那样表现,因为窗口的大小随着时间而变化。
在Petri网模型中,每个分组被确认。但是在目前的TCP实现中,可每隔一个段发送确认。通过假定上述Petri网中的分组代表TCP连接中的两个段的传输,可考虑到这一点。根据该假定,在该模型中可以使用2×MSS大小的“抽象分组”。为用抽象分组表述的整数的过程Wm从而可等于CWND/(2×MSS)的整数部分,其中CWND是关于TCP协议给定的拥塞窗口。随后对于成功传送的每个窗口,该值被增大MSS/(2×MSS)=1/2,即,在成功地传送2Wm个分组之后,Wm的值被加1。
为了构成演化等式,当分组m在源节点可用时的时间被表示为Tm。对于饱和输入情况来说,从通信一开始,所有分组就在源节点准备好了,并且Tm=1。当迁移(k,l,h)完成分组m的传输时的时间被表示成xm (k,l,h)。按照惯例,xm (k,l,beg)是当分组m离开TCP连接(k,l)的源节点的输出缓冲器(即大小为BOUT,(k,l) (k-1,m(k-1,l))的缓冲器)时的时间。类似地,xm k,l,end是当分组m离开TCP连接(k,l)的接收者节点的输入缓冲器(即离开大小为BIN (k,l)的缓冲器)时的时间。在最后的小节中给出的模型的动态特性由下面的一组等式给出(其中∨表示最大值)。
并且对于k≥1,l≥0,
为了找出随机图中最大权重的路径,考虑其中一组顶点如下所示的随机图
V={(0,0,beg,m),(0,0,end,m)|m∈Z}∪{(k,l,h,m),k≥1,l≥0,h∈{beg,1,2,...,H(k,l),end}|m∈z}
顶点(k,l,h,m)的权重由σm (k,l,h)给出,h∈{1,2,...,H(k,l)}并且m≥1,对于h∈{beg,end}来说,顶点(k,l,h,m)的权重等于0。对于m≤0的任何顶点来说,权重为-∞。
一组棱边由E1∪E2∪E3∪E4∪E5给出,其中:
描述该图的最有效方式是集中于串联的TCP连接的情况,而不是集中于树。这在图6中实现,其中E1弧线是水平弧线,E2弧线是垂直弧线。在图上标出了其它弧线。
为了表示在根节点的分组可用性,我们创建了权重等于Tm-Tm-1的一组顶点{(-1,0,1,m)|m∈Z}。对于所有m∈Z,增加从(0,0,beg,m)→(-1,0,1,m)以及从(-1,0,1,m)→(-1,0,1,m-1)的其它棱边。
对于所有的k,l,h,m,基于上面的等式的直接归纳给出:
注意从(k,l,h,m)通向(-1,0,1,0)的路径π的长度Weight(π)可由乘以k+h+m的常数限制,另外该图中的一个顶点具有数目有限的邻居,这两个常数并不取决于树的规模和拓扑,只要我们假定其出度(或扇出)由常数D限制。
对于丢失和重新排序模型来说,该模型以上面介绍的随机图框架为基础。TCP机制的自时钟控制模型将保持和标记情况中一样。但是,当发生丢失时,作为对稍后的分组具有潜在影响的随机图的新分枝,增加重传分组。
在下面的讨论中,与索引m相关的图的顶点将指的是分组m本身,或者指的是在分组m之后和在分组m+1之前发送的重传分组。
为了便于清楚地说明,首先研究标称情况,其中孤立地仅仅考虑一个连接,所述连接具有接收所有数据的充足缓冲器(以致它不会受反压影响)并且具有饱和的源。这种情况下,一旦拥塞窗口允许(当待发送的分组最多为确认的最高序号加上CWND时),分组就由TCP源发送。
在一个分组(具有索引m)丢失,并且其它相邻分组不被丢失时,启动标称情况中的快速重传快速恢复。
当收到分组m-Wm+1,...m-1的ACK时,触发分组m-Wm的离开,触发分组m+1,m+2直到m+Wm的离开(因为窗口必须间隔该距离增大一个单位,从而当发出分组m+Wm时,等于Wm+1)。分组m被丢失,但是收到分组m+1,m+2,...,触发重复的ACKS被发送给源。当源收到第三个重复的ACK时(对应于分组m+3的到达),它开始快速重传快速恢复程序。分组m,m+1,...m+Wm的重传被发送,当前的CWND被减半,并且胀大3个单位。多数时间(除了当Wm≤3时的极端情况),随后停止分组的发射,因为收到的最高序号为m-1,并且CWND被减小到Wm+1/2+3。随后接收已发送的新分组m+4,m+5,...,它们分别向源回送一个新的重复ACK,它使CWND胀大一个单位。从而,当收到与分组m+(Wm+1)/2+k对应的重复ACK时,发送分组m+Wm+k,好像它所观察到的窗口为(Wm-1)/2一样。当重传的分组m紧跟在已触发分组m+Wm+(Wm-1)/2的分组m+Wm之后到达时,该阶段结束。随后重新开始窗口的标准增长演化,同时CWND等于(Wm+1)/2,并且最大的确认序号为m+Wm。从而,分组m+Wm+(Wm+1)/2被立即发送。
总之,对于分组m+1,...m+Wm,窗口自然地随着加法增长而演化。从而对于分组m+Wm+1,...,m+Wm+(Wm-1)/2,它是max((Wm-1)/2,1)。随后在窗口最初被设置为(Wm+1)/2的情况下,对于分组m+Wm+(Wm+1)/2重新开始加法增长。
非标称情况下分组的丢失的表示更复杂,因为当检测到分组m的丢失时,分组m+1,m+2,...m+Wm中的一些可能还没有离开源节点。拥塞窗口允许这些分组的发射,但是其它约束,例如反压和不能从在先节点获得的分组可能已耽搁它们。
于是,不建立具有丢失和重新排序的情况的准确模型。相反,说明借助一组保守的变换而获得的简化并且易处理的模型。为了证明具有丢失和重新排序的情况的可缩放性,即无限树的准确模型中吞吐量的正性(positiveness),证明简化的保守模型在同样意义上缩放就足够了。
如果m′(其中m≤m′≤m+Wm)是在m之后,并且在检测在丢失之前发出的最后分组的索引,那么对于分组m,m+1,...m′的窗口演化遵循标准的加法增长。随后它被固定为(Wm-1)/2≥(Wm-1)/2,直到紧跟在分组m’到达之后收到重新传送的分组m为止。当发生这种情况时,可能被发送的最后分组是m′+max((Wm-1)/2,1)≤m+Wm+max((Wm-1)/2,1)。
对于m+1,m+2,...m+Wm+max((Wm-1)/2,1)-1,窗口被设为max((Wm-1)/2,1),从分组m+Wm+max((Wm-1)/2,1)开始恢复窗口的加法增长演化。这是保守的,因为真实的系统将始终具有更大的窗口,从而与所考虑的简化模型相比,具有更好的吞吐量。
如同在标称情况下一样,在m+Wm和m+Wm+1之间的最后的可能通信步骤包括了重传的分组。在半窗口情况下恢复自时钟控制机制之后,在直观最坏的情况下这会使网络过载。
在由TCP连接实现SACK的情况下,就实际的窗口演化来说,这里描述的简化模型仍然保守。只有丢失的分组被重传,而不是整个窗口。
在所考虑的目的地端系统接收的分组按照序号定义的顺序被转发给其子节点。当分组m丢失时,如上所述,分组m+1,...,m′被阻塞在接收端系统的输入缓冲器中。一旦收到在分组m′和m′+1之间发送的分组m的重传,它们就被释放。同样,由于m’的准确值不易于估计,因此进行保守的选择。假定当分组m丢失时,它必须等待最后的可能分组(即,m+Wm)的到达和重传。具体地说这意味着分组m+1,...,m+Wm-1也产生该另外的重新排序约束。
在与丢失模型相关的随机图中,端系统的顶点为(k,l)。数据分组为m,索引h为v(k,l,h,m)。对于所有k≥1,l,h和m,在v(k,l,h,m)上增加顶点v′(k,l,h,m),这表示刚好在分组m和m+1之间的分组的可能重传。另外,增加下面的棱边以链接到垂直和水平结构上:
水平棱边:v′(k,l,1,m)→v(k,l,beg,m)和v′(k,l,h,m)→v′(k,l,h-1,m),h=2,...H
垂直棱边:v′(k,l,h,m)→v(k,l,h,m),h=1,...H
这些棱边不从任何v到达任何v.于是在没有另外的棱边的情况下,这些补充顶点不起作用.
为了表示分组m的丢失和重传对TCP连接(k,l)的影响,增加代表延迟后续分组的分组m(作为在索引m+Wm-1和m+Wm之间的额外分组)的重传的棱边E7:v(k,l,h,m″+1)→v′(k,l,h,m″),h=1,...,Hk,l并且m″=m,...,m+Wm,和代表分组m,m+1,...,m+Wm-1的重新排序的棱边E6:v(k,l,end,m)→v′(k,l,Hk,l,m+Wm-1)。
在图6中的线(而不是树)的情况下呈现完整的图(包括每种阵列E1,...,E7)。属于E7的棱边是垂直局部弧线。为了易读起见,只有当属于不同于E1和E2的其它类别的棱边离开站k和分组m时,才表示了它们。通过假定BIN=BOUT=B得到该图。
在模型中可以考虑下述内容。如果树的某一节点的出度较大,那么由于大量的同时传送发源于该节点,出自该节点的访问链路可能变成实际的瓶颈。从而发源于该节点的传送的吞吐量事实上会受到发源于同一节点的其它传送的极大影响。
“最后一哩链路”效应可被并入当前模型中。由并不位于参考路径上的传送产生的额外通信量可由集合服务时间的增大来表示,集合服务时间表示往来通信量对某一参考TCP传送的影响。
为了使之受到控制,一般观念是关于树中的任何节点保持一个确定的限制,例如说D。利用和上面使用的类似的理由,易于表明在最后一哩链路上提供的带宽共享是公平的,从而就吞吐量来说,其中该链路上的所有集合服务时间被乘以D的系统是保守的下限系统。
但是,每当任意节点的出度由常数限制时,对于不存在最后一哩效应的情况来说,吞吐量的可缩放性的证明延伸到考虑到该效应的情况下的可缩放性的证明。
下面考虑当树的规模变大时群通信的吞吐量。为此,考虑无限树的可能性。
同质模型是其中应用下述参数的情况。树具有固定度D。所有TCP连接在结构和统计上都是等同的。在所有连接中,跳的数目是相同的。分组标记或丢失处理是独立的,并且完全相同地分布在所有连接中,分组标记或丢失概率为p。集合服务时间是独立的,并且完全相同地分布在所有路由器中,使用具有有限均值的σ律。在树中的任意地方,所有反压缓冲器都是相同的。
非同质模型是其中组播树中的扇出度(由索引(k,l)描述)的上界由常数D限制。所有路线中的跳数的上界由常数限制,即,对于所有(k,l)来说,Hk,l≤H。TCP连接(k,l)中的分组丢失概率的上界由常数p限制。参数BIN (k,l)和BOUT,(k′,l′) (k,l)的下界分别由并不依赖于(k,l)和(k′,l′)的常数BIN和BOUT限制。集合服务时间是独立的,并且上限由具有有限均值的随机变量σ限定(在强排序的意义上)。
令xm (k,l,h)如等式(2)中定义。对于同质情况和饱和源,存在几乎必然(almost sure:a.s.)极限
该极限是确定的,并且与(k,l,h)无关。实数γ取决于树的规模和拓扑,取决于每个覆盖网络中路由器的数目,取决于窗口的演化,取决于对往来通信量建模的集合服务时间的法则,取决于TCP连接中的丢失处理,以及取决于反压机制的参数。它将被称为组播覆盖的渐近群吞吐量。
路径枚举被用于研究轻尾情况下的吞吐量。额外的假设是:随机变量σ是轻尾的,即,存在实数τ>0,以致对于所有0≤t≤τ,
于是,考虑具有无限高度k=0,1,2...的组播覆盖树。在σ法则是轻尾的,以及有界的度D和有界的跳数H的假设下,对于ECN和丢失-重新排序情况来说,在(k,l)中均匀地,
随机变量xm (k,l,end)是从(k,l,end,m)到(-1,0,1,0)的最大权重路径的权重。就ECN来说,通过(除了v(k,l,beg)=0和v(k,l,end)=H(k,l)+1之外,v(k,l,h)=h)给出的函数沿图中的任意路径严格渐减。
从而,从(k,l,h,m)到(-1,0,1,0)的路径不能返回相同的顶点,包含在从(k,l,end,m)到(-1,0,1,0)的路径中的一组顶点不能大于(H+2)k+2(H+2)m+2H+3。
由于图中某一节点的邻居的最大数目为max(3,D+1),因此另一推论是这种路径的数目由:(max(3,D+1))(H+2)k+2(H+2)m+2H+3限制。
从而,通过利用Markov不等式,对于所有π我们得到:
利用事件的某一联合的概率的上界由概率的总和限制意味着对于m≥k≥1和D≥2,
如果x被选为足够大,事实上它被选为以致etX≥(A(t)(2D+1))5(H+2),m的这些概率函数级数收敛,以致根据Borel-Cantelli引理,P(lim supm→∞x(k,l.end)/m≤x)=1,证明该结果。
对于丢失和重新排序情况,对相关的图引入函数的新定义:其中v(beg)=0;v(h)=h,如果1≤h≤H并且v(end)=H+(H+2)(Wmax-1)+1,并且Wmax是最大窗口大小。在TCP中,Wmax=min(Bin,Bout)。从而,可看出该函数沿着该随机图中的任意路径减小。利用相同的证明,上面给出的结果可被扩展到这种情况。
例子
进行模拟和实验以支持和评估本发明的系统和方法的理论研究。具体地说,开发一种基于等式的模拟器,该模拟器对于大型树的模拟特别有效。另外,建立了可靠组播体系结构的原型,并在Planet-Lab环境中进行实验。另外,离散事件模拟器被用于模拟在节点故障、节点撤离和节点加入的情况下,树的动态特性。
进行了评估本发明的系统和方法的可缩放性,尤其是关于节点的大型群或树中的长文件传送而获得的吞吐量的可缩放性。为此,根据上面讨论的演化等式使用(max,plus)模拟器。与传统的离散事件模拟器相比,这种基于等式的模拟器的优点在于它简化了更大树的处理,更大树的处理是可缩放性分析中的关键问题。
模拟设定和假设总结如下:对于分组大小和模拟长度,以分组,即两个MSS的等同物给出所有性能结果。
对于与Planet-Lab实验的参考和兼容性,假定MSS=100B,以致分组为200B。在每个模拟运行中,模拟10M分组(等同于2GB的数据)的传输。
关于树拓扑,只有在均衡的二叉树的情况下才报告结果。端系统以及网络连接是同质的。对于TCP连接,考虑同质情况,其中每个连接经过串联的10个路由器。在该连接上传送的所有分组具有获得负反馈(丢失或标记)的独立概率p。默认选项为p=0.01。由于TCP连接中巨大的延迟变化,不考虑超时发生。
关于网络负载,往来通信量由每个路由器中的集合服务时间表征。在这些模拟中,均被视为对于每个路由器/链路的均值等于10ms的Pareto随机值。这包含传播延迟以及由往来通信量引起的排队延迟。默认选项是指数的。
对缓冲器大小的不同值重复相同的实验。只报告其中BIN被设为50分组(即,10KB),BOUT随着50、100、1000和10000分组(分别为10KB、20KB、200KB、2MB)而变化的情况的报告结果。在该可缩放性分析中,备份缓冲器的大小没有任何影响。从而,对于这些实验,我们得到Wmax=min(BIN,BOUT)=50分组。
对于吞吐量可缩放性,关于丢失处理的不同变型:TCP RENO类型(快速重传),TCP SACK和经ECN的TCP,模拟了规模高达1023个节点的完整二叉树。还考虑了输出缓冲器大小的影响。
图7图解说明在TCP-SACK情况下,作为群规模的函数的吞吐量。易于直观地看出群吞吐量是群规模的递减函数,和输出缓冲器大小的递增函数。观察到当输出缓冲器较大,大于1000分组时,对于较小的群,即小于10个节点,吞吐量很快变平。对于较小的输出缓冲器,当群规模达到100个节点时,可观察到对渐近吞吐量的收敛。在相同的配置下,TCP的其它两种变型表现出类似的行为。无SACK的TCP具有约比TCP SACK的吞吐量小8%的吞吐量,而与TCP SACK相比,TCP ECN具有稍好的吞吐量,大约提高2%。
在关于无反压的情况比较渐近吞吐量和单连接吞吐量时,群吞吐量等于对在发送者的分组可用性没有任何约束的单连接的吞吐量中的最小吞吐量。这种吞吐量被称为本地吞吐量。从而,对于同质情况来说,这转变成群吞吐量等于本地吞吐量。在本发明中,由于反压机制的缘故,该关系并不成立。但是,有意思的是了解群渐近吞吐量偏离本地吞吐量多远。在表I中,给出了这两个量值的比值。值得注意的是大输出缓冲器下的群吞吐量非常接近于本地吞吐量。换句话说,大输出缓冲器非常明显地减轻反压机制的影响。即使输出缓冲器较小,例如说50分组(等于输入缓冲器),由反压机制引起的群吞吐量的退化也是适度的(小于18%)。
表I
渐近吞吐量/一个连接吞吐量的比值
缓冲器(分组) | 10000 | 1000 | 100 | 50 |
TCP RENO | .99 | .98 | .90 | .83 |
缓冲器(分组) | 10000 | 1000 | 100 | 50 |
TCP SACK | .99 | .99 | .92 | .86 |
TCP ECN | .99 | .99 | .92 | .87 |
在这些例子中,通过集合服务时间对在路由器的往来通信量建模。表示了在集合服务时间的轻尾的假设下群吞吐量的可缩放性。模拟被用于表示该分布(特别是当其重尾时)的影响。在图8中,吞吐量被表示成群规模的指数函数和具有不同参数的Pareto分布。图8图解说明分布的尾部越重,吞吐量就越小。另外,即使对于例如Parto之类的重尾分布,当存在二阶矩(second moment)(它是当参数为2.1时的情况)时,吞吐量曲线的形状与指数分布的形状类似。但是,当参数为1.9时,二阶矩不再存在,吞吐量曲线会更快地衰减。这暗示轻尾分布假设可被某些矩条件放宽和替代。事实上,就链型的特殊树来说,可证明当集合服务时间具有确实高于二阶矩的矩时,那么群吞吐量的下限由严格为正的常数限制。
当输出缓冲器较大时,渐近群吞吐量相对接近于单连接的吞吐量。该模拟暗示即使对于反压机制,群吞吐量也具有和单连接吞吐量相似的形状。图9把群吞吐量图解说明成特定情况下分组丢失概率的函数。如图所示,单连接吞吐量(即,本地吞吐量)非常接近于大小为126个节点的群的吞吐量。
为了评估模型的实用性,实现了TCP组播覆盖系统的原型。使用了Planet-Lab网络,它使得可以访问位于世界各地的大学和研究中心的计算机。该实现对通过信号标志(semaphore)和管道(pipe)同步的每个输出和输入缓冲器进行独立的处理。一旦数据从输入缓冲器被读出,它们就可用于输出传输。独立的信号标志被用于保证如果数据不能被发送给输出缓冲器(这形成反压),那么就不从输入套接字读取数据。专用的中央节点被用于监视和控制实验的进展。
为了分析吞吐量的可缩放性,63个节点的均衡二叉树被构成并与因特网连接。在具有相同源节点的15节点、31节点和63节点的均衡子树中开始同时传输。同时进行实验避免了与连网条件的波动有关的困难。这样,总是按照各个树之间几乎相同的比例,在不同规模的树之间共享链路容量。以分组/秒为单位测量在10MB数据的传输期间,在每个链路上获得的吞吐量。链路的吞吐量由接收节点测量。表II总结了3种不同规模的树和输出缓冲器大小的3种不同设置的群吞吐量测量结果。群吞吐量被计算成在该树中观察到的链路吞吐量的最小值。类似地上面给出的模拟,每个分组的大小为200字节。另外,输入缓冲器的大小等于50分组,输出缓冲器的大小是可变的。以分组为单位给出输出缓冲器大小。
表II
Planet-Lab中的可缩放性实验:吞吐量(分组/秒)
群规模 | 15 | 31 | 63 |
缓冲器=50分组缓冲器=100分组缓冲器=1000分组 | 958287 | 868895 | 887793 |
可看出在群规模方面,群吞吐量变化很小。这与上面报告的模拟结果一致,虽然同预料的完全一样,不过绝对数不同。
为了核实故障之后的恢复方法,实现在Planet-Lab机器上运行的5个节点的抗故障链。在10兆字节数据的传输中,5个节点中的两个节点发生故障。故障不是同时的,系统只需要抵抗一个故障。在该实验中,输入缓冲器和输出缓冲器大小都被限制为50分组。如前一实验中一样,每个分组的大小为200字节(MSS=100字节)。这种情况下,故障恢复算法需要大小为150的备份缓冲器。该实验进行10次,并测量群吞吐量。重新连接时间和在连接之后传送的冗余分组的数目被恢复。注意,在当前的体系结构中,在重附着过程中不需要通知分组序号。从而,在连接被重新建立之后,故障节点的子节点可能接收重复的分组。这些冗余传输会影响群吞吐量。
在我们的实现中,故障节点关闭其所有连接,通过检测中断的连接检测故障。在检测故障之后,成为孤儿的子节点监听来自幸存先辈的输入连接。测量检测到故障时的时间与连接被恢复时的时间之间的间隔。在两个参与节点:幸存的母节点(M)和子节点(D)独立测量该时间间隔。表III中总结了这些测量的结果。按照每一故障给出了每一故障的平均重连时间(秒)和重传分组的数目。给出了每个实验的平均群吞吐量。在这些实验中,重新传送的分组的平均数目约为备份缓冲器大小的一半。TCP会话在和TCP超时相同量级的几秒内被重新建立。由于也可在几秒内实现故障检测,因此实验结果表明故障检测和重连的整个过程可在几秒内完成。
表III
Planet Lab中的端到端可靠性实验
min | 平均 | max | |
吞吐量(分组/秒)重传分组的数目重连时间(D)重连时间(M) | 49.05340.120.27 | 55.2480.53.533.81 | 57.651225.25.37 |
上面给出的模拟结果表明当不存在故障时,缓冲器越大,群吞吐量就越是可缩放的。但是,在缓冲器较大的情况下,备份缓冲器大小按比例地增大,以便保证端到端可靠性。上面的实验表明当发生故障时,由于较大的备份缓冲器的缘故,冗余传输将增大。这些冗余传输又会降低群吞吐量。
为了调查研究该问题,考虑在2、4和6个故障(按照相继的方式,以致系统只需要容许一个故障)情况下的一连串10个节点.表IV报告了在这些设置和不同的输出缓冲器大小下获得的吞吐量测量结果.备份缓冲器大小被设为输入缓冲器大小,输出缓冲器大小的两倍.有意思的是发现当缓冲器大小增大时,群吞吐量可能实际上降低.这些实验表明在存在故障的情况下,缓冲器大小方面的吞吐量单调性不再成立.故障越频繁,大缓冲器对群吞吐量的负面影响越严重.
表IV
可缩放性-端到端可靠性,吞吐量(KB/S)
缓冲器=50 | 缓冲器=200 | 缓冲器=500 | 缓冲器=1000 | |
2个故障4个故障6个故障 | 25.629.230.9 | 26.828.828.8 | 45.236.430.8 | 31.527.224.0 |
为了补充上面给出的模拟和实验,提出一种离散事件模拟器来模拟在不同的算法下,树拓扑随着故障和恢复的演化。特别地,评估用于树重构的试探法。
从1023个节点的均衡二叉树开始,选择一个故障节点,应用随机或贪心试探法来恢复连通性。利用最佳加入(best-join)加回该节点。树保持二叉性,并且只在出度小于2的节点才允许加入。测量最长路径的长度和非叶节点的平均度。用于恢复连通性的两种方法是GREEDY_RECONNECT和把成为孤儿的子树重新连接到随机选择的出度小于2的节点的随机化方法。
图10和11中给出了结果,图10是树深度的演化,图11是非叶节点的平均度的演化。这些曲线表示500余次运行的平均树深度和内部节点扇出。与随机选择有效节点的普通方法相比,GREEDY_RECONNECT有助于保持足够低的树深度,以及较高的内部节点度。
虽然这里公开的本发明的例证实施例显然实现本发明的目的,不过本领域的技术人员可想出各种修改和其它实施例。另外,任意实施例的特征和/或要素可单独使用或者与其它实施例结合使用。于是,附加的权利要求意图覆盖在本发明的精神和范围内的所有这种修改和实施例。
Claims (31)
1.一种在具有可缩放的群通信吞吐量和端到端可靠性的组播覆盖网络树中,把数据分组从源节点传送到多个端系统节点的方法,所述方法包括:
在组播网络树中的一群端系统节点中的每个节点中设置至少一个备份缓冲器;
把在所述一群端系统节点中的一个节点中从输入缓冲器传送给输出缓冲器的数据分组的副本保存在备份缓冲器中,其中每个备份缓冲器的大小为BBACK,并且其中BOUR max是最大输出缓冲器大小,BIN max是最大输入缓冲器大小,m是保存在备份缓冲器中的数据分组副本能够容纳的同时端系统节点故障的数目;以及
利用通信协议或反压机制防止在组播覆盖树中的端系统节点之间的数据分组丢失。
2.按照权利要求1所述的方法,其中防止数据分组丢失的步骤包括利用传输控制协议在组播覆盖树中的端系统节点之间传送数据分组。
3.按照权利要求1所述的方法,其中防止数据分组丢失的步骤包括通过把给定节点的输入缓冲器中的可用空间告知组播覆盖树中的其它节点、和把给定节点的输入缓冲器中的可用空间的显著减少告知其它节点,利用反压机制防止位于端系统节点中的输入缓冲器中的溢出。
4.按照权利要求1所述的方法,其中防止数据分组丢失的步骤包括通过阻止数据分组从给定节点的输入缓冲器到输出缓冲器的传送,利用反压机制防止位于端系统节点中的输出缓冲器中的溢出,除非在输出缓冲器中存在容纳数据分组的足够空间。
5.一种在具有可缩放的群通信吞吐量和端到端可靠性的组播覆盖树中,把数据分组从源节点传送到多个端系统节点的方法,所述方法包括:
在组播网络树中的一群端系统节点中的每个节点中设置至少一个备份缓冲器;
把在所述一群端系统节点中的一个节点中从输入缓冲器传送给输出缓冲器的数据分组的副本保存在备份缓冲器中,其中每个备份缓冲器的大小为BBACK,并且其中BOUT max是最大输出缓冲器大小,BIN max是最大输入缓冲器大小,m是保存在备份缓冲器中的数据分组副本能够容纳的同时端系统节点故障的数目;以及
检测组播覆盖树中的至少一个端系统节点故障;和
重新连接由所述一个端系统节点的故障造成的孤儿端系统节点和组播覆盖树,从而向组播覆盖树中的所有剩余端系统节点提供可靠的数据分组传送,同时保持从源节点到每个剩余端系统节点的完整数据分组序列的传送。
6.按照权利要求5所述的方法,其中检测至少一个端系统节点故障的步骤还包括检测多个同时的端系统节点故障,重新连接孤儿端系统节点的步骤还包括把由多个端系统节点故障造成的所有孤儿端系统节点同时重新连接到组播覆盖树上。
7.按照权利要求5所述的方法,还包括利用保存在一个或多个端系统节点中的覆盖树拓扑使得便于重新连接孤儿端系统节点和组播覆盖树。
8.按照权利要求5所述的方法,其中检测至少一个端系统节点故障的步骤还包括利用心跳探查或者利用保活信号。
9.按照权利要求5所述的方法,其中重新连接孤儿端系统节点的步骤还包括:
重新连接故障端系统节点的每个孤儿端系统节点和属于故障端系统节点的幸存先辈节点的子树的替代母节点;和
通过子树重新传送保存在幸存先辈节点中的备份缓冲器中的数据分组的副本。
10.按照权利要求9所述的方法,其中幸存的先辈节点是从故障端系统节点到源节点的路径中的第一个幸存节点。
11.按照权利要求9所述的方法,其中重新连接每个孤儿节点的步骤还包括利用贪心试探法。
12.按照权利要求11所述的方法,其中利用贪心试探法的步骤包括:
从生根于故障端系统节点的孤儿子节点的多个孤儿子树中选择具有最大深度的孤儿子树;
选择与源节点最接近的替代母节点;
连接选择的孤儿子树与选择的替代母节点;和
重复孤儿子树的选择,直到所有孤儿子树已和替代母节点连接为止。
13.按照权利要求9所述的方法,其中重新传送保存在备份缓冲器中的数据分组的副本的步骤包括向每个重新连接的孤儿节点提供足量的数据分组的副本,以致每个重新连接的孤儿节点接收来自源节点的完整数据分组序列。
14.按照权利要求9所述的方法,还包括:
把关于组播覆盖树中的重新连接的孤儿节点的信息分发给源节点;和
把先辈端系统节点信息分发给重新连接的孤儿节点。
15.按照权利要求5所述的方法,还包括:
和
把保存的数据分组的副本从每个备份缓冲器转发给重新连接的孤儿节点。
16.按照权利要求5所述的方法,其中每个备份缓冲器、输入缓冲器和输出缓冲器包括有限的大小。
17.按照权利要求5所述的方法,还包括通过下述步骤使端系统节点与组播覆盖树断开:
把未决的断开通知将被断开的端系统节点的母节点和所有子节点;
使该端系统节点与所述母节点和所有子节点断开;
重新连接断开的端系统节点的每个断开的子节点与属于断开的端系统节点的幸存先辈节点的子树的替代母节点;和
通过子树重新传送保存在所述幸存的先辈节点中的备份缓冲器中的数据分组的副本。
18.按照权利要求5所述的方法,还包括通过下述步骤连接新的端系统节点与组播覆盖树:
联系源节点;
识别用于连接新的端系统节点的母节点;和
连接所述新的端系统节点与识别的母节点。
19.按照权利要求18所述的方法,还包括把组播覆盖树中的缓冲器大小约束通知所述新的端系统节点。
20.按照权利要求18所述的方法,其中识别的母节点包括远的叶节点,以便把来自源节点的大量传送数据提供给所述新的端系统节点.
21.按照权利要求18所述的方法,其中识别母节点的步骤包括识别具有容纳所述新的端系统节点的足够可用出度容量的有效端系统节点。
22.按照权利要求18所述的方法,还包括在整个组播覆盖树内分发更新的拓扑信息。
23.一种在具有可缩放的群通信吞吐量和端到端可靠性的组播覆盖树中,把数据分组从源节点传送到多个端系统节点的方法,所述方法包括:
在组播网络树中的一群端系统节点中的每个节点中设置至少一个备份缓冲器;
把在所述一群端系统节点中的一个节点中从输入缓冲器传送给输出缓冲器的数据分组的副本保存在备份缓冲器中,其中每个备份缓冲器的大小为BBACK,并且其中BOUT max是最大输出缓冲器大小,BIN max是最大输入缓冲器大小,m是保存在备份缓冲器中的数据分组副本能够容纳的同时端系统节点故障的数目;
利用通信协议或反压机制防止在组播覆盖树中的端系统节点之间的数据分组丢失;
检测组播覆盖树中的至少一个端系统节点故障;和
重新连接由所述一个端系统节点的故障造成的孤儿端系统节点和组播覆盖树,从而向组播覆盖树中的所有剩余端系统节点提供可靠的数据分组传送,同时保持从源节点到每个剩余端系统节点的完整数据分组序列的传送。
24.按照权利要求23所述的方法,其中防止数据分组丢失的步骤包括:
利用传输控制协议在组播覆盖树中的端系统节点之间传送数据分组;和
利用反压机制防止端系统节点中的输入和输出缓冲器中的溢出。
25.按照权利要求24所述的方法,其中反压机制包含:
把给定端系统节点的输入缓冲器中的可用空间告知组播覆盖树中的其它端系统节点;
把给定端系统节点的输入缓冲器中的可用空间的显著减少告知其它端系统节点;和
阻止从给定端系统节点的输入缓冲器到输出缓冲器的数据分组传送,除非在输出缓冲器中存在容纳数据分组的足够空间。
26.按照权利要求23所述的方法,其中检测至少一个端系统节点故障的步骤还包括检测多个同时的端系统节点故障,重新连接孤儿端系统节点的步骤还包括通过下述步骤把由所述多个端系统节点故障造成的所有孤儿端系统节点同时重连到组播覆盖树上:
重新连接每个故障节点的每个孤儿节点和属于故障节点的幸存先辈节点的子树的替代母节点;和
通过所有子树重新传送保存在幸存先辈节点中的备份缓冲器中的数据分组的副本。
27.按照权利要求26所述的方法,其中重新连接每个孤儿节点的步骤包括利用贪心试探法,包括:
从生根于故障节点的孤儿子节点的多个孤儿子树中选择具有最大深度的孤儿子树;
选择与源节点最接近的替代母节点;
连接选择的孤儿子树与选择的替代母节点;和
重复孤儿子树的选择,直到所有孤儿子树已和替代母节点连接为止。
28.按照权利要求26所述的方法,还包括:
把关于组播覆盖树中的重新连接的孤儿节点的信息分发给源节点;和
把先辈端系统节点信息分发给重新连接的孤儿节点。
29.按照权利要求23所述的方法,还包括:
把保存的数据分组的副本从每个备份缓冲器转发给重新连接的孤儿节点。
30.按照权利要求23所述的方法,还包括通过下述步骤使端系统节点与组播覆盖树断开:
把未决的断开通知将被断开的端系统节点的母节点和所有子节点;
使该端系统节点与所述母节点和所有子节点断开;
重新连接断开的端系统节点的每个断开的子节点与属于断开的端系统节点的幸存先辈节点的子树的替代母节点;和
通过子树重新传送保存在所述幸存的先辈节点中的备份缓冲器中的数据分组的副本。
31.按照权利要求23所述的方法,还包括通过下述步骤连接新的端系统节点与组播覆盖树:
联系源节点;
识别具有容纳所述新的端系统节点的足够可用出度容量的母节点;
连接所述新的端系统节点与识别的母节点;
把组播覆盖树中的缓冲器大小约束通知所述新的端系统节点;和
在整个组播覆盖树内分发更新的拓扑信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/835,815 US7355975B2 (en) | 2004-04-30 | 2004-04-30 | Method and apparatus for group communication with end-to-end reliability |
US10/835,815 | 2004-04-30 | ||
PCT/US2005/014870 WO2005109772A2 (en) | 2004-04-30 | 2005-04-29 | Method and apparatus for group communication with end-to-end reliability |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1965532A CN1965532A (zh) | 2007-05-16 |
CN1965532B true CN1965532B (zh) | 2010-05-05 |
Family
ID=35186966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800134414A Expired - Fee Related CN1965532B (zh) | 2004-04-30 | 2005-04-29 | 具有端到端可靠性的群通信的方法和设备 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7355975B2 (zh) |
EP (1) | EP1747644B1 (zh) |
JP (1) | JP4857262B2 (zh) |
KR (1) | KR100946108B1 (zh) |
CN (1) | CN1965532B (zh) |
CA (1) | CA2564363C (zh) |
WO (1) | WO2005109772A2 (zh) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1770920A4 (en) * | 2004-07-16 | 2011-10-12 | Brother Ind Ltd | CONNECTING MODE CONTROL DEVICE, CONNECTION MODE CONTROL METHOD AND CONNECTION MODE CONTROL PROGRAM |
DE602004004390T2 (de) * | 2004-07-23 | 2007-05-24 | Siemens Ag | Verfahren zur Übertragung von Datenpaketen zwischen Knoten in einem Kommunikationsnetz |
US7760659B2 (en) * | 2004-08-05 | 2010-07-20 | Microsoft Corporation | Transmission optimization for application-level multicast |
US7466656B2 (en) * | 2004-10-26 | 2008-12-16 | International Business Machines Corporation | Method, apparatus and program storage device for efficient construction of network overlays through interconnection topology embedding |
US7778984B2 (en) * | 2004-11-19 | 2010-08-17 | Microsoft Corporation | System and method for a distributed object store |
US7649884B1 (en) * | 2004-12-01 | 2010-01-19 | Hrl Laboratories, Llc | Collaborative multicast routing (CMR) for multicasting in unidirectional, hybrid, multi-tiered mobile wireless network |
JP4371056B2 (ja) * | 2005-01-07 | 2009-11-25 | ブラザー工業株式会社 | ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等 |
US7536426B2 (en) | 2005-07-29 | 2009-05-19 | Microsoft Corporation | Hybrid object placement in a distributed storage system |
WO2007079280A2 (en) * | 2005-11-08 | 2007-07-12 | Nortel Networks Limited | Selective multicasting of sensor data for reliable delivery |
US9591083B1 (en) * | 2005-11-23 | 2017-03-07 | Avaya Inc. | Method and apparatus providing connection recovery for a chat client |
JP4682887B2 (ja) * | 2006-03-22 | 2011-05-11 | 日本電気株式会社 | 故障復旧方法およびノードならびにネットワーク |
JP2009539305A (ja) * | 2006-05-30 | 2009-11-12 | アルカテル−ルーセント ユーエスエー インコーポレーテッド | ローカルノード機能停止の間の無中断ネットワーク制御メッセージ生成 |
US20070288645A1 (en) * | 2006-06-08 | 2007-12-13 | International Business Machines Corporation | Method and System for Persistent and Reliable Data Transmission |
US20080040500A1 (en) * | 2006-08-11 | 2008-02-14 | Veodia, Inc. | Method and apparaatus for distributing a media stream |
JP4829135B2 (ja) * | 2007-01-19 | 2011-12-07 | 富士通株式会社 | 通信システム、サーバ装置、および端末装置 |
JP5096027B2 (ja) * | 2007-03-26 | 2012-12-12 | ソフトバンクBb株式会社 | コンテンツ配信システムおよびコンテンツ配信方法 |
US7839798B2 (en) * | 2007-06-22 | 2010-11-23 | Microsoft Corporation | Seamlessly switching overlay network relay trees |
US8018933B2 (en) | 2007-06-27 | 2011-09-13 | Microsoft Corporation | Reliable multicast with automatic session startup and client backfil support |
US8612617B2 (en) * | 2007-06-28 | 2013-12-17 | Microsoft Corporation | Reliable multicast transport protocol |
US8683065B2 (en) * | 2007-06-29 | 2014-03-25 | Microsoft Corporation | Multicast content provider |
US7882240B2 (en) * | 2007-07-03 | 2011-02-01 | Microsoft Corporation | Disconnecting selected participant in multicast session |
US8249413B1 (en) * | 2007-07-31 | 2012-08-21 | Verint Systems Inc. | Video recording failover |
US8014400B2 (en) * | 2007-08-10 | 2011-09-06 | Sharp Laboratories Of America, Inc. | Method for allocating data packet transmission among multiple links of a network, and network device and computer program product implementing the method |
CN101094191B (zh) * | 2007-08-15 | 2011-07-13 | 中兴通讯股份有限公司 | M3ua信令路由可靠性的提高方法 |
US7808890B2 (en) * | 2007-08-16 | 2010-10-05 | Cisco Technology, Inc. | Forwarding data in a data communications network |
US8064446B2 (en) | 2007-08-24 | 2011-11-22 | At&T Intellectual Property I, L.P. | Multicast with adaptive dual-state |
US20090113058A1 (en) * | 2007-10-29 | 2009-04-30 | Microsoft Corporation | Terminal server draining |
ATE505006T1 (de) * | 2007-12-06 | 2011-04-15 | Alcatel Lucent Usa Inc | Stauregelung in einem paketgeschalteten datennetz |
TWI351849B (en) * | 2007-12-31 | 2011-11-01 | Ind Tech Res Inst | Apparatus and method for transmitting streaming se |
JP5058135B2 (ja) * | 2008-02-08 | 2012-10-24 | パナソニック株式会社 | 端末装置 |
EP2255518A1 (en) * | 2008-02-13 | 2010-12-01 | Telefonaktiebolaget LM Ericsson (publ) | Overlay network node and overlay networks |
CN102057647B (zh) * | 2008-06-12 | 2014-07-02 | 爱立信电话股份有限公司 | 覆盖网络的维护 |
US9104989B2 (en) * | 2008-11-17 | 2015-08-11 | Microsoft Technology Licensing, Llc | Priority and cost based deadlock victim selection via static wait-for graph |
JP5392003B2 (ja) * | 2009-03-30 | 2014-01-22 | 富士通株式会社 | 中継装置、状態通知方法、および、コンピュータプログラム |
CN101521629B (zh) * | 2009-04-17 | 2011-05-11 | 华为技术有限公司 | 确定反压水线值的方法和装置 |
KR101065663B1 (ko) | 2009-06-22 | 2011-09-19 | 한양대학교 산학협력단 | 트리 토폴로지 네트워크에서 루트 유지 방법 및 기록매체 |
US20120254251A1 (en) * | 2011-03-03 | 2012-10-04 | The Governors Of The University Of Alberta | SYSTEMS AND METHODS FOR EFFICIENT TOP-k APPROXIMATE SUBTREE MATCHING |
CN102142970B (zh) * | 2011-03-16 | 2013-12-18 | 华为技术有限公司 | 二层以太网络的组播树构建方法和网络节点设备 |
KR101407597B1 (ko) * | 2011-05-16 | 2014-06-13 | 에스케이텔레콤 주식회사 | 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법 |
US8745157B2 (en) | 2011-09-02 | 2014-06-03 | Trading Technologies International, Inc. | Order feed message stream integrity |
US8830838B2 (en) | 2011-09-14 | 2014-09-09 | Hewlett-Packard Development Company, L.P. | Node interface indicators |
JP5803656B2 (ja) * | 2011-12-21 | 2015-11-04 | 富士通株式会社 | 配信経路構築方法及び端末装置 |
FR2989489B1 (fr) * | 2012-04-16 | 2015-11-27 | Commissariat Energie Atomique | Systeme et procede de gestion d'une coherence de caches dans un reseau de processeurs munis de memoires caches. |
WO2013176051A1 (ja) * | 2012-05-21 | 2013-11-28 | 日本電気株式会社 | マルチキャスト通信方法、通信ノード装置及びプログラム |
US20140143820A1 (en) * | 2012-11-19 | 2014-05-22 | Videolink Llc | Internet-Based Video Delivery System |
CN103095598B (zh) * | 2012-12-17 | 2015-07-29 | 华中科技大学 | 一种大规模集群环境下的监控数据聚合方法 |
US9363303B2 (en) | 2013-03-15 | 2016-06-07 | Microsoft Technology Licensing, Llc | Network routing modifications for distribution of data |
CN103346862B (zh) * | 2013-07-01 | 2016-01-27 | 中南大学 | 一种分级保护的片上网络数据传输装置及方法 |
US10664548B2 (en) | 2013-07-12 | 2020-05-26 | Trading Technologies International, Inc. | Tailored messaging |
CN103607311B (zh) * | 2013-11-29 | 2017-01-18 | 厦门市美亚柏科信息股份有限公司 | 一种无缝重建tcp连接的系统及方法 |
CN104038364B (zh) | 2013-12-31 | 2015-09-30 | 华为技术有限公司 | 分布式流处理系统的容错方法、节点及系统 |
CN103942252B (zh) * | 2014-03-17 | 2017-11-28 | 华为技术有限公司 | 一种恢复数据的方法及系统 |
US9667528B2 (en) * | 2014-03-31 | 2017-05-30 | Vmware, Inc. | Fast lookup and update of current hop limit |
US9537743B2 (en) * | 2014-04-25 | 2017-01-03 | International Business Machines Corporation | Maximizing storage controller bandwidth utilization in heterogeneous storage area networks |
CN104717144B (zh) * | 2015-03-23 | 2018-04-10 | 中国科学技术大学 | 一种基于网内缓存和逐跳确认的可靠组播方法 |
US10164907B2 (en) * | 2015-11-25 | 2018-12-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for completing loosely specified MDTs |
US20180287850A1 (en) * | 2017-03-31 | 2018-10-04 | Intel Corporation | Techniques for network multicasting with buffering |
JP6959084B2 (ja) * | 2017-09-14 | 2021-11-02 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信装置及び送信方法 |
CN110740086B (zh) * | 2018-07-18 | 2021-09-03 | 中国电信股份有限公司 | 数据组播分发树切换方法、系统及装置 |
US11297593B2 (en) * | 2019-03-14 | 2022-04-05 | Hewlett Packard Enterprise Development Lp | Identifying fixed WLAN devices using mobility patterns |
CN112152820B (zh) * | 2019-12-09 | 2021-07-20 | 北京天德科技有限公司 | 一种多播tcp的架构方法及多播tcp系统 |
US11398970B2 (en) * | 2020-08-05 | 2022-07-26 | Cisco Technology, Inc. | Internet last-mile outage detection using IP-route clustering |
CN118612140A (zh) * | 2024-08-08 | 2024-09-06 | 山东云海国创云计算装备产业创新中心有限公司 | 数据传输方法、装置、计算机设备、存储介质及程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5909443A (en) * | 1997-01-03 | 1999-06-01 | International Business Machines Corporation | ATM network congestion control system using explicit rate cell marking |
US20030016628A1 (en) * | 2001-07-23 | 2003-01-23 | Broadcom Corporation | Flow based congestion control |
US6526022B1 (en) * | 1998-06-30 | 2003-02-25 | Sun Microsystems | Detecting congestion by comparing successive loss of packets in windows to provide congestion control in reliable multicast protocol |
US6728205B1 (en) * | 1997-02-19 | 2004-04-27 | Massachusetts Institute Of Technology | Method and apparatus for automatic protection switching |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2533103B2 (ja) * | 1987-02-25 | 1996-09-11 | 富士通株式会社 | パケツト交換方式 |
JPH05298215A (ja) * | 1992-04-20 | 1993-11-12 | Fujitsu Ltd | 欠落データ検出再送方法 |
US5331637A (en) * | 1993-07-30 | 1994-07-19 | Bell Communications Research, Inc. | Multicast routing using core based trees |
US5838749A (en) * | 1995-06-05 | 1998-11-17 | Broadband Communications Products, Inc. | Method and apparatus for extracting an embedded clock from a digital data signal |
US5859837A (en) * | 1995-06-07 | 1999-01-12 | Advanced Micro Devices Inc. | Flow control method and apparatus for ethernet packet switched hub |
KR970013834A (ko) * | 1995-08-23 | 1997-03-29 | 사와무라 시코우 | 전송속도 추정장치(A computing apparatus of transmission rate) |
JP3441276B2 (ja) * | 1995-12-18 | 2003-08-25 | 株式会社東芝 | パケットスイッチ |
WO1997026737A1 (en) * | 1996-01-16 | 1997-07-24 | Fujitsu Limited | A reliable and flexible multicast mechanism for atm networks |
US5689500A (en) * | 1996-01-16 | 1997-11-18 | Lucent Technologies, Inc. | Multistage network having multicast routing congestion feedback |
US5764961A (en) * | 1996-04-03 | 1998-06-09 | Ncr Corporation | Predictable diverse data delivery enablement method and apparatus for ATM based computer system |
JP2001501785A (ja) | 1996-05-10 | 2001-02-06 | フジツウ ネットワーク コミュニケーションズ,インコーポレイテッド | 異種のフロー制御能力を有する多重ネットワークを介してフロー制御を可能にする方法及び装置 |
US6052376A (en) * | 1996-12-30 | 2000-04-18 | Hyundai Electronics America | Distributed buffering system for ATM switches |
US6084856A (en) * | 1997-12-18 | 2000-07-04 | Advanced Micro Devices, Inc. | Method and apparatus for adjusting overflow buffers and flow control watermark levels |
US6201792B1 (en) * | 1998-05-14 | 2001-03-13 | 3Com Corporation | Backpressure responsive multicast queue |
US6519248B1 (en) * | 1998-07-24 | 2003-02-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Packet data network having distributed database |
JP2000295281A (ja) * | 1999-04-05 | 2000-10-20 | Sumitomo Electric Ind Ltd | マルチキャストパケットのフロー制御装置および方法 |
US6625773B1 (en) * | 1999-06-09 | 2003-09-23 | International Business Machines Corporation | System for multicast communications in packet switched networks |
JP2001045040A (ja) * | 1999-08-03 | 2001-02-16 | Nippon Telegr & Teleph Corp <Ntt> | マルチキャストルーチング方法、その装置及びプログラム記録媒体 |
US6859435B1 (en) * | 1999-10-13 | 2005-02-22 | Lucent Technologies Inc. | Prevention of deadlocks and livelocks in lossless, backpressured packet networks |
DE60120807T2 (de) * | 2000-03-06 | 2006-12-28 | International Business Machines Corp. | Schaltvorrichtung und Verfahren |
US7848341B2 (en) * | 2001-02-28 | 2010-12-07 | International Business Machines Corporation | Switching arrangement and method with separated output buffers |
FR2848539B1 (fr) * | 2002-12-11 | 2005-10-28 | Hivert Systemes Automatises | Palette pour chaine de convoyeur |
US20050015511A1 (en) * | 2003-07-02 | 2005-01-20 | Nec Laboratories America, Inc. | Accelerated large data distribution in overlay networks |
US7710881B2 (en) * | 2003-11-25 | 2010-05-04 | International Business Machines Corporation | Apparatus for scalable reliable group communication |
-
2004
- 2004-04-30 US US10/835,815 patent/US7355975B2/en not_active Expired - Fee Related
-
2005
- 2005-04-29 JP JP2007511023A patent/JP4857262B2/ja not_active Expired - Fee Related
- 2005-04-29 EP EP05742868A patent/EP1747644B1/en not_active Not-in-force
- 2005-04-29 CA CA2564363A patent/CA2564363C/en not_active Expired - Fee Related
- 2005-04-29 KR KR1020067020072A patent/KR100946108B1/ko not_active IP Right Cessation
- 2005-04-29 WO PCT/US2005/014870 patent/WO2005109772A2/en active Application Filing
- 2005-04-29 CN CN2005800134414A patent/CN1965532B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5909443A (en) * | 1997-01-03 | 1999-06-01 | International Business Machines Corporation | ATM network congestion control system using explicit rate cell marking |
US6728205B1 (en) * | 1997-02-19 | 2004-04-27 | Massachusetts Institute Of Technology | Method and apparatus for automatic protection switching |
US6526022B1 (en) * | 1998-06-30 | 2003-02-25 | Sun Microsystems | Detecting congestion by comparing successive loss of packets in windows to provide congestion control in reliable multicast protocol |
US20030016628A1 (en) * | 2001-07-23 | 2003-01-23 | Broadcom Corporation | Flow based congestion control |
Non-Patent Citations (1)
Title |
---|
同上. |
Also Published As
Publication number | Publication date |
---|---|
KR100946108B1 (ko) | 2010-03-10 |
KR20070003983A (ko) | 2007-01-05 |
WO2005109772A2 (en) | 2005-11-17 |
US7355975B2 (en) | 2008-04-08 |
EP1747644B1 (en) | 2013-03-13 |
JP4857262B2 (ja) | 2012-01-18 |
JP2007535879A (ja) | 2007-12-06 |
CA2564363C (en) | 2010-07-20 |
US20050243722A1 (en) | 2005-11-03 |
WO2005109772A3 (en) | 2006-10-19 |
EP1747644A2 (en) | 2007-01-31 |
CN1965532A (zh) | 2007-05-16 |
EP1747644A4 (en) | 2011-09-28 |
CA2564363A1 (en) | 2005-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1965532B (zh) | 具有端到端可靠性的群通信的方法和设备 | |
CN107347021B (zh) | 一种基于sdn网络可靠传输方法 | |
Lin et al. | Efficient network coded data transmissions in disruption tolerant networks | |
CN100479408C (zh) | 一种堆叠系统内部转发表的实现方法 | |
Hartl et al. | Loss inference in wireless sensor networks based on data aggregation | |
CN108206781A (zh) | 选择转发路径的方法和设备 | |
Zhang et al. | An OpenFlow-enabled elastic loss recovery solution for reliable multicast | |
Baek et al. | A reliable overlay video transport protocol for multicast agents in wireless mesh networks | |
Baccelli et al. | The one-to-many TCP overlay: a scalable and reliable multicast architecture | |
Sun et al. | Reliable adaptive multicast protocol in wireless ad hoc networks | |
Kurata et al. | Experiments of multipath multicast one-to-many transfer with RS coding over wide-area OpenFlow testbed network | |
WO2010116406A1 (ja) | マルチリングネットワークシステム、リングノード装置および負荷分散方法 | |
Xu | Multicast in wireless mesh networks | |
Tanaraksiritavorn et al. | Evaluation of gossip to build scalable and reliable multicast protocols | |
Naik et al. | Processing time analysis of loss-collected retransmission over hierarchical reliable multicast networks | |
CN106998301B (zh) | 一种不确定源条件下的可靠多播路由构建方法 | |
Ozkasap et al. | Multicast network traffic and long-range dependence | |
Natarajan | Leveraging innovative transport layer services for improved application performance | |
Templemore-Finlayson et al. | REALM: A REliable Application Layer Multicast protocol | |
Chatté et al. | Fluid modelling of packet switching networks: perspectives for congestion control | |
Čičić et al. | Tree recovery in PIM sparse mode | |
Gupta et al. | Average bandwidth and delay for reliable multicast | |
Salona et al. | A strategy for comparing reliable multicast protocols applied to RMNP and CTES | |
Byun et al. | Reducing delivery delay in HRM tree | |
Rogers et al. | Performance analysis of multicast and priority-based routing under a failure in Differentiated-Services Internet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100505 Termination date: 20210429 |
|
CF01 | Termination of patent right due to non-payment of annual fee |