CN104219106B - 终端和利用该终端的网络状态测定系统及方法 - Google Patents

终端和利用该终端的网络状态测定系统及方法 Download PDF

Info

Publication number
CN104219106B
CN104219106B CN201410238312.6A CN201410238312A CN104219106B CN 104219106 B CN104219106 B CN 104219106B CN 201410238312 A CN201410238312 A CN 201410238312A CN 104219106 B CN104219106 B CN 104219106B
Authority
CN
China
Prior art keywords
time
detection packet
value
packet
terminal
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
Application number
CN201410238312.6A
Other languages
English (en)
Other versions
CN104219106A (zh
Inventor
黄镇范
潘惠辰
宋玟佑
田重培
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung SDS Co Ltd
Original Assignee
Samsung SDS Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung SDS Co Ltd filed Critical Samsung SDS Co Ltd
Publication of CN104219106A publication Critical patent/CN104219106A/zh
Application granted granted Critical
Publication of CN104219106B publication Critical patent/CN104219106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种终端和利用该终端的网络状态测定系统及方法。根据本发明的一个实施例的网络状态测定系统,包括:发送终端,用于传送探测包;接收终端,接收所述探测包而测定各探测包的单程时间(One‑way Trip Time:OTT),并利用测定的所述单程时间的平均值以及所述单程时间中的最小值而计算排队延迟。

Description

终端和利用该终端的网络状态测定系统及方法
技术领域
本发明的实施例涉及一种网络状态测定技术,尤其涉及一种能够准确测定网络状态的终端和利用该终端的网络状态测定系统及方法。
背景技术
在测定网络状态的方法中应用最广的方式为估计排队延迟(Queueing Delay)和缓冲区队列(Backlog Queue)的方式。其中,排队延迟(Queueing Delay)是指数据包在路由器的队列(Queue)中等待的时间,而缓冲区队列(Backlog Queue)是指在路由器的队列中等待的包量。
现有技术中估计排队延迟和缓冲区队列的方式主要使用TCP-Vegas方法。该方法将从包传送起始时间点开始测定的往返时间(RTT:Round Trip Time)中的最小值(RTTmin)假定为当排队延迟为零时的往返时间(RTT),是一种将从当前的往返时间(RTTcur)中减去最小值(RTTmin)的值估计为当前的排队延迟的方式。这种方式虽然适于应用在操作系统内核(OS Kernel)中操作的TCP协议,然而对于根据网络状况而导致往返时间(RTT)偏差的无线网、以及除了排队延迟以外进程切换等处理时间或者包在套接字缓冲器(Socket Buffer)中等待的时间等额外地反映在往返时间(RTT)的应用阶层程序等而言,如果直接使用往返时间(RTT),则存在难以准确测定排队延迟的问题。并且,缓冲区队列是通过排队延迟与接收端的当前接收率的相乘而计算,因此存在排队延迟的误差完整地转移到缓冲区队列的问题。
因此,需要一种通过使估计排队延迟以及缓冲区队列时产生的误差最小化而能够准确测定网络状态的方案。
发明内容
本发明的实施例的目的在于提供一种能够使排队延迟的误差最小化的终端和利用该终端的网络状态测定系统及方法。
根据本发明的一个实施例的一种网络状态测定系统,包括:发送终端,传送探测包;接收终端,接收所述探测包而测定各探测包的单程时间(One-way Trip Time:OTT),并利用测定的所述单程时间的平均值以及所述单程时间中的最小值而计算排队延迟。
所述单程时间的平均值是通过如下的数学式1而计算:
[数学式1]
SOTTM=(1-α)·SOTTM-1+α·OTTM(0≤α≤1)
其中,SOTTM为到第M个探测包为止的单程时间的平均值,SOTTM-1为到第M-1个探测包为止的单程时间的平均值,OTTM为第M个探测包的单程时间,α为表示第M个探测包的单程时间值反映在单程时间的平均值的比率的加权值。
所述探测包中包含有效认证字段,且所述发送终端通过将把所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差和已设定的第一标准时间(T1)进行比较而设定有效认证值,并将设定的有效认证值记录于下一探测包的有效认证字段而传送。
所述发送终端在将所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差超过已设定的第一标准时间(T1)的情况下,将所述有效认证值设定为“虚(False)”,而在将所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差为已设定的第一标准时间(T1)以下的情况下,将所述有效认证值设定为“实(True)”。
所述接收终端根据记录于接收的所述探测包的有效认证字段中的有效认证值而判断在所述探测包之前接收的探测包的时间戳值是否有效,并利用判断为有效的时间戳值而测定所述单程时间。
所述第一标准时间(T1)是以所述发送终端的进程排程时间、无用单元收集(Garbage Collection)平均需要时间、以及最大可允许误差时间中的至少一个为基准而设定。
所述接收终端通过将之前的探测包的接收时间与当前探测包的接收时间之差和已设定的第二标准时间(T2)进行比较而确定是否测定当前探测包的单程时间。
所述接收终端在所述之前的探测包的接收时间与当前探测包的接收时间之差为所述第二标准时间(T2)以上的情况下,利用当前探测包的时间戳值而测定单程时间,而在所述之前的探测包的接收时间与当前探测包的接收时间之差不足所述第二标准时间(T2)的情况下,废弃当前探测包的时间戳值。
所述第二标准时间(T2)被设定为以之前的探测包与当前探测包的发送间隔为基准而形成预定比率W1,其中W1<1。
所述第二标准时间(T2)被设定为将之前的探测包的接收时间与当前探测包的接收时间之差最小的值作为基准而形成预定比率W2,其中W2>1。
所述接收终端将包含于已设定的大小的窗口范围内的单程时间值中的最小值使用于求出所述单程时间的平均值。
根据本发明的一个实施例的一种终端,包括:数据发送单元,将数据包传送给外部终端;探测包发送单元,将添加上有效认证字段的探测包传送给所述外部终端;传送速度控制单元,根据从所述外部终端接收的网络状态测定变量而控制所述数据发送单元的数据包传送速度,其中,所述探测包发送单元通过将把所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差和已设定的第一标准时间(T1)进行比较而设定有效认证值,并将设定的有效认证值记录于下一探测包的有效认证字段而传送。
所述探测包发送单元在将所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差超过已设定的第一标准时间(T1)的情况下,将所述有效认证值设定为“虚(False)”,而在将所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差为已设定的第一标准时间(T1)以下的情况下,将所述有效认证值设定为“实(True)”。
所述第一标准时间(T1)是以所述终端的进程排程时间、无用单元收集(GarbageCollection)平均需要时间、以及最大可允许误差时间中的至少一个为基准而设定。
根据本发明的另一实施例的一种终端,包括:探测包接收单元,接收探测包,并利用接收的所述探测包而测定单程时间;排队延迟计算单元,求出从所述探测包接收单元接收的单程时间的平均值,并利用所述单程时间的平均值以及从所述探测包接收单元接收的单程时间中的最小值而计算排队延迟。
所述排队延迟计算单元通过如下的数学式2计算所述单程时间的平均值:
[数学式2]
SOTTM=(1-α)·SOTTM-1+α·OTTM(0≤α≤1)
其中,SOTTM为到第M个探测包为止的单程时间的平均值,SOTTM-1为到第M-1个探测包为止的单程时间的平均值,OTTM为第M个探测包的单程时间,α为表示第M个探测包的单程时间值反映在单程时间的平均值的比率的加权值。
所述探测包接收单元根据记录于接收的所述探测包的有效认证字段中的有效认证值而判断在所述探测包之前接收的探测包的时间戳值是否有效,并利用判断为有效的时间戳值而测定所述单程时间。
所述探测包接收单元通过将之前的探测包的接收时间与当前探测包的接收时间之差和已设定的第二标准时间(T2)进行比较而确定是否测定当前探测包的单程时间。
所述探测包接收单元在所述之前的探测包的接收时间与当前探测包的接收时间之差为所述第二标准时间(T2)以上的情况下,利用当前探测包的时间戳值而测定单程时间,而在所述之前的探测包的接收时间与当前探测包的接收时间之差不足所述第二标准时间(T2)的情况下,废弃当前探测包的时间戳值。
所述第二标准时间(T2)被设定为以之前的探测包与当前探测包的发送间隔为基准而形成预定比率W1,其中W1<1。
所述第二标准时间(T2)被设定为将之前的探测包的接收时间与当前探测包的接收时间之差最小的值作为基准而成预定比率W2,其中W2>1。
所述排队延迟计算单元将包含于已设定的大小的窗口范围内的单程时间值中的最小值使用于求出所述单程时间的平均值。
根据本发明的又一实施例的一种终端,包括:探测包接收单元,接收探测包,并利用接收的所述探测包而测定单程时间;排队延迟计算单元,利用所述单程时间而计算排队延迟,其中,所述探测包接收单元根据记录于接收的所述探测包的有效认证字段中的有效认证值而判断在所述探测包之前接收的探测包的时间戳值是否有效,并利用判断为有效的时间戳值而测定所述单程时间。
根据本发明的又一实施例的一种终端,包括:探测包接收单元,接收探测包,并利用接收的所述探测包而测定单程时间;排队延迟计算单元,利用所述单程时间而计算排队延迟,其中,所述探测包接收单元通过将之前的探测包的接收时间与当前探测包的接收时间之差和已设定的第二标准时间(T2)进行比较而确定是否测定当前探测包的单程时间。
所述探测包接收单元在所述之前的探测包的接收时间与当前探测包的接收时间之差为所述第二标准时间(T2)以上的情况下,利用当前探测包的时间戳值而测定单程时间,而在所述之前的探测包的接收时间与当前探测包的接收时间之差不足所述第二标准时间(T2)的情况下,废弃当前探测包的时间戳值。
所述第二标准时间(T2)被设定为以之前的探测包与当前探测包的发送间隔为基准而形成预定比率W1,其中W1<1。
所述第二标准时间(T2)被设定为将之前的探测包的接收时间与当前探测包的接收时间之差最小的值作为基准而形成预定比率W2,其中W2>1。
根据本发明的一个实施例的一种网络状态测定方法,包括如下步骤:发送终端传送探测包;接收终端接收所述探测包而测定单程时间;所述接收终端求出所述单程时间的平均值,并利用所述单程时间的平均值以及所述单程时间中的最小值而计算排队延迟。
在求出所述单程时间的平均值的步骤中,通过如下的数学式3而进行计算:
[数学式3]
SOTTM=(1-α)·SOTTM-1+α·OTTM(0≤α≤1)
其中,SOTTM为到第M个探测包为止的单程时间的平均值,SOTTM-1为到第M-1个探测包为止的单程时间的平均值,OTTM为第M个探测包的单程时间,α为表示第M个探测包的单程时间值反映在单程时间的平均值的比率的加权值。
传送所述探测包的步骤包括如下步骤:所述发送终端在所述探测包中添加有效认证字段;所述发送终端将把所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差和已设定的第一标准时间(T1)进行比较;所述发送终端根据所述比较的结果而设定有效认证值,并将设定的有效认证值记录于下一探测包的有效认证字段而传送。
测定所述单程时间的步骤包括如下步骤:所述接收终端根据记录于所述探测包的有效认证字段中的有效认证值而判断在所述探测包之前接收的探测包的时间戳值是否有效;所述接收终端利用判断为有效的时间戳值而测定所述单程时间。
所述第一标准时间(T1)是以所述发送终端的进程排程时间、无用单元收集(Garbage Collection)平均需要时间、以及最大可允许误差时间中的至少一个为基准而设定。
测定所述单程时间的步骤包括如下步骤:所述接收终端通过将之前的探测包的接收时间与当前探测包的接收时间之差和已设定的第二标准时间(T2)进行比较而确定是否测定当前探测包的单程时间。
确定是否测定所述单程时间的步骤包括如下步骤:所述接收终端确认所述之前的探测包的接收时间与当前探测包的接收时间之差是否为所述第二标准时间(T2)以上;当所述之前的探测包的接收时间与当前探测包的接收时间之差为所述第二标准时间(T2)以上时,所述接收终端利用当前探测包的时间戳值而测定单程时间。
确定是否测定所述单程时间的步骤包括如下步骤:在所述之前的探测包的接收时间与当前探测包的接收时间之差不足所述第二标准时间(T2)的情况下,所述接收终端废弃当前探测包的时间戳值。
所述第二标准时间(T2)被设定为以之前的探测包与当前探测包的发送间隔为基准而形成预定比率W1,其中W1<1。
所述第二标准时间(T2)被设定为将之前的探测包的接收时间与当前探测包的接收时间之差最小的值作为基准而形成预定比率W2,其中W2>1。
确定是否测定所述单程时间的步骤包括如下步骤:所述发送终端连续传送多个探测包;所述接收终端接收所述多个探测包,并分别求出之前的探测包的接收时间与当前探测包的接收时间之差;所述接收终端求出使之前的探测包的接收时间与当前探测包的接收时间之差成为最小的值,并将所述第二标准时间(T2)设定为将所述之前的探测包的接收时间与当前探测包的接收时间之差最小的值作为基准而形成预定比率W2,其中W2>1。
求出所述单程时间的平均值的步骤包括如下步骤:所述接收终端从包含于已设定的大小的窗口范围内的单程时间值当中提取最小值;所述接收终端将提取的所述单程时间的最小值使用于求出所述单程时间的平均值。
根据本发明的实施例,接收由发送终端传送的探测包而测定单程时间(One-wayTrip Time:OTT),并由此计算网络传送速度,从而可以根据网络状态而用合适的传送速度传送数据。
而且,发送终端将之前的探测包的有效认证值添加于各探测包而传送,而接收终端利用有效认证值(Validation)为实(True)的探测包的时间戳而计算单程时间(OTT),从而可以防止由于发送终端将时间戳记录于探测包之后传送给接收终端之前有其他作业执行而产生的误差。
并且,探测包接收单元设定第二标准时间(T2),并只在当在套接字缓冲器中读取之前的探测包的时间与读取当前探测包的时间之差(DiffTime)超过第二标准时间(T2)时才计算单程时间(OTT),从而可以防止由于探测包在接收终端的套接字缓冲器中等待的时间而引起的误差。
而且,排队延迟计算单元利用从探测包接收单元接收的单程时间(OTT)值中的最小值而计算单程时间的平均值(SOTT),从而可以防止在测定在接收终端的套接字缓冲器中读取探测包的时间和当前时间的中间时段内有其他作业执行而产生的误差。
附图说明
图1为表示根据本发明的一个实施例的网络状态测定系统的图。
图2为表示根据本发明的一个实施例的探测包的构成的图。
图3为表示在根据本发明的一个实施例的网络状态测定系统中计算排队延迟的过程的图。
图4为表示根据本发明的一个实施例的发送终端和接收终端的构成的图。
图5为表示根据本发明的另一实施例的探测包的构成的图。
图6为表示根据本发明的一个实施例的排队延迟计算单元利用大小为3的窗口而提取单程时间(OTT)值中的最小值的状态的图。
图7为表示探测包在根据本发明的一个实施例的接收终端的套接字缓冲器中等待的状态的图。
图8为表示在根据本发明的一个实施例的网络状态测定方法中防止第一误差事件引起的误差的情形的顺序图。
图9为表示在根据本发明的一个实施例的网络状态测定方法中防止第二误差事件引起的误差的情形的顺序图。
图10为表示在根据本发明的一个实施例的网络状态测定方法中防止第三误差事件引起的误差的情形的顺序图。
图11为表示在根据本发明的一个实施例的网络状态测定方法中防止由第一误差事件至第三误差事件引起的误差的时间上的流程的图。
符号说明:
100:网络状态测定系统
102:发送终端 104:接收终端
111:数据分配单元 113:数据发送单元
115:探测包发送单元 117:传送速度控制单元
121:数据接收单元 123:探测包接收单元
125:数据整合单元 127:排队延迟计算单元
129:缓冲区队列计算单元 131:传送速度计算单元
具体实施方式
以下,参照图1至图11而对本发明的终端和利用该终端的网络状态测定系统及方法进行详细说明。然而这仅仅为示例性实施例,本发明并不局限于此。
在对本发明进行说明时,当认为对有关本发明的公知技术的具体说明有可能对本发明的主旨造成不必要的混乱,则省略其详细说明。另外,后述的术语均为考虑到在本发明中的功能而定义的术语,其可能因使用者、运用者的意图或惯例等而不同。因此要以整个说明书的内容为基础对其进行定义。
本发明的技术思想由权利要求书确定,以下的实施例只是用于将创新的本发明的技术思想有效地说明给本发明所属技术领域中具有普通知识的人员的一种方式。
图1为表示根据本发明的一个实施例的网络状态测定系统的图。
参照图1,网络状态测定系统100包括发送终端102和接收终端104。
发送终端102将探测包传送给接收终端104。此时,发送终端102可周期性地将探测包传送给接收终端104。在此,参照图2而对发送终端102传送的探测包的构成进行如下说明。
图2为表示根据本发明的一个实施例的探测包的构成的图。参照图2,探测包可包括第一头、第二头、数据、时间戳以及标尾之类的字段。第一头为网络协议头,其包含从网络协议栈的传输(Transport)层到物理(Physical)层所需的头信息。第二头为应用层的头,其包含用于在发送终端102中分离包而传送并在接收终端104中将接收的各个包进行组合所需的信息等。第二头中例如可包括各个包的序列号以及数据大小等信息。其中,第一头与第二头可形成为一个头。数据字段包括实际传送的数据。时间戳(Time stamp)字段包括相关的包得到传送的时间点的时间信息。标尾(Trailer)字段包括网络协议栈的标尾,然而并不局限于此,也可以包括应用层的标尾。
发送终端102可另行生成探测包而传送给接收终端104,然而并不局限于此,也可以将相关服务中产生的数据包本身使用为探测包。此时,可将所有的数据包使用为探测包,然而并不局限于此,也可以将数据包中的一部分使用为探测包。
接收终端104接收由发送终端102传送的探测包而测定单程时间(One-way TripTime:OTT)之后,利用测定出的单程时间而计算出网络状态测定变量(例如排队延迟、缓冲区队列、传送速度等)。接收终端104可将计算出的网络状态测定变量传送给发送终端102。在此情况下,发送终端102将会利用网络状态测定变量而控制数据包的传送速度。
当在发送终端102中控制数据包的传送速度时只需考虑正向排队延迟(即,由发送终端102向接收终端104传送包时的排队延迟),因此在接收终端104中将会利用从发送终端102接收的探测包而测定单程时间(OTT)。对于往返时间(Round Trip Time:RTT)而言,由于还包括反向排队延迟(即,由接收终端104向发送终端102传送包时的排队延迟),因此相比于使用往返时间(RTT),使用单程时间(OTT)的情况下能够求出更为准确的正向排队延迟。
具体而言,当接收终端104从发送终端102接收到探测包时,将从探测包的接收时间中减去探测包的时间戳的值估计为当前接收的探测包的单程时间(OTTnew)。接收终端104将当前接收的探测包的单程时间(OTTnew)与从发送终端102接收到探测包的时间点开始到目前为止测定的单程时间中的最小值(OTTmin)进行比较,从而可以更新单程时间的最小值(OTTmin)。此时,可将单程时间的最小值(OTTmin)视为排队延迟为0时的值。
接收终端104可通过如下的数学式1而求出当前接收的探测包的排队延迟(Queueing Delay:QD)。
[数学式1]
QD=OTTnew-OTTmin
即,接收终端104可将从当前接收的探测包的单程时间(OTTnew)中减去单程时间的最小值(OTTmin)的值作为当前接收的探测包的排队延迟。
然而在以一个探测包为单位而求出排队延迟的情况下产生误差的概率高,因此接收终端104可取代当前接收的探测包的单程时间(OTTnew)而使用单程时间的平均值(SOTT)。在此情况下,当前接收的第M个探测包的排队延迟(QDM)可通过如下的数学式2求出。
[数学式2]
QDM=SOTTM-OTTmin
其中,SOTTM表示从接收到探测包的时间点开始到当前接收到第M个探测包为止测定的单程时间的平均值。另外,SOTTM可通过如下的数学式3表示。
[数学式3]
SOTTM=(1-α)·SOTTM-1+α·OTTM(0≤α≤1)
其中,α为表示第M个探测包的单程时间(OTT)值反映在单程时间平均值的比率的加权值。
图3为表示在根据本发明的一个实施例的网络状态测定系统中计算排队延迟的过程的图。
参照图3,如果发送终端102周期性地传送探测包,则接收终端104将会接收探测包而计算排队延迟。发送终端102在传送探测包时,在探测包中记录时间戳(Time stamp)而传送。接收终端104在接收到第M个探测包时,利用从接收到探测包的当前时间(CurTimeM)减去相关探测包的时间戳(TimestampM)的值求出第M个探测包的单程时间(OTTM)。另外,接收终端104求出到第M个探测包为止的单程时间的最小值(OTTmin),并利用数学式3而求出到第M个探测包为止的单程时间的平均值(SOTTM),并利用数学式2而求出第M个探测包的排队延迟。其中,对于第一个探测包而言,由于没有在先的单程时间(OTT),因此设定为OTT1=SOTT1,然后可以从第二个探测包开始根据数学式3而求出第M个探测包的单程时间的平均值(SOTTM)。
另一方面,在由发送终端102传送探测包而由接收终端104接收探测包并计算网络状态测定变量的过程中,由接收终端104计算出的网络状态测定变量中可能会产生误差。即,在发送终端102和接收终端104执行网络状态测定操作的过程中,当通过操作系统(OS)而实现向其他进程的进程切换或者非定期性地执行无用单元收集(Garbage Collection)之类的作业时,将会出现预定的等待时间,而这样的等待时间会被反映在单程时间(OTT)值,所以在网络状态测定变量中将会产生误差。以下对网络状态测定变量中产生误差的情形进行具体说明。
(1)在由发送终端102在探测包中记录时间戳之后传送给接收终端104之前,如果有进程切换或者无用单元收集之类的其他作业的执行,则与记录于探测包中的时间戳相比滞后数毫秒~数十毫秒(msec)而传送探测包,因此在接收终端104所测定的单程时间(OTT)上将会产生误差(以下称为“第一误差事件”)。
(2)由于探测包在接收终端104的套接字缓冲器中等待的时间而可能会使单程时间(OTT)上产生误差。即,虽然接收终端104已接收探测包,却由于瞬时地执行其他作业或者其他探测包堆积在套接字缓冲器中而不能立即计算单程时间(OTT)而在套接字缓冲器中等待的情况下,由接收终端104测定的单程时间(OTT)上将会产生误差(以下称为“第二误差事件”)。
例如,在接收终端104已接收探测包却由于发生无用单元收集而使作业中断20ms时间的情况下,在相关时间内接收的探测包将全部堆积在接收终端104的套接字缓冲器中等待。在此情况下,当接收终端104测定单程时间(OTT)时将会包含套接字接口(Socket)等待时间,因此在单程时间(OTT)上将会产生误差。
(3)在测定从接收终端104的套接字缓冲器中读取探测包的时间和当前时间的中间时段内有其他作业执行的情况下,接收终端104所测定的单程时间(OTT)上将会产生误差(以下称为“第三误差事件”)。
以下对于能够在根据本发明的一个实施例的网络状态测定系统100中实现这种误差的最小化的方案进行说明。
图4为表示根据本发明的一个实施例的发送终端和接收终端的构成的图。
参照图4,发送终端102包括数据分配单元111、数据发送单元113、探测包发送单元115以及传送速度控制单元117。
数据分配单元111起到把想要传送给接收终端104的数据以包单位进行分割的作用。在此,数据包的全部或者一部分可被使用为探测包。在此情况下,数据分配单元111可将被分割的包分别分配给数据发送单元113以及探测包发送单元115。例如,当假定包的总数为NT而其中探测包数为NP(≤NT)时,探测包的比率(RT)成为RT=NP/NT。在此情况下,探测包是以在所有包中每1/RT个对应一个的方式得到传送。在由探测包发送单元115以相同间隔周期性地传送探测包时,数据分配单元111重复进行向探测包发送单元115传送一个包并向数据发送单元113传送(1/RT-1)个包的过程。在此,虽然以将数据包使用为探测包为例进行了说明,然而却不是局限于此,也可以另行生成探测包。
数据发送单元113起到将由数据分配单元111传递的数据包传送给接收终端104的作用。数据发送单元113将头信息添加于由数据分配单元111传递的数据包而传送给接收终端104。
探测包发送单元115可将由数据分配单元111传递的包作为探测包而传送给接收终端104。探测包发送单元115可在由数据分配单元111传递的包中添加头并将当前时间记录于时间戳而传送给接收终端104。然而并非局限于此,探测包发送单元115也可以另行生成探测包而传送给接收终端104。
另一方面,由探测包发送单元115传送的探测包中还可以包括有效认证字段,以防止第一误差事件引起的误差。即,如图5所示,探测包中可添加有效认证字段。其中,有效认证字段用于表示紧挨着相关探测包之前而先行传送的探测包的时间戳值的有效性。
例如,探测包发送单元115在由数据分配单元111传递的包中添加头并记录时间戳而传递给传送套接字之后立即求出当前时间。然后,探测包发送单元115求出当前时间与相关探测包的时间戳值之差。此时,如果当前时间与相关探测包的时间戳值之差超过已设定的第一标准时间(T1),则判断为在相关探测包中记录时间戳的时间点与传递给传送套接字的时间点之间介入了其他作业,并将有效认证值(Validation)设定为虚(False)。另外,如果当前时间与相关探测包的时间戳值之差为已设定的第一标准时间(T1)以下,则判断为在相关探测包中记录时间戳的时间点与传递给传送套接字的时间点之间没有介入其他作业,并将有效认证值设定为实(True)。其中,有效认证值是在传送下一探测包时将被记录于下一探测包的有效认证字段。即,当前探测包的时间戳值的有效与否将被记录于下一探测包的有效认证字段而得到传送。在此,可将操作系统的进程排程时间、无用单元收集平均需要时间、以及最大可允许误差时间中的至少一个作为基准而计算第一标准时间(T1)。
探测包发送单元115可在网络状态测定初期连续传送多个探测包,以防止由第二误差事件引起的误差。此时,在网络状态测定初期传送的多个探测包可被使用为测试包。有关于此的详细说明将会后述。
传送速度控制单元117可根据由接收终端104传送的网络状态测定变量而控制由数据发送单元113传送的数据包的传送速度。其中,网络状态测定变量可以是排队延迟、数据接收率、缓冲区队列、以及传送速度中的至少一种。例如,传送速度控制单元117在从接收终端104接收到排队延迟以及数据接收率时,可利用排队延迟以及数据接收率而计算缓冲区队列,并利用计算出的缓冲区队列而计算传送速度。此时,将会根据计算出的传送速度而控制由数据发送单元113传送的数据包的传送速度。另外,在由接收终端104接收到传送速度的情况下,传送速度控制单元117根据所接收的传送速度而控制由数据发送单元113传送的数据包的传送速度。在此情况下,根据网络状态而调节数据包的传送速度,从而可以提高数据传送效率。
在此,是将数据发送单元113和探测包发送单元115作为各自独立的构成部分而进行了说明,然而并不局限于此,数据发送单元113和探测包发送单元115也可以实现为一个构成部分。
再来参照图4,接收终端104包括:数据接收单元121、数据整合单元125、排队延迟计算单元127、缓冲区队列计算单元129、以及传送速度计算单元131。
数据接收单元121接收由数据发送单元113传送的数据包而传递给数据整合单元125。
探测包接收单元123接收由探测包发送单元115传送的探测包,并求出接收的探测包的单程时间(OTT)而传递给排队延迟计算单元127。并且,探测包接收单元123可将接收的探测包传递给数据整合单元125。
具体而言,探测包接收单元123在接收到探测包时,求出接收到各探测包的当前时间并确认所接收的探测包的有效认证字段,从而判断在相关探测包之前接收的探测包是否有效。例如,在当前接收的探测包的有效认证字段值为实(True)的情况下,探测包接收单元123将当前接收的探测包之前接收的探测包的时间戳(PreTimestamp)值判断为有效。此时,探测包接收单元123从之前接收的探测包的接收时间(PreTime)中减去之前接收的探测包的时间戳(PreTimestamp)值而求出之前接收的探测包的单程时间(OTT),并将其传递给排队延迟计算单元127。另外,在当前接收的探测包的有效认证字段值为虚(False)的情况下,探测包接收单元123将当前接收的探测包之前接收的探测包的时间戳(PreTimestamp)值判断为无效。此时,针对之前接收到的探测包,探测包接收单元123不会将其使用为求出单程时间(OTT)的样品。探测包接收单元123可以废弃无效的时间戳值。似此,只有在探测包的时间戳值有效的情况下才会求出相关探测包的单程时间(OTT)而传递给排队延迟计算单元127,从而可以防止第一误差事件引起的误差。
另一方面,为了防止第二误差事件引起的误差(即,由于探测包在接收终端104的套接字缓冲器中等待而引起的误差),探测包接收单元123可执行如下的操作。
探测包接收单元123求出从接收终端104的套接字缓冲器中读取之前的探测包的时间与读取当前探测包的时间之差。此时,探测包接收单元123从套接字缓冲器中读取探测包的时间成为相关探测包的接收时间。即,在本说明书中读取探测包的时间与探测包的接收时间可以使用为相同的含义。在此,如果读取之前的探测包的时间与读取当前探测包的时间之差不足已设定的第二标准时间(T2),则探测包接收单元123判断为当前探测包曾在接收终端104的套接字缓冲器中等待过,从而不会将其使用为求出单程时间(OTT)的样品。
此时,可将探测包之间的发送间隔作为基准而将第二标准时间(T2)设定为成预定比率W1(W1<1)。即,第二标准时间(T2)可表示为如以下的数学式4。
[数学式4]
T2=DiffSendTimeN,N-1×W1
其中,DiffSendTimeN,N-1表示第N个探测包的发送时间与第N-1个探测包的发送时间之差。
通常情况下,与探测包之间的发送间隔相比,在接收终端104中处理探测包的时间较为短,因此从接收终端104的套接字缓冲器中读取之前探测包的时间与读取当前探测包的时间之差(即,探测包之间的处理间隔)变为第二标准时间(T2)以上就意味着当前探测包在接收终端104的套接字缓冲器中未经等待时间而立即被处理的概率高。因此,探测包接收单元123将当前探测包使用为用于求出单程时间(OTT)的样品,并将当前探测包的单程时间(OTT)传递给排队延迟计算单元127。然而,如果从接收终端104的套接字缓冲器中读取之前探测包的时间与读取当前探测包的时间之差不足第二标准时间(T2),则当前探测包在接收终端104的套接字缓冲器中等待预定时间之后得到处理的概率变高。因此,探测包接收单元123不会将当前探测包使用为求出单程时间(OTT)的样品。
在此是对将探测包之间的发送间隔作为基准而将第二标准时间(T2)设定为成预定比率W1(W1<1)(以下称为基于第一方式的第二标准时间(T2))的情形进行了说明,然而并不局限于此,也可以用其他方式设定第二标准时间(T2)。例如,使多个探测包在接收终端104的套接字缓冲器中等待,并分别求出探测包接收单元123从套接字缓冲器中读取之前探测包的时间与读取当前探测包的时间之差(即,探测包之间的处理间隔)(DiffTime),然后可以将对其最小值(DiffTimeMIN)乘以预定比率W2(W2>1)的值设定为第二标准时间(T2)。以下,将其称为基于第二方式的第二标准时间(T2)。
再对基于第二方式的第二标准时间(T2)的设定过程进行说明,探测包发送单元115为了进行基于第二方式的第二标准时间(T2)设定而可以在网络状态测定初期将多个探测包连续地传送给接收终端104。于是,探测包将会堆积于接收终端104的套接字缓冲器。此时,探测包接收单元123读取堆积于套接字缓冲器中的各个探测包并求出读取之前探测包的时间与读取当前探测包的时间之差最小的值(DiffTimeMIN),并可以将对该最小值(DiffTimeMIN)乘以预定比率W2(W2>1)的值设定为第二标准时间(T2)。
似此,在设定基于第二方式的第二标准时间(T2)之后,探测包接收单元123求出从接收终端104的套接字缓冲器中读取之前探测包的时间与读取当前探测包的时间之差。此时,如果读取之前探测包的时间与读取当前探测包的时间之差为基于第二方式的第二标准时间(T2)以上,则探测包接收单元123判断为当前探测包在接收终端104的套接字缓冲器中未经等待时间而立即得到处理的概率高,从而将当前探测包使用为用于求出单程时间(OTT)的样品。相反,如果在接收终端104的套接字缓冲器中读取之前探测包的时间与读取当前探测包的时间之差不足基于第二方式的第二标准时间(T2),则探测包接收单元123判断为当前探测包在接收终端104的套接字缓冲器中等待预定时间之后得到处理的概率高,从而不会将当前探测包使用为求出单程时间(OTT)的样品。另一方面,探测包接收单元123还可以将基于第一方式的第二标准时间与基于第二方式的第二标准时间中的最大值设定为第二标准时间(T2)。
另一方面,在发送终端102中将数据包全部使用为探测包或者探测包之间的间隔很短的情况下,由发送终端102传送的探测包大部分将会在接收终端104的套接字缓冲器中等待。在此情况下,如果探测包接收单元123利用第二标准时间(T2)而求出单程时间(OTT),则可利用的探测包数变得很少。在此情况下,探测包接收单元123可以不执行基于第二误差事件的误差防止操作,而只执行基于第一误差事件的误差防止操作。即,探测包接收单元123可不进行基于第二误差事件的误差防止操作而只判断探测包的时间戳值是否有效并将时间戳值有效的探测包的单程时间(OTT)传递给排队延迟计算单元127。
数据整合单元125从数据接收单元121以及探测包接收单元123中提取包含于所接收的数据包和探测包中的数据,并利用数据包和探测包的头信息而将所提取的各个数据按照原来的顺序重新组合。在此情况下,将会构成与发送终端102的原数据相同的数据。
排队延迟计算单元127利用从探测包接收单元123接收到的各个探测包的单程时间(OTT)而计算相关探测包的排队延迟。此时,排队延迟计算单元127可利用数学式2和数学式3而计算探测包的排队延迟。
排队延迟计算单元127为了防止由第三误差事件引起的误差(即,在测定从接收终端104的套接字缓冲器中读取探测包的时间和当前时间的中间时段内有其他作业执行而产生的误差)而可以执行如下的操作。即,排队延迟计算单元127从探测包接收单元123接收用排除了由第一误差事件引起的误差以及由第二误差事件引起的误差的探测包的时间戳值计算出的单程时间(OTT)。然而在测定从接收终端104的套接字缓冲器中读取探测包的时间和当前时间的中间时段有其他作业执行的情况下,从探测包接收单元123接收的单程时间(OTT)值中将会包含由第三误差事件引起的误差。
对此,为了消除由第三误差事件引起的误差,排队延迟计算单元127采用在从探测包接收单元123接收的预定个数的单程时间(OTT)值当中只利用最小值而求出单程时间平均值(SOTT)的方式。这是基于以下的分析:(1)单程时间(OTT)的误差总是引起过大估计,却没有引起过小估计的情形;(2)由于过大估计的原因为其他进程的介入,因此连续地发生过大估计的情况很少。
具体而言,排队延迟计算单元127并不是将从探测包接收单元123接收的单程时间(OTT)值全都使用,而是可以留预定大小(N)的窗口而从包含于窗口内的单程时间(OTT)值中只利用最小值而计算出单程时间的平均值(SOTT)。
图6为表示根据本发明的一个实施例的排队延迟计算单元利用大小为3的窗口而提取单程时间(OTT)值中的最小值的状态的图。
参照图6的(a),排队延迟计算单元127可从探测包接收单元123依次接收第M个探测包、第M+1个探测包、第M+2个探测包、第M+3个探测包、第M+4个探测包的单程时间(OTT)。其中,大小为3的窗口可跨越在最近从探测包接收单元123接收的三个单程时间值(即,第M+2个探测包、第M+3个探测包、以及第M+4个探测包的单程时间值)。
排队延迟计算单元127在从探测包接收单元123接收到第M+4个探测包的单程时间(OTT)的情况下,并不是将第M+4个探测包的单程时间(OTT)值直接利用于计算单程时间的平均值(SOTT),而是将在包含于窗口内的三个单程时间值当中具有最小值的第M+2个探测包的单程时间(OTT)值(即,71ms)代入数学式3而计算单程时间的平均值(SOTT)。
参照图6的(b),在从探测包接收单元123接收到第M+5个探测包的单程时间(OTT)的情况下,大小为3的窗口将会移动,以包含最近从探测包接收单元123接收的三个单程时间值(即,第M+3个探测包、第M+4个探测包、以及第M+5个探测包的单程时间值)。在此情况下,排队延迟计算单元127将在包含于窗口内的三个单程时间值当中具有最小值的第M+5个探测包的单程时间(OTT)值(即,72ms)代入数学式3而计算出单程时间的平均值(SOTT)。
如果采用这种方式,则根据窗口的大小(N)而阻断最多包含N-1个连续误差的单程时间(OTT)值,从而可以防止由第三误差事件引起的误差。然而在排队延迟增加的趋势下,即使单程时间(OTT)中并没有包含误差,也总是需要延迟与N-1个探测包一样多的量而计算单程时间的平均值(SOTT),因此不应该将窗口的大小设定为过大,而是要根据发生连续误差的情况的频率而调整窗口的大小。
另一方面,在从探测包接收单元123接收未执行防止基于第二误差事件的误差的操作的、时间戳值有效的探测包的单程时间(OTT)的情况下,排队延迟计算单元127可利用已设定的时间内收集的单程时间(OTT)中的最小值而计算出单程时间的平均值(SOTT)。
图7为表示根据本发明的一个实施例的探测包在接收终端的套接字缓冲器中等待的状态的图。
参照图7,在发送终端102中将数据包全部使用为探测包或者探测包之间的间隔很短的情况下,由发送终端102传送的探测包大部分将会在接收终端104的套接字缓冲器中等待。在此,以t(ms)为基准示出各探测包的到达时间,并图示出各探测包以1ms间隔到达的情形。在图中括号里面表示相关探测包的等待时间。
似此,在接收终端104的套接字缓冲器中有探测包堆积而等待的情况下,如果将所有探测包反映在排队延迟的计算,则产生平均4ms的误差,从而发生排队延迟的过大估计。对此,排队延迟计算单元127利用已设定的时间内收集的单程时间(OTT)中的最小值而计算单程时间的平均值(SOTT),从而可以使套接字缓冲器中的等待时间引起的误差最小化。
缓冲区队列计算单元129利用排队延迟计算单元127所计算出的排队延迟而计算缓冲区队列。缓冲区队列计算单元129可对预定期间内的数据接收率乘以排队延迟而计算出缓冲区队列。其中,预定期间既能够以包的个数单位进行设定,也能够以时间单位进行设定。
传送速度计算单元131利用缓冲区队列计算单元129所计算出的缓冲区队列而计算传送速度。传送速度计算单元131可将计算出的传送速度传送给发送终端102。在此,虽然是对传送速度计算单元131将计算出的传送速度传送给发送终端102的情形进行了说明,然而并不局限于此,也可以将排队延迟和数据接收率传送给发送终端102。
而且,在此是将数据接收单元121和探测包接收单元123作为各自独立的构成部分进行了说明,然而并不局限于此,数据接收单元121和探测包接收单元123也可以实现为一个构成部分。
图8为表示在根据本发明的一个实施例的网络状态测定方法中防止第一误差事件引起的误差的情形的顺序图。
参照图8,探测包发送单元115在探测包中添加有效认证字段并记录时间戳(S101)。此时,探测包既可以是由数据分配单元111传递的数据包,也可以是由探测包发送单元115另行生成的包。
然后,探测包发送单元115求出当前时间与相关探测包的时间戳值之差,并确认当前时间与相关数据包的时间戳值之差是否超过已设定的第一标准时间(T1)(S103)。
在步骤S103的确认结果,如果当前时间与相关探测包的时间戳值之差超过已设定的第一标准时间(T1),则探测包发送单元115将有效认证值设定为虚(False),并将对应的有效认证值记录于下一探测包的有效认证字段(S105)。
在步骤S103的确认结果,如果当前时间与相关探测包的时间戳值之差没有超过已设定的第一标准时间(T1),则探测包发送单元115将有效认证值设定为实(True),并将对应的有效认证值记录于下一探测包的有效认证字段(S107)。
探测包发送单元115针对各探测包执行步骤S101至步骤S107的过程之后,将各探测包传送给接收终端104。于是,接收终端104的探测包接收单元123将会接收各探测包(S109)。此时,探测包接收单元123求出各探测包的接收时间并进行存储。
然后,探测包接收单元123确认当前接收的探测包的有效认证值是否为实(True)(S111)。
步骤S111的确认结果,如果当前接收的探测包的有效认证值为实(True),则探测包接收单元123将之前的探测包的时间戳值判断为有效,并从之前的探测包的接收时间中减去之前的探测包的时间戳值而计算单程时间(OTT)(S113)。探测包接收单元123将计算出的单程时间(OTT)传递给排队延迟计算单元127(S115)。
步骤S111的确认结果,如果当前接收的探测包的有效认证值不是实(True)(即,虚(False)的情况),探测包接收单元123将之前的探测包的时间戳值判断为无效,并将相关探测包传递给数据整合单元125(S117)。此时,相关探测包不会被使用为求出单程时间(OTT)的样品。
似此,由发送终端102在各个探测包中添加之前的探测包的有效认证值并传送,并由接收终端104利用有效认证值为实(True)的探测包的时间戳而计算单程时间(OTT),从而可以防止由第一误差事件引起的误差(即,由于发送终端102在探测包中记录时间戳之后传送给接收终端104之前有其他作业执行而产生的误差)。
图9为表示在根据本发明的一个实施例的网络状态测定方法中防止第二误差事件引起的误差的情形的顺序图。
参照图9,探测包接收单元123设定第二标准时间(T2)(S201)。此时,探测包接收单元123可对探测包之间的发送间隔乘以预定比率W1(W1<1)而设定第二标准时间(T2)(基于第一方式的第二标准时间)。另外,探测包接收单元123读取堆积于接收终端104的套接字缓冲器中的各探测包,并求出读取之前的探测包的时间与读取当前探测包的时间之差最小的值(DiffTimeMIN),并可将对该最小值(DiffTimeMIN)乘以预定比率W2(W2>1)的值设定为第二标准时间(T2)(基于第二方式的第二标准时间)。并且,探测包接收单元123还可以将基于第一方式的第二标准时间与基于第二方式的第二标准时间中的最大值设定为第二标准时间(T2)。
然后,探测包接收单元123接收由发送终端102传送的探测包(S203)。
然后,求出探测包接收单元123从接收终端104的套接字缓冲器中读取之前的探测包的时间与读取当前探测包的时间之差(DiffTime)(S205)。
然后,确认探测包接收单元123读取之前的探测包的时间与读取当前探测包的时间之差(DiffTime)是否超过已设定的第二标准时间(T2)(S207)。
步骤S207的确认结果,如果读取之前的探测包的时间与读取当前探测包的时间之差(DiffTime)超过已设定的第二标准时间(T2),则探测包接收单元123判断为不存在相关探测包在套接字缓冲器中等待的时间,据此从相关探测包的接收时间中减去相关探测包的时间戳值而计算单程时间(OTT)(S209)。探测包接收单元123将计算出的单程时间(OTT)传递给排队延迟计算单元127(S211)。
步骤S207的确认结果,如果读取之前的探测包的时间与读取当前探测包的时间之差(DiffTime)没有超过已设定的第二标准时间(T2),则探测包接收单元123判断为存在相关探测包在套接字缓冲器中等待的时间,并将相关探测包传递给数据整合单元125(S213)。此时,相关探测包不会被使用为求出单程时间(OTT)的样品。
似此,探测包接收单元123设定第二标准时间(T2),并只在从套接字缓冲器中读取之前的探测包的时间与读取当前探测包的时间之差(DiffTime)超过第二标准时间(T2)的情况下才计算单程时间(OTT),从而可以防止第二误差事件引起的误差(即,由于探测包在接收终端104的套接字缓冲器中等待的时间而产生的误差)。
图10为表示在根据本发明的一个实施例的网络状态测定方法中防止第三误差事件引起的误差的情形的顺序图。
参照图10,排队延迟计算单元127设定窗口的大小(N)(S301)。此时,排队延迟计算单元127可根据产生连续误差的情形的频率而设定窗口的大小(N)。
然后,排队延迟计算单元127利用从探测包接收单元123接收的单程时间(OTT)值中的最小值而计算单程时间的平均值(SOTT)(S303)。即,假设排队延迟计算单元127利用如下的数学式5而求出单程时间的新的平均值(SOTTNEW)时,将会把从探测包接收单元123接收的单程时间(OTT)值中的最小值代入到OTTNEW而求出单程时间的新平均值(SOTTNEW)。
[数学式5]
SOTTNEW=(1-α)·SOTTOLD+α·OTTNEW(0≤α≤1)
然后,排队延迟计算单元127通过单程时间的新平均值(SOTTNEW)与单程时间中的最小值(OTTmin)之差而计算排队延迟(S305)。
似此,排队延迟计算单元127利用从探测包接收单元123接收的单程时间(OTT)值中的最小值而计算单程时间平均值(SOTT),从而可以防止在测定从接收终端104的套接字缓冲器中读取探测包的时间和当前时间的中间时段有其他作业执行而产生的误差。
图11为表示在根据本发明的一个实施例的网络状态测定方法中防止由第一误差事件至第三误差事件引起的误差的时间上的流程的图。
参照图11,探测包发送单元115每当传送第M个探测包时在第M个探测包的有效认证字段中记录用于表示第M-1个探测包的时间戳值是否有效的有效认证值,并传送给探测包接收单元123。于是,探测包接收单元123将会通过当前接收的第M个探测包中包含的有效认证值而判断第M-1个接收的探测包的时间戳值是否有效。
在接收到第一个探测包的情况下,探测包接收单元123由于没有可供确认是否有效的之前的探测包而将第一个探测包的接收时间(CurTime1)和第一个探测包的时间戳值(Timestamp1)进行保存。
在接收到第二个探测包的情况下,由于第二个探测包的有效认证字段中记录有虚(Validation1=False),因此探测包接收单元123判断为第一个探测包中包含有第一误差事件引起的误差,从而废弃第一个探测包的时间戳值(Timestamp1)。
在接收到第三个探测包的情况下,由于第三个探测包的有效认证字段中记录有实(Validation2=True),因此探测包接收单元123判断为第二个探测包中不包含第一误差事件引起的误差。即,判断为第二个探测包的时间戳(Timestamp2)值有效。另外,由于第二个探测包的接收时间(CurTime2)与第一个探测包的接收时间(CurTime1)之差超过已设定的第二标准时间(T2),因此探测包接收单元123判断为第二个探测包中不包含第二误差事件引起的误差。此时,探测包接收单元123通过第二个探测包的接收时间(CurTime2)与第二个探测包的时间戳(Timestamp2)之差而求出第一单程时间(OTT1),并传递给排队延迟计算单元127。由于第一单程时间(OTT1)为第一个单程时间值,因此排队延迟计算单元127将第一单程时间(OTT1)设定为第一单程时间平均值(SOTT1)。
在接收到第四个探测包的情况下,由于第四个探测包的有效认证字段中记录有实(Validation3=True),因此探测包接收单元123判断为第三个探测包中不包含第一误差事件引起的误差。即,判断为第三个探测包的时间戳(Timestamp3)值有效。然而,由于第三个探测包的接收时间(CurTime3)与第二个探测包的接收时间(CurTime2)之差没有超过已设定的第二标准时间(T2),因此探测包接收单元123判断为第三个探测包中包含有第二误差事件引起的误差,并废弃第三个探测包的时间戳(Timestamp3)值。
在接收到第五个探测包的情况下,由于第五个探测包的有效认证字段中记录有实(Validation4=True),因此探测包接收单元123判断为第四个探测包中不包含第一误差事件引起的误差。即,判断为第四个探测包的时间戳(Timestamp4)值有效。另外,由于第四个探测包的接收时间(CurTime4)与第三个探测包的接收时间(CurTime3)之差超过已设定的第二标准时间(T2),因此探测包接收单元123判断为第四个探测包中不包含第二误差事件引起的误差。此时,探测包接收单元123通过第四个探测包的接收时间(CurTime4)与第四个探测包的时间戳(Timestamp4)之差而求出第二单程时间(OTT2),并传递给排队延迟计算单元127。在此情况下,排队延迟计算单元127中会有第一单程时间(OTT1)与第二单程时间(OTT2)这两个单程时间(OTT)样品,因此排队延迟计算单元127将会利用第一单程时间(OTT1)与第二单程时间(OTT2)中的最小值而求出第二单程时间平均值(SOTT2)。
以上已通过代表性实施例而对本发明进行了详细说明,然而本发明所属的技术领域中具有普通知识的人员会理解能够在不脱离本发明范围的限度内对所述的实施例进行多种多样的变形。因此本发明的权利范围不能局限于所述的实施例而确定,而是要根据权利要求书及其等价内容来确定。

Claims (31)

1.一种网络状态测定系统,包括:
发送终端,传送探测包;
接收终端,接收所述探测包而测定各探测包的单程时间,并利用测定的所述单程时间的平均值以及所述单程时间中的最小值而计算排队延迟,
所述单程时间的平均值是通过如下的数学式1而计算:
[数学式1]
SOTTM=(1-α)·SOTTM-1+α·OTTM
其中,0≤α≤1,且SOTTM为到第M个探测包为止的单程时间的平均值,SOTTM-1为到第M-1个探测包为止的单程时间的平均值,OTTM为第M个探测包的单程时间,α为表示第M个探测包的单程时间值反映在单程时间的平均值的比率的加权值。
2.如权利要求1所述的网络状态测定系统,其中,所述探测包中包含有效认证字段,且所述发送终端通过将把所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差和已设定的第一标准时间进行比较而设定有效认证值,并将设定的有效认证值记录于下一探测包的有效认证字段而传送。
3.如权利要求2所述的网络状态测定系统,其中,所述发送终端在将所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差超过已设定的第一标准时间的情况下,将所述有效认证值设定为“虚”,而在将所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差为已设定的第一标准时间以下的情况下,将所述有效认证值设定为“实”。
4.如权利要求2所述的网络状态测定系统,其中,所述接收终端根据记录于接收的所述探测包的有效认证字段中的有效认证值而判断在所述探测包之前接收的探测包的时间戳值是否有效,并利用判断为有效的时间戳值而测定所述单程时间。
5.如权利要求2所述的网络状态测定系统,其中,所述第一标准时间是以所述发送终端的进程排程时间、无用单元收集平均需要时间、以及最大可允许误差时间中的至少一个为基准而设定。
6.如权利要求1所述的网络状态测定系统,其中,所述接收终端通过将之前的探测包的接收时间与当前探测包的接收时间之差和已设定的第二标准时间进行比较而确定是否测定当前探测包的单程时间。
7.如权利要求6所述的网络状态测定系统,其中,所述接收终端在所述之前的探测包的接收时间与当前探测包的接收时间之差为所述第二标准时间以上的情况下,利用当前探测包的时间戳值而测定单程时间,而在所述之前的探测包的接收时间与当前探测包的接收时间之差不足所述第二标准时间的情况下,废弃当前探测包的时间戳值。
8.如权利要求6所述的网络状态测定系统,其中,所述第二标准时间被设定为以之前的探测包与当前探测包的发送间隔为基准而形成预定比率W1,其中W1<1。
9.如权利要求6所述的网络状态测定系统,其中,所述第二标准时间被设定为将使得之前的探测包的接收时间与当前探测包的接收时间之差成为最小的值作为基准而形成预定比率W2,其中W2>1。
10.如权利要求1所述的网络状态测定系统,其中,所述接收终端将包含于已设定的大小的窗口范围内的单程时间值中的最小值使用于求出所述单程时间的平均值。
11.一种网络状态测定系统中的发送终端,包括:
数据发送单元,将数据包传送给外部终端;
探测包发送单元,将添加上有效认证字段的探测包传送给所述外部终端,以使所述外部终端利用所述探测包而测定各探测包的单程时间并利用所述单程时间而计算排队延迟;
传送速度控制单元,根据从所述外部终端接收的网络状态测定变量而控制所述数据发送单元的数据包传送速度,
其中,所述探测包发送单元通过将把所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差和已设定的第一标准时间进行比较而设定有效认证值,并将设定的有效认证值记录于下一探测包的有效认证字段而传送,
所述外部终端利用测定的所述单程时间的平均值以及所述单程时间中的最小值而计算排队延迟,
所述单程时间的平均值是通过如下的数学式1而计算:
[数学式1]
SOTTM=(1-α)·SOTTM-1+α·OTTM
其中,0≤α≤1,且SOTTM为到第M个探测包为止的单程时间的平均值,SOTTM-1为到第M-1个探测包为止的单程时间的平均值,OTTM为第M个探测包的单程时间,α为表示第M个探测包的单程时间值反映在单程时间的平均值的比率的加权值。
12.如权利要求11所述的网络状态测定系统中的发送终端,其中,所述探测包发送单元在将所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差超过已设定的第一标准时间的情况下,将所述有效认证值设定为“虚”,而在将所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差为已设定的第一标准时间以下的情况下,将所述有效认证值设定为“实”。
13.如权利要求11所述的网络状态测定系统中的发送终端,其中,所述第一标准时间是以所述终端的进程排程时间、无用单元收集平均需要时间、以及最大可允许误差时间中的至少一个为基准而设定。
14.一种网络状态测定系统中的接收终端,包括:
探测包接收单元,接收探测包,并利用接收的所述探测包测定单程时间;
排队延迟计算单元,求出从所述探测包接收单元接收的单程时间的平均值,并利用所述单程时间的平均值以及从所述探测包接收单元接收的单程时间中的最小值而计算排队延迟,
所述排队延迟计算单元通过如下的数学式2计算所述单程时间的平均值:
[数学式2]
SOTTM=(1-α)·SOTTM-1+α·OTTM
其中,0≤α≤1,且SOTTM为到第M个探测包为止的单程时间的平均值,SOTTM-1为到第M-1个探测包为止的单程时间的平均值,OTTM为第M个探测包的单程时间,α为表示第M个探测包的单程时间值反映在单程时间的平均值的比率的加权值。
15.如权利要求14所述的网络状态测定系统中的接收终端,其中,所述探测包接收单元根据记录于所接收的所述探测包的有效认证字段中的有效认证值而判断在所述探测包之前接收的探测包的时间戳值是否有效,并利用判断为有效的时间戳值而测定所述单程时间。
16.如权利要求14所述的网络状态测定系统中的接收终端,其中,所述探测包接收单元通过将之前的探测包的接收时间与当前探测包的接收时间之差和已设定的第二标准时间进行比较而确定是否测定当前探测包的单程时间。
17.如权利要求16所述的网络状态测定系统中的接收终端,其中,所述探测包接收单元在所述之前的探测包的接收时间与当前探测包的接收时间之差为所述第二标准时间以上的情况下,利用当前探测包的时间戳值而测定单程时间,而在所述之前的探测包的接收时间与当前探测包的接收时间之差不足所述第二标准时间的情况下,废弃当前探测包的时间戳值。
18.如权利要求16所述的网络状态测定系统中的接收终端,其中,所述第二标准时间被设定为以之前的探测包与当前探测包的发送间隔为基准而形成预定比率W1,其中W1<1。
19.如权利要求16所述的网络状态测定系统中的接收终端,其中,所述第二标准时间被设定为将使得之前的探测包的接收时间与当前探测包的接收时间之差成为最小的值作为基准而形成预定比率W2,其中W2>1。
20.如权利要求14所述的网络状态测定系统中的接收终端,其中,所述排队延迟计算单元将包含于已设定的大小的窗口范围内的单程时间值中的最小值使用于求出所述单程时间的平均值。
21.一种网络状态测定方法,包括如下步骤:
发送终端传送探测包;
接收终端接收所述探测包而测定单程时间;
所述接收终端求出所述单程时间的平均值,并利用所述单程时间的平均值以及所述单程时间中的最小值而计算排队延迟,
在求出所述单程时间的平均值的步骤中,通过如下的数学式3而进行计算:
[数学式3]
SOTTM=(1-α)·SOTTM-1+α·OTTM
其中,0≤α≤1,且SOTTM为到第M个探测包为止的单程时间的平均值,SOTTM-1为到第M-1个探测包为止的单程时间的平均值,OTTM为第M个探测包的单程时间,α为表示第M个探测包的单程时间值反映在单程时间的平均值的比率的加权值。
22.如权利要求21所述的网络状态测定方法,其中,传送所述探测包的步骤包括如下步骤:
所述发送终端在所述探测包中添加有效认证字段;
所述发送终端将把所述探测包传送给传送套接字接口的时间点的当前时间与所述探测包的时间戳值之差和已设定的第一标准时间进行比较;
所述发送终端根据所述比较的结果而设定有效认证值,并将设定的有效认证值记录于下一探测包的有效认证字段而传送。
23.如权利要求22所述的网络状态测定方法,其中,测定所述单程时间的步骤包括如下步骤:
所述接收终端根据记录于所述探测包的有效认证字段中的有效认证值而判断在所述探测包之前接收的探测包的时间戳值是否有效;
所述接收终端利用判断为有效的时间戳值而测定所述单程时间。
24.如权利要求22所述的网络状态测定方法,其中,所述第一标准时间是以所述发送终端的进程排程时间、无用单元收集平均需要时间、以及最大可允许误差时间中的至少一个为基准而设定。
25.如权利要求21所述的网络状态测定方法,其中,测定所述单程时间的步骤包括如下步骤:
所述接收终端通过将之前的探测包的接收时间与当前探测包的接收时间之差和已设定的第二标准时间进行比较而确定是否测定当前探测包的单程时间。
26.如权利要求25所述的网络状态测定方法,其中,确定是否测定所述单程时间的步骤包括如下步骤:
所述接收终端确认所述之前的探测包的接收时间与当前探测包的接收时间之差是否为所述第二标准时间以上;
当所述之前的探测包的接收时间与当前探测包的接收时间之差为所述第二标准时间以上时,所述接收终端利用当前探测包的时间戳值而测定单程时间。
27.如权利要求26所述的网络状态测定方法,其中,确定是否测定所述单程时间的步骤包括如下步骤:
在所述之前的探测包的接收时间与当前探测包的接收时间之差不足所述第二标准时间的情况下,所述接收终端废弃当前探测包的时间戳值。
28.如权利要求25所述的网络状态测定方法,其中,所述第二标准时间被设定为以之前的探测包与当前探测包的发送间隔为基准而形成预定比率W1,其中W1<1。
29.如权利要求25所述的网络状态测定方法,其中,所述第二标准时间被设定为将使得之前的探测包的接收时间与当前探测包的接收时间之差成为最小的值作为基准而形成预定比率W2,其中W2>1。
30.如权利要求29所述的网络状态测定方法,其中,确定是否测定所述单程时间的步骤包括如下步骤:
所述发送终端连续传送多个探测包;
所述接收终端接收所述多个探测包,并分别求出之前的探测包的接收时间与当前探测包的接收时间之差;
所述接收终端求出之前的探测包的接收时间与当前探测包的接收时间之差最小的值,并将所述第二标准时间设定为将所述之前的探测包的接收时间与当前探测包的接收时间之差最小的值作为基准而形成预定比率W2,其中W2>1。
31.如权利要求21所述的网络状态测定方法,其中,求出所述单程时间的平均值的步骤包括如下步骤:
所述接收终端从包含于已设定的大小的窗口范围内的单程时间值当中提取最小值;
所述接收终端将提取的所述单程时间的最小值使用于求出所述单程时间的平均值。
CN201410238312.6A 2013-05-30 2014-05-30 终端和利用该终端的网络状态测定系统及方法 Active CN104219106B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0062074 2013-05-30
KR20130062074A KR101468624B1 (ko) 2013-05-30 2013-05-30 단말기와 이를 이용한 네트워크 상태 측정 시스템 및 방법

Publications (2)

Publication Number Publication Date
CN104219106A CN104219106A (zh) 2014-12-17
CN104219106B true CN104219106B (zh) 2018-10-12

Family

ID=51984997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410238312.6A Active CN104219106B (zh) 2013-05-30 2014-05-30 终端和利用该终端的网络状态测定系统及方法

Country Status (3)

Country Link
US (1) US9559927B2 (zh)
KR (1) KR101468624B1 (zh)
CN (1) CN104219106B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330761B (zh) * 2015-06-30 2020-09-15 中兴通讯股份有限公司 基于队列时延的拥塞控制方法及装置
JP2018156263A (ja) * 2017-03-16 2018-10-04 東芝メモリ株式会社 メモリシステム、メモリコントローラおよびメモリシステムの制御方法
CN110224845B (zh) * 2018-03-01 2022-04-22 华为技术有限公司 定界传输故障的方法、系统以及相关设备
CN109274577A (zh) * 2018-08-31 2019-01-25 李志诚 定时信息发送方法及系统
CN110890999B (zh) * 2019-11-06 2022-02-01 思必驰科技股份有限公司 基于Socket Connect的网络监控方法及系统
CN111935309B (zh) * 2020-09-17 2020-12-29 武汉中科通达高新技术股份有限公司 一种循环任务管理方法及装置
CN113067750B (zh) * 2021-03-24 2023-05-30 北京字节跳动网络技术有限公司 带宽测量方法、设备及电子设备
CN113992297B (zh) * 2021-12-06 2022-05-03 网络通信与安全紫金山实验室 网络时延的确定方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1725760A (zh) * 2004-07-22 2006-01-25 Lg电子株式会社 测量可变位速率多媒体数据的往返延迟时间的设备与方法
CN102449940A (zh) * 2009-05-18 2012-05-09 三星电子株式会社 执行节点之间的时间同步的网络同步方法及装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5477531A (en) * 1991-06-12 1995-12-19 Hewlett-Packard Company Method and apparatus for testing a packet-based network
US5570346A (en) * 1994-12-08 1996-10-29 Lucent Technologies Inc. Packet network transit delay measurement system
US6701372B2 (en) * 1997-08-22 2004-03-02 Canon Kabushiki Kaisha Data communication apparatus and method
US7133911B1 (en) * 2000-03-06 2006-11-07 Compuware Corporation Response time analysis of network performance
US7574504B2 (en) * 2001-03-05 2009-08-11 Compuware Corporation Characterizing application performance within a network
US7327676B2 (en) * 2001-10-11 2008-02-05 Nippon Telegraph And Telephone Corporation Data transmission control method, program therefor and data transmission unit using the same
KR20030039428A (ko) * 2001-11-13 2003-05-22 학교법인대우학원 패킷 지연을 기반으로 하는 라우팅 방법
DE10210712A1 (de) * 2002-03-12 2003-10-02 Deutsche Telekom Ag Verfahren zur Übertragung von Messdaten von einem Messrechner zu einem Steuerrechner eines Messsystems
US7701851B2 (en) * 2005-07-20 2010-04-20 Vidyo, Inc. System and method for the control of the transmission rate in packet-based digital communications
US8098603B2 (en) * 2005-09-30 2012-01-17 Intel Corporation Bandwidth adaptation in a wireless network
KR101376460B1 (ko) * 2007-12-06 2014-03-20 재단법인서울대학교산학협력재단 통신 시스템에서 패킷 전송 장치 및 방법
KR20100062840A (ko) * 2008-12-02 2010-06-10 한국전자통신연구원 인터넷 전화 사용자 체감 품질 측정 시스템, 방법 및 사후 처리 방법
GB2466208B (en) * 2008-12-11 2013-09-11 Skype Controlling packet transmission
EP2302845B1 (en) * 2009-09-23 2012-06-20 Google, Inc. Method and device for determining a jitter buffer level
JP5519683B2 (ja) * 2009-09-30 2014-06-11 パナソニック株式会社 送信装置、受信装置、送受信システム、及び送受信方法
US8385212B2 (en) * 2009-12-07 2013-02-26 Symmetricom, Inc. Method and apparatus for finding latency floor in packet networks
US8812739B2 (en) * 2009-12-17 2014-08-19 Cisco Technology, Inc. Recalibration of precision clocks in a computer network
GB2478277B (en) * 2010-02-25 2012-07-25 Skype Ltd Controlling packet transmission
GB201003206D0 (en) * 2010-02-25 2010-04-14 Skype Ltd Method of estimating congestion
US8553540B2 (en) * 2010-03-05 2013-10-08 Microsoft Corporation Congestion control for delay sensitive applications
US8446896B2 (en) * 2010-04-21 2013-05-21 Lsi Corporation Time synchronization using packet-layer and physical-layer protocols
US8976778B2 (en) * 2010-04-21 2015-03-10 Lsi Corporation Time synchronization using packet-layer and physical-layer protocols
US9088510B2 (en) * 2010-12-17 2015-07-21 Microsoft Technology Licensing, Llc Universal rate control mechanism with parameter adaptation for real-time communication applications
US8644348B2 (en) * 2011-04-20 2014-02-04 Symmetricom, Inc. Method for generating a robust timing correction in timing transfer systems
KR101252006B1 (ko) * 2011-09-28 2013-04-08 한국과학기술원 종단간 망 경로의 대역 측정 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1725760A (zh) * 2004-07-22 2006-01-25 Lg电子株式会社 测量可变位速率多媒体数据的往返延迟时间的设备与方法
CN102449940A (zh) * 2009-05-18 2012-05-09 三星电子株式会社 执行节点之间的时间同步的网络同步方法及装置

Also Published As

Publication number Publication date
US20140355464A1 (en) 2014-12-04
KR101468624B1 (ko) 2014-12-04
US9559927B2 (en) 2017-01-31
CN104219106A (zh) 2014-12-17

Similar Documents

Publication Publication Date Title
CN104219106B (zh) 终端和利用该终端的网络状态测定系统及方法
CN100356733C (zh) 记录介质、故障分析设备以及故障分析方法
US20120163191A1 (en) Network state monitoring system
US20140369195A1 (en) Congestion avoidance and control for udp-based protocols
WO2008114214A3 (en) Techniques for improved error detection in a wireless communication system
US7676561B1 (en) Method and apparatus for adaptive load balancing
CN104243094A (zh) 用于使用感测指示来适配应用层协议的特性的系统和方法
US10432492B2 (en) Method and apparatus for analyzing communication quality, and non-transitory computer-readable storage medium
AU2003300172A1 (en) System and method for measuring middleware response time
CN103023703A (zh) 基于M/M/s排队模型的网络及时可靠性加速试验方法
EP3070974B1 (en) Transmission module, information transmission network system, information transmission method, and information transmission program
JP4927180B2 (ja) ユーザ待ち時間推定装置、ユーザ待ち時間推定方法、及びプログラム
CN108076480A (zh) 通信终端以及通信系统
JP7003467B2 (ja) パケット分類プログラム、パケット分類方法およびパケット分類装置
JP4722137B2 (ja) 少なくとも3つの無線送受信機装置を含むシステムでの無線通信フレームの処理
CN113039760A (zh) 对网络路径的拥塞中的拐点的确定
CN109842511A (zh) 一种tcp性能参数的确定方法及系统
JP2015195511A (ja) パケット解析プログラム、パケット解析装置およびパケット解析方法
EP3229217A1 (en) Sink node, sensor network system, information collecting method and information collecting program
US10484902B2 (en) Communication apparatus, data processing system, and communication method
JP5190498B2 (ja) 中継装置、中継システム、及び中継プログラム
JP2011142474A (ja) ユーザ待ち時間推定装置、ユーザ待ち時間推定方法、及びプログラム
US20180176283A1 (en) Control device, control method, and computer-readable recording medium
US20240113955A1 (en) Measuring apparatus, method for measuring, and recorded program medium
WO2022102050A1 (ja) センサ収容端末、切断判定方法および切断判定プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant