处理本地链路拥塞的方法和装置的制作方法

文档序号:7742743阅读:145来源:国知局
专利名称:处理本地链路拥塞的方法和装置的制作方法
技术领域
本发明涉及拥塞控制领域,特别涉及一种处理本地链路拥塞的方法和装置。
背景技术
在无线通信网络中,本地资源例如空口资源非常有限,容易发生拥塞。因此,有必要提出一种有效的方法以解决本地拥塞问题。现有技术中有一种ECN(Explicit Congestion Notification,显式拥塞通知)机制可以解决拥塞问题。ECN机制工作过程为发送端(或称本地终端)与接收端(或称远端终端)协商ECN能力,然后发送端发送数据包,网络节点接收到该数据包后,如果自身正在经历拥塞,则设置ECT(ECN Capable Transport,ECN传输能力)为“正在经历拥塞”,然后将设置后的数据包转发出去,最终接收端接收到该数据包后,如果ECT为“正在经历拥塞”, 则接收端设置标志位ECE(ECN Echo, ECN响应),以通知发送端自身接收到了 “正在经历拥塞”的数据包,发送端接收到该数据包后,设置标志位CWR(Congestion WindowReduce,拥塞窗口减小)以通知接收端自身已经减小拥塞窗口。现有的ECN机制是一种端到端拥塞通知机制,强烈依赖于网络节点和远端终端对 ECN功能的支持,如果采用现有的端到端ECN机制解决空口拥塞问题,一旦网络节点或远端终端不支持ECN机制,则可能将ECN标记丢弃,甚至丢弃整个IP数据包,因而造成端到端 ECN机制不能工作,从而无法解决本地拥塞问题。

发明内容
为了解除ECN机制对于网络节点和远端终端的依赖,使得拥塞通知的功能只是针对本地链路发生的网络拥塞运行,因而可以更有效的解决无线接入网络中的本地拥塞问题,本发明实施例提供了一种处理本地链路拥塞的方法和装置。所述技术方案如下一种处理本地链路拥塞的方法,所述方法包括本地链路控制实体与本地终端协商本地拥塞通知能力;当所述本地链路控制实体与所述本地终端之间的本地链路拥塞时,所述本地链路控制实体在所述本地拥塞通知能力相应的下行数据包中设置拥塞标识;所述本地链路控制实体对所述本地链路进行拥塞控制,或者所述本地终端根据所述拥塞标识对所述本地链路进行拥塞控制。一种处理本地链路拥塞的方法,所述方法包括本地终端与本地链路控制实体协商本地拥塞通知能力;当所述本地终端与所述本地链路控制实体之间的本地链路拥塞时,接收所述本地链路控制实体发送的与所述本地拥塞通知能力相应的下行数据包,所述下行数据包中设置有拥塞标识;所述本地终端根据所述拥塞标识对所述本地链路进行拥塞控制。
一种本地链路控制实体,所述本地链路控制实体包括协商模块,用于与本地终端协商本地拥塞通知能力;设置模块,用于当与所述本地终端之间的本地链路拥塞时,在所述协商模块协商的本地拥塞通知能力相应的下行数据包中设置拥塞标识;控制模块,用于对所述本地链路进行拥塞控制,或者使所述本地终端根据所述拥塞标识对所述本地链路进行拥塞控制。一种终端设备,所述终端设备包括

协商模块,用于与本地链路控制实体协商本地拥塞通知能力;接收模块,用于当与所述本地链路控制实体之间的本地链路拥塞时,接收所述本地链路控制实体发送的与所述本地拥塞通知能力相应的下行数据包,所述下行数据包中设置有拥塞标识;控制模块,用于根据所述拥塞标识对所述本地链路进行拥塞控制。本发明实施例提供的技术方案带来的有益效果是通过本地链路控制实体与本地终端协商本地拥塞通知能力,当本地链路控制实体与本地终端之间的本地链路拥塞时,本地链路控制实体在本地拥塞通知能力相应的下行数据包中设置拥塞标识,根据拥塞标识进行拥塞控制,从而解除了端到端拥塞通知机制对于网络节点和远端终端的依赖,使拥塞通知机制能够始终工作,更有效的解决了本地拥塞问题。


