CN111567011B - 使用跨层信息提高视频服务和WEB服务的QoE的方法 - Google Patents
使用跨层信息提高视频服务和WEB服务的QoE的方法 Download PDFInfo
- Publication number
- CN111567011B CN111567011B CN201880084848.3A CN201880084848A CN111567011B CN 111567011 B CN111567011 B CN 111567011B CN 201880084848 A CN201880084848 A CN 201880084848A CN 111567011 B CN111567011 B CN 111567011B
- Authority
- CN
- China
- Prior art keywords
- connection
- tcp
- server
- network
- udp
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种服务器,包括处理器,该处理器用于从网络用户设备UE接收网络连接建立请求以建立传输控制协议TCP连接或用户数据报协议UDP连接;分析该网络连接建立请求以提取TCP初始序列号ISN或快速用户数据报协议QUIC连接标识符ID;以及通过指令向体验质量辅助节点QoEHN发送包括QUIC连接ID或上述TCP ISN的消息,以控制服务器与网络UE之间的TCP连接或UDP连接。
Description
技术领域
本申请涉及网络技术领域,尤其涉及使用跨层信息提高视频服务和WEB服务的QoE的相关方法。
背景技术
在一些实施例中,本发明涉及媒体流,更具体地但不仅限于涉及媒体流进程中的跨层交互。
当网络流节点从应用层获知内容参数(例如网页、对象、文件、比特率、以及质量)而应用直接从网络流节点获知信道条件和当前网络负载时,特别是对于web和自适应视频流应用而言,媒体流进程中的跨层交互非常有益。在没有跨层信息的情况下,应用行为和网络资源的行为不协调,例如,应用级速率自适应未考虑当前网络状态,并且仅基于当前需求和历史记录来分配资源。
通常基于控制协议在不同网络节点之间交换这种跨层信息。例如,在诸如ISO/IEC23009-1:2014:“信息技术-基于超文本传输协议(hypertext transfer protocol,HTTP)的动态自适应流(dynamic adaptive streaming over HTTP,DASH)-第一部分:媒体呈现描述和段格式”(称为MPEG DASH)等协议中使用了跨层信息。MPEG DASH提供了适用于基于HTTP的流分段媒体内容的格式。DASH客户端通过基于可用带宽和其他本地资源调整其请求,来遵循客户端拉模式(client-pull paradigm)。DASH的客户端驱动和分散特性限制了客户端行为与服务器和/或网络行为之间的控制量和协调量,导致流媒体性能不理想。例如,服务提供商可能无法影响DASH客户端行为,并且可能无法共享网络级信息以帮助客户端的自适应逻辑,这可能最终增加了再缓冲(re-buffering)量。运动图像专家组(moving pictureexperts group,MPEG)服务器和网络辅助DASH(server and network assisted DASH,SAND)旨在使DASH客户端操作和服务器操作能够更好地协作,并提供标准化接口,以实现流服务的以下益处:经由智能缓存的流增强、服务器侧和/或网络侧的处理优化和传递优化(基于客户端对以下的反馈:预期DASH段、接受的替代DASH呈现及自适应集、以及请求带宽)、客户端侧的自适应性提升(基于网络侧/服务器侧信息,例如缓存段、替代段的可用性、以及网络吞吐量/QoS)。
SAND架构基于四大类元件:i)DASH流客户端,在本文也称为用户设备(userequipment,UE)或客户端,ii)常规网元(regularnetworkelement,RNE),RNE不知道DASH内容并且将与DASH相关的视频传递对象视为与任何其他对象相同,但是存在于原服务器(为了简洁,在本文称为服务器)与DASH客户端(例如透明缓存)之间的路径上。iii)DASH感知网元,DASH感知网元至少具有关于DASH的最小智能;例如,DASH感知网元可以知道所传递的对象是DASH格式化的对象(例如MPD或DASH段),并且可以划分优先级、解析、或甚至修改这样的对象,以及iv)度量服务器(metrics server),度量服务器知道DASH并且负责从DASH客户端收集度量。
在可以于SAND架构中执行的示例性媒体分发过程中,使用了服务器、网络UE设备、以及一个或多个体验质量辅助节点(quality of experience helper node,QoEHN)(例如基于域名服务(domainnameservice,DNS)的命名实体认证(DNS-based authentication ofnamed entity,DANE)),还使用了服务器和网络UE之间的业务通过的一个或多个控制节点。控制节点可以管理这种业务并且可以由DANE控制。例如,这样的节点可以是长期演进(longterm evolution,LTE)网络中eNodeB。在最简单的情况下,节点是DANE,在其他情况下,节点与DANE不同。
业务是具有互联网协议(internetprotocol,IP)头的基于传输控制协议(transmission control protocol,TCP)和/或用户数据报协议(user datagramprotocol,UDP)的流。每个IP头都是封装TCP头的包封,TCP头又封装应用相关数据。TCP包在本文可以称为段。TCP头和/或IP头包含可以用于连接匹配的若干字段。这些字段是源IP地址(属于IP头)、目的IP地址(在IP头中)、源端口和目的端口(都在TCP头中)、序列字段(SEQ,在TCP头中)、应答(acknowledgment,ACK)字段(在TCP头中)、同步(synchronize,SYN)标志、以及ACK标志(在TCP头中的比特)。标准TCP连接启动(也称为三次握手)包括以下步骤:
1.网络UE选择随机数A并向服务器发送设置了SYN标志且SEQ字段为数字A的TCP段。
2.服务器接收来自步骤1的段,选择随机数B。服务器发送SEQ字段为数字B且ACK字段为数字A+1的TCP段,设置了SYN标志和ACK标志。将该段发送至网络UE。
3.网络UE接收来自步骤2的段,向服务器发送ACK字段为数字B+1且设置了ACK标志但未设置SYN标志的TCP段。SEQ字段设置为A+1。
在三次握手完成之后,网络UE认为建立的连接是开放的,并且向相应的服务器发送数据和/或从相应的服务器接收数据。该交换中的前三个段不包含TCP有效载荷(只有头被填充,TCP段的数据部分大小为0)。
当应用于web和自适应视频流应用时,这样的控制协议的数据传输效率低且QoE不理想。
发明内容
根据本发明的第一方面,提供了一种包括处理器的服务器,该处理器用于:从UE接收网络连接建立请求以建立TCP连接或UDP连接,分析该网络连接建立请求以提取TCP初始序列号(initial sequence number,ISN)或快速用户数据报协议(quick user datagramprotocol,QUIC)连接标识符(identifier,ID),以及通过指令向QoEHN发送包括上述QUIC连接ID或上述TCP ISN中的至少一个TCP ISN的消息,以控制服务器与网络UE之间的TCP连接或UDP连接。
TCP ISN表示TCP初始序列号。待提取的TCP ISN对应于握手过程的两个方向,即从客户端到服务器的请求消息的第一ISN、从服务器到客户端的消息的第二ISN。如TCP规范所规定的,这些ISN还将由TCP各方用于执行用于各个传输方向的字节计数和信令通知。
TCP连接建立不是只包括发送单个段,而是可以视为发送三个包/段的过程。第一个包从客户端到服务器,该包只包含一个ISN。第二个包从服务器发送到客户端,并且包含两个ISN。第三个包包含两个ISN并且从客户端发送到服务器。
根据本发明的第二方面,提供了一种包括处理器的客户端,该处理器用于:向服务器发送网络连接建立请求以建立TCP连接或UDP连接,从服务器接收网络连接建立包序列;分析网络连接建立包序列以提取TCP ISN或QUIC连接ID,以及通过指令向体验质量辅助节点(QoEHN)发送包括QUIC连接ID或TCP ISN中的至少一个TCP ISN的消息,以控制服务器与客户端之间的TCP连接或UDP连接。换言之,例如,客户端(即网络UE)发送具有一个随机ISN的SYN。也就是说,客户端已经知道其中一个ISN。服务器回复SYN+ACK,该SYN+ACK包含两个随机ISN(针对上述SYN的随机ISN的ACK、以及服务器生成的另一随机ISN)。如下所述,通过使用两个TCP ISN或QUIC连接ID,可以区分不同的流。
在第一方面和/或第二方面的可选实施方式中,从TCP SYN段或TCP SYN+ACK段中提取TCP ISN中的至少一个TCP ISN。
TCP SYN段只包含其中一个ISN,而TCP SYN+ACK段包含两个ISN(增加1的第一ISN、以及第二ISN)。SYN是接收段,SYN+ACK是输出段。
这允许使用现有消息中的现有字段来区分不同的流,而无需改变使用的通信协议的消息形式。
在第一方面和/或第二方面的可选实施方式中,从TCP SYN+ACK段中提取TCP ISN中的至少一个TCP ISN。这允许使用现有消息中的现有字段来区分不同的流,而无需改变使用的通信协议的消息形式。
在第一方面和/或第二方面的可选实施方式中,处理器用于:使用在从UE接收的包中找到的互联网协议地址,以使用DNS服务发现QoEHN。该实施方式基于根据输入包中的源IP地址的DNS发现,解决了从服务器侧检测QoEHN以在服务器和QoEHN之间建立控制信道的问题。在LTE客户端的情况下,源IP地址可以由P-GW IP地址表示。当在DNS维护适当记录时,服务器对接收的P-GW IP地址发出DNS服务(DNS Service,DNS SRV)查询并获得端口和地址,在上述端口和地址建立控制连接。
在第一方面和/或第二方面的其他实施方式中,处理器用于:从HTTP请求头中提取基于TCP的连接或基于UDP的连接中的请求对象的统一资源定位符(uniform resourcelocator,URL),并使用哈希函数将该URL转换为哈希值(例如摘要),从HTTP请求头中提取基于TCP的连接或基于UDP的连接中的父对象的来源(referrer)URL,并使用哈希函数将来源URL转换为哈希值(例如摘要),以及针对对象的大小、URL或该URL的哈希值、以及父对象URL或父对象URL的哈希值更新QoEHN。这允许选择最佳TCP初始拥塞窗口(CWND)值以加速下载。
在第一方面和/或第二方面的其他实施方式中,处理器用于:根据TCP连接或UDP连接的容量以及UE与服务器之间的往返时间(round-trip time,RTT),估计最佳初始拥塞窗口(congestion window,CWND)大小的值,其中,在来自QoEHN的控制消息中接收容量,并且使用CWND管理基于TCP的连接或基于UDP的连接。这允许提供初始CWND推荐(CWNDrecommendation)以提高使用相应网络UE的终端用户的QoE。
在第一方面和/或第二方面的其他实施方式中,处理器用于:计算用于管理基于TCP的连接或基于UDP的连接的慢启动阈值的适当值。这也允许提供初始CWND推荐以提高使用相应网络UE的终端用户的QoE。
根据本发明的第三方面,存在一种包括处理器的体验质量辅助节点(QoEHN),该处理器用于:从服务器或网络用户设备(UE)中的至少一个接收消息,以控制服务器与网络用户设备(UE)之间的传输控制协议(TCP)连接或用户数据报协议(UDP)连接,该消息包括快速用户数据报协议(QUIC)连接标识符(ID)或至少一个TCP初始序列号(ISN);分析该消息以提取至少一个TCP ISN或QUIC连接ID;将包的源地址、目的地址、源端口、以及目的端口匹配到上述至少一个TCP ISN或QUIC连接ID;以及根据匹配的结果控制TCP连接或UDP连接。
QoEHN监听所有业务并检测连接建立包序列,而不考虑控制连接。可以控制数据连接,也可以不控制数据连接,并且在连接建立时QoEHN可能不知道将控制此连接。如果检测到连接建立,则QoEHN可以从QUIC包中提取QUIC ID,或从SYN+ACK TCP段中提取ISN,或从SYN段或第一ACK段中提取其中一个ISN。此外,QoEHN可以从用于提取标识符的包/段中提取源IP地址、源端口、目的IP地址、以及目的端口的4元组。QoEHN应该记录ISN与地址和端口的4元组之间的映射。随后,QoEHN可以接收到具有标识符的控制消息(也可以从该消息中提取服务器或客户端的地址,以用于额外检查)。QoEHN可以在其记录中找到由标识符标识的连接,然后该QoEHN将通过QoEHN可用的业务捕获/控制点知道该连接的源IP地址、源端口、目的IP地址、以及目的端口的4元组。随后,来自该连接的包将不包含ISN。以上4元组完成段匹配,所有四个分量都要进行匹配。ISN是找到正确的4元组的关键。
使用两个ISN的优点是使流识别更精确。如果仅使用一个ISN,则各方(服务器、UE、QoEHN)都可以使用该ISN(例如,各方都将ISN用于UE到服务器方向)。如果QoEHN事先不知道将使用的具体ISN(A或B),则该QoEHN应该记录这两个ISN,并且在接收到控制请求时选择查找正确的ISN。
根据第三方面的实施方式,QoEHN的处理器用于:基于当前负载和信道质量估计可用带宽;产生推荐,以用于网络用户设备(UE)选择用于下一多媒体段请求的比特率或分辨率;以及经由QoEHN与网络用户设备(UE)之间的控制连接向网络用户设备(UE)发送推荐。
在第三方面的可选实施方式中,上述消息是包括至少一个TCP ISN或QUIC连接ID的订阅请求。这允许使用现有消息中的现有字段来区分不同的流,而无需改变使用的通信协议的消息形式。
在第三方面的可选实施方式中,在服务器与QoEHN之间的数据连接中发送消息。
在QoEHN的可选实施方式中,处理器用于:基于当前负载和信道质量估计可用带宽,向服务器发送CwndRecommendation消息以及(优选地)初始拥塞窗口的上限CWNDmax。根据最佳初始拥塞窗口和(可选地)慢启动阈值来管理基于TCP的连接或基于UDP的连接,最佳初始拥塞窗口和(可选地)慢启动阈值由服务器基于CwndRecommendation和(优选地)上限CWNDmax计算。在这样的实施例中,可以根据最佳初始拥塞窗口和(可选地)慢启动阈值来管理基于TCP的连接或基于UDP的连接,最佳初始拥塞窗口和(可选地)慢启动阈值由服务器基于接收到的CwndRecommendation和(优选地)上限CWNDmax计算。
在第三方面的可选实施方式中,处理器用于:接收在TCP连接或UDP连接中的请求对象的统一资源定位符(URL)或该URL的哈希值;接收在TCP连接或UDP连接中的请求父对象的统一资源定位符(URL)或该父对象的URL的哈希值;接收对象的大小,并使用上述URL和大小将该对象与公共网页中的其他对象一起进行处理,或者使用父对象的URL或该父对象的URL的哈希值构建网页对象树。这允许选择最佳TCP初始拥塞窗口(CWND)值来加速下载。
在第三方面的可选实施方式中,处理器用于:从UE或服务器接收在基于TCP的连接或基于UDP的连接中的请求对象的比特率和/或视频分辨率。这允许提高用户体验的质量和更高效地利用网络资源。
在第三方面的可选实施方式中,处理器用于:通过分析传输统计和回放缓冲累积的趋势来预测TCP连接或UDP连接的信道质量劣化,并向客户端提出应对信道劣化的建议。这允许通过动态地改变回放缓冲量来保持最佳的回放缓冲量。
根据本发明的第四方面,提供了一种用于实现上述由服务器的处理器执行的动作的方法。具体地,上述服务器侧方法包括:从网络用户设备(UE)接收网络连接建立请求以建立传输控制协议(TCP)连接或用户数据报协议(UDP)连接;分析网络连接建立请求以提取TCP初始序列号(ISN)或快速用户数据报协议(QUIC)连接标识符(ID);以及通过指令向体验质量辅助节点(QoEHN)发送QUIC连接ID或上述TCP ISN的中至少一个TCP ISN,以控制服务器与网络UE之间的TCP连接或UDP连接。
根据本发明的第五方面,提供了一种用于实现上述由网络用户设备(UE)执行的动作的方法。具体地,上述网络用户设备(UE)侧方法包括:向服务器发送网络连接建立请求以建立传输控制协议(TCP)连接或用户数据报协议(UDP)连接;从服务器接收网络连接建立包序列;分析网络连接建立包序列以提取TCP初始序列号(ISN)或快速用户数据报协议(QUIC)连接标识符(ID);以及通过指令向体验质量辅助节点(QoEHN)发送QUIC连接ID或TCP ISN中的至少一个TCP ISN,以控制服务器与网络UE之间的TCP连接或UDP连接。
根据本发明的第六方面,提供了一种用于实现上述由QoEHN的处理器执行的动作的方法。具体地,在体验质量辅助节点(QoEHN)执行的用于控制网络用户设备(UE)与服务器之间的连接的方法包括:从服务器或UE中的至少一个接收请求以控制服务器(201)与UE之间的连接,该请求包括TCP ISN中的至少一个TCP ISN或QUIC连接ID;分析服务器与UE之间的连接建立交换序列中的QUIC包或TCP SYN段和TCP SYN+ACK段中的至少一个,以提取QUIC连接ID或至少一个TCP ISN并记录QUIC连接ID或至少一个TCP ISN与源地址、目的地址、源端口、以及目的端口之间的映射;将控制消息的TCP ISN或QUIC连接ID与传递的TCP包或UDP包的源地址、目的地址、源端口、以及目的端口进行匹配;以及根据匹配的结果控制TCP连接或UDP连接。
除非另外规定,否则本文中所用的所有技术术语和/或科学术语与本发明所涉及的领域的技术人员通常所理解的含义相同。虽然下文描述了示例性方法和/或材料,但是与本文所述的方法和材料类似或等效的方法和材料可以用于本发明的实施例的实践或测试。若有冲突,则以本说明书(包括定义)为准。另外,材料、方法、以及示例仅为说明性的且不旨在必定限制。
附图说明
本文中仅以示例的方式参考附图描述本发明的一些实施例。现详细参考附图,强调的是,细节以示例的方式且出于对本发明的实施例的说明性论述的目的示出。就此而言,结合附图进行的描述使如何实践本发明的实施例对本领域的技术人员显而易见。
在附图中:
图1是根据本发明一些实施例的使用TCP初始序列号(ISN)或快速用户数据报协议(QUIC)连接标识符(ID)在服务器与网络UE之间建立基于TCP/UDP的连接的服务器侧方法的流程图;
图2是根据本发明一些实施例的媒体分发网络的示意图;
图3是根据本发明一些实施例的使用TCP初始序列号(ISN)或快速用户数据报协议(QUIC)连接标识符(ID)在服务器与网络UE之间建立基于TCP/UDP的连接的UE侧方法的流程图;
图4是根据本发明一些实施例的使用TCP ISN或QUIC连接ID在服务器与网络UE之间建立基于TCP/UDP的连接的QoEHN侧方法的过程的流程图;
图5是示出根据本发明一些实施例的在UE、服务器、以及DANE之间的示例性消息交换的序列图;
图6A是根据本发明一些实施例的初始CWND管理工作流;
图6B是示出仿真结果的图;以及
图7是根据本发明一些实施例的示例性网页对象树的示意图。
具体实施方式
在一些实施例中,本发明涉及媒体流,更具体地但不仅限于涉及媒体流进程中的跨层交互。
如上所述,本文描述的本发明实施例提供了对由于不同网络节点之间的跨层信息的交换而产生的问题的解决方案。本发明一些实施例允许将控制信息和数据连接进行匹配以对流进行区分,而无需(可选地)在使用NAT网关的情况下建立与使用的基于TCP和/或UDP的流分离的控制连接。
例如,在其中媒体分布于网络UE和服务器之间的网络中,网络UE具有待管理的与一个或多个服务器的多个连接。当网络UE具有与同一服务器的多个连接时,网络UE只能通过源端口字段来区分这些连接,但是由于在控制节点所见的网关值或防火墙值,情况可能完全不同。这就是从控制到连接的映射问题的实质。具体地,如上所述,业务是基于TCP和/或UDP的流,并且基于控制节点的已知解决方案允许控制节点基于来自IP头的源IP字段、源端口字段、目的IP字段、以及目的端口字段的数据来区分不同的流。问题在于,当经过网关(例如网络地址转换(network address translation,NAT)网关)时,这些字段中的任何一个字段都可能改变。服务器201不知道网络UE地址和网络UE端口,而是知道更新包头的最接近网关的网关地址和网关端口。网络UE(和服务器)知道实际的服务器地址和服务器端口。然而,即使网络UE将其地址和端口包括在源IP地址字段和源端口字段中,该网络UE与控制节点之间的网关和/或防火墙也可以改变IP地址字段和端口字段,使得源自网络UE并由控制节点截获的不同的包可能具有由网关和/或防火墙重写的不同的源IP地址和源端口。
在本发明一些实施例中,如下文进一步描述的,使用初始序列号而非源IP字段、源端口字段、目的IP字段、以及目的端口字段来区分不同的流。
此外,本发明一些实施例允许QoEHN的服务器侧网络辅助发现,而无需网络UE和中间网络节点(例如QoEHN)之间的指定控制连接,或服务器和中间网络节点之间的指定控制连接。这允许选择最佳TCP初始拥塞窗口(CWND)值以加速下载。
此外,本发明一些实施例允许提供初始CWND推荐。在服务器和中间网络节点之间建立连接之后,可以在它们之间交换控制信息,以便提高使用相应网络UE的终端用户的体验质量(quality of experience,QoE)。这可以如下完成:在服务器通过基于经由控制连接从中间节点获得的信息计算最佳TCP初始CWND值,来加速TCP慢启动阶段。该信息可以包含LTE网络中的无线链路的容量,该容量被视为瓶颈。
此外,本发明一些实施例允许在中间节点通过利用与网络UE请求的分布式媒体内容的大小有关的信息,来获得分布式媒体内容(例如,网页、和/或对象、和/或文件)的大小,以根据一些效用函数(例如,下载时间、下载速率等)在不同网络UE之间执行最佳调度。由于网络UE请求的分布式媒体内容通常由位于不同服务器的多个对象组成,因此无法在请求分布式媒体内容的主对象(例如,诸如网页的分布式媒体内容中的主对象)之后立即预先知道总大小。在本发明的一些实施例中,解决了向控制节点通知源自多个分离服务器的分布式媒体内容的总大小的问题。
此外,本发明一些实施例允许提供关于视频分辨率的信息,该信息例如用于自适应视频流应用。具体地,提高了用户体验的质量,并且更高效地利用了网络资源。用户体验的质量可以是分辨率和停顿事件流行率(stalling event prevalence)的函数。当在多个视频用户(例如运行自适应视频流应用的用户)之间共享信道资源时,不仅需要考虑用户可用的每个操作点的比特率或带宽,而且需要考虑可用操作点的分辨率。决定视频用户的QoE的是分辨率而不是比特率。由于不同类型的视频(例如,具有高运动(high motion)或低运动(low motion))对于相同的分辨率具有不同的比特率,因此为了使用户满意,基于分辨率做出调度决策是更有益的。
此外,本发明一些实施例允许通过动态地改变回放缓冲量来保持最佳的回放缓冲量。网络UE的应用通常对回放缓冲进行限制,并且当达到该限制时停止请求新的段;然而,在一些情况下,例如当信道条件将劣化时,当蜂窝网络UE进入低质量接收区域(例如覆盖差或无覆盖的隧道)时,增加回放缓冲量改善了性能。为了避免在隧道中时停顿或观看低质量视频,本发明的一些实施例描述了当估计到将来的低质量接收区域时,如何维持动态回放缓冲量以预先累积更多的回放缓冲。
在详细解释本发明至少一个实施例之前,应当理解,本发明在其应用中不一定限于以下描述中阐述的和/或附图和/或示例中示出的组件的构造和布置和/或方法的细节。本发明可以包含其他实施例或以各种方式实践或执行。
本发明可以是一种***、一种方法、和/或一种计算机程序产品。该计算机程序产品可以包括其上具有用于使处理器执行本发明各方面的计算机可读程序指令的计算机可读存储介质。
计算机可读存储介质可以是可保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体设备、或前述存储设备的任何适当组合。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算设备/处理设备,或者经由网络(例如互联网、局域网、广域网、和/或无线网络)下载到外部计算机或外部存储设备。
计算机可读程序指令可以完全在用户计算机上执行,部分在用户计算机上执行,作为一个独立的软件包执行,部分在用户计算机上并部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后面的场景中,远程计算机可以通过包括局域网(localarea network,LAN)或广域网(wide area network,WAN)的任何类型的网络连接到用户计算机,或者可以(例如,通过使用互联网服务提供商的互联网)连接到外部计算机。在一些实施例中,包括诸如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,FPGA)、或可编程逻辑阵列(programmable logic array,PLA)等的电子电路可以利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,从而执行本发明的各方面。
本文结合根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或方框图来描述本发明的各方面。应理解,流程图和/或方框图的每个方框以及流程图和/或方框图中的方框的组合可以由计算机可读程序指令实施。
附图中的流程图和框图示出了根据本发明各种实施例的***、方法、以及计算机程序产品的可能实施方式的架构、功能、以及操作。就此而言,流程图或框图中的每个框可以表示指令的模块、段、或部分,包括用于实施指定逻辑功能的一个或多个可执行指令。在一些替代实施方式中,框中提到的各项功能可以不按照附图中标注的顺序发生。例如,连续示出的两个框实际上可以基本同时执行,或者框有时可以以相反的顺序执行,这取决于涉及的功能。还将注意到,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可以由基于硬件的专用***来实施,这些***执行指定的功能或动作,或者执行专用硬件和计算机指令的组合。
现在参考图1,图1是根据本发明一些实施例的使用TCP初始序列号(ISN)或快速用户数据报协议(QUIC)连接标识符(ID)在服务器与网络UE之间建立基于TCP的连接或基于UDP的连接的服务器侧方法100的流程图。使用服务器硬件(例如处理器)和网络接口(例如网络接口卡)执行该方法。
还参考图2,图2是包括以下的执行者的示意图:服务器201、UE 202(可互换地,称为客户端)、以及一个或多个体验质量辅助节点(QoEHN)203(例如DANE),这些执行者在实现参照图1、图3、以及图4描述的过程时进行通信。服务器201至体验质量辅助节点203连接到诸如广域网(wideareanetwork,WAN)的网络205。每个执行者包括一个或多个存储器、一个或多个处理器、和/或一个或多个网络接口,上述存储器用于托管用于执行本文所述的相应过程的代码,上述处理器和/或网络接口用于执行以下操作。如本文所使用的,UE或客户端可以是任何数字内容消费者,例如笔记本电脑、智能手机、平板电脑、服务器、桌面等。
如图1所示,在101,通过网络205从网络UE接收网络连接建立请求以建立基于TCP的连接或基于UDP的连接。
如102所示,分析网络连接建立请求以提取两个TCP ISN中的至少一个或QUIC连接ID。如下所述,可以从TCP SYN包和/或TCP SYN+ACK包中提取TCP ISN或QUIC连接ID。
现在,如103所示,通过指令向QoEHN(例如DANE或改进web业务传输的辅助方)发送两个TCP ISN中的至少一个或QUIC连接ID,以控制服务器201与网络UE 202之间的基于TCP的连接或基于UDP的连接。可选地,使用从UE接收的包中找到的互联网协议(IP)地址以及使用例如域名服务器(domain name server,DNS)来发现QoEHN。例如,服务器201(或如下所述的客户端)可以使用对DNS SRV记录的查询来发现给定服务类型的可用服务,该DNS SRV记录的名称以诸如“<Service>.<Domain>”或“<Service>.<IP>”的预定义形式。对这种查询的响应包含对应于此服务的一组IP地址和端口。对于服务器侧网络辅助发现,服务器201经由DNS查询找到网络辅助IP和端口。为此,服务器201(或UE)发出形式为“_network-assistance._tcp.<IP>”的DNS查询,其中“<IP>”被替换为从客户端接收的包的IP头中指示的源IP地址。在接收到对DNS查询的响应后,服务器201可以使用接收到的对应于DANE的IP地址和接口来建立控制连接。
还参考图3,图3是根据本发明一些实施例的(例如在图2所示的网络中)使用TCPISN或QUIC连接ID在服务器201与网络UE 202之间建立基于TCP的连接或基于UDP的连接的UE侧方法的流程图300(例如替代图1中描述的服务器执行的用于建立此基于TCP的连接或基于UDP的连接的方法)。UE包括用于执行以下操作的一个或多个处理器和/或一个或多个网络接口。使用UE硬件(例如处理器和网络接口(例如网络接口卡))来执行该方法。
首先,如301所示,经由网络向服务器201发送网络连接建立请求以建立基于TCP的连接或基于UDP的连接。
如302所示,如上文102所述和下文所述,分析数据流(例如网络连接建立段序列)以提取两个TCP ISN中的至少一个或QUIC连接ID。如303所示,通过指令向QoEHN(例如DANE)发送两个TCP ISN中的至少一个或QUIC连接ID,以控制服务器与网络UE之间的基于TCP的连接或基于UDP的连接。
现在参考图4,图4是根据本发明一些实施例的(例如在图2所示的网络中)使用TCPISN或QUIC连接ID在服务器与网络UE之间建立基于TCP的连接或基于UDP的连接的QoEHN侧方法400的过程(例如当服务器执行图1中描述的方法和/或客户端执行图2中描述的方法以建立基于TCP的连接或基于UDP的连接时)。QoEHN包括用于执行以下的一个或多个处理器和/或一个或多个网络接口。使用QoEHN硬件(例如处理器和网络接口(例如网络接口卡))来执行该方法。
首先,如401所示,从服务器和/或UE接收消息以控制服务器与网络UE之间的基于TCP的连接或基于UDP的连接。该消息包括两个TCP ISN中的至少一个或QUIC连接ID。该消息可以是包括两个TCP ISN或QUIC连接ID的订阅请求。可选地,在服务器和QoEHN之间的数据连接中发送该消息。
现在,如402所示,分析上述消息以提取两个TCP ISN中的至少一个或QUIC连接ID。如403所示,这允许将包的源地址、目的地址、源端口、以及目的端口匹配到两个TCP ISN或QUIC连接ID。
如404所示,这允许QoEHN根据匹配的结果控制基于TCP的连接或基于UDP的连接。
例如,现在参考图5,图5是示出了在UE、服务器、以及示例性QoEHN(DANE)之间的示例性消息交换的序列图,上述消息交换用于基于控制信息与数据连接之间的匹配来管理服务器-UE连接。当在UE上执行的应用需要网络资源时,向QoEHN发送请求以建立控制连接,例如,如502所示的指定给DANE的SubscriptionRequest消息。该SubscriptionRequest消息包括如500所示在建立对应的TCP数据连接期间获取的TCP ISN对或QUIC连接ID。在接收到这些初始TCP序列号(或QUIC连接ID)后,DANE能够将这些初始TCP序列号(或QUIC连接ID)匹配到在UE和服务器之间建立的数据连接。对于基于TCP的数据连接,DANE将在服务器和UE之间建立每个基于TCP的连接时使用的TCP ISN的记录保存至少一个时间段(例如recordHoldTimeout时间段)。如501所示,因为TCP ISN在TCP SYN包和TCP SYN/ACK包内传输,因此DANE可选地分析TCP SYN包和TCP SYN/ACK包,并记录ISN与IP地址和端口的4元组之间的对应关系。因为TCP SYN/ACK消息包含关于两个TCP ISN的信息,所以这允许DANE在接收到这种消息之后进行记录。在建立对应关系之后,可选地,将记录存储recordHoldTimeout时间段,其中该recordHoldTimeout时间段可以取决于实施方式。例如,设置recordHoldTimeout以提供较低的序列号冲突概率,并且其时长足以允许接收SubscriptionRequest消息,例如,recordHoldTimeout约为1秒或为1秒以上。
当请求建立的连接是QUIC数据连接时,DANE将在建立服务器与UE之间的每个QUIC连接时使用的QUIC连接ID的记录保存至少recordHoldTimeout时间段。为实现这一点,DANE解析在每个新的基于UDP的连接上从服务器侧发送的前两个UDP包,试图找到QUIC连接ID。当其中一个包包含QUIC连接ID时,DANE应记录QUIC连接ID与IP地址和端口的4元组之间的对应关系。在建立对应关系之后,应将记录保持recordHoldTimeout时间段。
如502所示,当DANE接收到包含可以在DANE的唯一记录中找到的TCP ISN或QUIC连接ID的SubscriptionRequest消息时,该DANE生成随机SessionID,并如503,用包含生成的SessionID的SubscriptionConfirm消息进行响应。取决于实施方式,生成SessionID的过程可能会有所不同。例如,DANE将TCP ISN进行串连并用作唯一会话标识符。在接收到SubscriptionRequest消息之后,端点和DANE能够将SessionID匹配到数据连接(TCP或QUIC)。当DANE接收到包含可以在DANE的多个记录中找到或无法在DANE的任何记录中找到的TCP初始序列号或QUIC连接ID的SubscriptionRequest消息时,DANE生成SubscriptionReject消息。
根据本发明的一些实施例,在没有网络UE与QoEHN之间的指定控制连接或服务器与QoEHN中间网络节点之间的指定控制连接的情况下,促进了QoEHN的服务器侧辅助发现。这允许选择最佳TCP初始拥塞窗口(CWND)值以加速下载。在使用中,DANE可以基于当前负载和信道质量估计可用带宽,并且向服务器发送CwndRecommendation消息和(优选地)初始拥塞窗口上限CWNDmax。在这样的实施例中,基于TCP的连接或基于UDP的连接可以根据最佳初始拥塞窗口和(可选地)慢启动阈值来管理,该最佳初始拥塞窗口和(可选地)慢启动阈值由服务器基于接收的CWNDRecommendation和(优选地)上限CWNDmax计算。
TCP慢启动过程允许在数据传输期间估计信道容量;然而,这一过程可能较慢并且可能造成较大的时延。特别是对于较小的网页和文件(例如存储大小小于端到端链路带宽时延积且高于初始CWND的网页和文件,这些网页和文件的存储大小通常约15kB),因为信道未充分利用的周期较大,所以这种时延显著。DANE可以向服务器通知所考虑的连接的可用带宽,并且因此有助于设置适当的拥塞窗口,而不需要长的慢启动过程。具体地,QoEHN(例如DANE)基于当前负载和信道质量估计可用带宽B,并向服务器发送CwndRecommendation消息。除了可用带宽B之外,消息还可以包含拥塞窗口的上限CWNDmax,可以在服务器为所考虑的连接设置该上限CWNDmax。例如,上限可以作为网络节点的缓冲区限制存在。在接受到该消息之后,服务器例如通过基于SYN/ACK包计算往返时间(RTT)来估计最佳初始拥塞窗口,并且如下设置初始拥塞窗口(CWND):CWND=min(B·RTT,CWNDmax)。为了完成慢启动过程并开始拥塞避免,服务器还可以对CWND设置慢启动阈值。初始CWND管理的示例性工作流在图6A中示出。
可选地,服务器执行与操作***(operatingsystem,OS)连接的应用。以这样的方式,在设置初始拥塞窗口和慢启动阈值并基于TCP SYN/ACK包获得RTT的估计之后,当接收到CWND推荐时,应用可以从OS获得RTT的当前估计,以计算初始拥塞窗口的适当值。然后,应用将TCP初始拥塞窗口和慢启动阈值设置为计算值,例如min(B·RTT,CWNDmax)。当在拥塞窗口初始化之后接收到CWND推荐时,例如在活动数据传输期间,应用行为取决于实施方式。例如,应用可以忽略接收到的消息,或当min(B·RTT,CWNDmax)的值大于当前拥塞窗口时,将当前拥塞窗口和慢启动阈值设置为min(B·RTT,CWNDmax)。
当DANE从服务器接收到SubscriptionRequest时,DANE基于负载、信道质量、以及活动回话的数量来估计新TCP连接可以使用的信道资源量。具体的估计算法取决于实施方式。例如,DANE假设所有资源都用于数据传输,并将可用带宽B估计为在滑动时间窗口内在整个频带中获得的最大数据速率。然后,DANE向服务器发送CWND推荐。除了可用带宽B之外,消息还包含初始拥塞窗口的上限CWNDmax,该CWNDmax可以对应于网络节点的缓冲区极限。
上述CWND管理通过估计最佳初始CWND来改善TCP慢启动阶段。上述过程大大加快了网页和文件的传递速度。LTE网络中下载速率的仿真结果在图6B中示出。给出了在传统CWND值(10MSS,(maximum segment size,最大段大小))和如上所述的CWND管理下的比例公平(proportional fair,PF)调度器和最短剩余处理时间(shortest remaining processtime,SRPT)调度器的结果。可以看出,平均下载速率中的可实现增益超过100%。
根据本发明的一些实施例,QoEHN(例如DANE)通过利用与网络UE请求的分布式媒体内容的大小有关的信息来估计分布式媒体内容(例如网页、和/或对象、和/或文件)的大小,以根据一些效用函数(例如下载时间、下载速率等)在不同网络UE之间执行最佳调度。由于网络UE请求的分布式媒体内容通常由位于不同服务器的多个对象组成,因此无法在请求分布式媒体内容的主对象(例如,诸如网页的分布式媒体内容中的主对象)之后立即预先知道总大小。在本发明的一些实施例中,解决了向控制节点通知源自多个分离服务器的分布式媒体内容的总大小的问题。
可选地,QoEHN接收在基于TCP的连接或基于UDP的连接中的请求对象的统一资源定位符(URL)、和/或该URL的哈希摘要、以及对象的大小。然后,QoEHN接收在基于TCP的连接或基于UDP的连接中的请求父对象的URL和/或该URL的哈希摘要。现在,上述URL和上述大小用于将上述对象与公共网页中的其他对象一起进行处理,或者用于使用父对象的URL或该父对象的URL的哈希值构建网页对象树。
具体地,当ObjectSize是DANE并且服务器从客户端接收到某个对象的HTTP请求时,服务器向DANE发送ObjectSize消息,该消息包含SessionID和以下一个或多个(请求的对象):
请求的对象的大小,可选地,以字节为单位;
指示符(例如IsMainObject标志),当请求的对象是网页的主对象时被设置为true,否则被设置为false;
请求的对象的URL的SHA-256哈希值的N个最高有效字节;以及
HTTP请求头的来源(referrer)字段中指示的URL的SHA-256哈希值的N个最高有效字节。
当服务器没有与请求的对象的类型(主/嵌入)有关的信息时,可选地,根据策略标记对象类型。例如,当Web页面的内容类型为“text/html”并且HTTP请求中不包含头“X-Requested-With”(为了考虑使用异步JavaScript和XML(asynchronous JavaScript andXML,AJAX)请求的对象)时,服务器可能会将该对象视为Web页面的主对象。服务器经由控制连接针对每个接收到的HTTP请求发送ObjectSize消息,以便向DANE通知请求的对象的大小。由于协议开销和TCP重传,传输的数据的实际大小可能更高。因此,服务器可以发送额外的ObjectSize消息,以便向DANE通知由TCP重传引起的开销,而DANE估计总开销。将该连接上的重传通知服务器应用。
可选地,DANE维护数据结构,该数据结构包含关于以下的信息:总数据流大小、剩余数据流大小、以及流开始时间。因为网页可能包含经由不同的TCP连接从不同的服务器进行下载的多个嵌入对象,所以该数据结构允许DANE将一个数据流与对应于同一客户端的包括多个SessionID的列表关联。为此,可选地,DANE使用从服务器接收的ObjectSize消息中的信息。具体地,可选地,字段IsMainObject、URL、以及Referrer用于构建网页对象树。例如,图7是由4个对象组成的示例性网页对象树的示意图。对象A是主对象,而对象B、对象C、以及对象D是嵌入对象。每个对象可以通过不同的TCP连接下载,因此对象A、对象B、对象C、以及对象D可以对应于不同的SessionID。树中的每个节点包含URL和Referrer,在对应对象的ObjectSize消息中指示这些URL和Referrer。此外,假设数据结构中的每个记录对应于数据流并且包含SessionID列表、数据流总大小、剩余大小、以及经过的下载时间。可以在RecordTimeout后删除记录,在RecordTimeout期间该记录的剩余数据大小不变。RecordTimeout的推荐值为若干分钟(例如2分钟、5分钟、10分钟)、任何中间时间段、或更长的时间段。
当接收到给定数据流的新ObjectSize消息时,例如,DANE通过执行以下操作来更新信息:当接收到的ObjectSize消息中的IsMainObject标志被设置为true时,或者当没有匹配的记录时,DANE向数据结构添加新记录,该记录包含SessionID、对象大小、数据流开始时间(等于生成ObjectSize消息的时间)、以及仅有与主对象对应的一个节点(例如树的根节点)的对象树。否则,DANE检查包含对应于与接收到的ObjectSize消息中指示的SessionID相同的客户端的SessionID的所有记录。当存在具有包含节点N的对象树的记录,并且节点N的URL等于ObjectSize消息的referrer字段中的URL时,该消息描述的对象视为被嵌入到与该记录对应的网页中。将一个新节点作为节点N的子节点附加到对象树,ObjectSize消息中指示的值使得数据流大小对应于新对象的大小增加,并将新SessionID添加到与该记录关联的SessionID列表中。当找到若干合适的记录时,选择流开始时间最晚的记录。
当对应于某一数据流的数据包已被发送时,DANE通过减去发送的数据的大小来更新剩余数据流大小。因此,DANE识别与每个发送的数据包对应的SessionID。为此,DANE识别与发送的包对应的TCP连接(数据流),然后,使用上述匹配识别SessionID。将发送的数据包匹配到数据流的方式取决于实施方式。例如,DANE检查包的IP头和TCP头以识别IP地址和端口,然后将这些IP地址和端口与相应的数据流匹配。在识别SessionID后,DANE检索包含该SessionID的记录。当找到若干记录时,DANE选择剩余数据大小为正、数据流开始时间最早的记录。对于该记录,DANE通过减去发送的包的大小(考虑协议开销,例如包头)来减小剩余数据大小。估计开销的方式取决于实施方式。例如,DANE可以将每个协议头(例如,PDCP头、IP头、TCP头)的大小视为常数值,或者可以通过深度包检查来精确地找到每个包的这些头的大小。可选地,DANE包括调度器,该调度器利用来自数据结构的信息并相应地计算不同用户和/或单独数据流的优先级。可以以如下方式选择调度策略:最大化某个效用函数(例如平均下载速率),或最小化某个效用函数(例如平均下载时间)等。
根据本发明的一些实施例,服务器和QoEHN(例如DANE)之间发送的SharedResourceAllocation消息的格式变为包括分辨率字段。分辨率字段可以表示为包含由符号“x”分隔的视频的宽度和长度的字符串。例如,这允许例如为自适应视频流应用提供关于视频分辨率的信息,以用于控制或适应用户体验质量和/或网络资源利用。用户体验质量可以是分辨率和停顿事件流行率的函数。可选地,对不同类型的视频(例如,具有高运动或低运动)相应地采取调度决策。
根据本发明的一些实施例,动态地改变UE使用的回放缓冲量。可以基于接收到的消息的值改变缓冲,该值包含表示待由UE累积和保存的以秒为单位的回放推荐量的整数。例如,消息可以是SandMessage=BufferAccumulationSuggestion。蜂窝网络UE在进入低质量接收区域(例如覆盖差或无覆盖的隧道之类)时可以发送这样的消息。
只是为了说明的目的而呈现了对本发明的各个实施例的描述,而并不旨在详尽地呈现或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变形形式将对本领域技术人员显而易见。相比于市场上找到的技术,选择本文使用的术语以最好地解释实施例的原理、实际应用、或技术进步,或使本领域的其他技术人员理解本文公开的实施例。
预期在将根据本申请而获得的专利的有效期期间,将开发许多相关的方法和***,并且术语“处理器”、“UE”、“服务器”、以及“QoEHN”的范围旨在先验地包括所有此类新技术。
本文所用的术语“约”是指±10%。
术语“包括”、“包含”、“具有”以及其变化形式表示“包括但不限于”。这个术语涵盖了术语“由……组成”和“主要由……组成”。
短语“主要由……组成”意指组成物或方法可以包括额外成分和/或步骤,但前提是上述额外成分和/或步骤不会实质上改变所要求保护的组成物或方法的基本的特性和新颖的特性。
除非上下文中另有明确说明,否则本文使用的单数形式“一”、“一个”、和“所述”包括复数含义。例如,术语“一个化合物”或“至少一个化合物”可以包括多个化合物,包括其混合物。
本文使用的词语“示例性”表示“用作示例、实例、或说明”。描述为“示例性”的任何实施例不应被解释为比其他实施例优选或有利和/或排除来自其他实施例的特征的组合。
本文使用的词语“可选地”表示“在一些实施例中提供且在其他实施例中没有提供”。本发明的任何特定的实施例可以包括多个“可选”特征,除非这些特征冲突。
在本申请中,可以以范围形式呈现本发明的各种实施例。应理解,范围形式的描述仅仅是为了方便和简洁,而不应被解释为对本发明范围的硬性限制。因此,范围的描述应认为具体公开了所有可能的子范围以及该范围内的单个数值。例如,对诸如从1到6范围的描述应认为具体公开了子范围,例如从1到3、从1到4、从1到5、从2到4、从2到6、从3到6等,以及该范围内的各个数值,例如1、2、3、4、5、6。这与范围的宽度无关。
当本文指出数字范围时,表示包括了在所指出范围内的任何列举的数字(分数或整数)。短语“在第一指示数字和第二指示数字之间的范围内”以及“从第一指示数字到第二指示数字的范围内”在本文中互换使用,并且旨在表示包括第一指示数字和第二指示数字及其间所有的分数和整数。
应理解,为了清楚起见,在单独实施例的上下文中描述的本发明的某些特征也可以在单个实施例中组合提供。相反地,为了简洁起见,在单个实施例的上下文中描述的本发明的各种特征也可以单独地或以任何合适的子组合提供,或者在适合的情况下在本发明的任何其他描述的实施例中提供。除非在没有那些元素的情况下实施例不起作用,否则各种实施例的上下文中描述的某些特征不视为那些实施例的必要特征。
本说明书中提及的所有出版物、专利、以及专利申请在本文通过引用整体并入本说明书,其程度如同每个单独的出版物、专利、或专利申请被具体地和单独地指示为通过引用并入本文。此外,本申请中任何参考文献的引用或标识不应被解释为承认这样的参考文献可作为本发明的现有技术。就使用节标题来说,节标题不应被解释为必要限制。
Claims (22)
1.一种服务器(201),包括:
处理器,用于:
从网络用户设备UE(202)接收网络连接建立请求以建立传输控制协议TCP连接或用户数据报协议UDP连接;
分析所述网络连接建立请求以提取TCP初始序列号ISN或快速用户数据报协议QUIC连接标识符ID;以及
通过指令向体验质量辅助节点QoEHN(203)发送包括所述QUIC连接ID或所述TCP ISN的消息,以控制所述服务器(201)与所述网络UE(202)之间的所述TCP连接或所述UDP连接。
2.根据权利要求1所述的服务器(201),其中,从TCP SYN段或TCP SYN+ACK段中提取所述TCP ISN。
3.根据权利要求1所述的服务器(201),其中,所述处理器用于使用在从所述UE接收的包中找到的互联网协议地址,以使用域名服务器DNS(201)服务发现所述QoEHN(203)。
4.根据权利要求1至3之一所述的服务器(201),其中,所述处理器用于:
从HTTP请求头中提取所述TCP连接或所述UDP连接中的请求对象的统一资源定位符URL,并使用哈希函数将所述URL转换为哈希值;
从HTTP请求头中提取所述TCP连接或所述UDP连接中的父对象的来源URL;
使用哈希函数将所述来源URL转换为哈希值;以及
针对所述对象的大小、所述URL或所述URL的哈希值、以及父对象URL或所述父对象URL的哈希值更新所述QoEHN(203)。
5.根据权利要求1至3之一所述的服务器(201),其中,所述处理器用于:
根据所述TCP连接或所述UDP连接的容量以及所述UE与所述服务器(201)之间的往返时间RTT,估计最佳初始拥塞窗口大小CWND的值,其中,在来自QoEHN的控制消息中接收所述容量,以及
使用所述CWND管理所述TCP连接或所述UDP连接。
6.根据权利要求1至3之一所述的服务器(201),其中,所述处理器用于:
计算用于管理所述TCP连接或所述UDP连接的慢启动阈值的适当值。
7.一种客户端(202),包括:
处理器,用于:向服务器(201)发送网络连接建立请求以建立传输控制协议TCP连接或用户数据报协议UDP连接;
从所述服务器(201)接收网络连接建立包序列;
分析所述网络连接建立包序列以提取TCP初始序列号ISN或快速用户数据报协议QUIC连接标识符ID;以及
通过指令向体验质量辅助节点QoEHN(203)发送包括所述QUIC连接ID或所述TCP ISN中的至少一个TCP ISN的消息,以控制所述服务器(201)与所述客户端(202)之间的所述TCP连接或所述UDP连接。
8.根据权利要求7所述的客户端(202),其中,从TCP SYN+ACK段中提取所述TCP ISN。
9.一种体验质量辅助节点QoEHN(203),包括:
处理器,用于:
从至少一个服务器(201)或网络用户设备UE(202)接收消息,以控制所述服务器(201)与所述网络用户设备UE(202)之间的传输控制协议TCP连接或用户数据报协议UDP连接,所述消息包括快速用户数据报协议QUIC连接标识符ID或至少一个TCP初始序列号ISN;
分析所述消息以提取所述至少一个TCPISN或所述QUIC连接ID;
将包的源地址、目的地址、源端口、以及目的端口匹配到所述至少一个TCP ISN或所述QUIC连接ID;以及
根据所述匹配的结果控制所述TCP连接或所述UDP连接。
10.根据权利要求9所述的QoEHN(203),其中,所述消息是包括所述至少一个TCP ISN或所述QUIC连接ID的订阅请求。
11.根据权利要求9或10所述的QoEHN(203),其中,在所述服务器(201)与所述QoEHN之间的数据连接中发送所述消息。
12.根据权利要求9至10之一所述的QoEHN(203),其中,所述处理器用于:
基于当前负载和信道质量估计可用带宽,
向所述服务器(201)发送CwndRecommendation消息,其中,所述消息包含所述可用带宽。
13.一种服务器侧方法(100),包括:
从网络用户设备UE(202)接收(101)网络连接建立请求以建立传输控制协议TCP连接或用户数据报协议UDP连接;
分析(102)所述网络连接建立请求以提取TCP初始序列号ISN或快速用户数据报协议QUIC连接标识符ID;以及
通过指令向体验质量辅助节点QoEHN(203)发送(103)所述QUIC连接ID或至少一个所述TCP ISN,以控制所述服务器(201)与所述网络UE(202)之间的所述TCP连接或所述UDP连接。
14.根据权利要求13所述的服务器侧方法(100),还包括:
从TCP SYN段或TCP SYN+ACK段中提取至少一个所述TCP ISN。
15.根据权利要求13所述的服务器侧方法(100),还包括:
使用在从所述UE接收的包中找到的互联网协议地址,以使用域名服务器DNS(201)服务发现所述QoEHN(203)。
16.根据权利要求13至15中任一项所述的服务器侧方法(100),还包括:
从HTTP请求头中提取所述TCP连接或所述UDP连接中的请求对象的统一资源定位符URL,并使用哈希函数将所述URL转换为哈希值;
从HTTP请求头中提取所述TCP连接或所述UDP连接中的父对象的来源URL;
使用哈希函数将所述来源URL转换为哈希值;以及
针对所述对象的大小、所述URL或所述URL的哈希值、以及父对象URL或所述父对象URL的哈希值更新所述QoEHN(203)。
17.根据权利要求13至15中任一项所述的服务器侧方法(100),还包括:
根据所述TCP连接或所述UDP连接的容量以及所述UE与所述服务器(201)之间的往返时间RTT,估计最佳初始拥塞窗口大小CWND的值,其中,在来自QoEHN的控制消息中接收所述容量,以及
使用所述CWND管理所述TCP连接或所述UDP连接。
18.根据权利要求13至15中任一项所述的服务器侧方法(100),还包括:
计算用于管理所述TCP连接或所述UDP连接的慢启动阈值的适当值。
19.一种网络用户设备UE侧方法(300),包括:
向服务器(201)发送(301)网络连接建立请求以建立传输控制协议TCP连接或用户数据报协议UDP连接;
从所述服务器(201)接收网络连接建立包序列;
分析(302)所述网络连接建立包序列以提取TCP初始序列号ISN或QUIC连接ID;以及
通过指令向体验质量辅助节点QoEHN(203)发送(303)所述QUIC连接ID或所述TCP ISN,以控制所述服务器(201)与所述网络UE(202)之间的所述TCP连接或所述UDP连接。
20.根据权利要求19所述的UE侧方法(300),还包括:
从TCP SYN+ACK段中提取所述TCP ISN。
21.一种用于控制网络用户设备UE(202)与服务器(201)之间的连接的方法(400),所述方法在体验质量辅助节点QoEHN(203)执行,所述方法包括:
从所述服务器(201)或所述UE(202)中的至少一个接收(401)请求以建立所述服务器(201)与所述UE之间的连接的控制,所述请求包括至少一个TCP ISN或QUIC连接ID;
分析(402)所述服务器(201)与所述UE(202)之间的连接建立交换序列中的QUIC包或TCP SYN段或TCP SYN+ACK段,以提取QUIC连接ID或至少一个TCP ISN并记录QUIC连接ID或至少一个TCP ISN与源地址、目的地址、源端口、以及目的端口之间的映射;
将所述控制消息的所述TCP ISN或所述QUIC连接ID与传递的TCP包或UDP包的源地址、目的地址、源端口、以及目的端口进行匹配(403);以及根据所述匹配的结果控制(404)所述TCP连接或所述UDP连接。
22.一种非暂时性计算机可读介质,存储计算机指令,当由一个或多个处理器执行时,所述计算机指令使所述一个或多个处理器执行根据权利要求13至18、权利要求19至20、以及权利要求21中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2018/000042 WO2019147157A1 (en) | 2018-01-29 | 2018-01-29 | Method of improving qoe for video and web services using cross-layer information |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111567011A CN111567011A (zh) | 2020-08-21 |
CN111567011B true CN111567011B (zh) | 2021-08-03 |
Family
ID=61569317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880084848.3A Active CN111567011B (zh) | 2018-01-29 | 2018-01-29 | 使用跨层信息提高视频服务和WEB服务的QoE的方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3735768B1 (zh) |
CN (1) | CN111567011B (zh) |
WO (1) | WO2019147157A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112039884B (zh) * | 2020-08-31 | 2022-05-31 | 浪潮云信息技术股份公司 | 快速互联协议quic在分布式数据库***中的应用方法 |
CN112583818B (zh) * | 2020-12-08 | 2021-12-24 | 清华大学 | 针对移动Web服务的自适应传输协议选择方法和装置 |
CN112887433B (zh) * | 2021-04-12 | 2021-07-27 | 网络通信与安全紫金山实验室 | 基于quic协议的云端访问边缘服务的方法和*** |
CN113824540B (zh) * | 2021-10-29 | 2023-04-07 | 中国电信股份有限公司 | 组播重传方法、装置、服务器以及存储介质 |
CN114157607A (zh) * | 2021-12-06 | 2022-03-08 | 上海哔哩哔哩科技有限公司 | 媒体流传输方法和*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717259A (zh) * | 2013-12-16 | 2015-06-17 | 中国科学院声学研究所 | 分布式中转服务器网络辅助的多路径数据传输***与方法 |
CN105827537A (zh) * | 2016-06-01 | 2016-08-03 | 四川大学 | 一种基于quic协议的拥塞改进方法 |
WO2016204815A1 (en) * | 2015-06-16 | 2016-12-22 | Intel IP Corporation | Adaptive video streaming using dynamic radio access network information |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8619801B2 (en) * | 2011-07-29 | 2013-12-31 | International Business Machines Corporation | Sharing a transmission control protocol port by a plurality of applications |
CN105516252A (zh) * | 2015-11-26 | 2016-04-20 | 华为技术有限公司 | Tcp连接的切换方法、装置和*** |
CN106210924B (zh) * | 2016-08-16 | 2020-01-24 | 北京东方嘉禾文化发展股份有限公司 | 视频网络传输控制方法和*** |
-
2018
- 2018-01-29 WO PCT/RU2018/000042 patent/WO2019147157A1/en unknown
- 2018-01-29 EP EP18709093.1A patent/EP3735768B1/en active Active
- 2018-01-29 CN CN201880084848.3A patent/CN111567011B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717259A (zh) * | 2013-12-16 | 2015-06-17 | 中国科学院声学研究所 | 分布式中转服务器网络辅助的多路径数据传输***与方法 |
WO2016204815A1 (en) * | 2015-06-16 | 2016-12-22 | Intel IP Corporation | Adaptive video streaming using dynamic radio access network information |
CN105827537A (zh) * | 2016-06-01 | 2016-08-03 | 四川大学 | 一种基于quic协议的拥塞改进方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3735768A1 (en) | 2020-11-11 |
EP3735768B1 (en) | 2022-11-30 |
CN111567011A (zh) | 2020-08-21 |
WO2019147157A1 (en) | 2019-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111567011B (zh) | 使用跨层信息提高视频服务和WEB服务的QoE的方法 | |
US11924311B2 (en) | Hybrid HTTP and UDP content delivery | |
US10694005B2 (en) | Hardware-based packet forwarding for the transport layer | |
US11088940B2 (en) | Cooperative multipath | |
US8966123B2 (en) | Unobtrusive content compression in a telecommunications network | |
US11271862B2 (en) | Service delivery in a communication network | |
US9838209B2 (en) | Method for subscribing to streams from multicast clients | |
US20160226671A1 (en) | Method for distributing identifiers of multicast sources | |
US11115498B2 (en) | Multi-path management | |
EP2868054B1 (en) | Resilient video encoding control via explicit network indication | |
EP3175580B1 (en) | System, gateway and method for an improved quality of service, qos, in a data stream delivery | |
US10498848B2 (en) | Proxy node for transferring packets between a server and a client using port sharding | |
EP3424188A1 (en) | Transport session state protocol | |
CN107409047B (zh) | 用于加密会话的协调分组递送的方法 | |
CN114697240A (zh) | 数据传输方法、装置、***及存储介质 | |
Gupta et al. | Fast interest recovery in content centric networking under lossy environment | |
CN109792444B (zh) | 实况内容分发***中的播出缓冲 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |