降低网络延迟的方法和装置与流程

文档序号:20454622发布日期:2020-04-17 23:18阅读:1183来源:国知局
降低网络延迟的方法和装置与流程

相关申请案的交叉申请

本申请要求2017年10月27日递交的发明名称为“一种降低网络时延的方法及装置”的第15/796,183号美国非临时专利申请案的优先权和权益,该在先申请案的内容以引用的方式并入本文本中。

本发明涉及用于降低通信系统中延迟的方法和装置。



背景技术:

近二十年来,互联网和移动通信的发展从根本上改变了人们在社会、政治、经济到文化、娱乐、教育等方方面面的日常生活。提供高带宽和低延迟无线通信的提议包括有关第五代(fifthgeneration,5g)无线网络继承当前4g标准的提议。按照目前的提议,5g能够提供更高的带宽和设备密度。所提出的5g网络可能有助于实现在线增强现实(augmentedreality,ar)、远程手术、物联网(internetofthings,iot)和车到车(vehicletovehicle,v2v)通信等新应用。



技术实现要素:

根据本发明的一方面,提供了一种网络中的装置,包括用于实现协议无关网络状况服务(protocolindependentnetworkconditionservice,pincs)节点的处理器,所述处理器用于:从至少一个网络状况消费者(networkconditionconsumer,ncc)节点接收对至少一个网络的网络状况信息的订阅,所述网络状况信息与通过所述ncc节点向所述网络中的至少一个节点提供的至少一个目标数据流有关;从至少一个网络状况提供商(networkconditionprovider,ncp)节点获取关于多个网络状况的信息,所述ncp节点用于提供包括与所述至少一个目标数据流有关的网络状况的多个网络状况;聚合所述多个网络状况的所述信息;根据所述订阅的指示向所述ncc节点发送所述多个网络状况的所述聚合信息。

可选地,在上述方面中,所述多个网络状况的所述信息中包括有关多个数据流的信息,所述多个数据流包括所述至少一个目标数据流,所述多个数据流根据多个协议进行操作。

根据本发明的一方面,提供了一种协议无关网络状况服务(protocolindependentnetworkconditionservice,pincs)装置,包括:包含指令的非瞬时性存储器;与所述存储器通信的一个或多个处理器,其中,所述一个或多个处理器执行所述指令以:从至少一个网络状况消费者(networkconditionconsumer,ncc)节点接收对至少一个网络的网络状况信息的订阅,所述网络状况信息与通过所述ncc节点提供给所述网络中的至少一个节点的至少一个目标数据流有关;从至少一个网络状况提供商(networkconditionprovider,ncc)节点获取多个网络状况的信息,所述ncc节点用于监测包括与所述至少一个目标数据流有关的网络状况的多个网络状况;对所述多个网络状况的所述信息进行处理,以生成聚合网络状况信息;根据所述订阅的指示向所述ncc节点发送所述聚合网络状况信息。

可选地,在上述方面中,所述多个网络状况的所述信息中包括有关多个数据流的信息,所述多个数据流包括所述至少一个目标数据流,所述多个数据流根据多个协议进行操作。

可选地,在任一上述方面中,所述网络状况信息包括无线带宽、往返时间(roundtriptime,rtt)、承载队列长度、流队列长度、承载队列空耗率或流队列空耗率中的至少一个。

可选地,在任一上述方面中,所述处理器用于从与相应多个数据流有关的多个ncc节点接收相应订阅,并从多个网络状况提供商接收所述网络状况信息。

可选地,在任一上述方面中,所述处理器是第五代(fifthgeneration,5g)系统的网络能力开放功能中的组件。

可选地,在任一上述方面中,所述处理器耦合到包括移动边缘计算(mobileedgecomputing,mec)服务器的mec系统,所述处理器与所述mec服务器位于不同位置。

可选地,在任一上述方面中,所述处理器耦合到包括移动边缘计算(mobileedgecomputing,mec)服务器的mec系统,所述处理器与所述mec服务器共址。

可选地,在任一上述方面中,所述处理器用于从节点b接收边信息,所述边信息包括瞬时小区容量和s1接口的无线信道和服务质量(qualityofservice,qos)感知分割、吞吐量、损耗、队列长度、平均队列空耗率和时延等。

根据本发明另一方面,提供了一种网络状况消费者(networkconditionconsumer,ncc)装置,包括:包含指令的非瞬时性存储器;与所述存储器通信的一个或多个处理器,其中,所述一个或多个处理器执行所述指令以:向协议无关网络状况服务(protocolindependentnetworkconditionservice,pincs)节点发送对至少一个网络的网络状况信息的订阅,所述网络状况信息与耦合到所述ncc节点的源节点提供给所述网络中的至少一个节点的至少一个目标数据流有关;根据所述订阅的指示从所述pincs节点获取多个网络状况的信息;采用所述多个网络状况的所述信息来控制网络拥塞并降低来自所述源节点的所述目标数据流的延迟。

可选地,在上述方面中,所述ncc节点与所述源节点共址,所述处理器用于实现网络传输的拥塞控制。

可选地,在任一上述方面中,所述处理器用于实现速率控制。

可选地,在任一上述方面中,所述处理器用于实现缓冲控制。

