CN108011771A - 网络链路可用带宽的探测方法、装置和设备 - Google Patents
网络链路可用带宽的探测方法、装置和设备 Download PDFInfo
- Publication number
- CN108011771A CN108011771A CN201610936822.XA CN201610936822A CN108011771A CN 108011771 A CN108011771 A CN 108011771A CN 201610936822 A CN201610936822 A CN 201610936822A CN 108011771 A CN108011771 A CN 108011771A
- Authority
- CN
- China
- Prior art keywords
- detection
- sending
- sequence
- congestion
- available bandwidth
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 322
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000005540 biological transmission Effects 0.000 claims abstract description 31
- 239000000523 sample Substances 0.000 claims description 86
- 238000007781 pre-processing Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 7
- 230000001934 delay Effects 0.000 claims description 4
- 238000012512 characterization method Methods 0.000 claims 5
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000008103 glucose Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000004984 smart glass Substances 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0858—One way delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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/11—Identifying 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
- H04L47/11—Identifying congestion
- H04L47/115—Identifying congestion using a dedicated packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种网络链路可用带宽的探测方法、装置和设备,其中方法包括:发送端向接收端发送预探测序列;接收所述接收端根据所述预探测序列返回的可用带宽预估值;基于所述可用带宽预估值,确定发送探测序列所采用的初始发送速率;向所述接收端发送探测序列;接收所述接收端根据所述探测序列返回的拥塞特征信息;依据所述拥塞特征信息更新探测序列的发送速率,转至执行向所述接收端发送探测序列的步骤,直至满足探测停止条件;依据满足探测停止条件时探测序列的发送速率,确定网络链路可用带宽。通过本发明能够实现发送端和接收端之间网络链路可用带宽的探测。
Description
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种网络链路可用带宽的探测方法、装置和设备。
【背景技术】
随着网络的发展以及人们对网络链路传输能力需求的提升,探测网络链路剩余可用带宽并用于指导如何利用可用带宽成为必要。例如,点播、视频通信类应用中,需要通过网络链路传输音视频数据,其音视频质量体验与网络链路可用带宽有着紧密联系。若能够探测出网络链路剩余可用带宽,就可以指导传输参数的设置,以获取与网络链路传输能力相匹配的音视频数据,获得更好的音视频质量以及最优的流畅性。
【发明内容】
有鉴于此,本发明提供了一种网络链路可用带宽的探测方法、装置和设备。
具体技术方案如下:
本发明提供了一种网络链路可用带宽的探测方法,该方法包括:
发送端向接收端发送预探测序列;
接收所述接收端根据所述预探测序列返回的可用带宽预估值;
基于所述可用带宽预估值,确定发送探测序列所采用的初始发送速率;
向所述接收端发送探测序列;
接收所述接收端根据所述探测序列返回的拥塞特征信息;
依据所述拥塞特征信息更新探测序列的发送速率,转至执行向所述接收端发送探测序列的步骤,直至满足探测停止条件;
依据满足探测停止条件时探测序列的发送速率,确定网络链路可用带宽。
本发明还提供了一种网络链路可用带宽的探测方法,该方法包括:
接收端接收发送端发送的预探测序列;
依据所述预探测序列确定可用带宽预估值并返回给所述发送端;
接收所述发送端发送的探测序列;
依据所述探测序列确定拥塞特征信息并返回给所述发送端,以供所述发送端确定网络链路可用带宽。
本发明还提供了一种网络链路可用带宽的探测装置,设置于发送端,该装置包括:
预处理单元,用于向接收端发送预探测序列;接收所述接收端根据所述预探测序列返回的可用带宽预估值;
探测发送单元,用于基于接收到的可用带宽预估值,确定发送探测序列所采用的初始发送速率,向所述接收端发送探测序列;
特征伺服单元,用于接收所述接收端根据所述探测序列返回的拥塞特征信息;依据所述拥塞特征信息更新探测序列的发送速率,触发所述探测发送单元按照调整后的发送速率发送探测序列,直至满足探测停止条件;
带宽确定单元,用于依据满足探测停止条件时探测序列的发送速率,确定网络链路可用带宽。
本发明还提供了一种网络链路可用带宽的探测装置,设置于接收端,该装置包括:
预处理单元,用于接收发送端发送的预探测序列,依据所述预探测序列确定可用带宽预估值并返回给所述发送端;
拥塞判定单元,用于接收所述发送端发送的探测序列,依据所述探测序列确定拥塞特征信息;
特征反馈单元,用于将所述拥塞特征信息发送给所述发送端,以供所述发送端确定网络链路可用带宽。
本发明还提供了一种设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现以下操作:
该设备作为发送端向接收端发送预探测序列;
接收所述接收端根据所述预探测序列返回的可用带宽预估值;
基于所述可用带宽预估值,确定发送探测序列所采用的初始发送速率;
向所述接收端发送探测序列;
接收所述接收端根据所述探测序列返回的拥塞特征信息;
依据所述拥塞特征信息更新探测序列的发送速率,转至执行向所述接收端发送探测序列的步骤,直至满足探测停止条件;
依据满足探测停止条件时探测序列的发送速率,确定网络链路可用带宽。
本发明还提供了一种设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现以下操作:
该设备作为接收端接收发送端发送的预探测序列;
依据所述预探测序列确定可用带宽预估值并返回给所述发送端;
接收所述发送端发送的探测序列;
依据所述探测序列确定拥塞特征信息并返回给所述发送端,以供所述发送端确定网络链路可用带宽。
由以上技术方案可以看出,本发明中发送端通过向接收端发送预探测序列,从接收端获取可用带宽预估值,再基于可用带宽预估值向接收端发送探测序列来探测拥塞特征信息,并依据探测到的拥塞特征信息更新探测序列的发送速率,直至满足探测停止条件后,依据探测序列当前的发送速率来确定网络链路可用带宽,从而实现发送端和接收端之间网络链路可用带宽的探测。
【附图说明】
图1为本发明实施例提供的系统组成图;
图2为本发明实施例提供的方法流程图;
图3为本发明实施例提供的一种网络链路的建立示意图;
图4为本发明实施例提供的设置于发送端的装置结构图;
图5为本发明实施例提供的设置于接收端的装置结构图;
图6为本发明实施例提供的设备结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
为了方便本发明的理解,首先对本发明所基于的系统架构进行描述,本发明所基于的系统架构主要包括发送端和接收端。其中发送端和接收端均可以为任意的设备,包括但不限于诸如:智能移动终端、智能家居设备、网络设备、可穿戴式设备、智能医疗设备、PC(个人计算机)等。其中智能移动设备可以包括诸如手机、平板电脑、笔记本电脑、PDA(个人数字助理)、互联网汽车等。智能家居设备可以包括智能家电设备,诸如智能电视、智能空调、智能热水器、智能冰箱、智能空气净化器等等,智能家居设备还可以包括智能门锁、智能插座、智能电灯、智能摄像头等。网络设备可以包括诸如交换机、无线AP、服务器等。可穿戴式设备可以包括诸如智能手表、智能眼镜、智能手环、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等。智能医疗设备可以包括诸如智能体温计、智能血压仪、智能血糖仪等等。
为了方便对本发明的理解,首先对本发明所基于的系统进行描述。如图1中所示,本发明所基于的系统主要包括:发送端和接收端,还可以进一步包括注册服务器。其中,发送端和接收端可以是任意的网络设备,包括但不限于:终端类设备、中间设备、服务器等。其中终端类设备可以包括诸如手机、平板电脑、笔记本电脑、PDA(个人数字助理)、互联网汽车等智能移动设备,诸如智能家电设备,诸如智能电视、智能空调、智能热水器、智能冰箱、智能空气净化器等智能家居设备,诸如诸如智能手表、智能眼镜、智能手环、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等可穿戴式设备,诸如智能体温计、智能血压仪、智能血糖仪等智能医疗设备,PC(个人计算机)等等。中间设备可以包括交换机、无线AP等网络中负责数据转发的设备。服务器可以包括单一的服务器设备,也可以包括由多个服务器构成的服务器集群。
在本发明中,通过发送端与接收端之间的交互来实现发送端与接收端之间网络链路可用带宽的探测。注册服务器负责设备地址解析,即在发送端与接收端之间建立网络链路时,从注册服务器获取对端的地址信息。
图2为本发明实施例提供的方法流程图,如图2所示,该方法可以包括以下步骤:
在201中,发送端与接收端之间建立网络链路。
若发送端与接收端之间已经建立了网络链路,则无需执行本步骤。
发送端与接收端之间在建立网络链路时,可以由发送端主动发起,也可以由接收端主动发起。无论是发送端还是接收端,若已知对端地址,则可以直接向对端发起网络链路的建立。若未知对端地址,则可以向注册服务器先获取对端的地址信息,然后依据对端的地址信息向接收端发起网络链路的建立。
其中,注册服务器中可以保存有设备地址信息与设备标识或与设备域名等之间的对应关系。发送端或接收端向注册服务器获取对端地址信息时,可以将对端的设备域名或设备标识等信息携带在请求中发送给注册服务器,注册服务器返回请求中所携带设备域名或设备标识等信息对应的设备地址信息。
例如图3中所示,发送端首先向注册服务器获取接收端的地址信息,然后依据接收端的地址信息向接收端发起网络链路的建立,通过发送端与接收端之间的若干次握手,建立网络链路。
在本发明实施例中,对发送端与接收端之间的网络链路类型并不加以限制,例如可以是采用UDP(User Datagram Protocol,用户数据报协议),也可以是采用TCP(Transmission Control Protocol,传输控制协议)的网络链路。另外,发送端与接收端之间的网络链路可以是点对点的直连链路,也可以是通过中转设备进行连接的网络链路,如图3中所示。
在202中,发送端向接收端发送预探测序列。
在本步骤中,发送端以预设的发送速率K,向接收端发送一系列长度为P的探测包,各探测包之间的发送间隔为T,这一系列探测包就构成了预探测序列。其中P和T也为预设的值,K的取值大于发送端与接收端之间的可用带宽,例如可以设置得比发送端与接收端之间的总带宽值大。K的取值可以根据网络类型进行设置,例如,若发送端与接收端之间采用的是家庭网络,由于家庭网络的带宽通常为10M,那么就可以设置K为大于10M的一个值。
在203中,接收端根据预探测序列确定可用带宽预估值。
本步骤中,接收端会根据接收到的预探测序列来进行可用带宽的估计。主要原理为:发送端发送的预探测序列采用的是大于可用带宽的发送速率,因此会造成网络拥塞情况,严重时会出现丢包现象。因此接收端对预探测序列的接收速率必然小于K,且接近网络链路可用带宽。假设发送端发送探测序列中探测包的数量为S1、接收端接收探测包的数量为S2,接收预探测序列的总时长为t1、各探测包的包长为P,那么依据这些值就能够确定可用带宽预估值M为:
其中,a为预设的调整因子,可以取经验值,例如取0.3。
在204中,接收端向发送端返回可用带宽预估值。
在205中,发送端基于可用带宽预估值,确定探测序列的初始发送速率。
由于接收端预估出的可用带宽是比较粗略的,需要基于此更进一步探测出较为准确的值,因此可以基于可用带宽预估值进一步发送探测序列。由于可用带宽的准确值应该是在可用带宽预估值附近的,因此可以基于带宽预估值设置一个初始的探测区间[M-A,M+A],其中,A为预设的调整参数值,例如可以取0.3M和网络链路总带宽中的最小值。探测序列的初始发送速率可以从初始的探测区间中取值,例如取该探测区间的中值M。
更进一步地,由于后续探测过程中可以采用二分法调整探测序列的发送速率,若探测区间中的上限值或下限值同时属于会造成网络拥塞的发送速率或者同时属于不会造成网络拥塞的发送速率,那么就无法确定出网络剩余带宽。为了避免这种情况发生,可以对初始的探测区间进行修正。修正过程为:尝试按照探测区间中的上限值发送探测序列,再按照探测区间中的下限值发送探测序列,若都接收到接收端返回的指示有拥塞发生的信息,则将探测区间的下限值再降低一定取值,例如降低10%A,再执行修正过程;若都接收到接收端返回的指示无拥塞发生的信息,则将探测区间的上限值再升高一定取值,例如升高10%A,再执行修正过程。直至接收端针对探测区间的上限值返回有拥塞发生的信息,针对探测区间的下限值返回无拥塞的信息。其中,接收端返回有拥塞或无拥塞的信息的处理参见后续描述。
需要说明的是,上述对初始的探测区间的修正过程并不是必须的步骤,大部分情况下,按照经验值选取的A值能够保证探测区间的上限值超出网络链接的剩余带宽,从而引起网络拥塞发生,而探测区间的下限值未超出网络链接的剩余带宽,从而不会引起网络拥塞发生。
在206中,发送端向接收端发送探测序列。
探测序列与预探测序列类似,同样是一系列探测包构成,首先按照初始发送速率发送探测序列给接收端。
在207中,接收端根据探测序列确定拥塞特征信息。
发送端在发送探测序列时,若发送速率小于网络链路可用带宽,则探测包不会发生拥塞,探测序列的单向延时平稳,无增大的变化趋势。若发送速率大于网络链路可用带宽,则探测包发生拥塞,探测序列的单向延时有增大的变化趋势。
基于该原理,接收端可以通过判断探测序列的单向延时是否有增大的变化趋势,来确定是否有网络拥塞。具体地,若探测序列的单向延时有增大的变化趋势,则确定有网络拥塞;若探测序列的单向延时无增大的变化趋势,则确定无网络拥塞。
其中,在判断探测序列的单向延时是否有增大的变化趋势时,可以基于以下原理:设探测序列中第i个发送包的发送时间为S(i),接收时间为R(i),探测包单向延时为D(i),则得出:
D(i)=R(i)-S(i)+O (2)
O为发送端和接收端的时钟差值。
相邻两个探测包网络延时差为:
D(i+1)–D(i)=[R(i+1)–S(i+1)+O]–[R(i)–S(i)+O]
=R(i+1)–R(i)-T (3)
当探测包发送速率大于可用带宽,网络有拥塞,网络延时有增加趋势,则D(i+1)–D(i)>0,即R(i+1)–R(i)>T。可以据此判断探测序列的单向延时有无增大趋势。
定义一个参数P:
其中n为探测序列总包数。P含义为:探测序列中相邻探测包网络延时呈增大趋势的包数占探测序列总包数的比值,其中相邻探测包的接收时间差若大于发送时间间隔则认为相邻探测包网络延迟呈增大趋势。若探测序列的P大于预设上限比例值,则可以确定探测序列的单向延时有增大的变化趋势;否则,确定探测序列的单向延时无增大的变化趋势。
在判断单向延时是否有增大趋势的过程中,理想情况下网络背景流量较小且区域平稳,但真实网络中背景流量有突发增加的情况会导致单向延时有伪增大趋势,即有伪波峰出现,这种情况并不能真正反映网络拥塞状况,需要剔除。针对这种情况,可以定义一个参数E:
E={连续出现的R(i+1)–R(i)>T的探测包的数量}
其含义为接收到的探测序列中连续出现的相邻探测包网络延迟呈增大趋势的包数。若探测序列中E均小于预设的数目N,则可以认为探测序列中出现的网络延时均是伪波峰,确定无网络拥塞。
若探测序列中存在E大于或等于N的情况,则可以继续依据P是否大于预设上限比例值来确定探测序列的单向延时有无增大的变化趋势。更具体地,还可以依据E小于N的情况的出现次数,设置不同的上限比例值。若探测序列中E小于N的情况小于预设次数,则预设上限比例值采用第一上限比例值。若探测序列中E小于N的情况大于或等于预设次数,则预设上限比例值可以采用第二上限比例值,其中第一上限比例值小于第二上限比例值。
举个例子,若探测序列中存在E大于或等于N的情况,但E小于N的情况只出现一次,则若P>0.75则判定网络有拥塞,否则判定网络无拥塞。若探测序列中存在E大于或等于N的情况,但E小于N的情况出现了多次,则若P>0.85则判定网络有拥塞,否则判定网络无拥塞。
在208中,接收端向发送端返回拥塞特征信息。
接收端可以将网络有拥塞或网络无拥塞的信息返回给发送端,例如可以采用某标识位为0标识网络无拥塞,1标识网络有拥塞。
在209中,发送端依据拥塞特征信息更新探测序列的发送速率,转至执行206,直至满足探测停止条件。
本步骤中,发送端可以采用二分法更新探测序列的发送速率。具体地,若拥塞特征信息指示有拥塞发生,则说明探测序列的发送速率偏大,需要降低探测序列的发送速率。在本发明实施例中,可以减小当前探测区间的上限值。若拥塞特征信息指示无拥塞发生,说明探测序列的发送速率偏小,需要提升探测序列的发送速率。在本发明实施例中,可以提高当前探测区间的下限值。探测序列的发送速率可以从调整后的探测区间中取值,例如取调整后的探测区间的中间值。
其中,在减少当前探测区间的上限值时,可以将当前探测区间的上限值减小预设幅度或比例,也可以将探测区间的上限值调整为上一次发送探测序列的发送速率。在增大当前探测区间的下限值时,可以将当前探测区间的下限值增大预设幅度或比例,也可以将探测区间的下限值调整为上一次发送探测序列的发送速率。后续将会举一个例子。
更新发送速率后,按照更新后的发送速率继续向接收端发送探测序列,重复执行上述206~209,直至满足探测停止条件。在本发明实施例中,探测停止条件可以包括但不限于:探测区间缩小到预设范围,或者探测序列的发送速率更新的幅度小于预设幅度阈值。
举一个例子:初始探测区间为[M-A,M+A],探测序列的初始发送速率为M。若接收端返回有网络拥塞,则发送端将探测区间调整为[M-A,M],即将上限值调整为上一次发送探测序列的发送速率,本次探测序列的发送速率调整为当前探测区间的中值,即再次发送探测序列进行探测,若接收端返回无网络拥塞,则发送端将探测区间调整为即将下限值调整为上一次发送探测序列的发送速率,本次探测序列的发送速率调整为当前探测区间的中值,即继续发送探测序列。直至探测区间缩小到预设范围,或者发送速率的调整幅度小于预设阈值。
在210,满足探测停止条件时,依据探测序列当前的发送速率,确定网络链路可用带宽。
在本步骤中,可以将探测序列当前的发送速率作为网络链路可用带宽。也可以选取当前探测区间中的值作为网络的可用带宽,例如当前探测区间的中值作为可用带宽。
当通过图2所示流程发送端确定出网络链路可用带宽后,发送端可以依据网络链路可用带宽调整服务。例如发送端为视频服务器,接收端为视频客户端,视频服务器确定出与视频客户端之间的网络链路可用带宽后,可以调整视频流的质量以与可用带宽相适应。
或者,当通过图2所示流程发送端确定出网络链路可用带宽后,将确定出的网络链路可用带宽发送给接收端,由接收端依据网络链路可用带宽调整服务。例如发送端为视频客户端,接收端为视频服务器,视频客户端确定出于视频服务器之间的网络链路可用带宽后,将确定出的视频链路可用带宽发送给视频服务器,由视频服务器调整视频流的质量以与可用带宽相适应。
以上是对本发明所提供的方法进行的描述,下面结合实施例对本发明提供的装置进行描述。
图4为本发明实施例提供的设置于发送端的装置结构图,该装置用于完成上述方法实施例中发送端执行的操作。如图4所示,该装置可以包括:预处理单元01、探测发送单元02、特征伺服单元03和带宽确定单元04,还可以包括链路建立单元(图中未示出)。各组成单元的主要功能如下:
预处理单元01向接收端发送预探测序列,接收接收端根据预探测序列返回的可用带宽预估值。探测发送单元02基于预处理单元01接收到的可用带宽预估值,向接收端发送探测序列。特征伺服单元03接收接收端根据探测序列返回的拥塞特征信息,然后依据拥塞特征信息更新探测序列的发送速率,触发探测发送单元02按照调整后的发送速率发送探测序列,直至满足探测停止条件。在满足探测停止条件后,带宽确定单元04依据探测序列当前的发送速率,确定网络链路可用带宽。
链路建立单元负责建立发送端与接收端之间的网络链路。具体地,链路建立单元可以向注册服务器获取接收端的地址信息,依据接收端的地址信息向接收端发起网络链路的建立。或者由接收端向注册服务器获取发送端的地址信息,依据发送端的地址信息向发送端的链路建立单元发起网络链路的建立。
其中,注册服务器中可以保存有设备地址信息与设备标识或与设备域名等之间的对应关系。发送端或接收端向注册服务器获取对端地址信息时,可以将对端的设备域名或设备标识等信息携带在请求中发送给注册服务器,注册服务器返回请求中所携带设备域名或设备标识等信息对应的设备地址信息。发送端与接收端可以采用UDP或TCP等建立网络链路。发送端与接收端之间的网络链路可以是点对点的直连链路,也可以是通过中转设备进行连接的网络链路。
预处理单元01在向接收端发送预探测序列时,可以按照预设速率K,发送一系列长度为P的探测包,各探测包之间的发送间隔为T,P和T采用预设值。K的取值大于发送端与接收端之间的可用带宽,例如可以设置得比发送端与接收端之间的总带宽值大。K的取值可以根据网络类型进行设置,例如,若发送端与接收端之间采用的是家庭网络,由于家庭网络的带宽通常为10M,那么就可以设置K为大于10M的一个值。
探测发送单元02还可以基于可用带宽预估值,确定探测序列的初始发送速率,依据确定的发送速率向接收端发送探测序列。由于可用带宽的准确值应该是在可用带宽预估值附近的,因此可以基于带宽预估值设置一个初始的探测区间[M-A,M+A],其中,A为预设的调整参数值,例如可以取0.3M和网络链路总带宽中的最小值。探测序列的初始发送速率可以从探测区间中取值,例如取探测区间的中值作为初始发送速率。或者,探测发送单元02也可以将可用带宽预估值作为探测序列的初始发送速率。
更进一步地,探测发送单元02还可以用于对初始的探测区间进行修正,修正过程为:尝试按照探测区间中的上限值发送探测序列,再按照探测区间中的下限值发送探测序列,若都接收到接收端返回的指示有拥塞发生的信息,则将探测区间的下限值再降低一定取值,例如降低10%A,再执行修正过程;若都接收到接收端返回的指示无拥塞发生的信息,则将探测区间的上限值再升高一定取值,例如升高10%A,再执行修正过程。直至接收端针对探测区间的上限值返回有拥塞发生的信息,针对探测区间的下限值返回无拥塞的信息。
上述接收端返回的拥塞特征信息可以包括:指示有拥塞发生的信息,或者指示无拥塞发生的信息。
特征伺服单元03可以依据拥塞特征信息,采用二分法更新探测序列的发送速率。具体地,若拥塞特征信息指示有拥塞发生,则特征伺服单元03减小当前探测区间的上限值后,更新探测序列的发送速率为当前探测区间的中间值。若拥塞特征信息指示无拥塞发生,则特征伺服单元03增大当前探测区间的下限值后,更新探测序列的发送速率为当前探测区间的中间值;其中初始探测区间预先设置。
一种可选的实施方式,初始探测区间可以为[M-A,M+A],其中M为可用带宽预估值,A为调整参数值。A取a*M和预设参数上限值中的最小值,其中a为预设的调整因子。
特征伺服单元03在减小当前探测区间的上限值时,可以将当前探测区间的上限值减小预设幅度或比例,或者将探测区间的上限值调整为上一次发送探测序列的发送速率。在增大当前探测区间的下限值时,可以将当前探测区间的下限值增大预设幅度或比例,或者将探测区间的下限值调整为上一次发送探测序列的发送速率。
上述的探测停止条件可以包括:探测区间缩小到预设范围,探测序列的发送速率从探测区间中取值,探测区间依据接收端返回的拥塞特征信息进行调整;或者,探测序列的发送速率调整的幅度小于预设幅度阈值。
带宽确定单元04在依据探测序列当前的发送速率,确定网络链路可用带宽时,可以将探测序列当前的发送速率作为网络链路可用带宽;或者,选取当前探测区间中的值作为网络链路可用带宽,探测序列的发送速率从探测区间中取值,探测区间依据接收端返回的拥塞特征信息进行调整。
图5为本发明实施例提供的设置于接收端的装置结构图,如图5所示,该装置包括:预处理单元11、拥塞判定单元12和特征反馈单元13,还可以包括链路建立单元(图中未示出),各组成单元的主要功能如下:
预处理单元11接收发送端发送的预探测序列,依据预探测序列确定可用带宽预估值并返回给发送端。
拥塞判定单元12接收到发送端发送的探测序列后,依据探测序列确定拥塞特征信息,并由特征反馈单元13将拥塞特征信息发送给发送端,以供发送端确定网络链路可用带宽。
链路建立单元负责建立接收端与发送端之间的网络链路。具体地,可以由链路建立单元向注册服务器获取发送端的地址信息,依据发送端的地址信息向发送端发起网络链路的建立。或者,由发送端向注册服务器获取接收端的地址信息,依据接收端的地址信息向接收端的链路建立单元发起网络链路的建立。
其中,注册服务器中可以保存有设备地址信息与设备标识或与设备域名等之间的对应关系。发送端或接收端向注册服务器获取对端地址信息时,可以将对端的设备域名或设备标识等信息携带在请求中发送给注册服务器,注册服务器返回请求中所携带设备域名或设备标识等信息对应的设备地址信息。接收端与发送端可以采用UDP或TCP协议建立网络链路。另外,发送端与接收端之间的网络链路可以是点对点的直连链路,也可以是通过中转设备进行连接的网络链路。
预处理单元11在依据预探测序列确定可用带宽预估值时,可以依据预探测序列中各探测包的包长、探测包的发送数量和接收数量、预探测序列的接收总时长,确定可用带宽预估值。
作为一种可选的实施方式,可用带宽预估值M可以采用以下公式确定:
其中,P为预探测序列中各探测包的包长,S1为预探测序列中探测包的发送数量,S2为预探测序列中探测包的接收数量,t1为预探测序列的接收总时长,a为预设的调整因子。
拥塞判定单元12在依据探测序列确定拥塞特征信息时,若探测序列的单向延时有增大的变化趋势,则确定有网络拥塞;若探测序列的单向延时无增大的变化趋势,则确定无网络拥塞。
其中,若接收到的探测序列中相邻探测包网络延时呈增大趋势的包数占探测序列总包数的比值(即方法实施例中的公式(4))大于预设上限比例值,则拥塞判定单元12可以确定探测序列的单向延时有增大的变化趋势;否则,拥塞判定单元12确定探测序列的单向延时无增大的变化趋势。
在判断单向延时是否有增大趋势的过程中,理想情况下网络背景流量较小且区域平稳,但真实网络中背景流量有突发增加的情况会导致单向延时有伪增大趋势,即有伪波峰出现,这种情况并不能真正反映网络拥塞状况,需要剔除。针对这种情况,可以定义一个参数E:
E={连续出现的R(i+1)–R(i)>T的探测包的数量}
其含义为拥塞判定单元12接收到的探测序列中连续出现的相邻探测包网络延时呈增大趋势的包数。若接收到的探测序列中E均小于预设的数目N,则拥塞判定单元12认为是探测序列中出现的网络延时是伪波峰,确定无网络拥塞。
若探测序列中存在E大于或等于N的情况,则可以继续依据P是否大于预设上限比例值来确定探测序列的单向延时有无增大的变化趋势。更具体地,还可以依据E小于N的情况的出现次数,设置不同的上限比例值。若探测序列中E小于N的情况小于预设次数,则预设上限比例值采用第一上限比例值。若探测序列中E小于N的情况大于或等于预设次数,则预设上限比例值可以采用第二上限比例值,其中第一上限比例值小于第二上限比例值。
其中,相邻探测包网络延时呈增大趋势可以包括:相邻探测包的接收时间间隔大于相邻探测包的发送时间间隔。即R(i+1)–R(i)>T。
本发明实施例提供的上述方法和装置可以以设置并运行于设备中的计算机程序体现。该设备可以包括一个或多个处理器,还包括存储器和一个或多个程序,如图6中所示。其中该一个或多个程序存储于存储器中,被上述一个或多个处理器执行以实现本发明上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器执行的方法流程,可以包括:
该设备作为发送端向接收端发送预探测序列;
接收所述接收端根据所述预探测序列返回的可用带宽预估值;
基于所述可用带宽预估值,向所述接收端发送探测序列;
接收所述接收端根据所述探测序列返回的拥塞特征信息;
依据所述拥塞特征信息调整探测序列的发送速率,转至执行向所述接收端发送探测序列的步骤,直至满足探测停止条件;
依据探测序列当前的发送速率,确定网络链路可用带宽。
再例如,被上述一个或多个处理器执行的方法流程,可以包括:
该设备作为接收端接收发送端发送的预探测序列;
依据所述预探测序列确定可用带宽预估值并返回给所述发送端;
接收所述发送端发送的探测序列;
依据所述探测序列确定拥塞特征信息并返回给所述发送端,以供所述发送端确定网络链路可用带宽。
下面列举两个本发明所适用的应用场景:
场景一、
视频客户端作为接收端从注册服务器获取视频服务器的地址,依据视频服务器的地址向视频服务器发起网络链路的建立。在建立网络链路后向视频服务器请求视频服务。视频服务器作为发送端通过本发明实施例提供的流程探测与视频客户端之间的网络链路的可用带宽,根据探测得到的网络链路的可用带宽,向视频客户端发送视频流,该视频流的质量与网络链路可用带宽相适应。
场景二、
即时通讯类客户端1和即时通讯类客户端2之间要进行视频通话,可以分别作为发送端和接收端,在两者之间建立网络链路后,通过本发明实施例提供的流程探测网络链路的可用带宽,然后根据探测得到的可用带宽调整视频通话的质量已与可用带宽相适应。
由以上描述可以看出,本发明提供的方法和装置可以具备以下优点:
1)实现了发送端和接收端之间网络链路可用带宽的探测。
2)通过发送预探测序列的方式,获取可用带宽预估值,从而有效地对探测序列的初始发送速率进行定位,减小探测区间,缩短探测时间,减少向网络中发送的探测包总数。
3)结合伪波峰判别的方式,更加准确地对探测序列的单向延时变化趋势进行判断,从而返回更加准确的拥塞特征信息。
4)采用二分法调整探测序列的发送速率,能够有效地加快网络链路可用带宽的探测过程。
5)对网络环境没有特别的要求,适用于各种网络环境和网络类型的链路可用带宽探测。
6)整个探测过程由作为发送端和接收端的设备自动完成,无需人工参与和协作,智能化程度高。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (50)
1.一种网络链路可用带宽的探测方法,其特征在于,该方法包括:
发送端向接收端发送预探测序列;
接收所述接收端根据所述预探测序列返回的可用带宽预估值;
基于所述可用带宽预估值,确定发送探测序列所采用的初始发送速率;
向所述接收端发送探测序列;
接收所述接收端根据所述探测序列返回的拥塞特征信息;
依据所述拥塞特征信息更新探测序列的发送速率,转至执行向所述接收端发送探测序列的步骤,直至满足探测停止条件;
依据满足探测停止条件时探测序列的发送速率,确定网络链路可用带宽。
2.根据权利要求1所述的方法,其特征在于,在所述发送端向接收端发送预探测序列之前,该方法还包括:
所述发送端与所述接收端建立网络链路。
3.根据权利要求2所述的方法,其特征在于,所述发送端与所述接收端建立网络链路包括:
所述发送端向注册服务器获取所述接收端的地址信息,依据所述接收端的地址信息向所述接收端发起网络链路的建立;或者,
所述接收端向注册服务器获取所述发送端的地址信息,依据所述发送端的地址信息向所述发送端发起网络链路的建立。
4.根据权利要求2所述的方法,其特征在于,所述发送端与所述接收端采用用户数据报协议UDP或传输控制协议TCP协议建立网络链路。
5.根据权利要求1所述的方法,其特征在于,所述发送端向接收端发送预探测序列包括:
所述发送端按照预设速率K,发送多个长度为P的探测包,各探测包之间的发送间隔为T,所述P和T采用预设值。
6.根据权利要求1所述的方法,其特征在于,基于所述可用带宽预估值,确定发送探测序列所采用的初始发送速率包括:
将可用带宽预估值作为发送探测序列所采用的初始发送速率;或者,
依据可用带宽预估值确定初始的探测区间,所述发送探测序列所采用的初始发送速率从所述初始的探测区间取值。
7.根据权利要求1所述的方法,其特征在于,所述拥塞特征信息包括:
指示有拥塞发生的信息,或者指示无拥塞发生的信息。
8.根据权利要求1所述的方法,其特征在于,所述探测停止条件包括:
探测区间缩小到预设范围,所述探测序列的发送速率从探测区间中取值,探测区间依据接收端返回的拥塞特征信息进行调整;或者,
探测序列的发送速率更新的幅度小于预设幅度阈值。
9.根据权利要求1所述的方法,其特征在于,依据所述拥塞特征信息更新探测序列的发送速率包括:
依据所述拥塞特征信息,采用二分法更新探测序列的发送速率。
10.根据权利要求9所述的方法,其特征在于,依据所述拥塞特征信息,采用二分法更新探测序列的发送速率包括:
若所述拥塞特征信息指示有拥塞发生,则减小当前探测区间的上限值后,更新探测序列的发送速率为当前探测区间的中间值;
若所述拥塞特征信息指示无拥塞发生,则增大当前探测区间的下限值后,更新探测序列的发送速率为当前探测区间的中间值;
其中初始的探测区间预先设置。
11.根据权利要求6或10所述的方法,其特征在于,所述初始的探测区间为[M-A,M+A],其中M为所述可用带宽预估值,A为调整参数值。
12.根据权利要求11所述的方法,其特征在于,所述A取a*M和预设参数上限值中的最小值,其中a为预设的调整因子。
13.根据权利要求10所述的方法,其特征在于,所述减小当前探测区间的上限值包括:将当前探测区间的上限值减小预设幅度或比例,或者将探测区间的上限值调整为上一次发送探测序列的发送速率;
所述增大当前探测区间的下限值包括:将当前探测区间的下限值增大预设幅度或比例,或者将探测区间的下限值调整为上一次发送探测序列的发送速率。
14.根据权利要求1所述的方法,其特征在于,所述依据满足探测停止条件时探测序列的发送速率,确定网络链路可用带宽包括:
将满足探测停止条件时探测序列的发送速率作为网络链路可用带宽;或者,
选取满足探测停止条件时探测区间中的值作为网络链路可用带宽,所述探测序列的发送速率从探测区间中取值,探测区间依据接收端返回的拥塞特征信息进行调整。
15.一种网络链路可用带宽的探测方法,其特征在于,该方法包括:
接收端接收发送端发送的预探测序列;
依据所述预探测序列确定可用带宽预估值并返回给所述发送端;
接收所述发送端发送的探测序列;
依据所述探测序列确定拥塞特征信息并返回给所述发送端,以供所述发送端确定网络链路可用带宽。
16.根据权利要求15所述的方法,其特征在于,在所述接收端接收发送端发送的预探测序列之前,该方法还包括:
所述接收端与所述发送端建立网络链路。
17.根据权利要求16所述的方法,其特征在于,所述接收端与所述发送端建立网络链路包括:
所述发送端向注册服务器获取所述接收端的地址信息,依据所述接收端的地址信息向所述接收端发起网络链路的建立;或者,
所述接收端向注册服务器获取所述发送端的地址信息,依据所述发送端的地址信息向所述发送端发起网络链路的建立。
18.根据权利要求16所述的方法,其特征在于,所述接收端与所述发送端采用用户数据报协议UDP或传输控制协议TCP协议建立网络链路。
19.根据权利要求15所述的方法,其特征在于,依据所述预探测序列确定可用带宽预估值包括:
依据所述预探测序列中各探测包的包长、探测包的发送数量和接收数量、所述预探测序列的接收总时长,确定可用带宽预估值。
20.根据权利要求15所述的方法,其特征在于,依据所述探测序列确定拥塞特征信息包括:
若所述探测序列的单向延时有增大的变化趋势,则确定有网络拥塞;
若所述探测序列的单向延时无增大的变化趋势,则确定无网络拥塞。
21.根据权利要求20所述的方法,其特征在于,若接收到的探测序列中相邻探测包网络延时呈增大趋势的包数占探测序列总包数的比值大于预设上限比例值,则确定所述探测序列的单向延时有增大的变化趋势;否则,确定所述探测序列的单向延时无增大的变化趋势。
22.根据权利要求21所述的方法,其特征在于,依据所述探测序列确定拥塞特征信息还包括:
若接收到的探测序列中连续出现的相邻探测包网络延时呈增大趋势的包数均小于预设的数目N,则确定无网络拥塞。
23.根据权利要求21所述的方法,其特征在于,若接收到的探测序列中连续出现的相邻探测包网络延时呈增大趋势的包数小于所述N的情况均小于预设次数,则所述预设上限比例值采用第一上限比例值;
若接收到的探测序列中连续出现的相邻探测包网络延时呈增大趋势的包数小于所述N的情况大于或等于预设次数,则所述预设上限比例值采用第二上限比例值;
所述第一上限比例值小于所述第二上限比例值。
24.根据权利要求21、22或23所述的方法,其特征在于,所述相邻探测包网络延时呈增大趋势包括:
相邻探测包的接收时间间隔大于相邻探测包的发送时间间隔。
25.一种网络链路可用带宽的探测装置,设置于发送端,其特征在于,该装置包括:
预处理单元,用于向接收端发送预探测序列;接收所述接收端根据所述预探测序列返回的可用带宽预估值;
探测发送单元,用于基于接收到的可用带宽预估值,确定发送探测序列所采用的初始发送速率,向所述接收端发送探测序列;
特征伺服单元,用于接收所述接收端根据所述探测序列返回的拥塞特征信息;依据所述拥塞特征信息更新探测序列的发送速率,触发所述探测发送单元按照调整后的发送速率发送探测序列,直至满足探测停止条件;
带宽确定单元,用于依据满足探测停止条件时探测序列的发送速率,确定网络链路可用带宽。
26.根据权利要求25所述的装置,其特征在于,该装置还包括:链路建立单元,用于建立所述发送端与所述接收端之间的网络链路。
27.根据权利要求26所述的装置,其特征在于,所述链路建立单元,具体用于向注册服务器获取所述接收端的地址信息,依据所述接收端的地址信息向所述接收端发起网络链路的建立。
28.根据权利要求26所述的装置,其特征在于,所述链路建立单元与所述接收端采用用户数据报协议UDP或传输控制协议TCP协议建立网络链路。
29.根据权利要求25所述的装置,其特征在于,所述预处理单元,具体用于:按照预设速率K,发送多个长度为P的探测包,各探测包之间的发送间隔为T,所述P和T采用预设值。
30.根据权利要求25所述的装置,其特征在于,所述探测发送单元在基于所述可用带宽预估值,确定发送探测序列所采用的初始发送速率时,具体执行:
将可用带宽预估值作为发送探测序列所采用的初始发送速率;或者,
依据可用带宽预估值确定初始的探测区间,发送探测序列所采用的初始发送速率从所述初始的探测区间取值。
31.根据权利要求25所述的装置,其特征在于,所述拥塞特征信息包括:
指示有拥塞发生的信息,或者指示无拥塞发生的信息。
32.根据权利要求25所述的装置,其特征在于,所述探测停止条件包括:
探测区间缩小到预设范围,所述探测序列的发送速率从探测区间中取值,探测区间依据接收端返回的拥塞特征信息进行调整;或者,
探测序列的发送速率更新的幅度小于预设幅度阈值。
33.根据权利要求25所述的装置,其特征在于,所述特征伺服单元在依据所述拥塞特征信息更新探测序列的发送速率时,具体执行:
依据所述拥塞特征信息,采用二分法更新探测序列的发送速率。
34.根据权利要求33所述的装置,其特征在于,所述特征伺服单元在依据所述拥塞特征信息,采用二分法更新探测序列的发送速率时,具体执行:
若所述拥塞特征信息指示有拥塞发生,则减小当前探测区间的上限值后,更新探测序列的发送速率为当前探测区间的中间值;
若所述拥塞特征信息指示无拥塞发生,则增大当前探测区间的下限值后,更新探测序列的发送速率为当前探测区间的中间值;
其中初始的探测区间预先设置。
35.根据权利要求30或34所述的装置,其特征在于,所述初始的探测区间为[M-A,M+A],其中M为所述可用带宽预估值,A为调整参数值。
36.根据权利要求35所述的装置,其特征在于,所述A取a*M和预设参数上限值中的最小值,其中a为预设的调整因子。
37.根据权利要求34所述的装置,其特征在于,所述特征伺服单元在减小当前探测区间的上限值时,具体执行:将当前探测区间的上限值减小预设幅度或比例,或者将探测区间的上限值调整为上一次发送探测序列的发送速率;
在增大当前探测区间的下限值时,具体执行:将当前探测区间的下限值增大预设幅度或比例,或者将探测区间的下限值调整为上一次发送探测序列的发送速率。
38.根据权利要求25所述的装置,其特征在于,所述带宽确定单元,具体用于将满足探测停止条件时探测序列的发送速率作为网络链路可用带宽;或者,选取满足探测停止条件时探测区间中的值作为网络链路可用带宽,所述探测序列的发送速率从探测区间中取值,探测区间依据接收端返回的拥塞特征信息进行调整。
39.一种网络链路可用带宽的探测装置,设置于接收端,其特征在于,该装置包括:
预处理单元,用于接收发送端发送的预探测序列,依据所述预探测序列确定可用带宽预估值并返回给所述发送端;
拥塞判定单元,用于接收所述发送端发送的探测序列,依据所述探测序列确定拥塞特征信息;
特征反馈单元,用于将所述拥塞特征信息发送给所述发送端,以供所述发送端确定网络链路可用带宽。
40.根据权利要求39所述的装置,其特征在于,该装置还包括:链路建立单元,用于建立所述接收端与所述发送端之间的网络链路。
41.根据权利要求40所述的装置,其特征在于,所述链路建立单元,具体用于向注册服务器获取所述接收端的地址信息,依据所述接收端的地址信息向所述接收端发起网络链路的建立。
42.根据权利要求40所述的装置,其特征在于,所述链路建立单元与所述发送端采用用户数据报协议UDP或传输控制协议TCP协议建立网络链路。
43.根据权利要求39所述的装置,其特征在于,所述预处理单元,具体用于:依据所述预探测序列中各探测包的包长、探测包的发送数量和接收数量、所述预探测序列的接收总时长,确定可用带宽预估值。
44.根据权利要求39所述的装置,其特征在于,所述拥塞判定单元,具体用于若所述探测序列的单向延时有增大的变化趋势,则确定有网络拥塞;若所述探测序列的单向延时无增大的变化趋势,则确定无网络拥塞。
45.根据权利要求44所述的装置,其特征在于,所述拥塞判定单元,具体用于:若接收到的探测序列中相邻探测包网络延时呈增大趋势的包数占探测序列总包数的比值大于预设上限比例值,则确定所述探测序列的单向延时有增大的变化趋势;否则,确定所述探测序列的单向延时无增大的变化趋势。
46.根据权利要求45所述的装置,其特征在于,所述拥塞判定单元,还用于:若接收到的探测序列中连续出现的相邻探测包网络延时呈增大趋势的包数均小于预设的数目N,则确定无网络拥塞。
47.根据权利要求45所述的装置,其特征在于,所述拥塞判定单元若接收到的探测序列中连续出现的相邻探测包网络延时呈增大趋势的包数小于所述N的情况均小于预设次数,则所述预设上限比例值采用第一上限比例值;
若接收到的探测序列中连续出现的相邻探测包网络延时呈增大趋势的包数小于所述N的情况大于或等于预设次数,则所述预设上限比例值采用第二上限比例值;
所述第一上限比例值小于所述第二上限比例值。
48.根据权利要求45、46或47所述的装置,其特征在于,所述相邻探测包网络延时呈增大趋势包括:
相邻探测包的接收时间间隔大于相邻探测包的发送时间间隔。
49.一种设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现以下操作:
该设备作为发送端向接收端发送预探测序列;
接收所述接收端根据所述预探测序列返回的可用带宽预估值;
基于所述可用带宽预估值,确定发送探测序列所采用的初始发送速率;
向所述接收端发送探测序列;
接收所述接收端根据所述探测序列返回的拥塞特征信息;
依据所述拥塞特征信息更新探测序列的发送速率,转至执行向所述接收端发送探测序列的步骤,直至满足探测停止条件;
依据满足探测停止条件时探测序列的发送速率,确定网络链路可用带宽。
50.一种设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现以下操作:
该设备作为接收端接收发送端发送的预探测序列;
依据所述预探测序列确定可用带宽预估值并返回给所述发送端;
接收所述发送端发送的探测序列;
依据所述探测序列确定拥塞特征信息并返回给所述发送端,以供所述发送端确定网络链路可用带宽。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610936822.XA CN108011771A (zh) | 2016-11-01 | 2016-11-01 | 网络链路可用带宽的探测方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610936822.XA CN108011771A (zh) | 2016-11-01 | 2016-11-01 | 网络链路可用带宽的探测方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108011771A true CN108011771A (zh) | 2018-05-08 |
Family
ID=62048146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610936822.XA Pending CN108011771A (zh) | 2016-11-01 | 2016-11-01 | 网络链路可用带宽的探测方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108011771A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109921962A (zh) * | 2019-04-16 | 2019-06-21 | 腾讯科技(深圳)有限公司 | 带宽测量方法、装置、计算机可读存储介质和计算机设备 |
CN110572333A (zh) * | 2019-10-25 | 2019-12-13 | 中南大学 | 一种带宽探测阶段的发送速率调整方法及拥塞控制算法 |
CN110868357A (zh) * | 2018-08-27 | 2020-03-06 | 中兴通讯股份有限公司 | 网络流量控制方法、vtep设备和存储介质 |
CN111092791A (zh) * | 2019-12-31 | 2020-05-01 | 上海掌门科技有限公司 | 一种确定从应用至服务器的可用网络带宽的方法与设备 |
CN112565013A (zh) * | 2020-12-04 | 2021-03-26 | 迪爱斯信息技术股份有限公司 | 利用ip网络的语音通信方法、交换机、ip终端及系统 |
CN113114540A (zh) * | 2021-04-23 | 2021-07-13 | 百果园技术(新加坡)有限公司 | 一种带宽预测器的设置、服务调整方法及相关装置 |
CN113473185A (zh) * | 2021-04-28 | 2021-10-01 | 清华大学 | 基于视频流关键帧突发特性的可用带宽探测方法及装置 |
EP3896913A4 (en) * | 2019-03-29 | 2022-03-02 | Huawei Technologies Co., Ltd. | AVAILABLE BANDWIDTH MEASUREMENT METHOD AND COMMUNICATION DEVICE |
CN114760230A (zh) * | 2020-12-29 | 2022-07-15 | 中国移动通信集团福建有限公司 | 端到端网络性能检测方法及系统 |
CN115150283A (zh) * | 2022-09-05 | 2022-10-04 | 腾讯科技(深圳)有限公司 | 网络带宽探测方法、装置、计算机设备和存储介质 |
CN115277508A (zh) * | 2022-07-26 | 2022-11-01 | 西安万像电子科技有限公司 | 一种远程摄像头注入云主机的网络带宽预测方法 |
CN116055364A (zh) * | 2023-03-06 | 2023-05-02 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种测量最大上行带宽的方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1510876A (zh) * | 2002-12-26 | 2004-07-07 | 中国科学院计算技术研究所 | 自适应地调节网络视频质量的方法 |
CN101018161A (zh) * | 2006-09-08 | 2007-08-15 | 中山大学 | 一种链路、路径、网络可用带宽测量方法 |
US20070242616A1 (en) * | 2005-10-14 | 2007-10-18 | Chang Kirk K | Estimating available bandwith and enhancing narrow link bandwith estimations in telecommunications networks using existing user traffic |
CN101222380A (zh) * | 2007-12-27 | 2008-07-16 | 腾讯科技(深圳)有限公司 | 可用带宽测量方法、系统与装置 |
CN102137023A (zh) * | 2011-04-14 | 2011-07-27 | 中国人民解放军空军工程大学 | 基于可用带宽预测的组播拥塞控制方法 |
CN102572897A (zh) * | 2012-03-04 | 2012-07-11 | 黄东 | 一种无线网络中可用带宽的判断方法 |
CN104486163A (zh) * | 2014-12-25 | 2015-04-01 | 中国科学院声学研究所 | 一种单端可用带宽测量方法和采用该方法的终端 |
GB201513522D0 (en) * | 2015-07-31 | 2015-09-16 | Imagination Tech Ltd | Monitoring network conditions |
-
2016
- 2016-11-01 CN CN201610936822.XA patent/CN108011771A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1510876A (zh) * | 2002-12-26 | 2004-07-07 | 中国科学院计算技术研究所 | 自适应地调节网络视频质量的方法 |
US20070242616A1 (en) * | 2005-10-14 | 2007-10-18 | Chang Kirk K | Estimating available bandwith and enhancing narrow link bandwith estimations in telecommunications networks using existing user traffic |
CN101018161A (zh) * | 2006-09-08 | 2007-08-15 | 中山大学 | 一种链路、路径、网络可用带宽测量方法 |
CN101222380A (zh) * | 2007-12-27 | 2008-07-16 | 腾讯科技(深圳)有限公司 | 可用带宽测量方法、系统与装置 |
CN102137023A (zh) * | 2011-04-14 | 2011-07-27 | 中国人民解放军空军工程大学 | 基于可用带宽预测的组播拥塞控制方法 |
CN102572897A (zh) * | 2012-03-04 | 2012-07-11 | 黄东 | 一种无线网络中可用带宽的判断方法 |
CN104486163A (zh) * | 2014-12-25 | 2015-04-01 | 中国科学院声学研究所 | 一种单端可用带宽测量方法和采用该方法的终端 |
GB201513522D0 (en) * | 2015-07-31 | 2015-09-16 | Imagination Tech Ltd | Monitoring network conditions |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110868357A (zh) * | 2018-08-27 | 2020-03-06 | 中兴通讯股份有限公司 | 网络流量控制方法、vtep设备和存储介质 |
EP3896913A4 (en) * | 2019-03-29 | 2022-03-02 | Huawei Technologies Co., Ltd. | AVAILABLE BANDWIDTH MEASUREMENT METHOD AND COMMUNICATION DEVICE |
US11463338B2 (en) | 2019-03-29 | 2022-10-04 | Huawei Technologies Co., Ltd. | Method for measuring available bandwidth and communications apparatus |
CN109921962A (zh) * | 2019-04-16 | 2019-06-21 | 腾讯科技(深圳)有限公司 | 带宽测量方法、装置、计算机可读存储介质和计算机设备 |
CN110572333A (zh) * | 2019-10-25 | 2019-12-13 | 中南大学 | 一种带宽探测阶段的发送速率调整方法及拥塞控制算法 |
CN110572333B (zh) * | 2019-10-25 | 2021-04-13 | 中南大学 | 一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实现方法 |
CN111092791A (zh) * | 2019-12-31 | 2020-05-01 | 上海掌门科技有限公司 | 一种确定从应用至服务器的可用网络带宽的方法与设备 |
CN111092791B (zh) * | 2019-12-31 | 2023-01-31 | 上海掌门科技有限公司 | 一种确定从应用至服务器的可用网络带宽的方法与设备 |
CN112565013A (zh) * | 2020-12-04 | 2021-03-26 | 迪爱斯信息技术股份有限公司 | 利用ip网络的语音通信方法、交换机、ip终端及系统 |
CN114760230A (zh) * | 2020-12-29 | 2022-07-15 | 中国移动通信集团福建有限公司 | 端到端网络性能检测方法及系统 |
CN114760230B (zh) * | 2020-12-29 | 2024-05-07 | 中国移动通信集团福建有限公司 | 端到端网络性能检测方法及系统 |
CN113114540A (zh) * | 2021-04-23 | 2021-07-13 | 百果园技术(新加坡)有限公司 | 一种带宽预测器的设置、服务调整方法及相关装置 |
CN113114540B (zh) * | 2021-04-23 | 2024-03-01 | 百果园技术(新加坡)有限公司 | 一种带宽预测器的设置、服务调整方法及相关装置 |
CN113473185B (zh) * | 2021-04-28 | 2022-08-26 | 清华大学 | 基于视频流关键帧突发特性的可用带宽探测方法及装置 |
CN113473185A (zh) * | 2021-04-28 | 2021-10-01 | 清华大学 | 基于视频流关键帧突发特性的可用带宽探测方法及装置 |
CN115277508A (zh) * | 2022-07-26 | 2022-11-01 | 西安万像电子科技有限公司 | 一种远程摄像头注入云主机的网络带宽预测方法 |
CN115150283A (zh) * | 2022-09-05 | 2022-10-04 | 腾讯科技(深圳)有限公司 | 网络带宽探测方法、装置、计算机设备和存储介质 |
CN115150283B (zh) * | 2022-09-05 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 网络带宽探测方法、装置、计算机设备和存储介质 |
CN116055364A (zh) * | 2023-03-06 | 2023-05-02 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种测量最大上行带宽的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108011771A (zh) | 网络链路可用带宽的探测方法、装置和设备 | |
CN105515915B (zh) | 节点探测方法及装置、路径选取方法及装置、及网络系统 | |
US20170331757A1 (en) | Traffic control method, traffic control apparatus and server | |
CN108429701B (zh) | 网络加速系统 | |
US20130222519A1 (en) | Mobile device capable of multi-party video conferencing and control method thereof | |
CN105340245A (zh) | 用于适配被配置为接收多媒体内容的客户机终端的下载行为的方法以及对应的终端 | |
US20100262679A1 (en) | Method and system for checking automatically connectivity status of an ip link on ip network | |
CN113965517A (zh) | 网络传输方法、装置、电子设备及存储介质 | |
CN113452770B (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN112838980B (zh) | 一种消息处理方法、系统、装置、电子设备及存储介质 | |
CN109756464B (zh) | 一种通信方法及服务器、客户端 | |
CN116321276B (zh) | 时延确定方法、通信网络、设备和存储介质 | |
US20090240832A1 (en) | Receiving apparatus, transmitting apparatus, communication system, and method of detecting buffer setting of relay server | |
CN115243341B (zh) | 执行无线感知进程的方法、装置、系统及存储介质 | |
CN115002007A (zh) | 网络延迟判别方法、装置、电子设备及存储介质 | |
KR20160089810A (ko) | 전자 장치의 데이터 전송 방법 및 장치 | |
NO327367B1 (no) | Tildeling av tradlose kanaler i en basestasjonsprosessor | |
JP4170838B2 (ja) | 中継装置、通信システム及び通信方法 | |
CN108282251B (zh) | 一种链路调整方法、装置及服务器 | |
JP2003244162A (ja) | 通信ネットワーク内の無線リンクを評価する方法 | |
CN112738568B (zh) | 码率的调整方法、音视频服务器端、接收端及发送端 | |
CN112057845B (zh) | 云游戏就近接入方法及装置 | |
EP4376381A1 (en) | Dns query method and apparatus, and device and medium | |
CN106412069B (zh) | 一种资源维护方法及网络节点 | |
US11882621B2 (en) | Method and system for transmitting and receiving data using bluetooth low energy |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180508 |
|
RJ01 | Rejection of invention patent application after publication |