具体实施方式
现在参考附图描述本发明的一个或更多的实现方式,其中类似的标号通篇指代类似的单元,并且其中各种结构未必按照比例绘制。在下面的描述中,为了解释的目的,对许多具体的细节作了描述以便于理解。然而对于本领域技术人员来说显而易见的是,此处描述的一个或多个方面能够在这些具体细节处于次要程度的情况下被实施。在其它实例中,已知的结构和设备显示为框图的形式以便于理解。虽然以下在VDSL和ADSL系统的上下文中描述重传方案的例子,但需要注意本发明通常可应用于任何通信系统。
图1示出了DSL通信系统100的一些实施例,该DSL通信系统100包括包含第一收发器106a的运营商站点102和包含第二收发器106b的用户站点104。第一收发器106a包含第一发送器108a和第一接收器110a,并且第二收发器106b包含第二发送器108b和第二接收器110b。第一收发器106a和第二收发器106b通过用户线112耦合。
在通信期间,第一收发器106a传送输入数据流H4(例如模拟的VoIP),用于以数据发送单元(DTU)116形式的发送,该数据发送单元具有基于第一收发器106a与第二收发器106b之间预期的往返时间延迟的DTU大小。由于往返时间延迟在发送前不能被直接测量,因此通信系统100必须在初始化阶段118(即训练)对它进行估计,该过程中各侧彼此传送其半程往返(HRT)。在120发送的运营商站点102的HRT(HRT_TX)122对应于由发送器108a发送的DTU到达用户站点104的估计时间。同样地,在124发送的用户站点104的HRT(HRT_RX)126对应于接收器110b接收到DTU的确认到达运营商站点102的估计时间。在128,传送的HRT值用于计算估计的往返时间延迟(RTe)130作为HRT_TX122与HRT_RX126的和。初始的DTU大小132基于RTe设置。初始的DTU大小132与RTe成反比。
为了进行强壮的通信,RTe值和相应的初始的DTU大小被设置为保守值以限制数据传送错误。该保守估计导致了不必要的性能限制。
因而本公开在DTU传送132(即显示时间)期间测量DSL通信系统的往返时间延迟,并根据测量的往返延迟更新初始的DTU大小。特别地,在132中第一收发器106a接收输入数据流114并在134中发送DTU。在第二收发器106b接收到该DTU后,在136第二发送器108b发送DTU被接收的确认。第一收发器106a在138中接收该确认,并计算测量的往返时间延迟(RTm)作为DTU在134中被发送的时间与DTU在138中被接收的确认的时间之间的差异。第二DTU大小142被确定为与RTm成反比,其中第二DTU大小比第一DTU大小大RTe/RTm倍,因而得到RTe/RTm倍的吞吐量增益因子。
DTU大小的确定是优化通信系统效率的关键因素。过小的DTU大小会浪费可用吞吐量(例如带宽),而过大的DTU大小会导致数据不完整的传送、单个数据单元的多次重传、DTU的损坏或者它们的结合。因此,本公开涉及这样的通信系统,其被布置为通过增加DTU大小来解决在训练期间所用的过度保守的往返延迟,从而改善数据吞吐量的效率。该通信系统被配置为在增加新功能要素来为通信系统的各种实施例调整DTU大小的同时利用(1everage)现有的重传协议。
图2示出了用于错误侦测和重传的DSL通信系统200的实施例,该DSL通信系统包含CO调制解调器202和CPE调制解调器204。在CO调制解调器202a中,数据流(未示出)被封装到DTU206中并被发送到CPE调制解调器204。为了可能重传的目的,每个所发送DTU的副本被存储在重传缓冲器208中。在收到DTU后,CPE调制解调器204在错误侦测单元210中执行帧序列检查(FSC)以确定DTU在传送期间是否损坏。所有接收到的DTU被存储在接收缓冲器212中,并产生确认且经由重传请求信道(RRC)214送回到CO调制解调器202。肯定的确认指示DTU被接收并且没有侦测到错误。否定的确认指示侦测到错误。所有未被确认或被否定确认的DTU由发送器重新发送。被否定确认的DTU在接收缓冲器212中被替换216。
DSL通信装置200的重传策略需要缓存所有被发送和接收的DTU。缓冲器大小由DTU大小以及发送DTU与接收确认之间的往返时间延迟218确定。重传缓冲器208的大小使得其能够保存一定数量(Qtx)的DTU。因而,如果在发送Qtx个后续DTU后DTU未被确认,那么它将被自动重传。重传降低了DSL通信装置200的总吞吐量。
图3示出了DTU实施例300,其包含用于排序接收器中的多个DTU的序列标识符(SID)302、指示DTU何时被发送的时间戳记(TS)304、N个字节的发送数据306和用于错误侦测的前向错误校正编码字(FEC CW)308。如果发送器在一个相当于发送器重传缓冲器深度310(即Qtx个DTU)的时段内没有从接收器接收到肯定的确认,则发生DTU重传312。对应于缓冲器深度310的时段可以借助数据符号(DS)314来表示。注意DTU大小不需要与整数个DS符号314对应,反之亦然。在本实施例中,存在最坏情况的在整数个DTU与整数个DS符号之间的DTU-DS偏差316。
图4示出了用于DSL通信系统100的一些实施例的—般启动协议400,其中DTU大小402借助数据符号单元404测量,并依赖于发送DTU和收到DTU被接收的确认之间的往返时间延迟。在DSL通信系统100启动期间,每—侧(即运营商站点102和用户站点104)传送其半程往返(HRT)。在406a第一收发器106a传送发送数据的估计HRT(HRT_TX)408,其在410处由第二收发器106b接收。在412第二收发器106b传送确认的估计的HRT(HRT_RX)414,其在416处由第一收发器106b接收。注意HRT—般可以符号部分和DTU部分表示(例如对于DMT系统,HRT=6个DMT符号加1个DTU)。
图4实施例的往返时间延迟也必须解决第二收发器106b产生DTU(例如1个DTU)收到的确认所用的时间422以及DTU大小402和数据符号单元404(例如1个DS)之间的最坏情况偏差。因而,估计的往返时间延迟(RTe)420确定为HRT_TX408和HRT_RX414之和,加上1个DTU(以解决接收器产生确认422所用的时间),加上1个符号(以解决DTU-DS偏差424)。
为了测量多个DTU的往返时间延迟,可使用图1实施例的往返测量协议132。然而,每个DTU必须加以区分。这可通过跟踪被发送的和被接收的两种DTU的绝对DTU计数(AbsDTUcount)以及由接收器肯定确认的连续DTU的数量(ConsecGoodDTUs)来实现。
图5示出了包含CO发送器502和CPE接收器504的通信系统500的简单实施例。在初始化后(例如训练),CO发送器502记录所有被发送DTU的AbsDTUcount(AbsDTUcount_TX)506,而CPE接收器504为确认确保的目的同步运行AbsDTUcount(AbsDTUcount_RX)508。CPE接收器504还跟踪ConsecGoodDTUs510来解决这样的实例,其中DTU被接收,
但错误被检测到并且重传请求被发送给CO发送器502。
通信系统500的CO发送器502在514处发送第一DTU(DTU1)512并记录AbsDTUcount_TX=1。在516处CPE接收器504接收DTU512,记录AbsDTUcount_RX=1,记录ConsecGoodDTUs=1,并发送指示DTU1被接收的第一肯定确认518。在520处CO发送器502接收第一肯定确认518,确定AbsDTUcount_TX和AbsDTUcount_RX之间的差异为0,并以此测量第一往返时间延迟(RT1)522。在516处CO发送器502发送第二DTU(DTU2)524并记录AbsDTUcount_TX=2。在530处CPE接收器504接收DTU2524但确定它已损坏。CPE接收器504记录AbsDTUcount_RX=2但重置ConsecGoodDTUs=0,并产生第一否定确认526。CO发送器502在528处接收第一否定确认526并确定AbsDTUcount_TX和AbsDTUcount_RX之间的差异为0,但确定ConsecGoodDTUs=0,从而使得DTU2524必须被重传。DTU2524的往返时间延迟无法被测量直至重传成功并被CPE接收器504确认。在530处第三DTU(DTU3)532由CO发送器502发送(该CO发送器502记录AbsDTUcount_TX=3)但未被CPE接收器504接收(AbsDTUcount_RX=2)。由于接收器504没有为DTU3530产生确认,所以DTU3的往返时间延迟(RT3)无法被测量直到重传成功。
对于传送多个DTU(n个DTU),AbsDTUcount_RX=AbsDTUcount_TX=ConsecGoodDTUs=n的确认表示所有发送的DTU(即DTU1,DTU2,...,DTUn)均接收到而无损坏。因而,每个DTU的往返均可被测量。AbsDTUcount_RX=AbsDTUcount_TX但ConsecGoodDTUs<n的确认暗示所有发送的DTU被接收到,但—个或多个DTU已损坏。肯定确认的DTU的SID可被用于标识和确定其往返时间延迟。AbsDTUcount_RX≠AbsDTUcount_TX的确认指示未接收到一个或多个DTU。未确认DTU的往返时间延迟只能在重传成功后确定。
在一些实施例中,DTU流是在发送的DTU之间没有任何间隙的CBR(常比特率)。独立于用户业务流,1秒钟内可以有多达大概1000次的往返时间延迟测量。同样地,测量一段给定时段内的多个DTU的往返时间延迟并确定最大值是有用的。
图6示出了用于在发送器内周期性测量往返时间延迟并且传送至接收器的实施例600。在第一时段602中,发送器(未示出)测量多个往返时间延迟604a-604c,确定第一最大往返时间延迟RTm(1)606,并将其传送给接收器608。该过程在第二时段610内对多个往返时间延迟612a-612c重复以确定第二最大往返时间延迟RTm(2)614,该延迟被传送给接收器616。该过程在整个发送中重复618。注意在该实施例中,在一段给定时段内的最后往返测量和向接收器传送最大测量的往返之间有两个时钟脉冲的偏移量620。偏移量620一般可以是比测量周期短的任何值。
图7示出了根据一个在线校正(即在显示期间)实施例的用于往返测量和数据成帧校正的DSL通信系统700的示例。发送器702接收输入数据流706。发送器702中的数据单元构造模块708基于接收器704在训练期间完成的估计的往返时间延迟(RTe)将数据流706成帧为DTU。为可能重传的目的,每个发送的DTU的副本存储在重传存储器单元710中。DTU随后经由发送单元712,在用户线714的数据通路716上发送给接收器704。DTU由接收单元720接收。错误控制器722对每个接收的DTU执行错误检测来确定其是否损坏。接收器704中的第一确认控制器724经由用户线714的控制通路718向发送器702中的第二确认控制器726发送每个接收到的DTU的确认。第二确认控制器726耦合到测量每个确认的DTU的往返时间延迟的往返测量单元728,并在往返存储单元730中存储测量的往返值。最大往返测量单元732计算一段预定时段内的最大往返时间延迟(RTm)。往返测量单元732经由用户线714的控制通路718向往返增量计算单元734传送RTm。如前所述,发生了往返测量单元732向往返增量计算单元734的传送,其中偏移量小于预定时段。偏移量典型地在显示时间进入后或成帧参数变化后应用以虑及链路稳定性。对于该实施例的通信系统700,优选的是带有50秒偏移量的60秒周期。
往返增量测量单元734计算往返增量(RTdelta)为RTe和RTm的差值。如果RTdelta<0则测量的往返小于估计的往返并且成帧校正是可能的。另外,如果RTdelta大于如本实施例中取为DTU大小的预定阀值(RTdeltaTHR),则成帧校正能够允许每个RTm传送至少一个额外的DTU。成帧产生单元736从往返增量计算单元734处接收RTdelta信息,并基于RTdelta计算新的DTU大小。成帧产生单元736之后经由用户线714的控制通路718将新的DTU大小传送给数据单元构造模块708。数据单元构造模块708据此调整后续DTU的大小。
本领域技术人员将意识到,本实施例的在线校正可构成无缝速率适配(SRA)或其他在线适配。注意在成帧参数发生变化的时点可以没有任何DTU的未完成的重传。所有基本成帧参数可在SRA过程中改变,使得用恰当方式改变以符号为单位的DTU大小成为可能。只有成帧类型不允许改变。
图8示出了根据一个在接收器侧应用的离线校正的实施例(即显示时间退出并返回训练)的用于往返测量和数据成帧校正的DSL通信系统800的示例。在该实施例中,前一实施例中的接收器704进一步包括耦合到最大往返测量单元732的往返存储单元802。在离线校正的显示时间退出的情况下,往返测量单元732经由用户线714的控制通路718将最后的有效RTm值传送给往返存储单元802。RTm值被保存在往返存储单元802中用于新的训练。往返存储单元802耦合到往返增量计算单元734。在新训练期间,如在前面DSL通信系统700实施例中所述的,往返增量计算单元734计算RTdelta并确定新DTU的大小。如果接收器704能够在启动期间侦测到其仍然耦合至同一发送器702(例如由于供应商标识符、平台信息、FW版本等),则成帧产生单元736将新DTU的大小经由用户线714的控制通路718传送给数据单元构造模块708。
图9示出了根据一个在发送器侧应用的离线校正的实施例的用于往返测量和数据成帧校正的DSL通信系统900的示例。在DSL通信系统900启动期间,发送器702和接收器704的每一个均如前面一般启动协议400中所述地传送其半程往返(HRT)。然而,在当前的实施例900中,发送器HRT_TX值、接收器HRT_RX值及DTU大小以数据符号(Tdtu)的时间单位来表示。所以没有确定估计的往返(RTe)所需的DTU-DS偏移项。对于DSL通信系统900,发送器702在启动期间于往返估计单元906中计算RTe作为发送器HRT_TX值、接收器HRT_RX值及以数据符号(Tdtu)为单位的DTU大小之和。
在显示时间期间,最大往返测量单元732如前面实施例700中所述地计算一段预定时段内的RTm。在离线校正的显示时间退出的情况下,往返测量单元732向往返存储单元902传送最后的有效RTm值,其中该值将保存在往返存储单元902中用于新的训练。往返存储单元902耦合到往返增量计算单元904。在新训练期间往返增量计算单元734如在前面DSL通信系统700的实施例中所述地计算RTdelta。然而,不同于基于RTdelta调整DTU大小,发送器702调整其HRT_TX值使得在往返估计单元906中计算的RTe值相对于存储在往返存储单元902中的最后的RTm值最小。如果发送器702能够在启动期间侦测到其仍然耦合至同一接收器704(例如由于供应商标识符、平台信息、FW版本等),则其将调整后的HRT_TX值传送到成帧产生单元736。
图10示出了包含CO收发器单元1002和CPE收发器单元1004的用于往返估计和无缝速率适配的DSL通信系统1000的示例。CO收发器单元1002包含向接收器发送DTU的第一发送器1006、接收DTU收到的确认的第一接收器1008、配置为存储发送的DTU的发送时间戳记的时间戳记存储单元1010。戳记存储单元1010也存储确认DTU收到的确认时间戳记。CO收发器单元1002进一步包括配置为与接收器通信并在数据发送之前从接收器接收确定DTU大小的输入的第—训练模块1012。CO收发器单元还包括配置为与接收器通信并在数据发送期间从接收器接收确定DTU大小的输入的无缝速率适配模块1014和配置为操作CO收发器1002的前述部件的控制器1016。CPE收发器单元1004包括发送DTU收到确认的第二发送器1018、接收DTU的第二接收器1020和对于收到的DTU产生确认的确认控制器1022。CPE收发器单元1004进一步包括配置为与发送器通信并在数据发送之前向发送器发送确定DTU大小的输入的第二训练模块1024和确定DTU大小的成帧模块1026。
在发送任何数据之前(即在训练期间),成帧模块1026分别从CO收发器单元1002和CPE收发器单元1004接收估计的HRT—TX和HRT—RX的输入,并采用在—般启动协议400中的前述方式确定估计的往返时间延迟(RTe)。成帧模块1026基于RTe确定DTU大小并将DTU大小传送给第二训练模块1024,第二训练模块随后将DTU大小传送给(1030)第一训练模块。第一训练模块1012将DTU大小中继至数据单元构造模块(未示出),使得输入数据流(也未示出)可封装入大小由成帧模块1026确定的DTU中。
在数据传送期间(即显示时间)多个DTU被发送和确认,每个DTU的发送时间和确认时间戳记在时间戳记存储单元1010中存储。耦合到时间戳记存储单元1010的控制器1016能够使用序列标识符(SID)将每个发送的DTU的发送时间戳记和确认时间比较,从而采用在实施例500中的前述方式为多个DTU中的每一个确定测量的往返时间延迟。控制器1016也能采用实施例600中的前述方式为多个DTU中的每一个确定最大往返时间延迟RTm,并将RTm传送(1032)到成帧模块1026。数据成帧校正随后可借助前述实施例之一被应用。
图11示出了用于在通信系统中处理数据的方法的一些实施例1100的流程图。方法1100处理发送器中以数据传送单元(DTU)为形式的输入数据流,其中DTU大小基于通信系统初始化期间(例如训练)确定的估计的往返时间延迟。随后可基于传送期间(例如显示时间)获得的测量的往返时间延迟(RTm)更新DTU大小。虽然下面将方法1100说明和描述为一系列动作和事件,但是将认识到这些动作和事件的说明顺序不在限定性意义下被解读。例如,除了这里说明和/或描述的之外,某些动作可以不同的顺序发生和/或与其它动作或事件并行地发生。另外,并非所有说明的动作需要用来实现这里描述的实施例的一个或多个方面。进一步地,这里描述的一个或多个动作可在一个或多个分离的动作和/或阶段被执行。
在步骤1102,通信系统进入训练,其中发送器向接收器传送其半程往返(HRT_TX),并且接收器向发送器发送其半程往返(HRT_RX)。
在步骤1104,通信系统经历成帧选择,其中DTU大小基于将RTe定义为HRT_TX与HRT_RX之和的标准规则确定为与估计的往返(RTe)成反比。
在步骤1106,通信系统进入显示时间,其中DTU从发送器发送至接收器,接收器向发送器发送DTU收到的确认,并且测量的往返时间延迟(RTm)被确定。
在步骤1108,RTe与RTm比较以确定成帧校正(即DTU大小的调整)是否可能。
在步骤1110,借助为后续传送的新的成帧来调整DTU大小。
图12示出了用于在DSL通信系统中处理数据的方法的一些实施例1200的流程图。方法1200处理发送器中以多个DTU为形式的输入数据流,其中DTU大小基于训练期间由接收器确定的估计的往返时间延迟。随后可基于在显示时间期间发送器获得的所有传送的DTU的最大测量的往返时间延迟(RTm)来更新DTU大小。虽然方法1200以下被说明和描述为一系列动作和事件,但是将认识的是这些动作和事件的说明顺序不在限定性意义下被解读。例如,除了这里说明和/或描述的之外,某些动作将以不同的顺序发生和/或与其它动作或事件并行地发生。另外,并非所有说明的动作需要用来实现这里所描述实施例的一个或多个方面。进一步地,这里描述的一个或多个动作可在一个或多个分离的动作和/或阶段被执行。
在步骤1202,DSL通信系统加电启动。
在步骤1204,DSL通信系统进入训练,其中发送器向接收器传送其半程往返(HRT_TX),并且接收器向发送器发送其半程往返(HRT_RX)。
在步骤1206,DSL通信系统经历成帧选择,其中DTU大小基于标准规则确定为与估计的往返(RTe)成反比,该标准规则将RTe定义为HRT_TX与HRT_RX之和,加上—个DTU(以解决接收器产生确认所用的时间),加上一个符号(以解决DTU-DS偏差)。
在步骤1208,DSL通信系统进入显示时间,其中多个DTU从发送器发送至接收器,接收器向发送器发送每个接收到的DTU的确认,并确定所有DTU中最大测量的往返时间延迟(RTm)。
在步骤1210,进行是借助在线校正(即在显示时间期间)还是借助离线校正(即显示时间退出并且返回训练)来进行成帧校正的判断。
在步骤1212,如果作出借助在线校正(1210中的是)进行成帧校正的判断,则发送器将RTm传送至接收器。
在步骤1214,发送器和接收器借助无缝速率适配(SRA)应用成帧校正。注意在成帧参数发生变化的时点可以没有任何DTU的未完成的重传。所有基本的成帧参数可以在SRA过程中被改变,使得以恰当方式改变以符号为单位的DTU的大小成为可能。只有成帧类型不允许改变。
在步骤1216,为DTU传送开始进行新的成帧,从而导致RT/RTm倍的吞吐量增益因子。
在步骤1218,如果作出借助离线校正(1210中的否)进行成帧校正的判断,则进行成帧校正在发送器中还是在接收器中发生的判断。
在步骤1220,如果作出在接收器中(1218中的是)进行成帧校正的判断,则发送器将RTm发送至接收器。
在步骤1222,DSL通信系统退出显示时间并进入新训练。
在步骤1224,为DTU传送确定新的成帧,其导致RT/RTm倍的吞吐量增益因子。
在步骤1226,DSL通信系统进入显示时间并且为DTU传送开始进行新的成帧。
在步骤1228,如果作出在发送器中(1218中的否)进行成帧校正的判断,则DSL通信系统退出显示时间并进入新训练。
在步骤1230,发送器调整其HRT_TX值,使得Rte相对于RTm值最小。
在步骤1232,DSL通信系统重新进入训练,其中发送器将在步骤1230中确定的其调整的HRT_TX值传送给接收器,并且接收器向发送器传送HRT_RX。DSL通信系统基于步骤1206的标准规则再次经历成帧选择。
在步骤1226,DSL通信系统再次进入显示时间并且为DTU传送开始进行新的成帧。
由此,以上描述的实施例是优化数据单元大小(因而优化了通信系统的吞吐量)的重传往返校正方案。虽然相对一个或多个实现方式说明和描述了本发明,但是在不脱离所附权利要求精神和范围的前提下,可对说明的实例作出替代和/或修改。例如,虽然本发明的某些实施例相对于ADSL及VDSL通信系统进行描述,但是本发明可应用于任何通信系统。例如,其它通信系统尤其可包括蜂窝电话、寻呼机、移动通信设备、工业控制系统、广域网、局域网。这些和其它系统能够经各种类型的通信介质进行通信,通信介质包括但不限于无线介质、光纤、同轴电缆、电力线和很多其它介质。
另外,虽然各种被说明的实施例以硬件结构示出,但该设备的功能性和相应特征也能由合适的软件例程或硬件和软件的组合实现。
特别地,对于由以上描述的部件或结构(组件、设备、电路、系统等)执行的各种功能,除非另有说明,用于描述这类部件的术语(包括对“手段”的引用)旨在对应于执行所描述部件(例如在功能上是等同的)特定功能的部件或结构,即使其在结构上并不等同于所公开的结构,该所公开的结构执行在此说明的本发明示例性实现方式的功能。另外,虽然本发明的特定特征可以仅就几个实现方式中的一个加以公开,但是由于对于任何给定的或特定的应用来说可能是需要的和有益的,所以这样的特征可与其它实现方式的—个或多个其它特征组合。而且,就术语“包括”、“具有”、“带有”或它们的变化形式在详细描述和权利要求书中使用的范围而言,这类术语旨在以类似于术语“包含”的方式表示包容性的含义。