可选地,在任一上述方面中,所述ncc节点与所述源节点分离,所述处理器用于通过带内信令向所述源节点发送所述多个网络状况的所述信息。

可选地,在任一上述方面中,所述ncc节点与所述源节点分离,所述处理器用于通过带外信令向所述源节点发送所述多个网络状况的所述信息。

可选地,在任一上述方面中,所述订阅中的所述网络状况包括:无线带宽、往返时间(roundtriptime,rtt)、承载队列长度、流队列长度、承载队列空耗率或流队列空耗率中的至少一个。

根据本发明的又一方面,提供了一种网络状况提供商(networkconditionprovider,ncp)装置,包括:包含指令的非瞬时性存储器;与所述存储器通信的一个或多个处理器,其中,所述一个或多个处理器执行所述指令以:周期性地从无线接入技术(radioaccesstechnology,rat)设备获取提供给一个或多个ue设备的多个数据流的网络状况信息;从协议无关网络状况服务(protocolindependentnetworkconditionservice,pincs)节点接收对网络状况的信息的请求,所述网络状况与所述多个数据流中的至少一个流有关;周期性地向所述pincs节点发送所请求的信息。

可选地,在上述方面中,所述ncp节点与所述rat设备共址,并用于直接监测所述rat设备提供给所述一个或多个ue设备的数据流。

可选地,在任一上述方面中,所述ncp节点与所述rat设备分离,并通过周期性地向所述rat设备发送探测报文并监测对从所述rat设备接收的所述探测报文的响应,收集所述网络状况信息。

可选地,在任一上述方面中,所述探测报文包括对所述rat设备维护的信息的轮询请求。

根据本发明又一方面,提供了一种实现协议无关网络状况服务(protocolindependentnetworkconditionservice,pincs)的方法,所述方法包括:从至少一个网络状况消费者(networkconditionconsumer,ncc)节点接收对至少一个网络的网络状况信息的订阅,所述网络状况信息与通过所述ncc节点提供给所述网络中的至少一个节点的至少一个目标数据流有关;从至少一个网络状况提供商(networkconditionprovider,ncp)节点获取多个网络状况的信息,所述ncp节点用于监测包括与所述至少一个目标数据流有关的网络状况的多个网络状况;对所述多个网络状况的所述信息进行处理,以生成聚合网络状况信息;根据所述订阅的指示向所述ncc节点发送所述聚合网络状况信息。

可选地,在上述方面中,所述多个网络状况的所述信息包括关于多个数据流的信息,所述多个数据流根据多个协议进行操作。

可选地,在任一上述方面中,所述网络状况信息包括无线带宽、往返时间(roundtriptime,rtt)、承载队列长度、流队列长度、承载队列空耗率、流队列空耗率中的至少一个。

可选地,在任一上述方面中,所述方法还包括:从与相应多个目标数据流有关的多个ncc节点接收相应订阅;从多个网络状况提供商接收所述网络状况信息;在列表中维护来自所述多个网络状况提供商的所述网络状况信息。

在不脱离本发明范围的前提下,任何一个上述示例都可以与任何一个或多个其它上述示例结合以创建新的实施例。

附图说明

图1示出了现有技术中的通信网络。

图2为根据本发明的系统的示例性实施例的框图。

图3、图4a和图5a为根据发明的系统的示例性实施例的框图。

图4b、图4c和图4d为由图4a所示的示例性系统中的组件执行的操作的流程图。

图5b和图5c为由图5a所示的示例性系统执行的操作的流程图。

图6为5g环境中的系统的示例性实施例的框图。

图7a、图7b、图7c和图7d为系统在移动边缘计算(mobileedgecomputing,mec)环境中的替代实施例的框图。

图8为可在示例性实施例中使用的示例性处理器的框图。

具体实施方式

以下结合附图进行详细描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实施本发明的具体实施例。这些实施例将充分详细地描述,使本领域技术人员能够实施公开的标的物而且应该明白的是可以使用其它实施例并且在不脱离本发明的范围的情况下可以做出结构上、逻辑上、电学上的改变。因此,以下示例性实施例的描述并不当作限定,所描述的主题的范围由所附权利要求书界定。