图Ι-a是本发明实施例1提供的处理本地链路拥塞的方法流程图;图Ι-b是本发明实施例1提供的处理本地链路拥塞的另一方法流程图;图2是本发明实施例2提供的对RTP的上行拥塞控制的信息交互图;图3是本发明实施例2提供的协商拥塞通知的信息交互图;图4是本发明实施例2提供的添加拥塞标识后的RTCP包格式示意图;图5是本发明实施例2提供的对RTP的上行拥塞控制的另一信息交互图;图6是本发明实施例2提供的IPv4包头格式示意图;图7是本发明实施例2提供的IPv6包头格式示意图;图8是本发明实施例2提供的Option格式示意图;图9是本发明实施例2提供的上行流量拥塞Option格式示意图;图10是本发明实施例2提供的下行流量拥塞Option格式示意图;图11是本发明实施例2提供的TOS域或Traffic Class域的拥塞标识示意图;图12是本发明实施例2提供的对RTP的下行拥塞控制的信息交互图;图13是本发明实施例2提供的通过媒体功能实体进行拥塞控制的信息交互图;图14是本发明实施例3提供的对HTTP的上行拥塞控制的信息交互图;图15是本发明实施例3提供的TCP ACK格式示意图;图16是本发明实施例3提供的对HTTP的下行拥塞控制的信息交互图;图17是本发明实施例5提供的通过RRC信令进行上行拥塞控制的信息交互图;图18是本发明实施例5提供的通过RRC信令进行下行拥塞控制的信息交互图19是本发明实施例6提供的本地链路控制实体的结构示意图;图20是本发明实施例6提供的本地链路控制实体的另一结构示意图;图21是本发明实施例7提供的终端设备的结构示意图;图22是本发明实施例7提供的终端设备的另一结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1参见图Ι-a,本实施例提供了一种处理本地链路拥塞的方法,包括10la 本地链路控制实体与本地终端协商本地拥塞通知能力;其中,本地拥塞能力包括对所有IP包、RTP、VoIP (Voice over InternetProtocol,网络电话)、IMS(IP Multimedia Subsystem, IP 多媒体系统)呼叫、 TCP、HTTP、FTP (File Transfer Protocol, f 牛#@十办1 义)、DCCP (DatagramCongestion Control Protocol,数据报拥塞控制协议)或者P2P (Peer to Peer,点对点)等本地拥塞通知机制的支持能力。其中,RTP通常承载在UDP传输协议上,因而RTP协议通过独立于传输协议的本地拥塞通知方法。其中,P2P的传输层一般使用UDP,P2P中UDP以上可承载RTP 或者HTTP等应用协议,因此,P2P业务的拥塞控制可以采用实施例2、3的方法。其中,本地链路包括无线接入网络链路,例如GSM(Global System for MobileCommunications,全球移动通讯系统),WCDMA(Wideband Code DivisionMultiple Access,宽带石马分多址)/UMTS(Universal Mobile TelecommunicationsSystem,通用移动通讯系统),LTE,CDMA1X/EVD0 (Evolution Data Optimized,演进及数据优化), Wimax (Worldwide Interoperability for Microwave Access,全球微波互联接入), WLAN(Wireless Local Area Network,无线局域网)和卫星的空口链路,还包括固网接入网络链路,例如 xDSL(Digital Subscriber Line,数字用户线路),PPP(Point-to-Point Protocol,点到点协议),FR(Frame Relay,帧中继)TDM(Time Division Multiplex,时分复用)接入链路。本实施例提供的方法能够结合以上各本地接入链路实现。相应的,本地链路控制实体包括UMTS系统中的RNC(Radio Network Controller,空口网络控制器),Wimax系 统中的AP(Access Point,接入点 ) ,DSLAM(Digital Subscriber Line AccessMultiplexer 数字用户线路接入复用单元),LTE系统的eNodeB (evolved Node B,演进型基站)等。102a 当本地链路控制实体与本地终端之间的本地链路拥塞时,本地链路控制实体在本地拥塞通知能力相应的下行数据包中设置拥塞标识;其中,当本地链路控制实体进行本地拥塞控制时,拥塞标识是为了使得本地终端获知本地链路拥塞。当需要本地终端进行拥塞控制时,拥塞标识用于使得本地终端获知本地链路拥塞进而进行拥塞控制。103a 本地链路控制实体对本地链路进行拥塞控制,或者本地终端根据拥塞标识对本地链路进行拥塞控制。具体的,在本地终端到本地链路控制实体方向的上行链路发生拥塞时,本地链路控制实体在特定的下行数据包中设置拥塞标识,本地终端根据收到的拥塞标识进行调整发送速率的操作;在本地链路控制实体到本地终端方向的下行链路发生拥塞时,本地链路控制实体在特定的下行数据包中设置拥塞标识,线接入网实体通过增加缓存进行下行拥塞控制,或者,本地终端根据收到的拥塞标识,与媒体功能实体通过码速适配和编码转换进行下行拥塞控制。相应的,参见图l_b,本实施例提供了一种处理本地链路拥塞的方法,包括IO lb 本地终端与本地链路控制实体协商本地拥塞通知能力;102b 当本地终端与本地链路控制实体之间的本地链路拥塞时,接收本地链路控制实体发送的与本地拥塞通知能力相应的下行数据包,下行数据包中设置有拥塞标识;103b 本地终端根据拥塞标识对本地链路进行拥塞控制。本实施例提供的方法,通过本地链路控制实体与本地终端协商本地拥塞通知能力,当本地链路控制实体与本地终端之间的本地链路拥塞时,本地链路控制实体在本地拥塞通知能力相应的下行数据包中设置拥塞标识,根据拥塞标识进行拥塞控制,从而解除了端到端拥塞通知机制对于网络节点和远端终端的依赖,使拥塞通知机制能够始终工作,更有效的解决了本地拥塞问题。本实施提供的处理本地链路拥塞方法,适用于各种无线通信网络,后续实施例以 3GPP(3rd Generation Partnership Project,第三代合作伙伴计划)LTE (Long Term Evolution,长期演进)架构的通信网络为例进行说明,LTE网络的本地链路控制实体为 eNodeB (evolved Node B,演进型基站),本地终端设为UEl (User Equipment,用户设备),远端终端设为UE2,并将UEl与eNodeB之间的链路称为本地链路。下面分别以RTP (Real-time Transport Protocol,实时传输协、议)禾口基于 TCP (Transmission Control Protocol,传输控制协议)的HTTP (Hypertext Transfer Protocol,超文本传输协议)应用为例说明处理本地链路拥塞的方法,其他本地拥塞通知与RTP和HTTP类似,区别仅在于承载拥塞标识的数据包不同,这里不再一一赘述。实施例2本实施例提供了一种处理本地链路拥塞的方法,该方法针对RTP拥塞通知机制的支持能力、且未实施端到端拥塞通知方案的情况。参见图2,针对UEl到eNodeB上行方向,本实施例提供了两种拥塞控制方法,第一种上行拥塞控制方法具体如下201 eNodeB与UEl协商本地拥塞通知能力;其中,参见图3,eNodeB与UEl协商本地拥塞通知能力至少可以采用以下方法实现201a eNodeB 向 UEl 发送能力查询 UECapabilityEnquiry 消息;其中,能力查询消息中,可以包括eNodeB所支持的拥塞通知能力,例如对所有IP 包、RTP、VoIP、IMS 呼叫、TCP、HTTP、FTP、DCCP 或者 P2P (Peerto Peer,点对点)等本地拥塞通知机制的支持能力。具体实现时,可以在查询UE接入网能力的信息中包括上述列举的各种eNodeB所支持的拥塞通知能力,并可将上述各种能力设置为Boolean (布尔)型,如果 UEl支持某一本地拥塞通知能力,可将其对应的Boolean型设置为真,如果不支持,可将其对应的Boolean型设置为假。201b =UEl 返回相应的能力信息 UECapabilityInfomation 消息。
具体的,UEl根据eNodeB以及自身所支持的拥塞通知能力,确定本地拥塞通知能力,在本实施例中至少包括对RTP拥塞通知机制的支持能力。202a :eNodeB接收UE2 发送的 RTCP (Real-time Control Protocol,实时传输控制协议)包;202b 当上行链路拥塞时,eNodeB在下行RTCP包添加拥塞标识ECT (1) Counter,并将其发送给UEl ;

其中,下行RTCP可以是远端终端UE2通过PDN(Packet Data Network,分组数据网)GW(Gateway,网关)、CSCF(Call Session Control Function,呼叫会话控制功能)、 MRF (Media Resource Function,媒体资源功能)等实体发送给eNodeB,本实施例并不限定具体的传输途径。参见图4所示RTCP包中添加拥塞标识的消息格式,其中,加粗部分即为添加的拥塞标识,各符号含义如下Regular RTCP XR header (常规实时传输控制协议扩展头部);SSRC of Media Sender (媒体发送端的同步源标识);CE Counter (Congestion Experienced Counter,经历拥塞计数器)表示 UE2 力口入一个RTP会话后,eNodeB所收到的RTP数据包的数量;ECT (0) Counter (显示拥塞通知传输能力非拥塞计数器)表示UE2收到ECN数值标志为0以后,也即UE2收到没有拥塞发生指示后,eNodeB所收到的RTP数据包的数量,ECT(I)C0Unter (显示拥塞通知传输能力拥塞计数器)表示UE2收到ECN数值标志为1以后,也即UE2收到拥塞发生指示后,eNodeB所收到的RTP数据包的数量;not-ECT Counter (非显示拥塞通知传输能力计数器)表示UE2收到ECN数值为 not-ECT以后,也即UE2收到不支持ECN指示后,eNodeB所收到的RTP数据包的数量。本实施例并不限定图4中拥塞标识各字段的名称。在上述过程中,eNodeB需要通过解析RTCP包头的方法发现RTCP中携带的拥塞标识。本实施例将RTCP的端口号设置为当前RTP数据流端口号加1,由于RTP数据流在进行 IP头压缩处理时可以识别出RTP数据包,因而从中选取该RTP数据包的协议端口号,并在该端口号加1的端口号上检测相对应的RTCP数据包,即可以检测出对应的RTCP数据包,并从中获取RTCP包头扩展字段中的本地拥塞指示。203 =UEl根据接收到的拥塞标识进行上行拥塞控制,具体实现时至少可以采用以下两种方法第一种,本地终端UEl直接降低发送媒体的速率。第二种,本地终端UEl向远端终端UE2发出修改媒体参数的请求,通过修改媒体参数过程改变自身发送媒体的速率。以图4为例,UEl并不关心Counter的具体数值,只需检测哪个Counter标志位非零,例如,如果ECT (1) Counter非零,则说明链路拥塞,需要调整发送速率。针对UEl到eNodeB上行方向,第二种上行拥塞控制方法,参见图5,具体设置的过程和报文格式如下201,eNodeB与UEl协商本地拥塞通知能力,与步骤201相同,不再赘述;202a,eNodeB接收UE2发送的RTP或者RTCP数据包;202b’ 当上行链路拥塞时,在收到的下行的RTP或者RTCP数据包的IP包头中设置拥塞标识;具体的, 参见图6所示IPv4包头格式,eNodeB在IPv4包头的TOS(Type ofService,服务质量)域设置拥塞标识,或在图7所示IPv6包头的Traff ic Class域设置拥塞标识,并在options域区分上下行流量。IPV6的options字段与ipv4的有所不同,options字段不在基本包头里, 而是在IPV6中的hop by hop option header (逐跳选项扩展首部)和destination optionsheader(目的站选项扩展首部)这两个扩展首部中。参见图8所示options格式,其中各字段为Option Type (选项类型),该字段为8位标识,指明选项的类型。Opt Data Len (选项数据长度),该字段为8位整数,表示选项数据字段的长度。该字段最大值为255,单位为字节。Option Data (选项数据),该字段为与该选项相关的特定数据值,最大长度为255字节。虽然ipv4和ipv6中option字段某些字节意思有些不同,但仍然可以使用相同的扩展方式来统一区分上下行流量,例如=Option类型可扩展为00100001,option数据长度根据数据包填充需要决定,参见图9所示选项字段,option数据扩展为1表示上行流量,参见图10所示选项字段,option数据扩展为0或为空表示下行流量。本实施例仅举例说明, 还可以将option类型和option数据设置为其他预设值。其中,N为正整数,其数值由整个数据包保证32bit对正需要。另外,TOS域或Traffic Class域用来进行拥塞指示,参见图11, DSCP(Differentiated Services Code Point,差分服务代码点)和 ECT(ECN CapableTransport,显式拥塞通知能力),在TOS域或Traffic Class域的ECT字段的两个标志位中标记预设数值即可,例如标记为11即表示正在经历拥塞203’ =UEl根据接收到的拥塞标识进行上行拥塞控制,具体实现方法与步骤203相同,这里不再赘述。参见图12,针对eNodeB到UEl下行方向,下行拥塞控制的方法为在下行RTP包头携带拥塞标识,具体如下301 eNodeB与UEl协商本地拥塞通知能力,与步骤201相同,不再赘述;302a eNodeB 接收 UE2 发送的 RTP 包;302b 当下行链路拥塞时,eNodeB在下行RTP包的IP包头添加拥塞标识;具体的,在IPv4包头的TOS域添加ECT,或在下行RTP包的IPv6包头的Traffic Class域添加ECT,将ECT设置为正在经历拥塞,例如标记为11,在选项Options域设置下行流量标识或设置为空。303 根据拥塞标识进行下行拥塞控制,具体实现时至少可以采用以下三种方法第一种,当本地链路控制实体与本地终端之间的下行本地链路拥塞时,本地链路控制实体通过增加缓存进行下行拥塞控制;第二种,当本地链路控制实体与本地终端之间的下行本地链路拥塞时,本地链路控制实体将拥塞标识发送给本地终端,本地终端向远端终端请求修改媒体参数,以调整远端终端发送媒体的速率;
第三种,当本地链路控制实体与本地终端之间的下行本地链路拥塞时,本地链路控制实体将拥塞标识发送给本地终端,本地终端向本地媒体功能实体请求修改远端终端发送媒体的媒体参数,以调整远端终端发送媒体的速率。其中,媒体功能实体可以是MGff (Media Gateway,媒体网关)或者MRF (Media Resource Function,媒体资源功能),MRF 包括 MRFC (Multimedia Resource Function Control,多媒体资源功能控制)MRFP (Multimedia ResourceFunction Processor,多媒体资源功能处理器)。其中,第二种方法和第三种方法可以单独使用,也可以结合使用,结合使用时不限定先后顺序。下面仅以一种应用场景为例进行说明,参见图13 Sl 在本地终端(UEl)收到eNodeB发送的RTP数据包中包括了本地拥塞通知后, UEl向远端终端(UE2)发起调整媒体参数的请求,调整的媒体参与包括codec rate(编码速率),codec (编码格式)等参数,S2a 若UE2支持UEl请求的媒体参数,则媒体参数协商成功,UEl和UE2按照重新协商的调整后的媒体参数发送媒体流;S2b 若UE2不支持本地UEl请求的媒体参数,则协商失败,向UEl返回失败应答。S3 =UEl向MGCF请求修改UE2发送媒体的媒体参数,MGCF调用MGW为不同的媒体参数进行转换,即通过MGW转换的方式调整UE2发送的媒体发送速率S4:MGCF将按照修改后的媒体参数的媒体流通过无线接入网本地链路发送到本地 UE1。本实施例提供的方法,通过本地链路控制实体与本地终端协商本地拥塞通知能力,当本地链路控制实体与本地终端之间的本地链路拥塞时,本地链路控制实体在本地拥塞通知能力相应的下行数据包中设置拥塞标识,根据拥塞标识进行拥塞控制,从而解除了端到端拥塞通知机制对于网络节点和远端终端的依赖,使拥塞通知机制能够始终工作,更有效的解决了本地拥塞问题。另外,通过媒体功能实体或本地链路控制实体进行下行拥塞控制,减少了对远端终端编码能力的依赖。实施例3本实施例提供了一种处理本地链路拥塞的方法,该方法针对TCP作为传输协议的某一应用HTTP为例进行说明。其中,本地链路控制实体能够通过所经过HTTP流量的端口号识别HTTP业务数据包,也可以通过IP包头中的Protocol字段中的参数识别该数据包为 HTTP业务数据包。参见图14,UEl到eNodeB上行方向,处理本地链路拥塞方法具体包括401 eNodeB与UEl协商本地拥塞通知能力,协商过程与步骤201相同,这里不再赘述。402a eNodeB接收UE2发送的TCP ACK (确认)数据包;402b eNodeB检测到上行链路发生拥塞时,在下行TCP ACK数据包中添加拥塞标识,并发送给UEl。参见图15所示的TCP ACK格式,具体添加拥塞标识的方法包括eN0deB将TCP ACK 数据包的ECE字段设置为正在经历拥塞,例如标志为1。403 =UEl收到ECE标志为正在经历拥塞的TCPACK数据包后,通过TCP传输协议的拥塞控制方式降低发送速率,例如减少拥塞窗口 ; 另外,UEl可以在下一个TCP数据包中的TCP包头字段设置CWR标志,表示已经收到拥塞指示。参见图16,eNodeB到UEl下行方向,处理本地链路拥塞方法具体包括501 eNodeB与UEl协商本地拥塞通知能力,协商过程与步骤201相同,这里不再赘述。502a eNodeB 接收 UE2 发送的 HTTP 包;502b 当下行链路拥塞时,eNodeB在下行HTTP包的IP包头添加拥塞标识;具体的,在下行HTTP包的IPv4包头的TOS域添加ECT,或在下行HTTP包的IPv6 包头的Traffic Class域添加ECTjf ECT设置为正在经历拥塞,在选项Options域设置下行流量标识或设置为空。503 =UEl根据拥塞标识进行下行拥塞控制,具体实现时至少可以采用以下两种方法第一种,当本地链路控制实体与本地终端之间的下行本地链路拥塞,并且建立有端到端拥塞控制机制时,本地终端可以在TCP ACK数据包中添加拥塞标识,远端终端收到拥塞标识后降低发送速率,例如通过减小TCP拥塞窗口的方式降低发送速率;第二种,当本地链路控制实体与本地终端之间的下行本地链路拥塞,并且没有建立端到端拥塞控制机制时,本地终端通过降低TCP响应速率的方式,使得远端终端降低发送速率。本实施例提供的方法,通过本地链路控制实体与本地终端协商本地拥塞通知能力,当本地链路控制实体与本地终端之间的本地链路拥塞时,本地链路控制实体在本地拥塞通知能力相应的下行数据包中设置拥塞标识,根据拥塞标识进行拥塞控制,从而解除了端到端拥塞通知机制对于网络节点和远端终端的依赖,使拥塞通知机制能够始终工作,更有效的解决了本地拥塞问题。实施例4本实施例提供了一种处理本地链路拥塞的方法,该方法针对端到端拥塞通知机制与本地拥塞通知机制共存的情况。如果除本地链路之外的其他网络发生拥塞、且本地拥塞通知能力相应的数据包被其他网络节点或远端终端设置了拥塞标识,则本地链路控制实体不再在该数据包中设置拥塞标识。其具体流程包括UEl到eNodeB的上行方向首先,UEl和eNodeB进行本地链路拥塞通知能力协商。 在上行方向上,UEl发送媒体流。在本地拥塞通知机制中,当eNodeB检测到本地链路发生拥塞时,以RTCP为例,但不限于RTCP情况下,在RTCP包头扩展字段中做拥塞标记。eNodeB作为无线接入网控制实体在收到UE2发送RTCP数据包后,在原RTCP数据包的RTCP包头中标识本地拥塞标识。UEl收到RTCP的拥塞标识后通过自身发送速率的调节对UEl到eNodeB上行方向的流量进行拥塞控制。与此同时,端到端的拥塞通知机制中,若检测到UEl和eNodeB 之间本地链路发生拥塞,也需要在RTCP包做拥塞标记。UEl收到带有拥塞标记的RTCP包后,通过自身发送速率的调节对UEl到eNodeB上行方向的流量进行拥塞控制。此时UEl并不需要区分是因为本地拥塞通知机制还是端到端拥塞通知机制所发起的拥塞指示,因为两者上行流量控制的目的相同,都是为了让UE做速率调节。eNodeB到UEl的下行方向在端到端拥塞通知方案已经建立的条件下,若eNodeB 到UEl之间的下行链路发生拥塞,eNodeB在下行的RTP数据包的IP包头中添加下行本地链路的拥塞指示。UEl收到的网络中其他节点标识的拥塞指示和本地无线接入控制实体标识的拥塞指示一致,此时,可以通过端到端拥塞通知机制要求远端UE2调整数据发送速度; 在能够区分本地无线接入下行链路拥塞的条件下,还可以通过eNodeB或者MRF进行码速适配和编码转换进行下行拥塞控制。同时,端到端拥塞通知机制中,若发现网络发生拥塞,则通过远端UE2进行速率控制来结束拥塞控制。在端到端拥塞通知方案建立和未建立的两种情况下,本实施例的本地链路拥塞通知机制均可以工作,两个过程中间不存在冲突。本实施例提供的 方法,解除了拥塞通知机制对于网络节点和远端终端的依赖,使拥塞通知机制能够始终工作,更有效的解决了本地拥塞问题,同时,还很好的兼容了端到端拥塞通知机制,两机制能够共存并且协调工作。实施例5本实施例提供了一种处理本地链路拥塞的方法,该方法通过对UEl与eNodeB之间 RRC信令的扩展来实现。UEl到eNodeB上行方向,处理本地链路拥塞方法具体包括参见图17,UEl发送媒体流,当eNodeB检测到上行链路发生拥塞时,eNodeB通过其与UEl之间的拥塞指示RRC信令RRCCongestNotification通知UEl,UEl收到拥塞指示 RRC信令后,会相应进行拥塞控制,比如降低编码速率,调整发送速率等。eNodeB到UEl下行方向,处理本地链路拥塞方法具体包括参见图18,当UEl检测到下行链路发生拥塞时,如果eNodeB支持transcoding或者codec adaptation功能,UEl通过拥塞指示RRC信令通知eNodeB后,由eNodeB进行拥塞控制,具体可以通过增加缓存的方式,在一段时间内控制数据传输速率,从而达到拥塞控制的目的;当eNodeB自行检测到拥塞时,若eNodeB支持transcoding或者codec adaptation 功能时,可用上面介绍的方法进行下行拥塞控制;若eNB不支持transcoding或者codec adaptation功能,在基于IMS业务时,可通过媒体功能实体(如MGW或者MRFP)进行码速适配和编码转换,具体过程详见实施例2步骤303,这里不再赘述。本实施例提供的方法,通过拥塞指示RRC信令进行拥塞控制,解除了拥塞通知机制对于网络节点和远端终端的依赖,使拥塞通知机制能够始终工作,更有效的解决了本地拥塞问题。实施例6参见图19,本实施例提供了一种本地链路控制实体,包括协商模块601,用于与本地终端协商本地拥塞通知能力;设置模块602,用于当与本地终端之间的本地链路拥塞时,在协商模块601协商的本地拥塞通知能力相应的下行数据包中设置拥塞标识;控制模块603,用于对本地链路进行拥塞控制,或者使本地终端根据拥塞标识对本地链路进行拥塞控制。参见图20,当协商模块601协商的本地拥塞通知能力包括对实时传输协议RTP 本地拥塞通知机制的支持能力时,
设置模块602包括第一设置单元602a、第二设置单元602b或第三设置单元 602c ; 第一设置单元602a,用于本地链路拥塞为上行本地链路拥塞,在下行实时传输控制协议RTCP包头添加拥塞标识;第二设置单元602b,用于本地链路拥塞为上行本地链路拥塞,在下行RTP或RTCP 的IP包头添加拥塞标识和上行链路标识;第三设置单元602c,用于本地链路拥塞为下行本地链路拥塞,在下行RTP的IP包头添加拥塞标识和下行链路标识。当协商模块601协商的本地拥塞通知能力包括对传输控制协议TCP作为传输协议的本地拥塞通知机制的支持能力时,设置模块602包括第四设置单元602d或第五设置单元602e ;第四设置单元602d,用于本地链路拥塞为上行本地链路拥塞,在下行的TCP确认 ACK包中添加拥塞标识;第五设置单元602e,用于本地链路拥塞为下行本地链路拥塞,在下行的基于TCP 应用数据包的IP包头添加拥塞标识和下行链路标识。其中,控制模块603包括第一控制单元603a,用于通过增加缓存进行下行拥塞控制。本实施例提供的本地链路控制实体,与方法实施例中的本地链路控制实体属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。本实施例提供的本地链路控制实体,通过与本地终端协商本地拥塞通知能力,当与本地终端之间的本地链路拥塞时,在本地拥塞通知能力相应的下行数据包中设置拥塞标识,根据拥塞标识进行拥塞控制,从而解除了端到端拥塞通知机制对于网络节点和远端终端的依赖,使拥塞通知机制能够始终工作,更有效的解决了本地拥塞问题。实施例7参见图21,本实施例提供了一种终端设备,包括协商模块701,用于与本地链路控制实体协商本地拥塞通知能力;接收模块702,用于当与本地链路控制实体之间的本地链路拥塞时,接收本地链路控制实体发送的与本地拥塞通知能力相应的下行数据包,下行数据包中设置有拥塞标识;控制模块703,用于根据拥塞标识对本地链路进行拥塞控制。参见图22,当协商模块701协商的本地拥塞通知能力包括对RTP本地拥塞通知机制的支持能力时,控制模块703包括第二控制单元703a或第三控制单元703b ;第二控制单元703a,用于本地链路拥塞为上行本地链路拥塞,降低发送媒体的速率,或者,向远端终端请求修改媒体参数,通过修改媒体参数的过程调整自身发送媒体的速率;第三控制单元703b,用于本地链路拥塞为下行本地链路拥塞,向远端终端请求修改媒体参数,以调整远端终端发送媒体的速率;或者,向本地媒体功能实体请求修改远端终端发送媒体的媒体参数,以调整远端终端发送媒体的速率。当协商模块701协商的本地拥塞通知能力包括对TCP作为传输协议的本地拥塞通知机制的支持能力时, 控制模块703包括第四控制单元703c或第五控制单元703d ;第四控制单元703c,用于本地链路拥塞为上行本地链路拥塞,通过TCP传输协议的拥塞控制方式降低发送速率;第五控制单元703d,用于本地链路拥塞为下行本地链路拥塞,若和与其通信的远端终端之间建立有端到端拥塞控制机制,则在TCP ACK数据包中添加拥塞标识,以使得远端终端收到拥塞标识后降低发送速率;若和与其通信的远端终端之间没有建立端到端拥塞控制机制,则通过降低TCP响应速率的方式,使得远端终端降低发送速率。本实施例提供的终端设备,与方法实施例中的本地终端属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。本实施例提供的终端设备,通过与本地链路控制实体协商本地拥塞通知能力,当与本地链路控制实体之间的本地链路拥塞时,本地链路控制实体在本地拥塞通知能力相应的下行数据包中设置拥塞标识,本终端设备根据拥塞标识进行拥塞控制,从而解除了端到端拥塞通知机制对于网络节点和远端终端的依赖,使拥塞通知机制能够始终工作,更有效的解决了本地拥塞问题。另外,通过媒体功能实体进行下行拥塞控制,减少了对远端终端编码能力的依赖。以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如计算机中的硬盘、光盘或软盘。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种处理本地链路拥塞的方法,其特征在于,所述方法包括 本地链路控制实体与本地终端协商本地拥塞通知能力;当所述本地链路控制实体与所述本地终端之间的本地链路拥塞时,所述本地链路控制实体在所述本地拥塞通知能力相应的下行数据包中设置拥塞标识;所述本地链路控制实体对所述本地链路进行拥塞控制,或者所述本地终端根据所述拥塞标识对所述本地链路进行拥塞控制。
2.如权利要求1所述的方法,其特征在于,所述本地拥塞通知能力包括对实时传输协议RTP本地拥塞通知机制的支持能力;所述本地链路控制实体在所述本地拥塞通知能力相应的下行数据包中设置拥塞标识包括所述本地链路拥塞为上行本地链路拥塞,所述本地链路控制实体在下行实时传输控制协议RTCP包头添加拥塞标识;或者,所述本地链路拥塞为上行本地链路拥塞,所述本地链路控制实体在下行RTP或 RTCP的IP包头添加拥塞标识和上行链路标识;或者,所述本地链路拥塞为下行本地链路拥塞,所述本地链路控制实体在下行RTP的 IP包头添加拥塞标识和下行链路标识。
3.如权利要求1所述的方法,其特征在于,所述本地拥塞通知能力包括对传输控制协议TCP作为传输协议的本地拥塞通知机制的支持能力;所述本地链路控制实体在所述本地拥塞通知能力相应的下行数据包中设置拥塞标识包括所述本地链路拥塞为上行本地链路拥塞,所述本地链路控制实体在下行的TCP确认 ACK包中添加拥塞标识;或者,所述本地链路拥塞为下行本地链路拥塞,所述本地链路控制实体在下行的基于 TCP应用数据包的IP包头添加拥塞标识和下行链路标识。
4.如权利要求1所述的方法,其特征在于,所述本地拥塞通知能力包括对RTP本地拥塞通知机制的支持能力;所述本地链路拥塞为上行本地链路拥塞;所述本地终端根据所述拥塞标识对所述本地链路进行拥塞控制包括 所述本地终端降低发送媒体的速率,或者,所述本地终端向远端终端请求修改媒体参数,通过所述修改媒体参数的过程调整自身发送媒体的速率。
5.如权利要求1所述的方法,其特征在于,所述本地拥塞通知能力包括对RTP本地拥塞通知机制的支持能力;所述本地链路拥塞为下行本地链路拥塞;所述本地链路控制实体对所述本地链路进行拥塞控制包括所述本地链路控制实体通过增加缓存进行下行拥塞控制;所述本地终端根据所述拥塞标识对所述本地链路进行拥塞控制包括所述本地终端向远端终端请求修改媒体参数,以调整所述远端终端发送媒体的速率;或者,所述本地终端向本地媒体功能实体请求修改远端终端发送媒体的媒体参数,以调整所述远端终端发送媒体的速率。
6.如权利要求1所述的方法,其特征在于,所述本地拥塞通知能力包括对TCP作为传输协议的本地拥塞通知机制的支持能力;所述本地链路拥塞为上行本地链路拥塞;所述本地终端根据所述拥塞标识对所述本地链路进行拥塞控制包括所述本地终端通过TCP传输协议的拥塞控制方式降低发送速率。
7.如权利要求1所述的方法,其特征在于,所述本地拥塞通知能力包括对TCP作为传输协议的本地拥塞通知机制的支持能力;所述本地链路拥塞为下行本地链路拥塞;所述本地终端根据所述拥塞标识对所述本地链路进行拥塞控制包括若所述本地终端和与其通信的远端终端之间建立有端到端拥塞控制机制,则所述本地终端在TCP ACK数据包中添加拥塞标识,以使得所述远端终端收到所述拥塞标识后降低发送速率;若所述本地终端和与其通信的远端终端之间没有建立端到端拥塞控制机制,则所述本地终端通过降低TCP响应速率的方式,使得所述远端终端降低发送速率。
8.—种处理本地链路拥塞的方法,其特征在于,所述方法包括本地终端与本地链路控制实体协商本地拥塞通知能力;当所述本地终端与所述本地链路控制实体之间的本地链路拥塞时,接收所述本地链路控制实体发送的与所述本地拥塞通知能力相应的下行数据包,所述下行数据包中设置有拥塞标识;所述本地终端根据所述拥塞标识对所述本地链路进行拥塞控制。
9.如权利要求8所述的方法,其特征在于,所述本地拥塞通知能力包括对RTP本地拥塞通知机制的支持能力;所述本地终端根据所述拥塞标识对所述本地链路进行拥塞控制包括所述本地链路拥塞为上行本地链路拥塞,所述本地终端降低发送媒体的速率,或者,所述本地终端向远端终端请求修改媒体参数,通过所述修改媒体参数的过程调整自身发送媒体的速率;所述本地链路拥塞为下行本地链路拥塞,所述本地终端向远端终端请求修改媒体参数,以调整所述远端终端发送媒体的速率;或者,所述本地终端向本地媒体功能实体请求修改远端终端发送媒体的媒体参数,以调整所述远端终端发送媒体的速率。
10.如权利要求8所述的方法,其特征在于,所述本地拥塞通知能力包括对TCP作为传输协议的本地拥塞通知机制的支持能力;所述本地链路拥塞为上行本地链路拥塞,所述本地终端通过TCP传输协议的拥塞控制方式降低发送速率;所述本地链路拥塞为下行本地链路拥塞,若所述本地终端和与其通信的远端终端之间建立有端到端拥塞控制机制,则所述本地终端在TCP ACK数据包中添加拥塞标识,以使得所述远端终端收到所述拥塞标识后降低发送速率;若所述本地终端和与其通信的远端终端之间没有建立端到端拥塞控制机制,则所述本地终端通过降低TCP响应速率的方式,使得所述远端终端降低发送速率。
11.一种本地链路控制实体,其特征在于,所述本地链路控制实体包括 协商模块,用于与本地终端协商本地拥塞通知能力;设置模块,用于当与所述本地终端之间的本地链路拥塞时,在所述协商模块协商的本地拥塞通知能力相应的下行数据包中设置拥塞标识;控制模块,用于对所述本地链路进行拥塞控制,或者使所述本地终端根据所述拥塞标识对所述本地链路进行拥塞控制。
12.如权利要求11所述的本地链路控制实体,其特征在于,当所述协商模块协商的本地拥塞通知能力包括对实时传输协议RTP本地拥塞通知机制的支持能力时,所述设置模块包括第一设置单元、第二设置单元或第三设置单元; 所述第一设置单元,用于所述本地链路拥塞为上行本地链路拥塞,在下行实时传输控制协议RTCP包头添加拥塞标识;所述第二设置单元,用于所述本地链路拥塞为上行本地链路拥塞,在下行RTP或RTCP 的IP包头添加拥塞标识和上行链路标识;所述第三设置单元,用于所述本地链路拥塞为下行本地链路拥塞,在下行RTP的IP包头添加拥塞标识和下行链路标识。
13.如权利要求11所述的本地链路控制实体,其特征在于,当协商模块协商的所述本地拥塞通知能力包括对传输控制协议TCP作为传输协议的本地拥塞通知机制的支持能力时,所述设置模块包括第四设置单元或第五设置单元;所述第四设置单元,用于所述本地链路拥塞为上行本地链路拥塞,在下行的TCP确认 ACK包中添加拥塞标识;所述第五设置单元,用于所述本地链路拥塞为下行本地链路拥塞,在下行的基于TCP 应用数据包的IP包头添加拥塞标识和下行链路标识。
14.如权利要求11所述的本地链路控制实体,其特征在于,所述控制模块包括 第一控制单元,用于通过增加缓存进行下行拥塞控制。
15.一种终端设备,其特征在于,所述终端设备包括协商模块,用于与本地链路控制实体协商本地拥塞通知能力; 接收模块,用于当与所述本地链路控制实体之间的本地链路拥塞时,接收所述本地链路控制实体发送的与所述本地拥塞通知能力相应的下行数据包,所述下行数据包中设置有拥塞标识;控制模块,用于根据所述拥塞标识对所述本地链路进行拥塞控制。
16.如权利要求15所述的终端设备,其特征在于,当所述协商模块协商的本地拥塞通知能力包括对RTP本地拥塞通知机制的支持能力时,所述控制模块包括第二控制单元或第三控制单元;所述第二控制单元,用于所述本地链路拥塞为上行本地链路拥塞,降低发送媒体的速率,或者,向远端终端请求修改媒体参数,通过所述修改媒体参数的过程调整自身发送媒体的速率;所述第三控制单元,用于所述本地链路拥塞为下行本地链路拥塞,向远端终端请求修改媒体参数,以调整所述远端终端发送媒体的速率;或者,向本地媒体功能实体请求修改远端终端发送媒体的媒体参数,以调整所述远端终端发送媒体的速率。
17.如权利要求15所述的终端设备,其特征在于,当所述协商模块协商 的本地拥塞通知能力包括对TCP作为传输协议的本地拥塞通知机制的支持能力时, 所述控制模块包括第四控制单元或第五控制单元;所述第四控制单元,用于所述本地链路拥塞为上行本地链路拥塞,通过TCP传输协议的拥塞控制方式降低发送速率;所述第五控制单元,用于所述本地链路拥塞为下行本地链路拥塞,若和与其通信的远端终端之间建立有端到端拥塞控制机制,则在TCP ACK数据包中添加拥塞标识,以使得所述远端终端收到所述拥塞标识后降低发送速率;若和与其通信的远端终端之间没有建立端到端拥塞控制机制,则通过降低TCP响应速率的方式,使得所述远端终端降低发送速率。
全文摘要
本发明公开了一种处理本地链路拥塞的方法和装置,属于拥塞控制领域。所述方法包括本地链路控制实体与本地终端协商本地拥塞通知能力;当所述本地链路控制实体与所述本地终端之间的本地链路拥塞时,所述本地链路控制实体在所述本地拥塞通知能力相应的下行数据包中设置拥塞标识;所述本地链路控制实体对所述本地链路进行拥塞控制,或者所述本地终端根据所述拥基标识对所述本地链路进行拥塞控制。所述装置包括本地链路控制实体和终端设备。本发明通过上述方法,能够解除端到端拥塞通知机制对于网络节点和远端终端的依赖,使拥塞通知机制能够始终工作,更有效的解决了本地拥塞问题。
文档编号H04L29/06GK102158896SQ20101011646
公开日2011年8月17日 申请日期2010年2月12日 优先权日2010年2月12日
发明者朱雷 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1