CN103222248B - 多类别数据传输的方法和装置 - Google Patents
多类别数据传输的方法和装置 Download PDFInfo
- Publication number
- CN103222248B CN103222248B CN201180046417.6A CN201180046417A CN103222248B CN 103222248 B CN103222248 B CN 103222248B CN 201180046417 A CN201180046417 A CN 201180046417A CN 103222248 B CN103222248 B CN 103222248B
- Authority
- CN
- China
- Prior art keywords
- subflow
- data cell
- stream
- classification
- instruction
- 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.)
- Active
Links
Classifications
-
- 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/12—Avoiding congestion; Recovering from congestion
-
- 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/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- 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/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- 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/22—Traffic shaping
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2408—Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- 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/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用于控制通过网络从发送机节点(11)经过至少一个中间节点(15)向接收机节点(19)转发数据单元流(12)的方法和装置,数据单元中的每个数据单元均具有多个不同类型的类别指示中的与之相关联的一种类型的类别指示,每个类别指示类型向当前正在处理与所述类别指示相关联的所述数据单元的中间节点提供了表示特定处理类别的指示,特定处理类别是根据中间节点要处理的是哪个数据单元而从多个不同的处理类别中选出的,以使得流的不同比例的数据单元被转发为不同的子流,每个子流包括具有不同类型的类别指示的数据单元,从而提供了表示不同类别处理的指示。
Description
技术领域
本发明涉及通过网络从发送机向接收机转发数据的方法和装置。
当网络可能无法提供期望的服务质量(QoS)时,例如在网络拥塞增加期间或当发生网络故障时,可采用本发明的优选实施方式在现有的QoS机制的基础上实现网络QoS机制,以传输保证的QoS。
发明背景和现有技术
首先介绍一些基本概念,以帮助理解进一步提出的机制。
数据包
数据网络通常将其携带的数据分成称为数据包的小单元。端点间的实际通信由各种通信协议控制。通常,通过例如因特网的网络携带数据所需的各个通信协议,需要添加包括使得能够在端主机(通常是源主机和目标主机)之间交换数据所需的任何信息的报头。与因特网相关地,最常见的数据包类型之一包括有效载荷,有效载荷包括的数据由在源端运行的应用生成、由确保数据的可靠传送的传输控制协议(TCP)报头进行封装、再由能确保数据到达预期目标主机的因特网协议(IP)报头进行封装。TCP报头包括唯一的序列号(使得数据在目的地得以重建),而IP报头包括源主机和目标主机的IP地址。
多路径传输
分组网的最初设计目的之一是,确保对于已经分割为数据包的数据而言,各数据包在网络中采用的路径并非是关键的,且不必都相同;不管这些问题,最初的消息应该能够在接收机处(或对于接收机)通过以正确的顺序重新组合数据包而重建。然而,在当前所实现的因特网中,流中的数据包通常都沿着同一路径,除非出现了问题(例如节点故障等)。在网络中存在的多个路径因此主要作为一种回弹机制。关于向TCP添加多路径支持,当前已经进行了研究。正如稍后讨论的,已经提出了各种版本的多路径传输控制协议,例如下述的:MPTCP、mTCP、pTCP。
区分服务(以及集成服务)
区分服务(该术语指的是“差异化服务”的概念)是用于流量管理的粗粒度的、基于类的机制。相反的,集成服务(“集成化服务”)是细粒度的、基于流的机制。
区分服务基于流量分类原则运行,其中各个数据包被放入有限数量的流量类别中,而不是基于个别流的需要来区分网络流量。网络中的各个路由器被配置为基于其流量类别来区分流量。可以差别地管理各个流量类别,确保优先处理穿过网络的较高优先级的流量。
区分服务模型并未包括关于何种类型流量应该给予优先处理的预先判断;可以由网络运营商做出这样的判断。区分服务只是提供了架构,使得能够分类和区别化处理。区分服务推荐了标准化的流量类别集(如下讨论的),以使得不同网络和不同供应商的设备之间的互操作性更简化。
区分服务依赖于对属于特定类别的数据包进行分类和标记的机制。可识别区分服务的路由器实现了每跳行为(PHB),其限定了与特定流量类别相关的数据包转发属性。可限定不同的PHB来提供例如低损耗、低延时转发属性或“尽最大努力”转发属性。属于同一类别的流过特定路由器的所有流量称为行为集合(BA)。
然而实际上,大多数网络使用如下通常定义的每跳行为:
-“默认PHB”-这通常是“尽最大努力(best-effort)”流量。
-“加速转发(EF)”PHB-一般专用于低损耗、低延时流量。
-“保证转发(AF)”PHB-这确保了在特定情形下的传送。
-“类别选择器”PHB-定义该“类别选择器”PHB来保持与IP优先级字段的后向兼容。
TCP带宽检测和拥塞控制
标准TCP(称为TCPReno)使用基于损耗的拥塞控制。流开始并试图增加其发送速率,直到发生损耗事件;此时其降低发送速率。TCP允许两个阶段:
-“慢启动”;以及
-“拥塞避免”。
TCP流从“慢启动”(也称作“指数增长”阶段)开始。在这个阶段,每次从接收机接收到确认,TCP拥塞窗口就增大。窗口的大小根据确认的片段(其中每个片段可以是一个数据包或多个数据包)的数量而增大。直到注意到针对某个片段还没有接收到确认或者直到达到预定的阈值为止。如果发生损耗事件,TCP假定这是由于网络拥塞——然后采取步骤以减少网络上提供的负载。
一旦已经发生损耗事件或已经达到阈值,TCP进入“拥塞避免”(或“线性增长”)阶段。此时,TCP拥塞窗口针对每个往返时间(RTT)增加一个片段,直到发生损耗事件为止。
Flash视频流传输
AdobeFlash(这两个词语在美国和/或其它国家均用作Adobe系统公司的注册商标或商标)通常通过从发送机向接收机发送突发数据直到接收机缓冲区满为止而运行。发送机然后停止发送,等待并随后从其缓冲区发送另一个突发数据,直到从接收机接收到接收缓冲区再次满了的指示。在发送阶段,数据以比播放率更快的速率传输;数据通常根据TCP确定的其速率尽可能快地发送。
现有技术
已经有多种用于多路径传输控制协议机制的提案。所有的这些提案用于利用了其中通信设备具有到多于一个网络的接口的情况的机制。第一批这些提案中的一个是2002年的pTCP。可以从互联网中如下URL:http://www.ece.gatech.edu/research/GNAN/work/ptcp/ptcp.html的标题为“pTCP:ATransportLayerProtocolforStripedConnections”的网页上获得关于此的信息。
该网页上的“综述”部分内容如下:
“TCP传输层协议被设计为用于穿过发送机和接收机之间的单个路径的连接。然而,存在一个连接可以同时使用多个路径的一些情况。在该项目中,我们考虑支持在多个路径上运行的条带化连接的问题。我们提出了称为pTCP的端到端传输层协议,使得连接可以享用由多路径提供的总带宽,而不管这些路径的个体特征。通过三个不同环境的实例示出了pTCP可以具有不同的应用范围:
-多宿主带宽聚合,
-加权率差异,以及
-基于终端系统的网络条带化(striping)。”
已经对选择多个类别来发送数据的应用程序做出研究,但这将对类别的选择留给了应用程序。由M.Fidler和V.Sander在第三届IEEE集群计算和网格国际研讨会(ThirdIEEEInternationalSymposiumonClusterComputingandtheGrid,CCGrid’03)发表的“Multi-classApplicationsforParallelUsageofaGuaranteedRateandaScavengerService”中概述了一种这样的提案。
例如由J.Border等于2001年6月在RFC3135中已经提出了涉及在TCP流内使用代理的技术:“PerformanceEnhancingProxiesIntendedtoMitigateLink-RelatedDegradations”。这种技术将TCP流分成实际上两个连续的流,并用于在卫星通信中提升性能。
参照其它现有技术文档,JianpingZou、M.ümitUyar、MariuszA.Fecko和SunilSamtani的标题为“PerformanceevaluationofsubflowcapableSCTP”(ComputerCommunications29(12):2413-2432,2006)的论文讨论了流控制传输协议(SCTP)由于其诸如多宿主、多流以及增强的安全性这些特征,如何与UDP和TCP一起成为候选的通用传输层协议,并提出对SCTP的修改以实现子流,每个子流具有它自己的流和拥塞机制以防止所谓的“伪共享”。应该理解,通过其中提出的技术,具有不同QoS需求的流仅仅映射到了不同的路径上。
简要的参照国际专利申请WO09017934(硅映电子科技公司(SiliconImageInc.)),其涉及用于互联网中数据包级别优先级的方法和装置,并具体涉及包括向接收方装置发送数据流的发送机的装置,数据流包括多个数据包,数据包包括第一优先级数据包和第二优先级数据包。装置进一步包括指导发送机操作的“网络单元”,网络单元配置为将数据流分为多个子流,包括用于第一优先级数据包的第一子流和用于第二优先级数据包的第二子流。
正如将说明的,本发明的优选实施方式可以利用将单个流(例如TCP流)分为两个或更多个(TCP)子流的思想,这些子流通常(即,并不是必须的)将经过同一路径,但是不同的子流具有不同的区分服务类别,从而能够在网络拥塞期间或其它(潜在的)有问题的网络状况期间提供或确保更好的整体服务质量(QoS)。目前,由于多路径TCP流可利用多个网络连接将单个流分为随后在不同网络路径上发送的多个子流,同一TCP流的数据包通常都以相同的QoS类别发送(或者更准确的,同一TCP流的数据包通常都被发送为使得它们经历相同的差分服务每跳行为)。
发明内容
根据本发明的第一个方面,提供了一种用于控制通过网络从发送机节点经过至少一个中间节点向接收机节点转发数据单元流的方法,所述数据单元中每个数据单元均具有多种不同类型的类别指示中的与之相关联的一种类型的类别指示,每种类型的类别指示向当前正在处理与类别指示相关联的数据单元的中间节点提供了表示特定处理类别的指示,该特定处理类别是根据中间节点要处理哪个数据单元而从多个不同的处理类别中选出的,流的第一比例的数据单元被转发为第一子流,该第一子流包括一个或多个数据单元,其中每个数据单元均具有第一类型的类别指示,从而提供表示第一处理类别的指示;所述方法包括以下步骤:
获取表示流的进度的预定动态流特性的测量;
基于流特性的测量以及基于表示流的进度的阈值水平的用于流特性的预定阈值水平,确定由测量指示的流的进度是否在用于流的进度的阈值水平界定的预定范围内;
当确定由测量指示的流的进度不在预定范围内时,进行如下处理:降低流的随后从发送机节点向接收机节点转发为第一子流的数据单元的比例,并且增加流的随后从发送机节点向接收机节点转发为第二子流的数据单元的比例,第二子流包括一个或多个数据单元,其中每个数据单元均具有第二类型的类别指示,从而提供表示与所述第一类别处理不同的第二类别处理的指示。
应该理解,词语“流的进度”可以被理解为指关于讨论中的流的转发的进度。
应该理解,通常地,与相应数据单元相关的类别指示并非是(永久地)“固定不变的”-例如可以通过更新讨论中的数据单元的报头中的域,由节点在该节点向预期接收机节点转发讨论中的数据单元之前来改变这些类别指示。正如之后将说明的,利用优选的实施方式,改变使用相应子流的数据单元的相应比例的处理步骤可以包括改变随后将要转发的数据单元报头中给出的类别指示。用于改变使用相应子流的数据单元的相应比例的其它方式也是可能的。
各种类别指示可以通过被包括在数据单元的报头部分中而与它们相应的数据单元相关,例如被包括在为类别指示或服务所分配的特定域中。
根据优选的实施方式,获取预定动态流特性的测量的步骤可以包括一个或多个下述技术,例如:
-从运行于或代表发送机节点和接收机节点中的一个或全部两个的一个或多个数据缓冲区中获取测量;
-通过监测发送机和接收机之间的数据传输速率获取测量,在这种情况下用于流特性的阈值水平是阈值数据速率;
-通过使用例如显式拥塞通知的显式拥塞指示和/或通过例如发生丢包或延时的隐式拥塞指示来监控拥塞,以获取测量,在这种情况下用于流特性的阈值水平是阈值拥塞水平;
-通过监测发送给发送机的用于停止和/或重启讨论中的流的数据发送的指示而获取测量,在这种情况下用于流特性的阈值水平可以是接收的指示的阈值速率。
应该理解获取预定动态流特性的测量的步骤可以由发送机节点自身执行、由接收机节点执行或由运行于或代表发送机节点和接收机节点中的一个或全部两个的实体(例如代理节点或管理实体)来执行,或独立的,例如受控于网络运营商。
根据优选的实施方式,基于用于讨论中的流特性的至少两个预定阈值水平执行所述确定步骤,流特性阈值水平之一是表示流的进度的水平被视为不足够的较低阈值水平,而流特性阈值水平中的另一个是表示流的进度的水平被视为已经足够的较高阈值水平。通过用于流特性的两个这种阈值水平,界定的范围实质上被限定为,在该范围内流的进度的当前水平可视为足够的,以使得当前不需要改变相应子流之间的平衡。例如,可以存在附加的阈值,用于表示需要在多于两个的独立子流之间重新分配数据。有三个或更多的可能子流时,子流可以是:
普通<=>较高优先级<=>最高优先级;
较低优先级<=>普通<=>较高优先级;
或其它组合。
根据优选的实施方式,改变利用相应子流的数据单元的相应比例的步骤包括设置关于随后的数据单元而分配的服务或者类别指示的不同比例。一般由发送机执行这一步骤,但也可以由代理或另一个实体来执行。为了能够分配使得当数据单元在朝向接收机的路径上前行时中间节点以适当不同的处理类别来处理数据单元的指示,这样的实体通常可以位于一个或多个中间节点的上行路径上。
根据一些实施方式,当流的在子流上随后被转发的数据单元的比例降低到零或低于最小水平时,停止该子流,并且当流的在子流上随后被转发的数据单元的比例从零开始增加或者高于最小水平时启动该子流。可选的,在一个或多个子流未被要求携带流的任何比例的数据期间,也可以维持该一个或多个子流,尽管是处于休眠状态或者未使用状态。
第二子流和第一子流相比可以是较高服务类别子流,或者和第一子流相比是较低服务类别子流。任何一种方式,都存在“默认”情况,其中使用较低(例如,最大努力)服务类别子流,而如果发现流的整体进度已经变得“不足够”则仅在较高(例如,保证转发)服务类别子流中发送数据单元。可选的,存在“默认”情况,使用较高(例如,保证转发)服务类别子流,而如果发现流的整体进度已经变得“足够”,则仅在较低(例如,最大努力)服务类别子流中发送数据单元。正如后面将要理解的,完全不必有默认情况-可以有两个同样可用的子流,而根据当前情况在他们之间进行分配。
此外,如之前指出的,可能有多于两个可能的子流,使得在它们之间进一步重新平衡。再次,这些子流中的任何一个都可以是“默认”子流,或实际上没有默认子流。
根据优选实施方式的方法可以是:在确定由测量指示的流进度不足够时,所述处理步骤包括降低流的随后从发送机节点向接收机节点转发为要由至少一个中间节点根据较低优先级处理类别来处理的子流的数据单元的比例,以及增加流的随后从发送机节点向接收机节点转发的要由至少一个中间节点根据较高优先级处理类别来处理的数据单元的比例。另选的,根据优选实施方式的方法可以是:在确定由测量指示的所述流的进度足够时,所述处理步骤包括降低流的随后从发送机节点向接收机节点转发为要由至少一个中间节点根据较高优先级处理类别来处理的子流的数据单元的比例,以及增加流的随后从发送机节点向接收机节点转发的要由至少一个中间节点根据较低优先级处理类别来处理的数据单元的比例。
处理步骤可以包括在第一子流和两个或多个其它子流中任一个子流之间重分配流的数据单元,每个其它子流包括一个或多个数据单元,每个数据单元具有类别指示类型,该类别指示类型提供表示不同处理类别的指示。
根据优选的实施方式,所述方法可以进一步包括存储表示不同子流的使用和/或分别分配给不同子流的数据单元的比例的数据的步骤,以及随后据此确定不同子流的使用和/或分别分配给不同子流的数据单元的比例的步骤。
根据本发明的第二方面,提供了一种用于控制通过网络从发送机节点经过至少一个中间节点向接收机节点转发数据单元流的装置,所述数据单元中每个均具有与之相关的多种不同类型的类别指示中的其中一个,每种类型的类别指示向当前正在处理与类别指示相关的数据单元的中间节点提供了表示特定处理类别的指示,该特定处理类别是根据所述中间节点要处理哪个数据单元而从多个不同的处理类别中选出的,流的第一比例的数据单元被转发为第一子流,该第一子流包括一个或多个数据单元,其中每个数据单元均具有第一类型的类别指示,从而提供表示第一类别处理的指示;所述装置包括:
流特性监测器,其能够操以获取表示流的进度的预定动态流特性的测量;
流进度监测器,其能够操以基于流特性的测量以及基于表示用于流的进度的阈值水平的用于流特性的预定阈值水平,确定由测量指示的流的进度是否在用于流的进度的所述阈值水平界定的预定范围内;
子流控制器,其能够操以当确定由测量指示的流进度不在预定范围内时,进行如下处理:降低流的随后从发送机节点向接收机节点转发为第一子流的数据单元的比例,并且增加流的随后从发送机节点向接收机节点转发为第二子流的数据单元的比例,第二子流包括一个或多个数据单元,其中每个数据单元均具有第二类型的类别指示,从而提供表示与第一类别处理不同的第二类别处理的指示。
上面提到的与第一方面相关的各种选项和优选实施方式还适用于第二方面。
附图说明
现在将参照附图描述本发明的优选实施方式,其中:
图1是例示发送机和接收机之间多类别数据流的示意图;
图2是示出根据本发明的实施方式由接收机执行的通过网络从发送机接收流数据的步骤的流程图;
图3是示出根据本发明的实施方式由发送机执行的通过网络将数据流向接收机的步骤的流程图;以及
图4是示出由接收机执行的步骤的流程图,例示了可以与例如参考图2和图3描述的那些实施方式相关地使用的增强。
本发明优选实施方式说明
参考图1至图4,将描述根据各个实施方式的方法和装置。
图1例示了使得端到端数据流能通过两个计算机或其它这种用户终端(可以称为“计算机A”11和“计算机B”19)之间的数据通信路径。它们通过具有多个中间路由器15的网络10相连接。为了简化描述,如下的说明关于计算机A仅仅用作数据发送机,而计算机B仅仅用作数据接收机的情形。但是应该理解,两个计算机实际上可以执行到/从彼此和其它终端的发送和接收功能。
计算机A通过网络附属节点(networkattachmentnode)13连接到网络10。计算机B也通过网络附属节点17连接到网络。网络附属节点13和17可以仅作为附属点,通过这些附属点计算机11和19可以连接到网络。它们还可以作为与那些中间路由器15具有相似路由功能的路由器。可选的或另外的,它们还可以用作用于其各自计算机11和19的代理节点,如下面说明的,代表计算机11和19执行附加功能。应当注意,每个计算机能够通过多于一个网络附属节点同时或不同时访问网络,且多于一个计算机能够通过同一网络附属节点访问网络。
计算机A被示出为具有相关的“发送”缓冲区14A,在缓冲区14A中可以在发送之前持有流向计算机B的数据。相应的,计算机B被示出为具有相关的“接收”缓冲区14B,从计算机A流出的数据到达缓冲区14B。这些缓冲区的重要性将在下面进行说明,但应该注意每个缓冲区被示为具有其总容量的0%至100%之间的当前“填充水平”(缓冲区14A为FA,缓冲区14B为FB),并且具有两个阈值,一个低阈值(缓冲区14A为TA,L,缓冲区14B为TB,L)以及一个高阈值(缓冲区14A为TA,H,缓冲区14B为TB,H)。如下面将要理解的,在本发明某些实施方式中可以存在这些缓冲区任意一个或者两者都存在。如果确实存在,它们可以存在于计算机A和B中的其中一个内或者两者内,或者例如存在于诸如代理节点、网络附属节点或代理各个计算机的专用缓冲区实体的实体中,但是,由于本发明的某些实施方式普遍地利用了在现有流技术中存在的功能,另选的实施方式也可以根本不需要这些这些缓冲区作为其特定功能的一部分,但是实际上可以以其它方式实现。
关于网络10,应该注意到计算机A和计算机B之间可以存在可能为不同类型或由不同网络提供商或其它实体运行的多个互联的网络10a、10b等(用虚线“云”符号示出),而不是单个同质的、统一控制的网络。但是为了说明,通常视其为单个网络10。
计算机A和计算机B之间的数据流用一条或多条总体用参考符号12a、12b、12c标记的线来表示。如下面将说明的,计算机A和计算机B之间的“总流”(将用通用参考符号12表示)可以有时仅包括一个子流(例如只有子流12a,或只有子流12b),或者可以包括多个这种子流中的两个或多个,示出了三个子流(12a、12b、12c)。其中一个子流,例如子流12a,可以作为“默认”子流,默认用于计算机A和计算机B之间流动的总流12的数据,在这种情况下,可能仅在特定环境中偶尔使用其它子流。可选的,可以没有“默认”子流-子流12a、12b、12c中的任一或任意一个可以在不同时刻用于计算机A和计算机B之间流动的流12的数据。
为了简化下述解释,下述说明的大部分涉及存在两个可能的子流(子流12a和子流12b),其中第一个(子流12a)是默认子流,而其中第二个是具有不同的、“较高优先级”QoS类别的子流的情况,但应该注意的是,实施方式并不仅限于这一情况。默认子流可以是具有“较高优先级”QoS类别的子流,或者如上面所述的,子流是可以互换的,也可以都不作为“默认子流”。此外,在当前没有使用一个或多个子流期间,这些子流可以停止,并且当需要时再次启动或用新的子流代替,或者在当前没有正在被使用时,这些子流可以保持存在但是是不活动的。
通过将要描述的实施方式,流包括多个可能子流中一个或多个子流的目的在于,如果具有低区分服务QoS类别的子流不能够为总流提供期望的QoS,可以获得具有更优QoS类别(即具有更优或较高优先级区分服务每跳行为)的子流。优选实施方式利用了这样的事实:在一段时间内(即非高峰期),网络通常未得到充分利用,因此用户体验的与总流相关的QoS可以通过使用TCP流来实现,其中用低QoS类别(例如最大努力,或BE类别)来发送单个数据包。可能仅当发生拥塞时,在高峰期间,需要用较高QoS类别来发送单个数据包,以确保用户体验的与总流相关的QoS维持在满意的程度。进一步的,由于拥塞并不一定严格对应于使用的高峰期间,只是在整个高峰期间以较高区分服务QoS类别来发送所有的数据包可能是浪费的或代价较高;相反,在非高峰期作为BE数据包发送的数据包仍然可能遭遇拥塞。通常,网络服务提供商(ISP)对于发送用除BE外其它进行标记的数据包进行额外收费,因此发送机可以从仅当必要时以较高QoS类别发送数据包以维持与总流或流相关的所需QoS水平中获益。
鉴于以上所述,对每个已设置的TCP流(可能的)建立至少两个子流:例如,一个“最大努力”子流,以及使用例如确保转发(AF)每跳行为之一的一个较高QoS类别子流。如之前指出的,实施方式并不仅限于具有这样两个类别的子流-例如,可能是分别具有不同AFPHB的子流。为了例示优选实施方式的功能,考虑两个子流示例通常就足够了,因为这使得不同比例的数据包可以在不同时间在两个子流上发送。
可以以各种方式、在各种不同位置或网络实体中实现不同的实施方式,例如如下情况:
1、在操作系统中
2、作为套接字层之上的应用程序接口(API),以使得应用程序能选择它们如何扩散数据
3、作为终端系统上的改变一些数据包的类别的网络过滤器
4、作为本地代理
5、作为网络代理
通过套接字层上的API,有用于单独出现在应用程序的流的选项,以使得应用程序可以决定在哪个子流上使用或给予优选的优先级。如果没有拥塞,则所有的流量都作为BE同样发送。然而,如果有拥塞,可以区别发送一些流量。将在后面讨论如何使用API以及如何使用代理。
之前已经描述了“Flash”视频如何可以使用“发送”和“接收”侧的缓冲区,并且如何从发送机向接收机发送突发数据。可以使用优选实施方式(可以被设置为适于结合行为类似“Flash”视频的流应用程序使用)来避免或减少接收缓冲区为空的可能性。存在接收缓冲区的事实通常意味着启动流以及响应拥塞的选项更为简单:可以遵守标准TCP算法。在交互流量的情况下(例如IP电话(即VoIP)),可能需要引入其它测量来确保维持发送率。
如上所述的,在图1中,示出了在计算机A和计算机B之间的三个子流(12a、12b、12c)。然而下面的描述将仅集中于其中两个,即,较低优先级“第1类别”子流12a(在这种情况下为“最大努力(BE)”子流)以及较高优先级“第2类别”子流12b(在这种情况下属于区分服务术语中的“确保转发(AF)”类别)。在该示例中,较低优先级子流12a被视为“默认”子流。例如当网络足以拥塞到对最大努力子流产生非常不利的影响,以至于将流的总进度影响到涉及的终端用户(即,发送机和接收机)其中之一或双方都认为是可能不能接受的程度时,可以按如下所述的方式使用较高优先级子流12b。应该指出的是,用于两个子流12a、12b的路由器表示为相同的。这是通常的情况,但是单个路由器可以灵活地用不同的方式来路由流量,与它们在较低优先级子流12a中处理数据包不同地(并且通常是比在较低优先级子流12a中处理数据包更优地),通常仅期望他们在较高优先级子流12b中处理数据包(例如通过具有更短的队列)。
优选实施方式描述
图2示出了优选实施方式,其中默认使用一个“标准”类别(例如最大努力)子流,且其中可以创建一个更高类别的附加子流(由此依从的路由器可以以更高的优先级来处理该附加子流的数据包)。该实施方式涉及“流传输”的情形,其中接收机在播放数据之前缓冲数据。需要总流的数据速率足够以保持接收机的缓存区在流进程中至少部分地被填充。
为了启动流传输,通过使用默认子流发送数据来启动总流(步骤20)。然后可以使用各种不同的子程序,每个子程序返回到“监测速率”时刻(步骤21),每个子程序本身可以用各种不同的方式实现。在这一示例中,可以仅仅通过监测接收机处的缓冲区14B的填充水平FB,以及将其与阈值“低”(TB,L)以及“高”(TB,H)中的一个或两个比较来监测速率,目的是将填充水平保持在这两个阈值之间。此后将讨论监控速率的其它方式。
最初,一旦启动流传输,可能发现水平高于低阈值(步骤22),以及发现水平低于高阈值(步骤23),这种情况下子程序返回步骤21。在某些时刻,例如可能由于高峰期间的拥塞或由于网络故障,发现缓冲区的水平下降到低阈值之下(步骤22),这种情况下通过步骤24和25继续进行处理(通常为一次),接着(至少暂时)通过如下步骤21、22、24和26。如果已知或已确定之前尚未启动较高类别的子流(步骤24),则将启动比现有子流更高QoS类别的新子流(步骤25),且将总流中随后的流量分开在两个子流中。可以由接收机请求两个子流之间的切分,接收机通常能够监测自身的缓冲区,然后发送机借助其向一些数据单元分配标记以使得这些数据单元能够被单个路由器作为较高优先级数据包来处理来处理请求。后面将讨论在子流之间分割数据中进行调整的其它方式。
随着流传输的继续,监测缓冲区。如果缓冲区保持低于低阈值(再次当进程通过步骤22时确定的),接收机可以请求用较高类别的子流来发送更大比例的数据(步骤26),因此在较低类别子流中发送更少的数据。如果缓冲区返回到两个阈值之间的水平,方法回复到步骤21、22以及23。然而如果发现缓冲区超过了高阈值(步骤23),接收机可以接着请求发送机在较高类别子流上发送更少的数据(步骤27)。
最终这将导致没有数据分配给较高类别子流。然后未使用的较高类别子流可以被留下直到超时,或者可以被维持为休眠子流。
获取对流进度的测量的其他方式
在如上的实施方式中,如图2所示,通过监测接收机的缓冲区14B的水平来获取对流进度的测量。从有关图3的如下说明中可以理解,可以通过监测发送机的缓冲区14A来替代地获取进度的测量。对于任意一种方式,意在将缓冲区保持在给定的(优选)界定范围内,从而使得接收机的应用程序和/或其缓冲区既不会缺少数据也不会溢出。
监测发送机和/或接收机的缓冲区水平的一些可能的替代方式包括:
-直接测量数据速率,即确保数据速率本身维持在低速率阈值和高速率阈值之间;
-例如通过显式的拥塞通知(ECN)、通过丢弃的数据包或者通过延时计算来检测拥塞。
如下所述是另一个替代方式,涉及其中使用例如“Flash”视频中使用的缓冲区的接收缓冲区的实施方式,可以使用的该另一个替代方式。如之前解释的,这样的流传输技术以突发的方式运行,接收机的缓冲区被填充直到其达到预定的高水平,此时向发送机发送请求以停止发送数据。然后,一旦接收机的缓冲区降低到低于预定的低阈值,向发送机发送请求以再次开始发送数据。通过这种实施方式,并非是监测缓冲区水平本身,可以监测请求停止和/重新开始发送的请求的频率,并且被用来确定是否需要较高的类别或者是否当前使用的较高的类别实际上并不需要。请求停止发送数据的少量请求(或者根本没有请求)可以被视为指示速率太低。请求停止发送数据的高数量的请求可以被视为指示速率太高、不需要当前使用的较高类别流或者可以降低子流上的数据速率。
调节发送速率的可选方式
可以由发送机以各种方式控制对发送速率的调节,例如:
-通过到接收机的显式消息(将其与当发送数据时如何控制Flash播放器进行比较)
-通过改变TCP确认中的接收窗口。
发送机侧的实现
图3示出了在不依赖于接收机监测其缓冲区并据此发送请求的情况下,数据发送机如何控制附加子流的创建和使用。相反,发送机监测其自身的“发送缓冲区”。根据与参考图2描述的“接收侧实现”相关所示的步骤相似的步骤来执行该方法,并且根据图3的方法的步骤30、31、34和35可以严格地对应于关于图2如上所述的方法的步骤20、21、24和25。有鉴于步骤32中,监测的是发送机的缓冲区14A(而不是接收机的缓冲区14B),步骤32和33与图2中的步骤22和23不同。如果发现缓冲区的填充水平FA已经升高到高于高阈值(TA,H),通过步骤34和35(通常一次)执行进程,然后(至少暂时的)通过步骤31、32、34和36,从而使得更高比例的发送数据(至少暂时的)使用较高类别的子流来发送。应该注意到,步骤36涉及实际上增加较高类别子流的速率并减少较低类别子流的速率,而不是如同图2的接收机侧实现中发生的关于此仅仅提交请求。这是由于发送机是对为要发送的数据单元分配标记进行控制的实体,这些标记确定由单个路由器在到接收机的路径上处理的数据单元的优先级,与仅仅能够关于使用较低类别和较高类别子流发送的数据单元的相应比例做出请求的接收机(在图2的方法中)相反。
如同图2的方法,目的通常是将相关缓冲区的填充水平保持在(或将相关缓冲区的填充水平恢复到)“低”阈值和“高”阈值之间的范围内。如果发现该水平已经高于适用阈值,采用涉及步骤34、35和36的上述子程序来降低该水平。如果,由于该子程序或其它原因(例如网络状况变化),在某一时刻发现缓冲区已经降低到低于低阈值(TA,L)(步骤33),发送机接着可以降低较高类别子流上的速率并(相应的)增加较低类别子流上的速率(步骤37)。
发送机和接收机分割功能
可以在发送机和接收机之间划分该功能。例如,接收机可以决定何时需要创建新的子流,并通过向发送机发送适当的请求或指示启动创建,而发送机可以确定在各个子流上要发送的数据的相应比例。例如当接收机有防火墙保护的情况下,这可能是必须的,因为发送机可能无法启动新流的创建。
将先前状态考虑在内
现在将描述可能的提升,可以使用这种可能的提升以使得实施方式考虑到何时启动流或者在一段不活动时间之后何时重启动流这些先前状态。这包括记录关于先前流的状态(即先前使用的是否是较低类别子流、较高类别子流或两者(或附加流);单个子流之间的平衡等)。这在当网络已经拥塞时(在先前的监测中已经发现拥塞)启动流的情形中是有用的。
图4例示了可能涉及的额外步骤。给出的下面的说明涉及诸如参照图2描述的“接收侧监测”,但也同样适用于诸如参照图3(以及其他实施方式)描述的“发送侧监测”,并且涉及这样一种实施方式:具有单个较低类别子流作为其“默认子流”,当需要或必要时能够使用可能的较高类别子流(尽管如先前解释的,可以为不同的默认状态或没有特定的默认状态)。
在启动或重启流时(步骤400),检查是否可获得任何相关的“最近历史”(即关于来自正在讨论的接收机的和/或到正在讨论的发送机的流的先前状态的信息)(步骤402)。如果发现(步骤404)最近没有使用较高类别的子流,方法通过步骤406继续进行(默认的)较低类别子流。另一方面,如果发现(步骤404)最近使用了较高类别子流以及(默认的)较低类别子流,方法通过步骤408启动较高类别子流和(默认的)较低类别子流而继续。从步骤410开始通过其基本的监测子程序方法可以继续进行,包括监测接收机缓冲区的水平。
如果发现该水平(步骤420和430)位于预定的低阈值和高阈值之间,表示流进度当前被视为可接受的,不改变较低类别子流和较高类别子流之间的平衡(记住在这些子流中的一个子流或其它子流上可能没有数据)。
如果在某一时刻发现(步骤420)接收机的缓冲区水平高于高阈值,从而表示数据比请求的或需要的更快到达,可以确定(步骤422)这些数据中的一些数据是否正在通过较高类别子流到达。如果是,可以请求较低比例的数据通过较高类别子流来发送。
另一方面,如果在某一时刻发现(步骤430)接收机的缓冲区的水平低于低阈值,从而表示数据没有所请求的或需要的那么快到达,可以确定(步骤432)是否存在较高类别子流。如果存在,方法直接进行到步骤435。否则,在进行到步骤435之前,可以启动较高类别子流(步骤434),其中在步骤435中请求(较高)比例的数据通过较高类别子流来发送。
请求改变以从较高类别子流向较低类别子流重新分配数据(即通过步骤425),或从较低类别子流向较高类别子流重新分配数据(通过步骤435),进程接着前进到步骤437,在步骤437中在返回到步骤410的基本监测子程序之前存储当前状态(即通过较低类别子流或较高类别子流发送的流的相应比例)。在步骤437存储的任何信息可以之后用于随后的流启动或重启之后的步骤402中。存储之后,当然需要考虑到时间量例如通过采取指数加权移动平均来理解存储的数据。
防止在不同的(子)流之间震荡
在一些情况下,防止在相应子流上发送的比例的快速震荡是有益的。这可以例如通过限制相应的分配多久变化一次,或者通过限制在每个时间单位(或在每个往返时间)变化的程度来实现。当然如果需要也可以使用其它方法来防止震荡。
扩展的套接字API
如前面所建议的,实现本发明的实施方式的一种方法是作为套接字层上的API。这可以提供更好的灵活性。使得应用程序能够给流的不同部分分配优先级。例如,可以通过AF子流发送数据的第一部分,以使得其率先到达。例如第一片段可以利用AF发送,同时第三片段利用BE发送。第二片段然后利用AF发送同时第四利段利用BE发送。
可选的,可以将某些流量指定为“必要的”而某些指定为“可选的”。例如,在MPEG流中的I帧利用AF发送,B帧和P帧利用BE发送。I帧可以被传送给接收的应用程序,以使得如果B帧和P帧没有及时传送,视频可以无冻结地播出,尽管以降低的帧速率。
代理
虽然上述说明一般地描述了其中发送机和/或接收机进行监控和/或子流重新平衡操作的实施方式,应该理解代理可以实现上述之一或两者。这些代理例如可以位于图1中的相应网络附属节点13和17处。代理可以通过检查确认(“ack”)流而跟踪流的拥塞。接着据此可以针对流中的某特定部分数据包从BE到AF重新标记数据包。
Claims (16)
1.一种用于控制通过网络从发送机节点经过至少一个中间节点向接收机节点转发数据单元流的方法,所述数据单元中的每个数据单元均具有多种不同类型的类别指示中的与之相关联的一种类型的类别指示,每种类型的类别指示向当前正在处理与所述类别指示相关联的所述数据单元的中间节点提供了表示特定处理类别的指示,该特定处理类别是根据所述中间节点要处理哪个所述数据单元而从多个不同的处理类别中选出的,所述流的第一比例的数据单元被转发为第一子流,该第一子流包括一个或多个数据单元,其中每个数据单元均具有第一类型的类别指示,从而提供表示第一处理类别的指示;所述方法包括以下步骤:
获取表示所述流的进度的预定动态流特性的测量;
基于所述流特性的所述测量以及基于表示所述流的进度的阈值水平的用于所述流特性的预定阈值水平,确定由所述测量指示的所述流的进度是否在用于所述流的进度的所述阈值水平界定的预定范围内,其中,基于用于所述流特性的至少两个预定阈值水平执行所述确定步骤,所述流特性阈值水平中的一个是表示所述流的进度的水平被视为不足够的较低阈值水平,而所述流特性阈值水平中的另一个是表示所述流的进度的水平被视为已经足够的较高阈值水平;
当确定由所述测量指示的所述流的进度大于所述较高阈值水平时,降低所述流的随后从所述发送机节点向所述接收机节点转发为所述第一子流和第二子流中具有较高服务类别的一个子流的数据单元的比例,并且增加所述流的随后从所述发送机节点向所述接收机节点转发为所述第一子流和所述第二子流中具有较低服务类别的一个子流的数据单元的比例,以及
当确定由所述测量指示的所述流的进度小于所述较低阈值水平时,降低所述流的随后从所述发送机节点向所述接收机节点转发为所述第一子流和所述第二子流中具有较低服务类别的一个子流的数据单元的比例,并且增加所述流的随后从所述发送机节点向所述接收机节点转发为所述第一子流和所述第二子流中具有较高服务类别的一个子流的数据单元的比例,
所述第二子流包括一个或多个数据单元,其中每个数据单元均具有第二类型的类别指示,从而提供表示与所述第一类别处理不同的第二类别处理的指示。
2.如权利要求1所述的方法,其中获取所述预定动态流特性的测量的步骤包括:从运行于或代表所述发送机节点或所述接收机节点中的一个或多个数据缓冲区中获取所述测量,或者从运行于或代表所述发送机节点和所述接收机节点中的一个或多个数据缓冲区中获取所述测量。
3.如权利要求1或2所述的方法,其中获取所述预定动态流特性的测量的步骤包括:通过监测所述发送机和所述接收机之间的数据传输速率获取所述测量,用于所述流特性的所述阈值水平是阈值数据速率。
4.如权利要求1所述的方法,其中获取所述预定动态流特性的测量的步骤包括:通过使用显式拥塞指示和/或通过隐式拥塞指示来监控拥塞,以获取所述测量,用于所述流特性的所述阈值水平是阈值拥塞水平。
5.根据权利要求4所述的方法,其中所述显式拥塞指示是显式拥塞通知。
6.根据权利要求4所述的方法,其中所述隐式拥塞指示是发生丢包或延时。
7.如权利要求1所述的方法,其中获取所述预定动态流特性的测量的步骤包括:通过监测发送给所述发送机的用于停止和/或重启所述流的数据发送的指示而获取所述测量,用于所述流特性的所述阈值水平是指示的阈值速率。
8.如权利要求1所述的方法,其中获取所述预定动态流特性的测量的步骤由所述发送机节点、所述接收机节点或运行于或代表所述发送机节点和所述接收机节点中的一个或全部两个的实体来执行。
9.如权利要求1所述的方法,其中改变利用相应子流的数据单元的相应比例的步骤包括设置关于随后的数据单元而分配的服务或者类别指示的不同比例。
10.如权利要求1所述的方法,其中当所述流的在子流上随后被转发的数据单元的比例降低到零或低于最小水平时,停止所述子流,并且当所述流的在所述子流上随后被转发的数据单元的比例从零开始增加或者高于最小水平时启动所述子流。
11.如权利要求1所述的方法,其中所述第二子流和所述第一子流相比是较高服务类别子流。
12.如权利要求1所述的方法,其中在确定由所述测量指示的所述流的进度不足够时,所述处理步骤包括降低所述流的随后从所述发送机节点向所述接收机节点转发为由所述至少一个中间节点根据较低优先级处理类别来处理的子流的数据单元的比例,以及增加所述流的随后从所述发送机节点向所述接收机节点转发的由所述至少一个中间节点根据较高优先级处理类别来处理的数据单元的比例。
13.如权利要求1所述的方法,其中在确定由所述测量指示的所述流的进度足够时,所述处理步骤包括降低所述流的随后从所述发送机节点向所述接收机节点转发为由所述至少一个中间节点根据较高优先级处理类别来处理的子流的数据单元的比例,以及增加所述流的随后从所述发送机节点向所述接收机节点转发的由所述至少一个中间节点根据较低优先级处理类别来处理的数据单元的比例。
14.如权利要求1所述的方法,其中所述处理步骤包括在所述第一子流和两个或更多个其它子流中任一个其它子流之间重分配所述流的数据单元,每个所述其它子流包括一个或多个数据单元,每个数据单元具有类别指示类型,该类别指示类型提供表示不同处理类别的指示。
15.如权利要求1所述的方法,其中所述方法进一步包括存储表示不同子流的使用和/或分别分配给不同子流的数据单元的比例的数据的步骤,以及随后据此确定不同子流的使用和/或分别分配给不同子流的数据单元的比例的步骤。
16.一种用于控制通过网络从发送机节点经过至少一个中间节点向接收机节点转发数据单元流的装置,所述数据单元每个均具有多种不同类型的类别指示中的与该数据单元相关联的一种类型的类别指示,每种类型的类别指示向当前正在处理与所述类别指示相关联的所述数据单元的中间节点提供了表示特定处理类别的指示,该特定处理类别是根据所述中间节点要处理哪个所述数据单元而从多个不同的处理类别中选出的,所述流的第一比例的数据单元被转发为第一子流,该第一子流包括一个或多个数据单元,其中每个数据单元均具有第一类型的类别指示,从而提供表示第一类别处理的指示;所述装置包括:
流特性监测器,其能够操作以获取表示所述流的进度的预定动态流特性的测量;
流进度监测器,其能够操作以基于所述流特性的所述测量以及基于表示所述流的进度的阈值水平的用于所述流特性的预定阈值水平,确定由所述测量指示的所述流的进度是否在用于所述流的进度的所述阈值水平界定的预定范围内,其中,基于用于所述流特性的至少两个预定阈值水平执行所述确定步骤,所述流特性阈值水平中的一个是表示所述流的进度的水平被视为不足够的较低阈值水平,而所述流特性阈值水平中的另一个是表示所述流的进度的水平被视为已经足够的较高阈值水平;
子流控制器,其能够操作使得:
当确定由所述测量指示的所述流的进度大于所述较高阈值水平时,降低所述流的随后从所述发送机节点向所述接收机节点转发为所述第一子流和第二子流中具有较高服务类别的一个子流的数据单元的比例,并且增加所述流的随后从所述发送机节点向所述接收机节点转发为所述第一子流和所述第二子流中具有较低服务类别的一个子流的数据单元的比例,以及
当确定由所述测量指示的所述流的进度小于所述较低阈值水平时,降低所述流的随后从所述发送机节点向所述接收机节点转发为所述第一子流和所述第二子流中具有较低服务类别的一个子流的数据单元的比例,并且增加所述流的随后从所述发送机节点向所述接收机节点转发为所述第一子流和所述第二子流中具有较高服务类别的一个子流的数据单元的比例,
所述第二子流包括一个或多个数据单元,其中每个数据单元均具有第二类型的类别指示,从而提供表示与所述第一类别处理不同的第二类别处理的指示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10251662.2 | 2010-09-28 | ||
EP10251662 | 2010-09-28 | ||
PCT/GB2011/001408 WO2012042208A1 (en) | 2010-09-28 | 2011-09-28 | Multi-class data transport |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103222248A CN103222248A (zh) | 2013-07-24 |
CN103222248B true CN103222248B (zh) | 2016-02-03 |
Family
ID=44315117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180046417.6A Active CN103222248B (zh) | 2010-09-28 | 2011-09-28 | 多类别数据传输的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9071531B2 (zh) |
EP (1) | EP2622816B1 (zh) |
CN (1) | CN103222248B (zh) |
WO (1) | WO2012042208A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9270616B1 (en) * | 2013-02-21 | 2016-02-23 | Arris Enterprises, Inc. | Low-latency quality of service |
EP2884707B1 (en) * | 2013-12-16 | 2016-04-27 | Alcatel Lucent | Method for controlling buffering of packets in a communication network |
US9350672B2 (en) | 2014-03-13 | 2016-05-24 | Cisco Technology, Inc. | Performance enhancement and congestion control of multipath protocol packets in a heterogeneous network environment with multipath transport protocols |
CN105516018B (zh) * | 2014-09-23 | 2018-12-18 | 博雅网络游戏开发(深圳)有限公司 | 网络数据传输方法和装置 |
CN107113471A (zh) * | 2014-10-28 | 2017-08-29 | 索尼公司 | 接收装置、发送装置和数据处理方法 |
EP3332519B8 (en) * | 2015-08-06 | 2019-07-31 | British Telecommunications public limited company | Data packet network |
CN113473535B (zh) * | 2016-08-17 | 2023-08-22 | 华为技术有限公司 | 一种多路径传输的策略控制方法及相关设备 |
US10659476B2 (en) | 2016-09-12 | 2020-05-19 | Architecture Technology Corporation | Transparent bridge for monitoring crypto-partitioned wide-area network |
US10542086B2 (en) * | 2017-10-30 | 2020-01-21 | General Electric Company | Dynamic flow control for stream processing |
US10785163B2 (en) * | 2019-02-27 | 2020-09-22 | International Business Machines Corporation | Maintaining a queuing policy with multipath traffic |
US11627185B1 (en) * | 2020-09-21 | 2023-04-11 | Amazon Technologies, Inc. | Wireless data protocol |
US11463366B1 (en) | 2020-09-22 | 2022-10-04 | Architecture Technology Corporation | Autonomous network optimization using network templates |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1781322A (zh) * | 2003-03-17 | 2006-05-31 | 奥林奇股份有限公司 | 传递因特网协议分组数据的电信设备和方法 |
WO2009017934A1 (en) * | 2007-07-27 | 2009-02-05 | Silicon Image, Inc. | Packet level prioritization in interconnection networks |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7042848B2 (en) * | 2001-05-04 | 2006-05-09 | Slt Logic Llc | System and method for hierarchical policing of flows and subflows of a data stream |
US7636309B2 (en) * | 2005-06-28 | 2009-12-22 | Alcatel-Lucent Usa Inc. | Multi-path routing using intra-flow splitting |
US20070171830A1 (en) * | 2006-01-26 | 2007-07-26 | Nokia Corporation | Apparatus, method and computer program product providing radio network controller internal dynamic HSDPA flow control using one of fixed or calculated scaling factors |
US7539133B2 (en) * | 2006-03-23 | 2009-05-26 | Alcatel-Lucent Usa Inc. | Method and apparatus for preventing congestion in load-balancing networks |
US8085775B1 (en) * | 2006-07-31 | 2011-12-27 | Sable Networks, Inc. | Identifying flows based on behavior characteristics and applying user-defined actions |
US20120144062A1 (en) * | 2010-06-04 | 2012-06-07 | Interdigital Patent Holdings, Inc. | MPTCP And Mobile IP Interworking |
-
2011
- 2011-09-28 WO PCT/GB2011/001408 patent/WO2012042208A1/en active Application Filing
- 2011-09-28 CN CN201180046417.6A patent/CN103222248B/zh active Active
- 2011-09-28 US US13/876,554 patent/US9071531B2/en active Active
- 2011-09-28 EP EP20110764837 patent/EP2622816B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1781322A (zh) * | 2003-03-17 | 2006-05-31 | 奥林奇股份有限公司 | 传递因特网协议分组数据的电信设备和方法 |
WO2009017934A1 (en) * | 2007-07-27 | 2009-02-05 | Silicon Image, Inc. | Packet level prioritization in interconnection networks |
Non-Patent Citations (1)
Title |
---|
Performance evaluation of subflow capable SCTP;Jianping Zou.etl;《Computer communications》;20050804;第29卷(第12期);第2431-2432页 * |
Also Published As
Publication number | Publication date |
---|---|
US9071531B2 (en) | 2015-06-30 |
CN103222248A (zh) | 2013-07-24 |
WO2012042208A1 (en) | 2012-04-05 |
EP2622816B1 (en) | 2014-07-30 |
US20130182573A1 (en) | 2013-07-18 |
EP2622816A1 (en) | 2013-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103222248B (zh) | 多类别数据传输的方法和装置 | |
US9215182B2 (en) | Enhancing performance of rapid channel changes and other playback positioning changes in adaptive streaming | |
CN102075444B (zh) | 一种保障多类型业务服务质量的网络系统及方法 | |
US9813933B2 (en) | Multi-stream service concurrent transmission method, subsystem, system and multi-interface terminal | |
CN108092888B (zh) | 一种基于Overlay网络的传输方法、网关及传输系统 | |
CN104954279B (zh) | 一种传输控制方法、装置及系统 | |
JP2020502948A (ja) | パケット伝送システムおよび方法 | |
EP2090035B1 (en) | Congestion control in stateless domains | |
US20220294727A1 (en) | Systems and methods for managing data packet communications | |
Zhang et al. | Congestion control and packet scheduling for multipath real time video streaming | |
US20200120152A1 (en) | Edge node control | |
TW202002596A (zh) | 運算裝置中預測封包壽命之佇列系統 | |
Herguner et al. | Towards QoS-aware routing for DASH utilizing MPTCP over SDN | |
EP2869517A1 (en) | A communication node, a receiving node and methods for congestion based routing and flow control in between | |
CN1567891B (zh) | 一种实现对数据业务传输路径选择的方法 | |
CN106330710A (zh) | 数据流调度方法及装置 | |
JP2004153776A (ja) | 情報配信システム、アクセス中継装置、配信中継装置、通信端末装置、情報配信方法およびプログラム | |
Yeom et al. | Marking for QoS improvement | |
Eckert et al. | Quality of service (QoS) | |
Curran et al. | The effects of badly behaved routers on Internet congestion | |
Montessoro et al. | REBOOK: a deterministic, robust and scalable resource booking algorithm | |
Zhang et al. | An optimized BBR for multipath real time video streaming | |
US10833999B2 (en) | Active request management apparatus in stateful forwarding networks and method thereof | |
Rodríguez-Pérez et al. | A delay-oriented prioritization policy based on cooperative lossless buffering in PTN domains | |
Vihervaara et al. | Congestion Control Supported Dual-Mode Video Transfer |
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 |