降低端到端时延有利于增强现实(augmentedreality,ar)、远程手术、物联网(internetofthings,iot)、车到车(vehicletovehicle,v2v)通信等超低延迟应用。最近已经提出将移动边缘计算(mobileedgecomputing,mec)作为一种将内容和应用程序从远程服务器推送到移动网络边缘(例如,增强型基站(enhancednodeb,nb)或下一代基站(nextgenerationnodeb,gnb)以降低内容请求与内容分发之间延迟的手段。因此,mec系统可以包括与enb或gnb共址的mec服务器,例如,位于网络的中心局(centraloffice,co)。

然而,将内容服务器移动到边缘并不能解决边缘网络中的所有延迟问题,因为排队时延是蜂窝网络中端到端延迟的主要原因。这种排队时延也称为缓冲膨胀。许多现有互联网应用程序中存在的端到端延迟是缓冲区膨胀造成的。通常,路由器包括缓冲器,以减轻业务突发并避免数据丢失。缓冲膨胀是由于网络设备,特别是路由器中存在过大的缓冲器造成的,缓冲器过大会产生极大时延。在移动网络中,无线接入网(radioaccessnetwork,ran)功能和核心网(corenetwork,cn)功能都存在缓冲膨胀。现有的缓冲控制和/或拥塞/速率控制/避免机制,例如,和式增加/积式减少(additive-increase/multiplicative-decrease,aimd)算法着重于损耗,并不关注减少往返时间(round-triptime,rtt)。

在mec中,各种边缘资源共址,这些资源包括像分布式网关(distributedgateway,dgw)之类的核心网实体、流媒体服务器等空中(overthetop,ott)实体、无线接入网(radioaccessnetwork,ran)实体等。使用这种架构,有可能在ott实体、ran实体和核心网实体之间执行协作边缘资源调度。可以利用用户设备(userequipment,ue)、dgw、ran实体等各种实体的反馈来协助边缘资源调度,以在不影响频谱效率和统计复用增益的前提下使移动网络中的排队时延降到最低,同时降低超低延迟业务的端到端时延。这种协作资源调度方法与内容分发网络(contentdeliverynetwork,cdn)、mec、控制面和用户面分离(controlanduserplaneseparation,cups)等现有成果结合有助于在网络运营商和ott实体之间的边缘处提供商业协同机会,并为ott实体构建差异化用户业务管道,从而创造增值机会。

图1示出了现有技术中的包含多个节点的通信网络100,多个节点包括边缘服务器102、核心网/分布式网关(corenetwork/distributedgateway,cn/dgw)108、rat112、dgw114和ran118。边缘服务器102通过无线网络104与cn/dgw108、ran112和118通信,通过ran112与dgw114通信。节点108、112、114和118又与多个ue106通信。ue106可以是智能手机或平板电脑设备,或其它类型的设备,包括但不限于互联网视频播放器、iot设备、虚拟现实(virtualreality,vr)设备或v2v设备。

如图1所示,dgw114、cn/dgw108和rat设备118分别包括相应的缓冲器116、110和120。这些缓冲器临时保存要提供给在ue106上运行的应用程序的数据。按照应用程序来缓冲数据,很少或不考虑通信网络100的状态。如上所述,缓冲器116、110和120可以相对较大,以防止数据丢失。根据通信网络100的状态,缓冲器可能会使在ue106上运行的一个或多个应用程序产生极大延迟。

例如,运行视频播放器的多个ue106可以请求单独的高分辨率视频流。用来传输来自设备108、112和/或118的流的带宽可以大于相应无线链路中的可用带宽。在本实例中,数据可以备份在队列中,而且ue106的所有用户都不会有令人满意的体验。

leonardkleinrock在1979年指出,对于各个连接和作为整体的网络100,可以确定带宽时延乘积(bandwidthdelayproduct,bdp)下的最佳工作点,如等式(1)所示:

bdp=(maxbw)*(minrtt)(1)

因此,bdp处于最大瓶颈带宽和最小rtt。然而,在实践中,bdp可能很难确定,因为同时测量rtt/时延和瓶颈带宽可能有难度。利用bdp的一种方法是google提出的瓶颈带宽和往返时间(bottleneckbandwidthandround-triptime,bbr),该方法通过依次探测瓶颈带宽(bandwidth,bw)和rtt来实现小队列的高吞吐量。bbr方法对网络路径进行建模,并动态估计通过网络路径接收的每个应答消息(acknowledgmentmessage,ack)的最大带宽和最小rtt。该方法根据模型控制数据从源发送到应用程序的速率。该方法使用最大宽带和最小rtt的探测测量提供模型样本,并试图将数据速率保持在估计后的带宽左右,以减少队列和损耗。

但是,bbr一次只考虑单个会话,收敛速度慢,因为bbr的模型中可能存在太多的外部依赖性。此外,对于无线网络的波动链路,bbr可能难以获得准确的带宽和rtt估计值。这些链路波动的原因可能包括:空口丢包、蜂窝传输能力波动、用户动态(例如,用户的业务流、移动性、关联时延变化)、基站和网关的私有报文缓冲机制、在ran节点和cn节点中实现的服务质量(qualityofservice,qos)机制带来的干扰。

因此,虽然通过使用最大带宽和最小rtt的估计值以推导出的bbr值操作网络通信或会话可以获得好处,但在无线网络中获得这些估计值有难度,可能会降低bbr在移动网络中部署时的实际效率和准确性。

一种方法可以是从网络侧提供帮助,以协助获得在bbr中使用的带宽和rtt估计值。更具体地,以下实施例描述了业务源要使用的一种协议无关网络状况服务(protocolindependentnetworkconditionservice,pincs)节点。pincs节点控制源服务器以某个速率发送报文,以使路径中的排队时延降到最低。pincs节点中的数据驱动机制考虑来自多个源(可能使用不同协议)的网络拥塞数据,以获得实时调度数据。下述实施例结合了在传输层和/或应用层实施的现有速率控制机制。

图2为一个实施例的通信网络200的框图。通信网络200包括pincs节点210、dgw214、cn/dgw208和rat设备212和218。示例性pincs节点210从3gpp网络204(例如,cn/dgw208)接收网络状态数据,还从边缘服务器202接收网络使用数据。边缘服务器202,可以是mec服务器,又从rat设备212和218接收使用数据。在一些示例中,rat设备212和/或218包括enb或gnb。通信网络200包括分别与cn/dgw208、dgw214和rat设备218对应的队列210、216和220。而队列210、216和220位于边缘服务器202中。虽然队列210、216和220位于边缘服务器202中,但可以设想的是,rat设备212、dgw214、cn/dgw208和/或rat设备218也包含本地队列。然而,如下所述,通过这些队列的时延可能比通过图1所示的队列110、116和120的时延小得多。

如图2所示,单个pincs节点210可用于从单个网络204或从多个网络收集和分发网络状态信息。附加网络可包括附加节点(例如,dgw和rat设备)和附加边缘服务器。为清晰起见,图2未示出这些附加元件之间的连接。在本示例性配置中,pincs节点210从网络104和任何附加网络接收、合并和分发网络状况信息。

虽然下述示例将pincs节点210描述为在无线网络204中实施,但可以设想的是,可使用相似原则来降低包括光网络的有线网络和/或包括有线节点和无线节点的网络中的延迟。

示例性pincs节点210作为智能中心,收集来自多个源的信息,进行分析和计算,并提供安全接口来访问和获取带宽和时延等网络状况。pincs节点210还可以考虑来自enb/gnb的边信息,例如,瞬时小区容量和s1的无线信道和qos感知分割。边信息包括吞吐量、损耗、队列长度、队列平均空耗率、时延等信息。pincs节点210还可以从一个或多个网络状况提供商(networkconditionprovider,ncp)节点和一个或多个网络状况消费者(networkconditionconsumer,ncc)节点接收信息,如下所述。

在一些实施例中,网络拥塞控制器包括协议无关网络状况服务(protocolindependentnetworkconditionservice,pincs)节点、网络状况消费者(networkconditionconsumer,ncc)节点和网络状况提供商(networkconditionprovider,ncp)节点。pincs节点从ncc节点接收对至少一个网络的网络状况信息的订阅,从ncp节点获取多个网络状况的信息。pincs节点聚合多个网络状况的信息,按照订阅的指示向ncc节点发送多个网络状况的聚合信息。ncp节点采用订阅的网络状况信息在网络中实现拥塞控制、速率控制和/或缓冲控制。

图3为示例性pincs节点实施方式的框图。图3所示的系统300包括pincs节点310、流量源节点308、ncc节点306、两个ncp节点302和304。在本示例中,每个ncp节点302、304都服务于三个ue客户端312。可以设想的是,可以存在多个流量源节点308、多个ncc节点306和多个ncp节点302、304,每个节点都可以服务三个以上或三个以下ue客户端。pincs节点310从ncp节点302和304接收网络状况的信息,并将该信息提供给ncc节点306和/或流量源节点308。利用该信息,流量源节点308和/或ncc节点306控制到达ue客户端312的数据流,以降低与网络状况信息所指示的可用带宽对应的延迟。

每个示例性ncp节点302、304与pincs节点310建立安全信道。ncp节点302、304可以是基带单元(basebandunit,bbu)等直连实体或探测代理等外部实体。探测代理,例如,可以通过周期性地向bbu发送探测报文并监测从bbu接收到的响应来获取网络状况信息。可选地,探测代理可以向bbu轮询请求由bbu维护的网络状况信息,例如,承载队列和流队列的无线带宽和队列长度。ncp节点302、304可以周期性地将网络状况信息提供给pincs节点310,也可以在请求信息时提供。

直连ncp节点302、304(例如,bbu)收集无线带宽、时延(例如,rtt)等信息,并针对每个承载队列和/或每个流队列收集队列长度和平均空耗率。ncp节点302、304向pincs节点310发送收集到的数据。外部ncp节点302、304探测或轮询网元以收集吞吐量、时延和/或损耗信息,并向pincs节点310发送收集到的信息。

每个示例性ncc节点306还可以与pincs节点310建立安全信道,并将传输层上的网络状况信息提供给pincs节点310。示例性ncc节点306可以在直接模式或间接模式下操作。在直接模式下,流量源308使用状况信息来控制传输层拥塞或确保应用层编解码方案适合当前网络能力。在间接模式下,中间节点添加协议特定格式的网络状况信息,例如,在tcp会话的选项头中添加,以通知tcp发送方调整数据速率(例如,tcp扩展数据选项(extendeddataoption,edo)。

下述示例性pincs系统能够灵活实施。ncp节点302、304可以是直连提供商节点或外部提供商节点,ncc节点306可以在直接模式或间接模式下运行,而且pincs功能可以部署在应用层或实现传输层的拥塞/速率控制。

由于示例性pincs系统存在协议独立性,示例性pincs系统可用于不同场景,以协助实现拥塞控制、速率控制、慢启动和/或控制使用网络进行数据传播的其它方面。

在一个示例中,pincs系统可以帮助实现tcp拥塞控制。流量源308等tcp发送方在tcp源上以直接模式操作,订阅从pincs节点310接收指定流量信息。tcp源308使用来自pincs节点310的信息来实现拥塞控制、慢启动和报文缓冲。

在另一个示例中,在间接模式下操作的pincs节点310在网关处实现直连处理。网关中的一个或多个直连组件,例如,策略和计费执行功能(policyandchargingenforcementfunction,pcef),变成ncc节点306并订阅从pincs节点310接收数据。网关306在tcp会话中添加选项头以通知tcp发送方使用tcp-edo等调整数据速率。

在又一个示例中,pincs节点310的协议无关性允许拥塞控制模块在一个或多个其它协议中使用该业务。例如,在用户数据报协议(userdatagramprotocol,udp)会话中,udp发送方(例如,流量源308)可订阅来自pincs节点310的拥塞数据。在本实例中,来自pincs节点310的信息可用于调整发送速率以在应用程序中实现速率控制(例如,控制视频/内容分发速率)。

在另一个示例中,pincs节点310可以直接在应用源上使用。在本示例中,应用程序可以订阅来自pincs节点310的业务。在流量源和/或一个或多个服务器上运行的应用程序可以使用来自pincs节点310的信息来执行初始内容选择和媒体速率适配。

下面介绍了可以使用pincs节点310的若干个示例性场景。图4a为包括pincs节点410、一个或多个流量源408、一个或多个tcp基带单元(basebandunit,bbu)402和一个或多个ue312的示例性实施例的框图。每个流量源408都包括ncc节点409,每个tcp基带单元402都包括ncp节点403。下文结合流程图4b、图4c和图4d描述了每个元件402、403、408、409和410的操作。示例性系统400使用在直接在tcp源408上运行的ncc节点409。在本示例中,ncc节点409运行tcp瓶颈带宽和rtt(bottleneckbandwidthandrtt,bbr)。然而,可以设想的是,其它拥塞控制机制可以使用相似架构和流,其它拥塞控制机制例如但不限于cubic、vegas和tahoe,和/或包括或不包括bbr的其它传输层协议和/或应用层速率控制机制可以使用相似架构和流。同理,虽然描述了实施例使用一个或多个bbu,这些bbu使用tcp与一个或多个ue312通信,但可以设想的是,bbu可以使用其它协议,例如但不限于,用户数据报协议(userdatagramprotocol,udp)、数据报拥塞控制协议(datagramcongestioncontrolprotocol,dccp)、流控制传输协议(streamcontroltransmissionprotocol,sctp),并且可以在多个rat设备中实施bbu,这些rat设备例如但不限于基站、网关、接入点、微节点、微微节点、豪微微节点、enb和/或gnb。

此外,尽管图4a未示出,该网络可以包括流量源节点408与bbu402之间的中间节点。在本实例中,ncc节点409(与流量源节点408相关联)可以订阅和接收关于中间节点和bbu节点402的网络状况信息。

图4b为图4a所示的bbu节点402中的ncp节点403等示例性ncp节点403执行的操作的流程图。在步骤412处,ncp节点403向pincs节点410注册并与其建立安全信道。在步骤414处,ncp节点403可选地通过安全信道从pincs节点410接收过滤信息。在一些实施例中,过滤信息指示ncp节点403要监测的流量数据。例如,待监测信息可以标识感兴趣的目标数据流,并请求目标数据流的带宽、时延、队列长度和/或队列空耗率以及目标数据流在bbu402与ue312之间使用的信道的质量指示。由于目标数据流的延迟可能取决于bbu节点402正在处理的其它数据流,所以ncp节点403可为根据多个协议(例如,tcp、udp、数据报拥塞控制协议(datagramcongestioncontrolprotocol,dccp)、流量控制传输协议(flowcontroltransmissionprotocol,sctp)等)操作的多个数据流提供网络状况信息,并提供bbu402服务于的应用程序的数量和类型。可选地,ncp节点还可以为不同承载提供相似的状况信息。

一旦确定要收集信息,ncp节点403聚集所请求的网络状况测量结果(步骤416),并向pincs节点410发送测量结果(步骤418)。在步骤420处,bbu402的ncp节点403确定是否需要停止收集网络状况。ncp节点403可以终止其操作,例如,在接收到终止pincs节点410的操作的用户命令或者ncc节点409没有订阅ncp节点402监测的网络状况信息的情况下。在步骤420处,ncp节点403确定继续收集网络状况时,将控制转移到步骤416以继续进行网络状况测量。当ncp节点403在步骤420处终止操作时,在步骤422处从pincs节点410注销。

图4c为示例性pincs节点410的操作的流程图。在步骤432处,pincs节点410从一个或多个ncp节点403接收注册请求。在步骤432中,pincs节点410还可以基于ncc节点409的订阅请求,向ncp节点403发送指示要监测的特定流、承载和/或网络状况参数的过滤数据。在步骤434处,pincs节点410从一个或多个ncc节点409接收特定网络状况数据的注册请求和订阅。在步骤436处,pincs节点410从ncp节点403接收网络状况信息。示例性pincs节点410在步骤438处构建包含该信息的列表,并基于所监测的用户流来更新列表中的网络状况。为了响应订阅请求,在步骤440处,pincs节点410将所请求的数据提供给ncc节点409。ncc节点409的订阅请求可以是针对特定数据,也可以指示正在进行的请求,例如,针对一个或多个数据流的流媒体定时器。在步骤442处,pincs节点410确定是否停止服务ncc节点409,这是为了响应全局终止命令或者这是因为所有ncc节点409都已终止订阅,等等。pincs节点410通过将控制转移到步骤432来继续提供服务,如上所述。在步骤442处,pincs节点410停止服务ncc节点409时,在步骤444处注销ncc节点409和ncp节点403。

图4d为图4a所示的示例性ncc节点409的操作的流程图。在步骤452处,ncc节点409与pincs节点410建立安全信道。然后,ncc节点409订阅从pincs节点410接收特定流量状况信息。订阅的流量状况可取决于流量源408提供的数据流的类型。例如,如果流量源是流媒体视频源,则ncc节点409可以订阅从ncp节点403接收rtt、带宽、队列长度和队列长度空耗率,ncp节点403正在监测提供给ue312的流媒体视频。可选地,对于tcp应用,所请求的信息可以包括tcp五元组(源ip地址/端口号、目的ip地址/端口号和使用中的协议),并包括监测带宽的请求和链接到该五元组所指示的承载信道的队列。

在步骤456处,ncc节点409从pincs节点410接收订阅的网络状况信息。接着,在合并为步骤458的步骤460、462和464处,示例性ncc节点409基于数据实施bbr控制,以将数据源朝着ncc节点409订阅的流对应的最大带宽和最小延迟进行调整。ncc节点409执行的bbr控制相比现有技术更好,因为ncc节点409可以通过多个bbu访问流量源服务的所有应用程序的网络状况信息。该网络状况信息与使用的协议无关。

步骤458的示例性bbr控制是针对tcp应用,在步骤460中,包括监测缓冲器的消耗情况,记录缓冲器耗尽时的最大带宽和最小往返时间。在步骤462处,ncc节点409还可以通过pincs节点410从ncp节点403接收探测到的带宽数据和探测到的rtt数据。同样在步骤462处,ncc节点409可基于接收到的探测数据来更新最大带宽和最小rtt测量结果。在步骤464处,ncc节点409根据bbr控制、基于探测结果和pincs节点410结果来更新流量源408的拥塞控制参数。

虽然示出了ncc节点409在执行bbr控制,但可以设想的是,其它协议可以使用其它类型的控制。对于视频流媒体协议,ncc节点409可以订阅正在将数据提供给ue312的接入点的队列长度和带宽,并在队列长度减小和/或带宽增大时增加视频的帧率或分辨率,在队列长度增大和/或带宽减小时降低视频的帧率或分辨率,等等。可以设想的是,pincs节点410收集的信息可以经过低通滤波和/或ncc节点409可以采用迟滞以防止数据速率发生快速变化导致bbr控制发生快速变化。

在步骤466处,如果ncc节点409继续更新拥塞控制参数,则ncc节点409执行步骤456,否则执行步骤468。在步骤468处,ncc节点409终止其操作并从pincs节点410注销。

图5a为系统500的另一示例性实施例的框图。示例性系统500包括pincs节点510、一个或多个tcp流量源节点512、一个或多个tcp网关节点508、至少一些包括相应ncc节点509的tcp网关节点508、一个或多个包括相应ncp节点503的tcpbbu节点502、一个或多个ue客户端312。在系统500中,ncc节点509直接在tcp网关节点508上运行。在本实施例中,网关增加了带内信号处理(例如,tcp选项头)以携带tcp源512用来实现拥塞控制的网络状况信息。

图5b为在tcp网关节点508中实现的示例性ncc节点509的操作的流程图,图5c为示例性流量源512的操作的流程图。ncp节点503和pincs节点510的操作与上述ncp节点403和pincs节点410相同,在此不再描述这些设备。

在图5b的步骤532处,ncc节点509与pincs节点510建立安全信道。在步骤534中,ncc节点509为请求的用户数据流订阅来自pincs节点510的流量状况。如上所述,订阅的流量状况可取决于流量源512提供的数据流类型和/或这些流使用的承载。图5a所示的示例性系统使用tcp协议,因此订阅的信息可以包括tcp五元组所指示的信道和/或承载的带宽和队列的信息。

ncc节点509从pincs节点510接收到订阅得信息之后,在步骤536中,将该信息映射到流量源512所标识的流上。在步骤538处,ncc节点509将网络状况信息添加到所请求流的tcp选项头中,并向流量源512发送该信息。可以在数据流的tcp应答报文中插入网络状况信息。在步骤540处,如果请求这么做,ncc节点509则为用户流取消订阅流量状况。在步骤542处,ncc节点509确定是否继续为流量源512收集控制信息。如果继续,则ncc节点509执行步骤534,将向pincs节点510的订阅添加或改变到所请求用户流的流量状况信息。如果ncc节点509在步骤542处确定不继续收集控制信息,则在步骤544处,ncc节点508从pincs节点510注销。

图5c为图5a所示的示例性流量源节点512的操作的流程图。在步骤552处,如果流量源512正在使用带内信令,则打开带内信号。接着,在步骤554处,流量源512从来自ncc/网关节点508的tcp选项头中提取流量状况信息。

在步骤560中,示例性流量源512使用bbr实现缓冲控制/速率控制/拥塞控制。在步骤556中,流量源512为正在控制的业务流消耗缓冲器,并记录缓冲器耗尽时的最大带宽和最小往返时间。在步骤558处,流量源512可通过pincs节点510从ncc/网关节点509接收探测到的带宽数据和探测到的rtt数据。同样在步骤558处,流量源512可以基于接收到的探测数据更新最大带宽和最小rtt测量结果。在步骤562处,流量源512根据bbr更新拥塞控制参数。

在步骤564处,如果流量源512继续更新所述拥塞控制参数,则执行步骤554,否则执行步骤566。在步骤566处,流量源512终止其操作并从pincs节点510注销。

如上所述,结合图4d,虽然示出了流量源512实现bbr控制,但可以设想的是,可以实现其它类型的控制。

图4a和图5a所示的示例性系统使用带内信令来发送tcp报文中的信息。然而,可以设想的是,使用带外信令来替代,或者除了带内信令,还可以使用带外信令。带内反馈在时延方面可能不是很有效。如上所述,带内信令可以使用tc报文转发到客户端,然后使用ack报文发回服务器。但是对ack报文进行上行调度时可能会出现不可预期的时延。带外信令可能快得多,并且通常不会转发到客户端。然而,带外信令可能会针对每个tcp会话至少使用一个额外的会话来实现控制。

图6为5g通信网络600中的示例性实施例的框图。如图6所示,耦合pincs节点606以从无线接入网(radioaccessnetwork,ran)节点602接收ncp节点数据,ran节点602服务于一个或多个ue106。pincs节点606还耦合到网络能力开放功能608。如图6所示,在一些实施例中,pincs节点606和网络能力开放功能608可共址于单个服务器604中。在5g网络600中,有两种可能方法可以实现网络控制。

在对应于上述间接方法的第一种方法中,pincs节点606通过网络能力开放功能608向会话管理功能610提供网络状况信息。会话管理功能610充当ncc节点控制用户面功能612,调整将应用程序614的数据提供给无线接入网602的速率。

在对应于上述直接方法的第二种方法中,网络能力开放功能608直接将来自pincs节点606的网络状况数据提供给应用程序614,应用程序614执行上述ncc节点的功能,以直接实现网络控制功能并通过用户面功能612将数据提供给无线接入网602。

图7a、图7b、图7c和图7d为系统在移动边缘计算(mobileedgecomputing,mec)环境中的替代实施例的框图。在mec环境中,分布式网关(distributedgateway,dgw)704与流量源应用程序706一起位于边缘处。

在图7a所示的示例性实施例中,enb/gnb708和710执行包含上文结合图4a所述的ncp节点的bbu的功能。enb/gnb708和710接收描述从提供给ue的数据流(图7a未示出)中收集的信息的参数,并将该信息提供给pincs节点712。在本实施例中,pincs节点712与mec服务器702不共址。pincs节点712可位于同一设施内的不同封闭结构中,或位于cn或远离mec服务器的其它位置。pincs节点712又将网络状况信息提供给app706,app706使用该信息来实现网络控制功能。本实施例对应上文结合图4a至图4d描述的直接模式。

图7b所示的实施例也实现了直接模式。与图7a所示的实施例不同的是,pincs节点712位于边缘处,存在mec服务器742。在图7b的实施例中,用于实现pincs节点712的硬件可能会占用mec壳体中的宝贵空间。因此,图7a中的实施例可以优先使用在边缘空间受限的情况下。

图7c和图7d为上文结合图5a至图5c描述的在间接模式下操作的替代实施例的框图。在这些实施例中,相应的pincs712与mec服务器722和762共址,并且ncc节点的功能在dgw704中实现。在图7c所示的示例性实施例中,dgw/ncc节点704订阅并接收来自pincs节点712的网络状况信息,并通过直路信令向app706发送控制信息,如上所述。

图7d所示的示例性实施例与图7c的实施例的不同之处在于增加了ncp探测器764。在本实施例中,enb/gnb708和710没有修改,包括ncp功能。相反,ncp探测器764与enb/gnb708和710交互以获取所请求的网络状况数据。例如,ncp探测器764可以向enb/gnb708、710发送状态请求消息以获得信息,或者可以通过enb/gnb708和710向ue设备发送空报文,并监测由此产生的ack报文以确定延迟和带宽。将探测器764生成的ncp信息提供给pincs节点712,而pincs节点712又将订阅信息提供给dgw/ncc节点704。与图7c的实施例一样,dgw/ncc节点704提供网络状况信息,通过直连信令向app706发送网络状况信息,以实现网络控制功能。

虽然图7c和图7d示出了pincs节点712位于mec壳体中,图7d示出了ncp探测器764位于mec壳体中,但可以设想的是,这些设备任一或都位于mec的外部。

上述ncp节点提供的网络状况信息可能包括队列长度和带宽以外的信息,因为队列长度和带宽可能不会反映bbu处调度造成的时延。例如,长度为10个报文的队列在活跃用户较多的情况下可能比活跃用户少的情况产生更多时延,从而不会争用该队列。

一些实施例还提供了队列的平均空耗率和队列长度,这可能是更好的网络状况信号。平均空耗率反映了排队和调度时延,而队列长度反映了队列的占用情况。

如上所述,将bbu进行测量的结果发送到另一个实体,即pincs节点,进行处理。在pincs节点中处理由bbu提供的测量结果可以避免在bbu中添加额外的功能,从而避免由于添加的功能而导致额外的处理时延。

pincs节点或耦合到pincs节点的其它处理元件可以包括调度器的模型。通过从bbu收集测量结果,pincs节点(或其它处理元件)能够处理和消化测量结果,并在不显著影响网络吞吐量的情况下将最终反馈提供给服务器。

在一个实施例中,本文描述的功能或算法可以使用软件实现。该软件可包含计算机可执行指令,这些计算机可执行指令存储在计算机可读介质上或者计算机可读存储设备上,例如,一个或多个非瞬时性存储器或其它类型的本地或联网的硬件存储设备此外,这些功能对应于模块,这些模块可以是软件、硬件、固件或其任意组合。多个功能可以根据需要在一个或多个模块中执行,所描述的实施例仅仅是示意性的。该软件可以在数字信号处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、微处理器、主机处理器或在计算机系统上操作的其它类型的处理器等处理器上执行,计算系统包括个人计算机、服务器或其它处理器等,从而将这些处理器转换成一个专门编程的机器。

图8为根据示例性实施例的实现算法和执行方法使用的客户端、服务器和基于云的处理器资源的示例性处理电路的框图。分布式处理器可以包括图8所示的电路的多个实例,这些实例可用于实现图2、图3、图4a、图5a、图6和/或图7所示的任一元件/节点。在各种实施例中,不需要使用所有组件。例如,分布式处理器的每个客户端、服务器和网络资源可以分别使用不同的组件集,或者在服务器或大型主机的情况下,使用较大的存储设备。

计算机800形式的一个示例性处理器可包括处理单元802、存储器803、可移动存储器810和不可移动存储器812,它们通过总线801通信地耦合。处理单元802可以是单核设备,也可以是多核设备。尽管示例性处理器以计算机800示出和描述,但在不同的实施例中,处理器可以存在不同的形式。例如,处理器可以替代地是智能手机、平板电脑、智能手表或其它处理设备,包括如图8所示和描述的相同或相似元件。智能手机、平板电脑、智能手表等设备通常统称为移动设备或用户设备。此外,尽管各种数据存储元件作为处理器800的一部分进行说明,但存储器也可以或替代地包括通过局域网(lan)、个人区域网络(pan)、互联网等广域网(wan)可访问的基于云的存储器,或基于本地服务器的存储器。

存储器803可以包括易失性存储器814和非易失性存储器808。计算机800可以包括或可以访问处理环境,处理环境包括各种计算机可读介质,例如,易失性存储器814和非易失性存储器808、可移动存储器810和不可移动存储器812。计算机存储包括随机存取存储器(randomaccessmemory,ram)、只读存储器(readonlymemory,rom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、闪存或其它存储技术、只读光盘(compactdiscread-onlymemory,cdrom)、数字通用磁盘(digitalversatiledisk,dvd)或其它光盘存储、磁盒、磁带、磁盘存储器或其它磁存储设备,或任何其它能够存储计算机可读指令的介质。

计算机800可以包括或可以访问处理环境,该处理环境包括输入接口806、输出接口804、通信连接或接口816,它们也通信地耦合到总线801。输出接口804可以包括显示设备,例如,触摸屏,该显示设备也可以作为耦合到输入接口806的输入设备。输入接口806可包括触摸屏、触控板、鼠标、键盘、摄像头、一个或多个设备专用按钮、一个或多个集成在处理器800内或通过有线或无线数据连接耦合到处理器800的传感器,以及其它输入设备。计算机800可以使用通信连接在网络环境中操作,以连接到一个或多个远程计算机,例如,大型主机和/或数据库服务器。远程计算机可以包括个人计算机(personalcomputer,pc)、服务器、路由器、网络pc、对端设备或其它常见的网络节点等。通信连接可以包括局域网(localareanetwork,lan)、广域网(wideareanetwork,wan)、蜂窝网、wi-fi、蓝牙或其它网络。

存储在计算机可读介质上的计算机可读指令或应用程序818可由计算机800的处理单元802执行。硬盘驱动器、cd-rom和ram是包括存储设备等非瞬时性计算机可读介质在内的物品的一些示例。术语“计算机可读介质”和“存储设备不包括载波,只要认为载波过于短暂。例如,一个或多个应用程序818可用于使处理单元802执行本文描述的一个或多个方法或算法。

在一个示例性实施例中,计算机800包括:订阅接收模块,从至少一个网络状况消费者(networkconditionconsumer,ncc)节点接收对至少一个网络的网络状况信息的订阅,所述网络状况信息与通过所述ncc节点提供给所述网络中的至少一个节点的至少一个目标数据流有关;信息获取模块,从至少一个网络状况提供商(networkconditionprovider,ncp)节点获取多个网络状况的信息,所述ncp节点用于监测包括与所述至少一个目标数据流有关的网络状况的多个网络状况;信息处理模块,处理所述多个网络状况的所述信息以生成聚合网络状况信息;发送模块,根据所述订阅的指示向所述ncc节点发送所述聚合网络状况信息。在一些实施例中,计算机800可以包括用于执行实施例中描述的任一步骤或步骤的组合的其它或附加模块。此外,如任一附图中所示或在任一项权利要求中所描述的方法的任何附加或可替代实施例或方面预期也包括类似模块。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1