CN101523825B - 流量控制方法以及用于该方法的发送终端、接收终端和分组传送系统 - Google Patents

流量控制方法以及用于该方法的发送终端、接收终端和分组传送系统 Download PDF

Info

Publication number
CN101523825B
CN101523825B CN200780036883XA CN200780036883A CN101523825B CN 101523825 B CN101523825 B CN 101523825B CN 200780036883X A CN200780036883X A CN 200780036883XA CN 200780036883 A CN200780036883 A CN 200780036883A CN 101523825 B CN101523825 B CN 101523825B
Authority
CN
China
Prior art keywords
grouping
receiving terminal
terminal
way time
rtt
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.)
Expired - Fee Related
Application number
CN200780036883XA
Other languages
English (en)
Other versions
CN101523825A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN101523825A publication Critical patent/CN101523825A/zh
Application granted granted Critical
Publication of CN101523825B publication Critical patent/CN101523825B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss

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

公开了即使在通过多个接收终端的中继传送分组的成串传送时,也不会计算出较大的分组的往返时间,不使性能上出现不必要以上的劣化的流量控制方法。该方法为通过多个接收终端的中继进行分组的分发时的流量控制方法,包括以下的步骤:对所述分发的路径上每个邻接的终端的组,获得分组在该组的终端之间往返时的往返时间(S501~S517);基于预先决定的基准,从所述获得的往返时间中选择任意一个往返时间;以及根据所述选择出的往返时间,计算分组的发送速率(S518),由此计测各个接收终端之间的分组的往返时间,并基于该计测结果计算发送速率。由此,不会极大地计算分组的往返时间,能够提高数据传输的性能。

Description

流量控制方法以及用于该方法的发送终端、接收终端和分组传送系统
技术领域
本发明涉及利用分组对多个终端分发视频或语音等数据的流量控制方法以及用于该方法的发送终端、接收终端和分组传送系统。
背景技术
在通过网络,利用分组对多个终端分发数据时,根据网络的状况或接收终端的状况,需要控制要发送的数据的流量。
尤其,在通过因特网分发数据时,需要与因特网上的视频或语音之外的其他业务,公平地分享频带。因特网上的其他业务大部分为使用TCP(TransportControl Protocol;传输控制协议)的业务。由此,已知在因特网上与其他业务之间公平地分配频带时,只要进行流量控制以使得与使用TCP的业务公平地分配频带即可。也就是说,已知在通过因特网进行数据的分发时,只要进行与TCP之间亲和性良好的流量控制即可。
另一方面,可认为在对多个终端进行数据的分发时,各个终端的能力不均匀。具体而言,通过ADSL(Asymmetric Digital Subscriber Line;非对称数字用户线路)与因特网连接的终端只能容许数Mbps(Megabits Per Second;兆位每秒)的速度,相对于此,通过光纤与因特网连接的终端能够以100Mbps的速度分发数据。已知有下述方式,在对这些通过ADSL与因特网连接的终端和通过光纤与因特网连接的终端同时进行数据的分发时,进行流量控制以使最迟的终端即通过ADSL连接的终端以所容许的速度以下的速度进行数据的分发。具体而言,已知例如通过TFMCC(TCP Friendly Multicast CongestionControl;TCP友好多播拥塞控制)的流量控制的方式。
然而,在这样的方式中,在存在了各种各样的速度的接收终端时,能力较高的接收终端无法接收足够的数据的分发。对照上述的例子,通过光纤连接的终端虽然具有100Mbps的接收能力,但只能以数Mbps接收数据的分发。这样的状态使同一个会话(数据的分发)中产生不公平,被称为会话内的不公平性。因此,对多个终端进行数据的分发的流量控制方式而言,期望可以实现所有的接收终端能够以各自的最大能力进行接收的状态,即可以改善会话内的不公平性以保持会话内的公平性。
作为保持与TCP的兼容性,同时改善会话内的不公平性的流量控制方式,已知SICC(Sender Initiated Congestion Control;发送者启动型拥塞控制)方式(例如,参照非专利文献1)。
另外,作为用于估计数据的可发送速率的方式,已知TFRC(TCP FriendlyRate Control;TCP友好速率控制)方式(例如,参照非专利文献2)。
SICC方式是在如XCAST(eXplicit Multicast;显式组播)方式那样的、发送终端明确地指定接收终端的目的地址的列表的类型的组播方式的通信中,实现利用该TFRC方式的流量控制的传输方式。
这里,具体说明SICC方式。
SICC方式的发送终端具有以不同的速率发送分组的多个类别(class)。发送终端基于TFRC方式估计对接收终端的可发送速率,并利用该估计值将各个接收终端分类到适当的上述多个类别。发送终端分发XCAST分组,所述XCAST分组指定了被分类为各个类别的接收终端的地址。
基于在发送终端与接收终端之间的分组的往返时间即往返时间(RTT;Round Trip Time)的、来自接收终端的反馈,估计可发送的速率。基于满足与TCP的兼容性的方式即TFRC方式,估计该可发送的速率。因此,通过SICC方式进行的流量控制满足与TCP的兼容性。
这样,在SICC方式中,基于TFRC方式估计可发送的速率,并且基于估计出的可发送的速率,各个接收终端被分类为适当的类别。因此,在SICC方式中,在分发分组时,能够满足与TCP的兼容性,同时大幅度地提高会话内的公平性,而不由可发送速率最慢的接收终端进行速率控制。
另外,如上所述,在通过TFRC方式估计可发送的速率时,RTT的计测必不可少。在TFRC方式中,基于下式(1),估计可发送速率Xcal。
Xcal = 8 s R ( 2 p / 3 + t _ RTO × 3 p / 8 × p × ( 1 + 32 p 2 ) )
                                     ……式(1)
在式(1)中,R为RTT、p为损失事件概率、s为分组大小、以及t_RTO为TCP所使用的超时值。作为t_RTO,一般使用4R。在式(1)中,R为分母,所以可知可发送速率Xcal与RTT成反比例,RTT越大,可发送速率Xcal越小。
如上所述,作为向多个终端传送分组的方式,在SICC方式中,利用例如非专利文献3中所公开的XCAST方式。
非专利文献3中所公开的XCAST方式为,通过发送者将属于规定的组的所有接收终端的目的地址存储在分组内的选项报头或有效载荷中,在发送者端明确地指定分发分组的所有接收终端。在该XCAST方式中,在发送节点与接收节点之间配置的中继路由器不对应XCAST方式时,根据目的地址判断在该中继路由器中已被分发来的分组,该分组被传送到未分发的一个接收终端。在分组中还残留着未分发的对方目的地时,接收到该分组的接收终端向未分发的对方目的地重新发送分组。通过接收终端重复进行这样的中继动作,从而将分组分发到所有的接收终端。
也就是说,在XCAST方式中,即使在中继路由器不对应XCAST方式时,也通过接收终端进行成串传送,从而能够向多个接收终端分发分组。
非专利文献1:E.Muramoto,et al.,″Proposal for Congestion ControlMethod on Sender Initiated Multicast,″Internet Conference 2003
非专利文献2:M.Handley,et al.,″TCP Friendly Rate Control(TFRC):Protocol Specification″,RFC 3448,Jan.2003
非专利文献3:Y.Imai,et al.,″XCAST6:eXplicit Multicast on IPv6,″IEEE/IPSJ SAINT2003 Workshop 4,IPv6 and Applications,Orland,Jan.2003
发明内容
发明需要解决的问题
然而,将SICC方式适用于XCAST,并利用TFRC方式作为估计速率的方式的流量控制方法中,存在以下的问题,即在中继路由器不对应XCAST方式而进行成串传送时,以不必要的低速率进行流量控制。这起因于在进行成串传送时RTT变大。这里,说明该问题。
图1是表示以往的分组传送系统的结构的结构图。
图1所示的分组分发系统1600由发送终端1601、接收终端1605~1608和因特网1612构成。在图1中,以发送终端1601具有的SICC方式进行分类的类别分别为发送速率为1Mbps的类别A1602、发送速率为512Kbps的类别B1603以及发送速率为256Kbps的类别C1604。
发送终端1601利用类别A1602、类别B1603和类别C1604经由因特网1612以SICC方式向接收终端1605~1608分发分组。图1表示以下的情形,即一个接收终端1605属于类别A1602、三个接收终端1606~1608属于类别B1603、以及没有一个接收终端属于类别C1604,并利用XCAST方式进行分组的分发。发送路径1610为从发送终端1601到与类别A1602对应的接收终端1605的数据分发路径。发送路径1611为从发送终端1601到与类别B1603对应的接收终端1606~1608的数据分发路径。此时,计测发送终端1601与接收终端1608之间的RTT时的RTT计测路径1609为从发送终端1601经由接收终端1606和1607成串地到达接收终端1608的路径,该成串的路径的RTT反馈到发送终端1601。
也就是说,如RTT计测路径1609所示,以往即使在成串地分发包含数据的分组时,也利用所有区间的RTT进行了基于TFRC方式的流量控制。
然而,可认为若在RTT计测路径的区间中与其他业务的争用状况最激烈的区间(瓶颈区间)中能维持与TCP的兼容性,则在其他的区间也能维持与TCP的兼容性。虽然如此,在以往的方法中,计测从发送终端1601到接收终端1608为止的所有路径,以不必要的低速率进行流量控制。
也就是说,在以往的技术中存在以下的问题,即在将SICC方式适用于XCAST方式时,进行成串传送,而计算出较大的RTT,因此计算出较小的可发送的速率,其结果,数据传输的性能劣化。
本发明的目的在于,提供即使在成串传送时也能够极大地提高分组传输的性能而不会计算出较大的RTT的流量控制方法。
解决该问题的方案
本发明的流量控制方法为用于通过接收终端的中继进行对从发送终端发送来的分组的分发时的流量控制方法,包括:往返时间获得步骤,在包含所述发送终端和所述接收终端的多个终端中,对所述分发的路径上由每两个邻接的所述终端构成的所有终端对,获得该终端对的所述终端之间的往返时间;选择步骤,从所述所有终端对的所述往返时间中,基于预先决定的基准选择任意一个所述往返时间;以及计算步骤,基于利用了所述选择出的所述往返时间的传输控制协议友好速率控制方式,计算所述分组的发送速率。
本发明的接收终端将从发送终端发送来的分组中继到其他接收终端,该接收终端所采用的结构包括:计测分组发送单元,将包含计测信息的分组发送到所述其他接收终端,所述计测信息用于计测分组在所述接收终端与所述其他接收终端之间往返时的往返时间;接收单元,从所述其他的接收终端接收对包含所述计测信息的分组发回的分组;往返时间信息获得单元,基于所述接收单元所接收的所述发回的分组,获得与分组的往返时间有关的时间信息;以及往返时间信息发送单元,将包含所述往返时间信息获得单元所获得的所述时间信息的分组,发送到所述发送终端。
本发明的发送终端,通过中继分组的接收终端进行第一分组的分发,其包括:接收单元,在包含所述发送终端和所述接收终端的多个终端中,对所述分发的路径上由每两个邻接的所述终端构成的所有终端对,接收包含了与该终端对的所述终端之间的往返时间有关的信息的第二分组;往返时间获得单元,从所述接收单元所接收的所述第二分组中获得所述所有终端对的所述往返时间;选择单元,从所述往返时间获得单元所获得的所述所有终端对的所述往返时间中,基于预先决定的基准选择任意一个所述往返时间;以及计算单元,基于利用了所述选择单元所选择的所述往返时间的传输控制协议友好速率控制方式,计算所述第一分组的发送速率。
本发明的分组传送系统将从发送终端发送来的第一分组的分发通过接收终端的中继进行的分组传送系统,所述接收终端包括:计测分组发送单元,将包含计测信息的第二分组发送到第二接收终端,所述计测信息用于计测所述接收终端与在所述分发的路径上的下游端邻接的所述第二接收终端之间的往返时间;接收终端接收单元,在从所述第二接收终端发送来对所述第二分组的发回的第三分组时,接收所述第三分组;往返时间信息获得单元,基于所述接收终端接收单元所接收的所述第三分组,获得与所述往返时间有关的时间信息;以及往返时间信息发送单元,将包含所述往返时间信息获得单元所获得的所述时间信息的第四分组发送到所述发送终端,所述发送终端包括:发送终端接收单元,从所述接收终端接收所述第四分组以及用于所述发送终端获得与所述接收终端之间的所述往返时间的接收报告分组;往返时间获得单元,根据所述发送终端接收单元所接收的所述第四分组以及所述接收报告分组,在包含所述发送终端和所述接收终端的多个终端中,对所述分发的路径上由每两个邻接的所述终端构成的所有终端对,获得该终端对的所述终端之间的所述往返时间;选择单元,从所述所有终端对的所述往返时间中,基于预先决定的基准选择任意一个往返时间;以及计算单元,基于利用了所述选择单元所选择的所述往返时间的传输控制协议友好速率控制方式,计算所述第一分组的发送速率。
发明的效果
根据本发明,即使在成串传送时也能够极大地提高分组传输的性能而不极大地计算RTT。
附图说明
图1是用于说明以往的SICC方式的图。
图2是用于说明本发明的实施方式中的分组传送系统的RTT分割计测的方式的结构图。
图3是表示本发明的一实施方式中的分组传送系统的RTT分割计测处理的流程的流程图。
图4是表示本实施方式中的XCAST分组A的结构的说明图。
图5是表示本实施方式中的XCAST分组B的结构的说明图。
图6是表示本实施方式的发送终端的结构的结构图。
图7是表示本实施方式的接收终端的结构的结构图。
图8是表示本实施方式中的XCAST分组生成处理的流程的流程图。
图9是表示本实施方式中的RTT用时间追加处理的流程的流程图。
图10是表示本实施方式中的SICC-DATA-R报头(header)的结构的说明图。
图11是表示本实施方式中的RR分组的结构的说明图。
图12是表示本实施方式中的报告请求分组的结构的说明图。
图13是表示本实施方式中的RTT信息报告处理的流程的流程图。
图14是表示本实施方式中的报告分组的结构的说明图。
图15是表示本实施方式中的RTT估计处理的流程的流程图。
图16是表示本实施方式中的、报告分组超时发生时的处理的流程图。
具体实施方式
以下,参照附图说明本发明的实施方式。
图2是本发明的一实施方式中的分组传送系统的结构图。利用图2,说明本实施方式中的计测分组的往返时间即RTT的方法的概要。
可认为若在RTT计测路径的瓶颈区间能维持与TCP的兼容性,则在其他的区间也能维持与TCP的兼容性。因此,只要能够计算出RTT计测路径的瓶颈区间中的可发送速率Xcal(以下,称为“Xcal-N”),则可避免以不必要的低速率进行流量控制。
根据上述的式(1)的说明,在计算Xcal-N时对每个区间变动的参数为RTT的R和损失事件概率的p。对损失事件概率p而言,可认为分组的损失大部分发生在瓶颈区间,所以所有区间的损失概率p近似于瓶颈区间的损失事件概率p的可能性较高。另一方面,R为单纯地将各个区间的RTT相加,所以可以预想成串越长,R越不必要比瓶颈区间的RTT(以下,称为“RTT-N”)大。
因此,可认为只要计算瓶颈区间的RTT-N,并将其作为R而计算Xcal-N,即使损失事件概率p等其他的参数原封不动地使用与成串时相同的计测值,也能够在实用上期待较大的效果。因此,在本实施方式中,采用以进行中继的每个接收终端为终端进行RTT的计测的RTT计测方法(以下,称为“RTT分割计测”)。
图2所示的分组传送系统100由发送终端101、接收终端105~108和因特网115构成。
与图1的以往技术中的说明同样,在图2中的发送终端101具有SICC方式的类别即发送速率为1Mbps的类别A102、发送速率为512kbps的类别B103以及发送速率为256kbps的类别C104。假设接收终端105属于类别A102、接收终端106~108属于类别B103、以及没有接收终端属于类别C104。
在本实施方式中,说明发送终端101向属于类别B103的接收终端106~108分发数据的情况。在发送终端101向属于其他类别的接收终端分发数据时也能够同样地进行。
RTT计测路径109表示计测发送终端101与接收终端106之间的RTT时的路径。RTT计测路径110表示计测接收终端106与接收终端107之间的RTT时的路径。RTT计测路径111表示计测接收终端107与接收终端108之间的RTT时的路径。
数据分发路径112为在分发从发送终端101分发到三个接收终端106~108的XCAST分组时,到达与发送终端101邻接的第一个接收终端106的路径。数据分发路径113为分发到上述接收终端106的、发往三个接收终端106~108的XCAST分组,被分发到与接收终端106成串地邻接的接收终端107时的路径。同样地,数据分发路径114为分发到接收终端107的XCAST分组,被分发到与接收终端107成串地邻接的接收终端108时的路径。也就是说,在本实施方式中,发送终端101和接收终端106~108在分组的发送路径上邻接而不是物理地邻接。具体而言,在分发分组时,接收终端106与发送终端101邻接,接收终端107与接收终端106邻接,接收终端108与接收终端107邻接。
如图2所示,在本实施方式中说明了一例将SICC方式适用于XCAST方式的情况,与以往的结构的不同之处在于,将RTT的计测以中继分组的分发的各个接收终端106~107进行端接(terminating)。也就是说,在图2中,发送终端101沿着各个数据分发路径112~114通过XCAST方式向属于类别B103的接收终端106~108分发分组。也就是说,从发送终端101分发的分组在分发时经由邻接的接收终端106和107成串地中继而分发到接收终端108。根据本实施方式,沿着RTT计测路径109~111的各个路径进行此时的RTT的计测,由中继分组的分发的接收终端106和接收终端107进行端接。
发回路径201为将用于计测时戳(time stamp)等RTT的RTT计测信息从接收终端107发回到接收终端106的路径。同样地,发回路径202为将RTT计测信息从接收终端108发回到接收终端107的路径。报告路径203为将计测到的接收终端106与接收终端107之间的RTT等与RTT有关的RTT信息从接收终端106报告给发送终端101的路径。同样地,报告路径204为将计测到的接收终端107与接收终端108之间的RTT信息从接收终端107报告给发送终端101的路径。
然后,发送终端101选择并采用沿着报告路径203和203发送的、计测到的RTT中最大的RTT,作为用于估计可发送的速率的RTT。
这样,本实施方式采用RTT分割计测。以下,说明RTT分割计测。
首先,说明本实施方式中的接收终端与发送终端之间的RTT分割计测的时序(sequence)。
图3是表示本实施方式中的RTT分割计测处理的时序的图。
首先,发送终端101生成对多地点分组(以下,称为“XCAST分组”),所述分组具有要分发的数据和包含了分发目的地的列表(在本实施方式中为接收终端106~108)的报头(S501)。如后面叙述,在XCAST分组中存在两个方式,在本实施方式中将各个方式的XCAST分组称为“XCAST分组A”和“XCAST分组B”。在步骤S501,生成XCAST分组A。
发送终端101在生成XCAST分组A后,通过图2的数据分发路径112向接收终端106分发以接收终端106~108作为分发目的地的XCAST分组A(S502)。
这里,说明发送终端101所生成的XCAST分组A的结构。
图4是表示本实施方式中的XCAST分组A的结构的图。
如图4所示,XCAST分组A1005由IP报头1001、XCAST报头1002、SICC-DATA报头1003和分发数据1004构成。
这里,IP报头1001是存储例如由RFC2460规定的IPv6的IP报头的区域。XCAST报头1002是存储由因特网草案“draft-ooms-xcast-basic-spec-09.txt”规定的XCAST的报头的区域。在本实施方式中,XCAST报头1002中如图4的目的地列表1006那样存储有接收终端106~108的各个终端的IP地址。SICC-DATA报头1003是存储在通过方式分发数据时规定为必要的项目的区域。例如,SICC-DATA报头1003中存储有表示数据格式的数据类型、RTT分割计测请求的有无或发送时间等。分发数据1004是存储发送终端101所存储的分发数据的区域。
接着,接收终端106在接收到XCAST分组A后,进行分割计测RTT用时间设定处理作为RTT分割计测的前处理(图3的步骤S503)。也就是说,在步骤S503中,接收终端106首先从XCAST分组A1005的目的地列表1006中获得本终端应中继的下一个传送目的地即接收终端107的识别符。接着,接收终端106从设定在XCAST分组A1005的SICC-DATA报头1003的规定区域中的值中,获得是否需要对发送终端101进行分割计测的报告的指示。例如,如后面叙述,XCAST分组A1005的SICC-DATA报头1003具有用于表示是否需要进行分割计测的报告的指示的报告请求标记。然后,例如,若在该报告请求标记中比特起作用,则接收终端106判断为需要进行分割计测的报告,进行分割计测并将其结果报告给发送终端101。在获得了需要进行分割计测的指示时,接收终端106将接收终端106自身的IP地址和接收到XCAST分组A的当前时间的中继时戳追加到XCAST分组A1005中,从而生成XCAST分组B。
图5表示本实施方式中的XCAST分组B的结构,与XCAST分组A1005并列地表示。XCAST分组A1005的结构与图4相同,所以省略其说明。
在图5中,如上所述,XCAST分组B 1104为对XCAST分组A1005进行了RTT用时间设定处理所得的分组,其结构为XCAST分组A1005的SICC-DATA报头1003被变更为SICC-DATA-R报头1101的结构。这里,SICC-DATA-R报头1101除了SICC-DATA报头1003所存储的数据之外,还追加了中继IP地址1102和中继时戳1103。
接着,接收终端106通过图2所示的数据分发路径113将所生成的上述XCAST分组B传送到接收终端107(图3的步骤S504)。
接着,接收终端106将接收报告(Receive Report)分组(以下,称为“RR分组”)发送到发送终端101,所述接收报告分组用于发送终端101获得与接收终端106之间的RTT(S505)。如后面叙述,在RR分组中,除了发送终端101发送了分组的时间即时戳之外,还存储有接收终端106计测出的实际频带和损失事件概率等。由此,发送终端101能够从接收到RR分组的时间与时戳所表示的时间之间的差分,获得发送终端101与接收终端106之间的RTT。
接着,接收到XCAST分组B的接收终端107进行用于生成报告请求分组的RTT信息报告请求处理(图3的步骤S506)。这里所生成的报告请求分组用于使接收终端106计测RTT并将该计测结果报告给发送终端101。报告请求分组包含表示报告目的地的发送终端101的IP地址以及包含在接收终端107从接收终端106接收到的XCAST分组B中的中继时戳。
接着,接收终端107向数据的传送源即上游的接收终端106的IP地址发送在步骤S506所生成的报告请求分组(S507)。
接着,接收终端106进行用于计测RTT并将其结果报告给发送终端101的RTT信息报告处理(S508)。也就是说,接收终端106在从下游的接收终端107接收到报告请求分组后,根据接收到的报告请求分组中存储的中继时戳与本终端的当前的时间之间的差分,计测接收终端106和接收终端107之间的往返时间即RTT。然后,接收终端106将这样计测出的RTT存储在后面叙述其结构的报告分组中。
接着,接收终端106将存储有计测出的RTT等RTT信息的报告分组发送到发送终端101(S509)。
这样,通过从接收终端106接收报告分组,发送终端101能够获得分割了XCAST分组的分发路径的、接收终端106与接收终端107之间的数据分发路径113的RTT。
接着,在步骤S506进行了RTT信息报告请求处理的接收终端107,与接收终端106的情况下的步骤S503同样地,对XCAST分组B进行RTT用时间设定处理(S510)。然后,接收终端107将改写了内容的XCAST分组B传送到下一个数据传送目的地的接收终端108(S511)。
另外,与由接收终端106进行的步骤S505的处理同样地,接收终端107将RR分组发送到发送终端101(S513)。
接着,接收到来自接收终端107的XCAST分组B的接收终端108,与由接收终端107进行的步骤S506的处理同样地,进行RTT信息报告请求处理(S512)。也就是说,与接收终端107同样地,接收终端108将发送终端101的IP地址以及接收终端108从接收终端107接收到的XCAST分组B的中继时戳存储在报告请求分组中。
然后,接收终端108对接收终端107发送报告请求分组(S515)。
接收到报告请求分组的接收终端107,与由接收终端106进行的步骤S508的处理同样地,计算接收终端107与接收终端108之间的数据分发路径114的RTT,并进行RTT信息报告处理(S516)。然后,接收终端107将RTT计测结果存储在报告分组中,并发送到发送终端101(S517)。
另外,接收终端108也在步骤S512中进行RTT计测信息报告请求处理后,将后述的RR分组发送到发送终端101(S514)。
这样,通过从接收终端107和接收终端108接收报告分组,发送终端101能够获得分割了XCAST分组的分发路径的、接收终端107与接收终端108之间的数据分发路径114的RTT。
如上所述,发送终端101从接收终端106和107的各个终端接收报告分组。由此,发送终端101能够获得发送终端101与接收终端106之间的数据分发路径112的RTT、接收终端106与接收终端107之间的数据分发路径113的RTT、以及接收终端107与接收终端108之间的数据分发路径114的RTT。发送终端101进行作为估计可发送的速率时采用的RTT的值而对这样获得的多个RTT中的最大RTT进行估计的处理(S518)。
发送终端101利用在上述步骤S518估计出的RTT以及每个接收终端106~108计测出的、分别存储在RR分组所包含的实际频带和损失事件概率中的值,基于TFRC方式计算发送速率,并进行流量控制。
也就是说,根据本实施方式,在基于TFRC方式计算发送速率时,采用对通过以往的方式计测出的RTT进行分割后所得的RTT中最大的RTT作为式(1)中的R。因此,通过本实施方式获得的R小于以往的方式的值,其结果,可发送速率Xcal大于以往的值,从而能够极大地提高数据传输的性能。
利用在各个终端之间收发的XCAST分组的具体结构,详细地说明以上说明了的本实施方式中的、RTT分割计测处理的顺序中的发送终端101和接收终端106的详细结构和动作。
首先,详细地说明本实施方式中的发送终端101和接收终端106的结构。
图6是表示本实施方式的发送终端101的结构的结构图。
发送终端101由分发数据存储单元401、接收单元402、控制单元403、接收终端识别符信息生成单元404、面向多地点分组生成单元405、往返时间信息获得单元406、选择单元407、计算单元408、发送单元409、接收终端类别分类单元410和类别保持单元411构成。
分发数据存储单元401存储向接收终端106~108分发的视频内容等分发数据。接收单元402接收报告分组和后述的RR分组,同时接收例如IP地址那样的分发目的地信息或内容信息等,所述报告分组中存储有来自接收终端106~108的RTT信息。接收终端识别符信息生成单元404生成分发目的地信息,该分发目的地信息为对分发数据存储单元401所存储的分发数据进行分发的接收终端106~108的识别符。该分发目的地信息例如为接收终端106~108的IP地址。面向多地点分组生成单元405将接收终端识别符信息生成单元404所生成的分发目的地信息追加到分发数据存储单元401所存储的分发数据,从而生成分发到多地点的对多地点分组。
往返时间信息获得单元406分别从由接收单元402所接收的、来自接收终端106~108的存储有RTT信息的报告分组中获得RTT。选择单元407基于预先决定的基准,从往返时间信息获得单元406所获得的RTT中选择规定的RTT。对预先决定的基准而言,例如在本实施方式中,选择单元407选择所获得的多个RTT中最大的RTT。但是,除此之外,若利用第二大的RTT或第三大的RTT对减小式(1)的Xcal有效,则还可以选择这些RTT。例如,通过将利用式(1)计算出的Xcal与预先决定的值进行比较,能够判断是否对减少Xcal有效。由此,在因网络的状况导致RTT暂时增大到极端的值那样的情况下,能够避免选择该RTT。或者,也可将多个RTT分为多个组,从属于最大组的RTT中采用任意一个。根据时间相应时间的数据分发的状况,能够改变这些条件。计算单元408基于选择单元407所选择的RTT,计算对各个接收终端的发送速率。发送单元409将面向多地点分组生成单元405所生成的对多地点分组发送到最初的接收终端106。
接收终端类别分类单元410基于计算单元408计算出的对各个接收终端的发送速率,将各个接收终端105~108分类为适当的发送速率的类别即在本实施方式中的类别A102~类别C104。类别保持单元411使接收终端类别分类单元410分类出的结果与分别属于各个类别A102~类别C104的接收终端105~108关联对应后进行存储。在本实施方式中,对接收终端类别分类单元410进行类别的分类而在类别保持单元411存储各个类别A102~C104与接收终端105~108的对应关系之后的动作进行说明。
另外,接收终端识别符信息生成单元404基于类别保持单元411所记录的接收终端的类别分类,生成分发目的地信息,并将其传送给面向多地点分组生成单元405。发送单元409基于接收终端识别符信息生成单元404所生成的分发目的地信息,发送由面向多地点分组生成单元405生成的对多地点分组。另外,控制单元403以数据的分发或报告分组的接收等作为契机,控制以上说明了的各个单元的动作。
图7是表示本实施方式的接收终端的结构的结构图。
接收终端106由接收单元301、控制单元302、接收终端识别符信息获得单元303、面向多地点分组生成单元304、计测分组发送单元305、往返时间信息获得单元306和往返时间信息发送单元307构成。
接收单元301接收来自发送终端101或下一个传送目的地即接收终端107的报告请求分组。接收终端识别符信息获得单元303从接收单元301所接收的XCAST分组中获得下一个应传送的接收终端的识别符。这里,假设接收终端识别符信息获得单元303获得该接收终端的IP地址作为接收终端的识别符。面向多地点分组生成单元304对接收单元301所接收的XCAST分组,进行用于将该分组中继到下一个应传送的接收终端107的处理。具体而言,面向多地点分组生成单元304对XCAST分组的报头进行所需的处理,该处理为记录对自身地址已分发完毕等的处理。计测分组发送单元305对由对多地点分组生成单元304进行所需的处理后的XCAST分组,追加用于计测与下一个应传送的接收终端107之间的RTT所需的RTT计测信息,并将其发送到接收终端107。往返时间信息获得单元306通过接收单元301接收来自接收终端107的回复,计算RTT信息,所述回复为对从计测分组发送单元305发送的、追加了用于计测RTT所需的RTT计测信息的分组的回复。RRT信息例如包含与接收终端107之间的RTT。往返时间信息发送单元307将存储有往返时间信息获得单元306计算出的RTT信息的分组发送到发送终端101作为报告分组。控制单元302以接收来自发送终端101等的分组等作为契机,控制以上说明过的各个单元的动作。另外,本实施方式中的接收终端105、接收终端107和接收终端108具有与接收终端106相同的结构。
以下,参照图6和图7并利用图8~图16详细地说明图3所示的本实施方式的时序图的主要部分的处理。
图8是表示图3所示的流程图的发送终端101的XCAST分组生成处理(S501)的细节的流程图。另外,这里,为了简化说明,将图3的步骤S502处理为包含在XCAST分组生成处理中。
发送终端101通过控制单元403从分发数据存储单元401获得进行分发的数据(S201)。控制单元403中预先注册有期望获得该进行分发的数据的接收终端的IP地址等。例如,在分发数据存储单元401存储有IP电视的内容信息时,控制单元403能够从提供IP节目表的Web服务器等得到期望分发的接收终端的IP地址并进行注册。
接着,接收终端识别符信息生成单元404生成分发数据的目的地的列表(分发目的地列表)(S202)。例如,接收终端识别符信息生成单元404利用上述进行了注册的接收终端的IP地址生成目的地列表。在本实施方式中,接收终端识别符信息生成单元404生成记述有接收终端106~108的IP地址的目的地列表。接着,面向多地点分组生成单元405将接收终端识别符信息生成单元404所生成的分发目的地信息追加到分发数据存储单元401所存储的分发数据中,从而生成图4所示的结构的分发分组即XCAST分组A1005(S203)。
接着,发送单元409沿着图2的数据分发路径112分发由面向多地点分组生成单元405生成的XCAST分组A1005(S204)。
接着,说明图3的RTT用时间设定处理(S503)。
另外,在接收终端107中,也在图3的步骤S510进行RTT用时间设定处理。步骤S503的处理与步骤S510的处理之间的不同之处在于,处理的XCAST分组是XCAST分组A1005还是XCAST分组B1104,所以这里一并说明两处理。
图9是表示RTT用时间追加处理的流程的流程图。另外,这里,为了简化说明,将图3的步骤S504、S505、S511和S513处理为包含在RTT用时间追加处理中。
在接收终端106的情况下,接收单元301从发送终端101接收XCAST分组A1005,而在接收终端107的情况下,接收单元301从接收终端106接收XCAST分组B1104(S601)。接着,在接收终端106的情况下,接收终端识别符信息获得单元303从接收到的XCAST分组A1005的XCAST报头1002的目的地列表1006中获得自身应中继的下一个传送目的地的接收终端识别符,而在接收终端107的情况下,接收终端识别符信息获得单元303从XCAST分组B1104的XCAST报头1002的目的地列表1006中获得自身应中继的下一个传送目的地的接收终端识别符(S602)。在本实施方式中,在接收终端106的情况下,获得接收终端107的IP地址,而在接收终端107的情况下,获得接收终端108的IP地址。
接着,在接收终端106的情况下,控制单元302判断在接收到的XCAST分组A1005中,图10所示的SICC-DATA报头1003的报告请求标记1212的比特是否起作用,而在接收终端107的情况下,控制单元302判断在XCAST分组B1104中,图10所示的SICC-DATA报头1003的报告请求标记1212的比特是否起作用(S603)。如上所述,报告请求标记1212为表示是否需要进行分割计测的报告的指示的标记,若在该标记中比特起作用,则接收终端106和107进行分割计测,并将其结果报告给发送终端101。在本实施方式中,如图10所示,假设在报告请求标记1212中比特起作用。将在后面利用图10说明SICC-DATA报头1003的结构。
在步骤S603中报告请求标记1212不为1时(S603:“否”),在接收终端106的情况下,面向多地点分组生成单元304根据XCAST方式改写XCAST分组A1005,而在接收终端107的情况下,面向多地点分组生成单元304根据XCAST方式改写XCAST分组B1104。由此,在接收终端106的情况下,面向多地点分组生成单元304生成用于传送到下一个传送目的地的接收终端107的分组,而在接收终端107的情况下,面向多地点分组生成单元304生成用于传送到下一个传送目的地的接收终端108的分组,从而将其成串传送(S604)。
在步骤S603中报告请求标记1212起作用时(S603:“是”),为了进行分发状况的反馈,控制单元302将RR分组发回到发送终端101(S605)。将在后面叙述RR分组的结构的细节。
接着,面向多地点分组生成单元304判断接收到的分组是XCAST分组A1005还是XCAST分组B1104(S606)。对该判断而言,能够基于图10所示的SICC-DATA报头1003或SICC-DATA-R报头1101中存储的分组中的数据类型1206的区域进行判断。在本实施方式中,在数据类型1206的值为“1”时,面向多地点分组生成单元304判断为XCAST分组A1005,而如图10所示,数据类型1206的值为“2”时,面向多地点分组生成单元304判断为XCAST分组B1104。将在后面叙述图10所示的SICC-DATA报头1003。
在步骤S606中的判断的结果为XCAST分组A1005时(S606:“是”),面向多地点分组生成单元304将XCAST分组A1005加工成XCAST分组B 1104的形式。也就是说,面向多地点分组生成单元304确保中继IP地址1102和中继时戳1103的区域,还将表示数据类型的区域1206改写为表示XCAST分组B1104的类型即本实施方式中的“2”(S609),并进入下一个步骤S607。
在步骤S606中接收到的分组已为XCAST分组B1104时(S606:“否”),面向多地点分组生成单元304不进行改写为XCAST分组B1104的形式的处理,而进入下一个步骤S607。
接着,计测分组发送单元305对XCAST分组B1104的形式的分组,将在因特网上用于确定自身(接收终端)的识别符设定给中继IP地址1102,将当前时间设定给中继时戳1103(S607)。这里,计测分组发送单元305将自身的IP地址设定给XCAST分组B1104的形式的分组作为上述识别符。
最后,计测分组发送单元305根据XCAST方式将这样加工后的XCAST分组B1104成串地传送到下一个传送目的地(S608)。也就是说,在接收终端106的情况下,计测分组发送单元305将XCAST分组B1104传送到接收终端107,而在接收终端107的情况下,计测分组发送单元305将XCAST分组B1104传送到接收终端108。
图10是表示上述加工后的XCAST分组B1104的SICC-DATA-R报头1101的具体结构的图。利用图10并通过具体的数据结构详细地叙述XCAST分组A加工成XCAST分组B的处理。
SICC-DATA-R报头1101具有发送端口号1203~分组序列号1218、中继IP地址1102和中继时戳1103。中继IP地址1102和中继时戳1103在图9所示的步骤S609被追加到XCAST分组A1005中。这样,图4和图5所示的XCAST分组A1005的SICC-DATA报头1003为从图5和图10所示的SICC-DATA-R报头1101中去除了中继IP地址1102和中继时戳1103的报头。
发送源端口1203和目的地端口1204为用于SICC协议的栈(stack)确定传送数据的对方目的地的应用程序的区域。另外,版本序号1205是表示SICC协议的版本号的版本序号。数据类型1206是表示用于规定SICC协议中的分组形式的数据类型的区域。例如,能够将在该数据类型1206中记述了“1”的XCAST分组B1104规定为通过SICC协议进行数据的分发的分组。此时,如上所述,能够将数据类型1206为“1”的分组判断为XCAST分组A。另一方面,如图10所示,能够将数据类型1206为“2”的分组判断为XCAST分组B。另外,报头长度1207存储SICC-DATA报头1003的长度。序列号1208存储已发送的分组的序列号。时戳1209存储发送终端101发送分发数据时的时间。最大RTT1210是通过发送终端设定发送终端与接收终端之间的RTT中最大的RTT的区域。但是,在本实施方式中,发送终端101未利用最大RTT1210的区域,仅在图3的步骤S518求最大RTT,估计RTT。
另外,类别(class)1211是表示图2中所说明的发送速率的类别的区域。报告请求标记1212是表示有无RTT的分割计测的报告请求的标记。例如,如上所述,在本实施方式中,报告请求标记1212的比特起作用表示在进行分割计测的报告请求,而报告请求标记1212的比特不起作用表示不在进行分割计测的报告请求。最大RTT1210、预备区域1213、全序列(total sequence)1214、ADU序列号1215、分组长度1216、分组数1217和分组序列号1218是SICC方式在数据的分发中对分组进行分割或重构时利用的区域。分组序列号1218用作这样分割后的分组内的序列号,省略这些序列号的详细的说明。
叙述在如发送端口号1203~分组序列号1218那样,构成了SICC-DATA-R报头时,如何生成XCAST分组A1005和XCAST分组B1104、以及在接收终端106中进行成串传送时如何进行改写处理。
本实施方式的XCAST分组A1005例如将数据类型栏1206设定为“1”、将报头长度1207设定为“28”(字节)。XCAST分组B1104例如将数据类型栏1206设定为“0×10”(以十进制表记为16)、将报头长度1207设定为“48”(字节)。XCAST分组A1005与XCAST分组B1104之间的报头长度的差分为20字节相当于将中继IP地址1102的长度设为16字节、将中继时戳1103设为4字节而将其相加所得的字节。另外,在以IPv4进行分发时,能够以4字节记述中继IP地址1102的长度。此时,例如,将数据类型栏1206设定为“0×11”(以十进制表记为17)、将报头长度1207设定为“36”(字节)。
因此,接收终端106的面向多地点分组生成单元304改写XCAST分组A1005的数据类型1206和报头长度1207,如上所述,能够将作为在因特网上确定接收终端106自身的识别符的IP地址设定给中继IP地址1102,将接收终端106的当前时间追加到中继时戳1103,从而加工成XCAST分组B1104。
另外,如图3中进行的说明,在SICC-DATA报头1003中存在报告请求标记1212时,接收到XCAST分组A1005的接收终端106在步骤S504立刻将包含时戳1209的信息的RR分组发送到发送终端101。这样,发送终端101能够计测发送终端101与接收终端106之间的RTT。
这里,说明从接收终端106发送到发送终端101的RR分组。
图11是表示本实施方式中的RR分组的具体结构的图。
在图11中,RR分组1301具有发送端口号1203~版本1205以及数据类型1304~损失事件概率1312。发送端口序号1203~版本1205与图10所示的XCAST分组B相同。数据类型1304是表示分组的形式的区域。例如,预先将“7”定义为RR分组形式,从而接收终端105~108或发送终端101能够从数据类型1304识别RR分组1031。另外,在报头长度1305中设定RR分组的长度即“28”(字节)。在发送源识别符1307中存储本终端即接收终端106的IP地址。时戳1308是用于接收终端106对XCAST分组A1005中所记载的时戳1209进行转记的区域。这里,时戳1209是发送终端101发送分组时记录的发送时的时间。接收终端106发回发送时间,从而发送终端101能够计测接收终端106与发送终端101之间的RTT。实际频带1311是用于报告在接收终端能够观测到的实际频带的区域,用于基于TFRC方式计算发送终端101与接收终端之间的可发送的速率时限制上限值。损失事件概率1312用于基于以TFRC方式规定的观测方式,记载并报告在接收终端观测到的损失事件概率。RR分组1301除了上述各个区域之外,还具有分组序列号1306、响应顺序(reply sequence)1309和预备区域1310。
接着,利用报告请求分组的结构说明图3所示的RTT信息报告请求处理(S506和S512)。另外,这里,以步骤S506为例进行说明。另外,为了简化说明,将图3的步骤S507处理为包含在RTT信息报告请求处理中。
接收到XCAST分组B1104的接收终端107通过控制单元302生成报告请求分组,并进行RTT信息报告请求处理。说明接收终端107的控制单元302所生成的报告请求分组。
图12是表示报告请求分组的具体结构的例子的图。
在图12中,报告请求分组1401具有发送端口号1203~版本1205以及数据类型1404~发回目的地IP地址1409。发送端口号1203~版本1205与图10所示的XCAST分组B相同。数据类型1404是表示分组的形式的区域。例如,预先将“8”定义为报告请求分组形式,从而接收终端105~108或发送终端101能够从数据类型1404识别报告请求分组1401。在报头长度1405中报告请求分组的长度即“32”(字节)。发送源识别符1407是表示用于确定本分组的发送源的IP地址等信息的区域。中继时戳1408是用于接收终端107将时戳发回到上游的接收终端106的区域。该中继时戳1408为从收到数据分发的上游的接收终端106接收到的XCAST分组B1104的中继时戳1103,例如转记了接收终端106的时戳(S506的情况)或接收终端107的时戳(S512的情况)。发送目的地1409是存储发送报告的目的地的区域,记载有作为确定发送终端101的识别符的IP地址。报告请求分组1401除了上述各个区域之外,还具有分组序列号1406。
接收终端107将表示报告目的地的发送终端101的IP地址存储在报告请求分组1401的发送目的地1409中。另外,接收终端107将接收终端107从接收终端106接收到的XCAST分组B1104的中继时戳1103的值转记并存储在中继时戳1408中。
然后,如图3的步骤S507所示,接收终端107向上游的接收终端106的IP地址发回报告请求分组1401。接收到报告请求分组1401的接收终端106以时戳1408中记载的信息和当前时间计算RTT,并将该计算出的RTT作为报告分组报告给发送目的地识别符1409中记载的目的地即发送终端101。
接着,说明图3的RTT信息报告处理(S508和S516)。另外,这里,以步骤S508为例进行说明。另外,为了简化说明,将图3的步骤S509处理为包含在RTT信息报告处理中。
图13是表示RTT信息报告处理的流程的流程图。
接收终端106在将XCAST分组B1104传送到应进行数据传送的下游的接收终端107(图3的步骤S504)后,接收单元301等待回复即报告请求分组1401(S701)。
在接收终端106中,在接收单元301接收到报告请求分组1401时(S702:“是”),控制单元302将接收单元301所接收的报告请求分组1401传送给往返时间信息获得单元306。往返时间信息获得单元306获得报告请求分组1401的中继时戳1408中存储的信息,并且参照本终端的当前的时间,从而根据其差分计测接收终端106与接收终端107之间的往返时间即RTT(S703)。
最后,接收终端106将如上所述地计测出的RTT存储在报告分组中,并发送到发送终端101(S704)。
这里,说明报告分组。
图14是表示报告分组的具体结构的图。
在图14中,报告分组1501具有发送端口号1203~版本1205以及数据类型1504~计测目的地1509。发送端口序号1203~版本1205与图10所示的XCAST分组B相同。数据类型1504是表示分组的形式的区域。例如,预先将“9”定义为报告分组形式,从而接收终端105~108或发送终端101能够从数据类型1504识别报告分组1501。另外,在报头长度1505中设定报告分组的长度即“32”(字节)。发送源识别符1507是表示用于确定发送源的IP地址等识别符的区域。计测RTT1508是存储计测出的RTT的区域。该计测RTT1508中例如记载有接收终端106与接收终端107之间的RTT或接收终端107与接收终端108之间的RTT。另外,计测目的地1509是存储用于确定计测对方目的地的IP地址等识别符的区域。该计测目的地1509中例如存储有接收终端107或接收终端108的IP地址等识别符。也就是说,计测目的地1509中存储有能够确定计测出计测RTT1508的RTT的接收终端的IP地址等识别符。报告请求分组1401除了上述各个区域之外,还具有分组序列号1506。
如上所述,接收到该报告分组1501的发送终端101能够获得分割了XCAST分组的分发路径上的数据分发路径的一部分的RTT。
接着,说明图3所示的发送终端101进行的RTT估计处理(S518)。
图15是表示RTT估计处理的流程的流程图。
发送终端101从以上述的方式获得的多个RTT中选择最大的RTT,并利用该RTT作为可计算TFRC方式的发送速率的值进行RTT估计处理。发送终端101的接收单元402为对应多个接收终端106~108中一部分的接收终端的报告分组没有被发回的情况,利用计时器设定超时值(S801)。该超时值例如采用比从发送终端101经由所有的接收终端106~108到达最后的接收终端时的RTT大的值。
接着,接收单元402等待来自接收终端106和107的报告分组(S802)。在接收单元402从RTT估计所需的所有的接收终端106和107接收到报告分组时(S803:“是”),往返时间信息获得单元406从各个报告分组1501的计测RTT1508获得RTT计测路径110和111的RTT。对于RTT计测路径109,获得基于来自接收终端106的RR分组计算出的RTT。选择单元407从这些RTT计测路径109~111的RTT中选择最大的RTT,并采用该最大的RTT作为以TFRC方式进行计算时利用的RTT(将其设为R)(S805)。
此时,计算单元408从分割计测出的RTT中的、各个接收终端105~108的上游的RTT中选择最大的RTT并进行计算。例如,在本实施方式中,若利用图2的RTT计测路径109~111进行说明,则计算单元408利用RTT计测路径109的RTT计算接收终端106的发送速率、利用RTT计测路径109和110中较大的RTT计算接收终端107的发送速率、以及利用RTT计测路径109、110和111中最大的RTT计算接收终端108的发送速率。
接着,在存在没有向接收单元402发送RR分组1301的接收终端时(S806:“否”),接收单元402等待相应的接收终端的RR分组(S807)。
在接收单元402从所有的接收终端105~108接收到RR分组1301时(S806:“是”),计算单元408利用选择单元407所选择的R、以及存储在RR分组1301的实际频带1311和损失事件概率1312中的内容,基于TFRC方式计算发送速率(S808)。
另一方面,在步骤S803中,在存在没有向接收单元402发送报告分组1501的接收终端时(S803:“否”),控制单元403判断是否发生超时,在未发生时回到等待报告分组的状态(S804:“否”)。
在发生超时时(S804:“是”),控制单元403转移到发生报告分组超时时的处理。也就是说,在发生了超时时,意味着接收单元402无法接收所有的接收终端105~108的报告分组1501,所以选择单元407像往常一样采用通过成串路径计测出的RTT。
图16是表示发生报告分组超时时的处理的流程图。
控制单元403判断来自接收终端的RR分组1301是否到达(S901),在判断为未到达时(S901:“否”),等待RR分组的到达(S902)。在控制单元403判断为RR分组1301已到达时(S901:“是”),往返时间信息获得单元406根据RR分组1301的时戳1308中存储的时戳、以及接收RR分组时的发送终端101的当前时间,计算RTT(S903)。该RTT为XCAST分组未以各个接收终端为终端而成串地传送到多个接收终端时的RTT。选择单元407将该RTT设为R(S904),并将其传送给计算单元408作为以TFRC方式计算发送速率时的RTT。计算单元408利用RR分组1301所记载的实际频带1311和损失事件概率1312,以TFRC方式计算发送速率(S905)。也就是说,在发生了超时时,发送终端101进行以通常的SICC方式规定的动作而不进行RTT分割计测。
如上说明,在未发生超时时,适用于估计接收终端108的可发送的速率的RTT小于通过从发送终端101经由接收终端106和接收终端107到达接收终端108的路径计测出的RTT,所以其结果,计算出的可发送的速率变大。也就是说,不发生数据的传输的性能不必要地劣化的问题。
接着,利用图6所示的发送终端101的结构图说明计算发送速率后的发送终端101的动作。
接收终端类别分类单元410基于计算单元408计算出的各个接收终端105~108的发送速率,将各个接收终端105~108分配给适当的发送速率的类别。类别保持单元411存储由上述接收终端类别分类单元410进行分类所得的结果即地址与分类后的类别之间的对应。接收终端识别符信息生成单元404在类别保持单元411所记录的接收终端的类别分类被更新时,重新生成分发目的地信息,并将其传送给面向多地点分组生成单元405。发送单元409将面向多地点分组生成单元405所生成的分组发送到最初的接收终端。
这里,以具体的数值的例子说明本实施方式中的计算发送速率的例子。
假设基于从发送终端101经由接收终端106和接收终端107到达接收终端108的路径计测出的RTT为50ms(微秒)、发送终端101与接收终端106之间的RTT为10ms、接收终端106与接收终端107之间的RTT为15ms、以及与接收终端107与接收终端108之间的RTT为15ms。此时,基于从发送终端101经由接收终端106和接收终端107到达接收终端108的路径计测出的RTT即50ms为通过以往方式得出的计测结果。因此,在以往方式中,式(1)中的分母的R为50ms,其他的p、s和t_RTO为固定值,所以计算出(1/50)×50,从而可发送速率Xcal=1Mps。
另一方面,在本实施方式中,采用上述的计测结果即10ms和15ms中最大的一方的15ms作为式(1)中的分母的R。若将p、s和t_RTO作为与以往同样的固定的值,则其计算的结果为(1/15)×50,所以计算出可发送速率Xcal=约3.33Mbps。也就是说,若采用本发明的方式,与以往方式相比,能够以三倍以上的速度进行传输。
接着,表示能够以这样计算出的可发送的速率进行发送时满足与TCP的兼容性的情形。
在本实施方式中,在通过从发送终端101经由接收终端106和接收终端107到达接收终端108的路径进行分发时,为了满足与TCP的兼容性,只要在以下三个路径满足与TCP的兼容性即可。
(i)从发送终端101到接收终端106的路径
(ii)从接收终端106到接收终端107的路径
(iii)从接收终端107到接收终端108的路径
如上所述,计算可发送的速率时所需的信息为RTT和损失事件概率。以接收终端108所计测的损失为基础,基于以TFRC方式(RFC3448)规定的方式计算损失事件概率。这里,RTT为基于路径(i)、(ii)和(iii)观测出的RTT的最大值。如上所述,RTT为式(1)的分母的元素,所以计算出的可发送的速率等于或小于将路径(i)、(ii)和(iii)的RTT适用于相同的式子的情况。将该值称为“Xcalmin”。因此,若发送终端101利用Xcalmin进行数据的分发,在路径(i)、(ii)和(iii)的任一路径上也能够利用等于或小于满足与TCP的兼容性的速率的值进行数据的分发。也就是说,能够维持与TCP的兼容性。
如上所述,根据本实施方式,对SICC方式或者与SICC方式同样地利用TFRC方式对多个终端分发数据的流量控制方式适用上述的RTT分割计测,从而在通过SICC方式的发送终端计测与接收终端之间的RTT时,不会计算大到不必要程度的RTT,其结果,不发生数据的传输的性能不必要地劣化的问题。具体而言,将本发明的方式适用于对经由因特网向涉及多个国家的多个终端发送会议的视频那样的场面下适用SICC方式的情况,或通过SICC方式对涉及多个ISP或通信运营商(carrier)的状态下配置的多个终端进行流传输那样的情况,从而能够在接收终端接收高质量、高清晰的图像。
另外,能够维持与TCP的兼容性,所以在进行了上述的适用时,也不会发生使因特网或多个ISP通信运营商的网络陷入拥塞状态的情况。也就是说,即使在同一个因特网或多个ISP通信运营商的网络上同时大量地进行同样的视频的分发时,作为结果,也能够持续进行最佳的图像分发。
另外,在本实施方式中,将具有往返时间信息的分组从接收终端发送到发送终端,但不用说,对本发明而言,即使通过其他的终端中继具有往返时间信息的分组,将其发送到发送终端,也实现同样的效果。
另外,在本实施方式中,通过接收终端进行了往返时间的具体的计算,但不用说,即使以接收终端报告的时戳等可获得往返时间的信息为基础,在发送终端或其他的进行中继的接收终端计算往返时间,也实现同样的效果。
本发明的一个形态涉及的流量控制方法为通过多个接收终端的中继进行分组的分发时的流量控制方法,该方法包括以下的步骤:获得与应进行分组的分发的邻接的接收终端之间的、分组的往返时间;基于预先决定的基准,从所获得的与邻接的接收终端之间的多个的分组往返时间中选择规定的往返时间;以及根据所选择的往返时间计算分组的发送速率。
根据该结构,能够在分组的分发时,在邻接的接收终端之间分别计测用于估计分组的可发送速率的分组往返时间。
另外,本发明的一个形态涉及的流量控制方法包括:计算发送速率的步骤,其为利用TFRC进行计算的步骤。
根据该结构,能够进行满足与TCP的兼容性的流量控制。
另外,本发明的一个形态涉及的流量控制方法包括:选择规定的往返时间的步骤,从多个的分组往返时间中选择最大的往返时间。
根据该结构,能够利用瓶颈区间中的RTT估计可发送的速率。
另外,本发明的一个形态涉及的接收终端,通过中继向其他的接收终端分发分组,该接收终端所采用的结构包括:计测分组发送单元,发送分组,该分组包含用于计测在接收终端与应进行分组的分发的邻接的其他的接收终端之间的分组的往返时间的计测信息;接收单元,从邻接的其他的接收终端接收对包含计测信息的分组的发回的分组;往返时间信息获得单元,基于接收单元所接收的发回的分组,获得与分组的往返时间有关的时间信息;以及往返时间信息发送单元,将包含与往返时间信息获得单元所获得的分组的往返时间有关的时间信息的分组,发送到发送终端。
根据该结构,能够在分组的分发时,在邻接的接收终端之间分别计测用于估计分组的可发送速率的往返时间,并将其结果发送到发送终端。
另外,本发明的一个形态涉及的接收终端所采用的结构还包括:接收终端识别符信息获得单元,从由外部发送来的、应分发分组的其他的接收终端的列表中获得应分发的其他的接收终端的接收终端识别符,计测分组发送单元将包含用于计测往返时间的计测信息的分组,发送到通过接收终端识别符信息获得单元所获得的接收终端识别符确定的邻接的其他的接收终端。
根据该结构,能够计测通过由外部发送来的、应分发分组的邻接的其他的接收终端的列表确定的接收终端之间的RTT。
另外,本发明的一个形态涉及的发送终端,通过中继向进行分组的分发的接收终端分发分组,该发送终端所采用的结构包括:接收单元,接收分组,该分组包含与应分发分组的邻接的接收终端之间的分组的往返时间有关的信息;往返时间信息获得单元,从接收单元所接收的分组中获得往返时间;选择单元,基于预先决定的基准,从往返时间信息获得单元所获得的多个往返时间中选择规定的往返时间;以及计算单元,基于选择单元所选择的规定的往返时间,计算数据分发的发送速率。
根据该结构,能够在计测用于估计分组的可发送速率的往返时间时,基于在分组的分发时,在邻接的接收终端之间分别计测出的结果,计算分组分发的发送速率。
另外,本发明的一个形态涉及的分组传送系统通过接收终端的中继将分组从发送终端分发到多个接收终端,该系统所采用的结构包括接收终端和发送终端,所述接收终端包括:计测分组发送单元,发送分组,所述分组包含用于计测与应分发分组的邻接的其他的接收终端之间的分组的往返时间的计测信息;接收终端接收单元,从邻接的其他的接收终端接收对包含计测信息的分组的发回的分组;往返时间信息获得单元,基于接收终端接收单元所接收的发回的分组,获得与分组的往返时间有关的时间信息;以及往返时间信息发送单元,将包含与往返时间信息获得单元所获得的分组的往返时间有关的时间信息的分组发送到发送终端,所述发送终端包括:发送终端接收单元,接收包含从往返时间信息发送单元发送的、与分组的往返时间有关的时间信息的分组;往返时间获得单元,从发送终端接收单元所接收的分组中获得往返时间;选择单元,基于预先决定的基准,从往返时间获得单元所获得的多个往返时间中选择规定的往返时间;以及计算单元,基于选择单元所选择的规定的往返时间,计算数据分发的发送速率。
根据该结构,能够在分组的分发时,在邻接的接收终端之间分开计测用于估计分组的可发送速率的往返时间。
也就是说,在发送终端,在计测邻接的接收终端之间的RTT时,分开获得与应进行分组的分发的邻接的接收终端之间的、分组的往返时间,从而不会计算出较小的可发送速率,能够不破坏与TCP的兼容性而提高数据传输的性能。
2006年10月2日提交的特愿第2006-270410号的日本专利申请中所包含的说明书、附图及说明书摘要公开的内容全部引用于本申请。
工业实用性
根据本发明的流量控制方法,在通过SICC方式的发送终端计测与接收终端之间的往返时间时,不会计算出过大的值,其结果,能够不破坏与TCP的兼容性而提高数据的传输的性能。因此,在将视频或语音等数据分发到多个终端时,在对应于接收终端的能力或网络的状况进行流量控制的情况下很有用。

Claims (4)

1.用于通过接收终端的中继进行对从发送终端发送来的分组的分发时的流量控制方法,包括:
往返时间获得步骤,在包含所述发送终端和所述接收终端的多个终端中,对所述分发的路径上由每两个邻接的所述终端构成的所有终端对,获得该终端对的所述终端之间的往返时间;
选择步骤,从所述所有终端对的所述往返时间中,基于预先决定的基准选择任意一个所述往返时间;以及
计算步骤,基于利用了所述选择出的所述往返时间的传输控制协议友好速率控制方式,计算所述分组的发送速率。
2.如权利要求1所述的流量控制方法,
在所述选择步骤中,从对所述所有终端对获得了的所述往返时间中,选择最大的所述往返时间。
3.发送终端,通过中继分组的接收终端进行第一分组的分发,其包括:
接收单元,在包含所述发送终端和所述接收终端的多个终端中,对所述分发的路径上由每两个邻接的所述终端构成的所有终端对,接收包含了与该终端对的所述终端之间的往返时间有关的信息的第二分组;
往返时间获得单元,从所述接收单元所接收的所述第二分组中获得所述所有终端对的所述往返时间;
选择单元,从所述往返时间获得单元所获得的所述所有终端对的所述往返时间中,基于预先决定的基准选择任意一个所述往返时间;以及
计算单元,基于利用了所述选择单元所选择的所述往返时间的传输控制协议友好速率控制方式,计算所述第一分组的发送速率。
4.将从发送终端发送来的第一分组的分发通过接收终端的中继进行的分组传送系统,
所述接收终端包括:
计测分组发送单元,将包含计测信息的第二分组发送到第二接收终端,所述计测信息用于计测所述接收终端与在所述分发的路径上的下游端邻接的所述第二接收终端之间的往返时间;
接收终端接收单元,在从所述第二接收终端发送来对所述第二分组的发回的第三分组时,接收所述第三分组;
往返时间信息获得单元,基于所述接收终端接收单元所接收的所述第三分组,获得与所述往返时间有关的时间信息;以及
往返时间信息发送单元,将包含所述往返时间信息获得单元所获得的所述时间信息的第四分组发送到所述发送终端,
所述发送终端包括:
发送终端接收单元,从所述接收终端接收所述第四分组以及用于所述发送终端获得与所述接收终端之间的所述往返时间的接收报告分组;
往返时间获得单元,根据所述发送终端接收单元所接收的所述第四分组以及所述接收报告分组,在包含所述发送终端和所述接收终端的多个终端中,对所述分发的路径上由每两个邻接的所述终端构成的所有终端对,获得该终端对的所述终端之间的所述往返时间;
选择单元,从所述所有终端对的所述往返时间中,基于预先决定的基准选择任意一个往返时间;以及
计算单元,基于利用了所述选择单元所选择的所述往返时间的传输控制协议友好速率控制方式,计算所述第一分组的发送速率。
CN200780036883XA 2006-10-02 2007-08-29 流量控制方法以及用于该方法的发送终端、接收终端和分组传送系统 Expired - Fee Related CN101523825B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006270410 2006-10-02
JP270410/2006 2006-10-02
PCT/JP2007/066783 WO2008041434A1 (fr) 2006-10-02 2007-08-29 Procédé de commande de flux, dispositif de terminal émetteur utilisé dans celui-ci, dispositif de terminal récepteur et système de transfert par paquets

Publications (2)

Publication Number Publication Date
CN101523825A CN101523825A (zh) 2009-09-02
CN101523825B true CN101523825B (zh) 2013-01-23

Family

ID=39268298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780036883XA Expired - Fee Related CN101523825B (zh) 2006-10-02 2007-08-29 流量控制方法以及用于该方法的发送终端、接收终端和分组传送系统

Country Status (4)

Country Link
US (1) US8031608B2 (zh)
JP (1) JP5025655B2 (zh)
CN (1) CN101523825B (zh)
WO (1) WO2008041434A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2923118B1 (fr) * 2007-10-30 2016-04-01 Canon Kk Procede, dispositif et programme d'ordinateur pour la gestion de la quantite de donnees emises par un dispositif d'emission
JP5171245B2 (ja) * 2007-12-28 2013-03-27 パナソニック株式会社 プロトコル遅延測定装置及びプロトコル遅延測定方法
US8699519B2 (en) 2008-09-19 2014-04-15 Panasonic Corporation Transmission rate control device and transmission rate control method
US8289365B2 (en) * 2009-03-30 2012-10-16 Alcatel Lucent Method and apparatus for the efficient transmission of multimedia streams for teleconferencing
WO2010148547A1 (zh) * 2009-06-22 2010-12-29 华为技术有限公司 流量控制的方法、中继节点和施主基站
US8369328B2 (en) * 2009-07-14 2013-02-05 Saguna Networks Ltd. System and method for efficient delivery of multi-unicast communication traffic
US8773982B2 (en) * 2010-06-16 2014-07-08 Panasonic Corporation Transmitting terminal and bandwidth estimating method
JP5650656B2 (ja) * 2010-06-28 2015-01-07 パナソニックIpマネジメント株式会社 通信端末、通信方法、プログラム、及び集積回路
JP5551997B2 (ja) * 2010-08-04 2014-07-16 京セラ株式会社 無線通信システム、無線基地局、無線端末、ネットワーク側装置及び通信特性監視方法
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US20130003624A1 (en) * 2011-01-21 2013-01-03 Qualcomm Incorporated User input back channel for wireless displays
JP5899687B2 (ja) * 2011-07-15 2016-04-06 ソニー株式会社 通信装置及び通信方法、通信システム、並びにコンピューター・プログラム
US9571406B2 (en) * 2011-10-25 2017-02-14 Vmware, Inc. Network congestion management based on communication delay
CN104620590B (zh) * 2012-09-20 2018-08-10 索尼公司 接收装置、发送/接收系统、接收方法
WO2014064890A1 (ja) * 2012-10-24 2014-05-01 パナソニック株式会社 通信システム、受信端末、送信端末、および流量制御方法
FR2998748B1 (fr) * 2012-11-23 2015-04-10 Commissariat Energie Atomique Dispositif et procede de retransmission de donnees dans un commutateur reseau
JP6241622B2 (ja) * 2012-11-28 2017-12-06 パナソニックIpマネジメント株式会社 受信端末および受信方法
WO2014192142A1 (ja) 2013-05-31 2014-12-04 富士通株式会社 無線端末、重要度生成方法及び無線通信システム
EP3566421B1 (en) 2017-01-09 2021-12-29 Nokia Technologies Oy Method, computer programme and apparatus for coordinated content delivery in multicast / broadcast networks
US10645448B2 (en) * 2017-05-15 2020-05-05 Omnivision Technologies, Inc. Buffer-aware transmission rate control for real-time video streaming system
US10979314B2 (en) 2019-01-24 2021-04-13 Vmware, Inc. Dynamic inter-cloud placement of virtual network functions for a slice
US10944647B2 (en) 2019-01-24 2021-03-09 Vmware, Inc. Dynamic inter-cloud placement of virtual network functions for a slice
US11588733B2 (en) 2019-05-14 2023-02-21 Vmware, Inc. Slice-based routing
US10958579B2 (en) * 2019-05-14 2021-03-23 Vmware, Inc. Congestion avoidance in a slice-based network
US11012288B2 (en) 2019-05-14 2021-05-18 Vmware, Inc. Congestion avoidance in a slice-based network
US10897423B2 (en) 2019-05-14 2021-01-19 Vmware, Inc. Congestion avoidance in a slice-based network
US10892994B2 (en) 2019-05-14 2021-01-12 Vmware, Inc. Quality of service in virtual service networks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1109251A (zh) * 1993-07-30 1995-09-27 阿尔卡塔尔有限公司 在蜂窝移动无线电系统中覆盖盲区的方法和实施该方法的无线电中继器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734825A (en) * 1994-07-18 1998-03-31 Digital Equipment Corporation Traffic control system having distributed rate calculation and link by link flow control
JP2995676B2 (ja) * 1996-11-15 1999-12-27 株式会社超高速ネットワーク・コンピュータ技術研究所 情報通信方法
WO2002025878A1 (fr) * 2000-09-22 2002-03-28 Matsushita Electric Industrial Co., Ltd. Procede de transmission/reception de donnees, dispositif de transmission, dispositif de reception, systeme de transmission/reception et programme
JP2002374302A (ja) * 2001-06-15 2002-12-26 Ntt Docomo Inc Rtt測定方法、及び、rtt測定システム
US20050152397A1 (en) * 2001-09-27 2005-07-14 Junfeng Bai Communication system and techniques for transmission from source to destination
JP2004135065A (ja) * 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd 送信端末、受信端末及びデータ伝送システム
JP2006109325A (ja) * 2004-10-08 2006-04-20 Nec Corp 通信システム、通信装置、およびプログラム
US8392780B2 (en) * 2006-03-21 2013-03-05 Telefonaktiebolaget L M Ericsson (Publ) Communication control method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1109251A (zh) * 1993-07-30 1995-09-27 阿尔卡塔尔有限公司 在蜂窝移动无线电系统中覆盖盲区的方法和实施该方法的无线电中继器

Also Published As

Publication number Publication date
CN101523825A (zh) 2009-09-02
JPWO2008041434A1 (ja) 2010-02-04
JP5025655B2 (ja) 2012-09-12
US20100074113A1 (en) 2010-03-25
WO2008041434A1 (fr) 2008-04-10
US8031608B2 (en) 2011-10-04

Similar Documents

Publication Publication Date Title
CN101523825B (zh) 流量控制方法以及用于该方法的发送终端、接收终端和分组传送系统
CN105765911B (zh) 一种网络丢包的测量装置及方法
US8023509B2 (en) Communication terminal and retransmission request method
JP4798285B2 (ja) パケットの伝送品質計測方法、およびパケット受信計測装置
US7372819B2 (en) Adaptive packet routing
DE60301585T2 (de) Multisprungnetzwerk zum Übertragen von Paketen deren Größe durch die Anzahl der Sprünge bestimmt wird
US8503294B2 (en) Transport layer relay method, transport layer relay device, and program
CN100579034C (zh) 上报设备信息的方法、获取设备信息的系统和设备
US20040001511A1 (en) Catprobe
US8098660B2 (en) Transmitting apparatus and transmitting method
WO2005099188A9 (ja) 通信品質管理方法および装置
CN1620040B (zh) 分组交换网中用内部标记作可升级选择性反压力的方法和设备
CN101971580A (zh) 网络表征
KR20050116824A (ko) 디지털 링크의 대역폭을 평가하는 방법
CN100550786C (zh) 在数据网络操作和维护协议中对帧传输进行性能监测的方法
EP2811785B1 (en) Dynamic routing method in ad-hoc network and network device therefor
KR101039550B1 (ko) 데이터 전송률 계산 방법 및 이를 이용한 대역폭 설정 방법
CN110784378B (zh) 使用twamp实现精准流量均衡的方法及装置
CN111447645B (zh) 无线传感器网络场景下一种实时感知网络状态的方法
CN113812119B (zh) 用于性能测量的网络节点
CN113328903B (zh) 检测传输质量的方法、装置和系统
CN113206794A (zh) 一种转发限速方法及装置
JP3781663B2 (ja) トラヒック情報収集装置およびトラヒック情報収集方法およびプログラムおよび記録媒体
CN116723133B (zh) 数据发送、接收设备、网络状态信息提取方法及装置
KR100708589B1 (ko) IPv6 패킷망에서 타임스탬프 메시지를 이용한 홉별가용속도 측정 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130123

Termination date: 20200829

CF01 Termination of patent right due to non-payment of annual fee