CN1536845A - 分组缓存管理 - Google Patents
分组缓存管理 Download PDFInfo
- Publication number
- CN1536845A CN1536845A CNA2004100013968A CN200410001396A CN1536845A CN 1536845 A CN1536845 A CN 1536845A CN A2004100013968 A CNA2004100013968 A CN A2004100013968A CN 200410001396 A CN200410001396 A CN 200410001396A CN 1536845 A CN1536845 A CN 1536845A
- Authority
- CN
- China
- Prior art keywords
- grouping
- formation
- packet
- link
- sequence number
- 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
Images
Classifications
-
- 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
-
- 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/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- 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/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
Abstract
一种用于使队列的填充与输入分组流实现同步的方法,所述队列存在于分组网络与同步数据链路之间的接口处,其用于存储识别从所述分组网络所接收分组的分组识别符,所述方法包括在所述接口处接收分组,识别所述分组的序列号,将指向将从所述队列读取的下一分组识别符的读指针设置为这样的值,即所述值为小于所识别序列号的预定量。所述方法还提供了一种用于延长与缩短所述队列的平均大小以使所述平均大小保持最佳水平的装置。
Description
技术领域
本发明涉及分组缓存管理,尤其涉及分组网络和同步网络之间接口处的分组缓存管理。
背景技术
通信网络通常使用两个适当建立的传输机制中的一个;电路交换传送和分组交换(或仅分组)传送。旧系统倾向于使用前者,大体上将时分复用(TDM)用于特定频带,以将时域分为相等持续时间的时隙。电路是通过集合连续时帧内的相同时隙位置来定义的。分组网络通常并不将固定资源分配给发射机,而是通过使用分组标题、网络交换机和路由器内包括的目的地地址信息尽量路由数据的分组。分组网络正逐步受到网络运营商的欢迎,因为它们通常提供更优的性能,且与相当的电路交换网络相比,其安装和维护更为经济。
通常,电信网络使用时分复用(TDM)电路来互通网络交换机(或交换局)。但因为上述性能和成本原因,许多运营商和租用线路提供商(向业务提供商提供带宽)正逐步以分组网络代替TDM电路。在很多情况下,将完全在分组网络上提供到交换“会话”的交换。但这很可能在多年之后才能实现,某些运营商将继续依赖于TDM电路提供全部或至少一部分网络。这需要分组网络和TDM“传统”设备之间的互通。
图1示出了载波网1,它是诸如以太网、ATM或IP网的分组交换网。所述载波网提供租用线路业务以互通第一和第二客户住宅2、3,所述客户住宅都使用TDM发射机4、5以处理多路信息流。所述信息流的性质并不重要,尽管它们可能是话音呼叫、视频会议呼叫或数据呼叫。为了方便所述TDM流的互通,所述载波网1必须效仿适当的TDM电路。
TDM链路是具有以某一预定频率操作的业务时钟所管理的恒定(传输)比特率的同步电路。相反,在分组网络中,从入口发送分组的频率与所述分组到达出口的频率之间并无直接联系。再次参照图1,为了提供TDM电路效仿,分组网络边界处的接口节点6、7(以下称为TDM到分组设备(TPD)和分组到TDM设备(PTD))必须以某种方式提供TDM链路和分组网络之间的互通,以使出口一侧的TDM链路与入口一侧的TDM链路同步。换言之,入口一侧的客户住宅的TDM业务频率(fservice)必需尽可能精确地在分组网络的出口处复制(fregen)。
为了补偿经由所述分组网络的传输的突发性质,在PTD处接收的分组被置于缓存器内,所述分组从所述缓存器的前部取得以经由呼出TDM链路发送。所述缓存器的大小被最优化为,大到足以阻止所述分组网络上暂时增加的传输延迟所引起的所述缓存器完全漏泄,但小到足以阻止显著影响向终端用户提供的业务的端到端传输延迟(等待时间)。实际上,所述缓存器包括用于存储所接收分组的数据有效负载的存储区。数据被以大小64字节的块或“区组”存储起来。在特定分组的有效负载的大小大于64字节时,每个区组(除最后一个区组之外)都依次维持指向下一个区组的指针(即,所述数据被存储为“链接表”)。所述缓存器还包括维持分组在缓存器内的位置的有序列表的队列。所述队列内的每个条目都包括分组的第一个与最后一个区组,以及构成所述分组的区组量。
业务与再生频率内的任何长期失配的结果是PTD内的缓存器将会填满或清空,这取决于再生时钟(fregen)是慢于还是快于原始时钟(fservice),从而引起数据丢失和业务降级。同样,除非原始时钟(fservice)的相位由再生时钟(fregen)的相位跟踪,否则频率跟踪内的时滞将会导致缓存器在所述出口处的操作水平的微小却不良的变化。
必须提供一种可靠方法,使分组网络出口处的频率与相位与所传送TDM内的时钟的频率与相位同步。一种方法是使用一种虑及所述分组网络上的传输延迟从发送者并入分组的时戳恢复传送时钟频率与相位的算法。由于所述分组网络上的传输时间对于任何特定分组而言都是不可预知的,所以可能会使用一种自适应算法。例如,某种形式的平均可能会用于考虑所述传输延迟内的变化。至于ATM,ITU标准I.363.1和ATM“论坛标准”af-vtoa-0078概括地解释了自适应时钟恢复机制的概念。但实际上,TDM时钟的频率与相位内始终会存在一些微小的偏差,导致所述缓存器的缓慢漏泄或填充。
由于分组网络的性质,分组可能会使用该分组网络内的任何两个位置之间的若干路由,例如交换局、路由器之间的路由等。每个分组通过所述分组网络从TPD传播到PTD所花费的时间可能会受到所述分组使用的各个路由的等待时间、业务负载、所提供带宽以及其它因素的影响。因此,所述分组到达PTD的顺序可能与TPD传送它们的顺序有所不同。
当所传送分组到达PTD的分组接收部分时,所述分组必需在TDM数据流可被提取之前以其原始传输顺序放置。这种重新排序是通过使用“重新定序引擎”实现的,在所述分组到达时,所述“重新定序引擎”将该分组以最初传送它们的顺序进行排序。这随后允许以正确的顺序从所述分组负载中提取原始TDM数据。典型的重新定序引擎维持两个指向PTD队列的指针。第一指针指向所述队列内的应当下一个读取的分组,而另一指针指向具有所述队列内任何一个分组的最高序列号(SN)的栈内的分组。读指针被初始化为跟随所述重新定序引擎的初始化接收的第一分组的序列号。
这种方法的潜在问题是,第一个所接收分组可能是被很早接收的“欺诈性分组”,因为先前分组被阻塞在所述分组网络内。读指针与所述队列大小将共同定义所述队列内将会允许的分组序列号的范围。所述的已接收分组的结果是,所述范围可能会排除所有后续分组。所述队列将会清空,且无数据可用于TDM输出引擎。
发明内容
根据本发明的第一方面,提供了一种使队列的填充与输入分组流实现同步的方法,所述队列存在于分组网络与同步数据链路之间的接口处,其用于存储识别从所述分组网络接收分组的分组识别符,所述方法包括:
在所述接口处接收分组;
识别所述分组的序列号;
将指向将从所述队列读取的下一分组识别符的读指针设置成某个值,该值为小于所识别序列号的预定量。
本发明第一方面的实施例使得如果检测到所述队列的输出与输入流已经异步到因输入分组太早或太迟到达而放弃其的程度,则重新同步所述输出与所述输入分组流。
在本发明第一方面的优选实施例中,所述同步数据链路是可能会被用于传送诸如话音呼叫的通信数据的TDM链路。
一般而言,所述队列形成分组缓存器的一部分,所述缓存器包括用于存储分组数据的存储器。所述队列被设置为存储分组识别符,所述分组识别符识别从所述分组网络接收的分组,以及所述分组在所述缓冲存储器内的对应存储位置。优选的是,所述队列被实施为固定大小的圆形队列。队列范围被定义为从读指针到读指针与所述队列大小之和的分组序列号的范围。具有所述队列范围内的序列号的到达分组被所述队列接受。具有所述队列范围之外的序列号的分组因为迟或早被拒绝。由于读指针增加,所以所述队列范围增加。根据本发明移动所述的读指针将会导致所述队列范围以相同数量改变。
同样提供了一种管理队列的方法,所述方法包括确定所述队列的输出与所述队列的填充之间的同步水平,以及在所述水平降至某一门限值之下时执行所述重新同步方法。
根据本发明第二方面,提供了一种用于将分组网络接口到同步数据链路的网关,其具有耦合到分组网络以从该网络接收分组的输入端,以及耦合到所述同步数据链路以将同步数据输出到此链路的输出端,所述装置包括:
缓存器,其具有存储器和队列,所述存储器用于存储所接收分组数据,所述队列用于存储分组识别符,所述分组识别符识别从所述分组网络接收的分组,以及所述分组在所述缓冲存储器内的对应存储位置;
处理装置,其用于识别所接收分组的序列号,并将指向将从所述队列读取的下一个分组识别符的读指针设置为某个值,该值为小于所识别序列号的预定量。
根据本发明第三方面,提供了一种控制队列的平均长度的方法,所述队列存在于分组网络与同步数据链路之间的接口处,用于存储识别从所述分组网络接收分组的分组识别符,所述方法包括:
保持指向将从所述队列读取的下一个分组识别符的读指针不变;
通过提供欠载运行指令并保持所述读指针不变来响应从同步数据链路发射机接收下一个分组请求,从而延长平均队列长度;以及
通过使所述同步数据链路发射机识别缩小的分组并使所述读指针加1来响应从所述发射机接收下一个分组请求,从而缩短平均队列长度。
本发明第三方面的实施例提供了一种将平均队列长度设置为由适当控制器确定的最佳值的机制,所述控制器监控所述队列长度,能够处理较迟到达的分组内的短期波动,而不会将不必要的漫长等待时间引入数据传输过程。
所述缩小的分组可能是所述读指针指向的分组识别符当前指向的分组。当所述分组的实际大小无法缩短时,即所述分组内的数据量保持不变时,向输出引擎提供的数据被修改为指示所述分组大小被缩短。所述输出引擎将仅传送所减少数量的数据(可能为零),同时将所述分组占用的所有存储空间分配到空闲存储集合。所述的读指针将前移到指向所述队列内的下一个时隙的点。
在本发明的实施例中,所述减少平均队列长度的步骤包括修改分组数据的标题的分组长度字段,所述分组数据存储在缓冲存储器内并由所述分组识别符指向,而所述分组识别符由所述的读指针指向。优选的是,分组数据被以一个或多个区组存储在所述缓冲存储器内,且被作为缩短操作的一部分而修改的是前端区组的描述符。
应当理解的是,本发明第三方面尤其适用于其中所述同步数据链路是TDM链路的体系结构。实施细节如以上本发明第一方面所述。
根据本发明第四方面,提供了一种用于将分组网络接口到同步数据链路的网关,其具有耦合到分组网络以从该网络接收分组的输入端,以及耦合到所述同步数据链路以将同步数据输出到此链路的输出端,所述装置包括:
缓存器,其具有存储器与队列,所述存储器用于存储所接收分组数据,所述队列用于存储分组识别符,所述分组识别符用于识别从所述分组网络接收的分组,以及所述分组在所述缓冲存储器内的对应存储位置;以及
控制装置,其用于保持指向将从所述队列读取的下一个分组识别符的读指针不变,通过以提供欠载运行指令并保持所述读指针不变响应从所述同步数据链路发射机接收下一个分组请求,延长平均队列长度,以及通过以使同步数据链路发射机识别缩小的分组并使所述读指针加1响应从所述发射机接收下一个分组请求,缩短平均队列长度。
优选的是,所述控制装置包括用于监控所述队列长度、用于确定最佳平均队列长度、以及用于启动延长与缩短操作以将所述平均队列长度维持在所述最佳平均长度的装置。
通过将本发明第一与第三方面的方法组合起来,并通过实施组合本发明第一与第三方面的特征的网关可实现显著优点。
附图说明
图1示出了两个TDM链路经由分组网络的互通;
图2示出了被实施为圆形缓存器的PTD的队列;
图3A示出了从TPD传送的分组流;
图3B示出了由PTD接收的数据流;
图4是说明队列写算法的流程图;
图5是说明队列读算法的流程图;以及
图6是说明HRSN更新算法的流程图。
具体实施方式
设想图1所示的情况,其中位于对应客户住宅2、3内的TDM发射机4、5经由TDM链路耦合到载波网络1的接口节点6、7(所述接口节点以下称为TDM到分组设备(TPD)和分组到TDM设备(PTD)),分组从TPD 6的传输速度是等时的并由适当振荡器8所提供的业务频率(fservice)确定。但是,分组到达PTD 7的速度会被中介分组网络扰乱。分组通常将以通过改变延迟量而分开的突发到达。连续分组与突发之间的延迟将会依据所述网络内的业务量而有所不同。所述网络的特点是不确定性的,但是长期而言到达目的地的速度将会与从信源离开的速度相等。
在TPD 6内,时戳在传输之前被置于每个分组的标题内。所述时戳此处被称为“远程时戳”,是自从初始化之后在输入TDM链路上接收的比特运行总数(所述数量的卷绕将会避免计数器溢出)。
来自PTD 7内的TDM“输出”引擎的输出是等时的,并由文中称为“再生”频率(fregen)的第二业务频率确定。这由数字控制振荡器(DCO)9提供。所述TDM输出引擎从分组延迟改变(PDV)缓存器10提供。如果在所述TDM输出端要求传送时所述缓存器10具有零个分组,则将会发生不良的欠载运行。为了使欠载运行事件最小化,必须将PDV缓存器10建立为,包括足够分组以为大部分分组间延迟提供TDM输出。但是,所述PDV缓存器10无法被制成任意大,因为这会直接增加端到端等待时间,所述等待时间一般被要求为尽可能的短,最大的可容忍等待时间取决于应用。例如,与数据相比话音需要更短的等待时间。
当分组到达PTD 7的分组输入端时,所述分组被置于PDV缓存器10内。所述分组数据被作为一个或多个“区组”的链接链存储在缓冲存储器内。每个区组都包括记录所述链内的区组量的标题或描述符,以及指示所述区组是所述链内的第一区组、最后一个区组、中间的区组还是仅是所述链内的区组的标志。区组还包括存储实际分组数据的数据区。指向所述分组存储位置的指针(“存储指针”)被置于分组队列内。如上所述,所述存储指针包括所述分组的第一区组与最后一个区组的地址以及所述分组内的区组数。所述PTD 7维持TDM输出端计数,所述计数为在呼出TDM链路上发送的比特运行总数——所述计数被初始化为第一个所接收的远程时戳。使用所述计数以及自适应时钟控制算法可得到所接收分组的本地时戳,所述自适应时钟算法通过使用远程与本地时戳来同步业务与再生时钟频率。技术人员应当理解的是,各种不同的算法可用于此目的,此处不再赘述。
如图2所示,所述队列被建造为圆形缓存器。应当理解的是,由于可能的序列号数量大于所述队列内可用于存储分组的时隙量,所以必需解释每个分组的序列号,并将其映射到所述队列内的正确时隙。通过将可能的队列大小限制为2的乘方(即,2、4、8、16、32、64、128、256、512、1024时隙),将分组映射到队列时隙的操作可通过从所述序列号屏蔽适当数量的最高有效位,从而生成队列时隙地址来实现。
如上所述,由于所述分组网络的性质,分组可能不会顺序到达PTD 7。当从所述TPD 6发送所述分组时,所述分组与序列号一起被添加在RTP或伪线协议标题内。下一个分组接收比先前分组大一的序列号。由于该序列号定义原始传输顺序,所以该序列号是在PTD内重新排序所述分组的关键。当在PTD 7内接收所述分组时,一旦从所述分组的RTP或伪有线协议标题提取每个分组即通过检查所述每个分组的序列号重新获得所述原始顺序。
图3A示出了每隔一定间隔以原始传送顺序离开TPD 6的分组接口的分组的实例。在此实例中,将被传送的第一分组带有序列号“1”;在此之后所述分组以序列号顺序跟随。图3B示出了TPD 6与PTD 7之间的不同路由如何影响所述分组到达PTD的顺序。这是分组如何以与其原始传输顺序不同的顺序到达PTD的实例。如果所述PTD 7尝试以图3B的示例接收顺序从所述分组中提取原始TDM信道数据,所述PTD 7将会失败,因为所述TDM数据失序并因而有讹误。
在起动所述分组流之后,在所述TDM输出引擎从缓存器请求第一分组之前存在短暂的延迟。所述延迟为所述分组流的最初几个分组,即图3B实例中的分组1、2和5提供到达时间。虽然分组3和4在分组5之后到达,但由于分组3和4顺序在前,因而对应指针在队列内被置于分组5之前。在从缓存器请求分组3和4之前,初始延迟为所述分组3和4提供到达时间。这种重新定序过程一直继续,直至此实例中的所有十个分组到达,且以TPD传送所述分组的原始顺序将对应存储指针置于队列内。一旦所述输出引擎从缓存器中读出分组,且从分组区组提取分组数据,所述输出引擎即会将组成该分组的(多个)区组释放到空闲区组集合。这允许可将新的分组数据写到这些区组。图4是说明用于将分组写到缓存器/队列的算法的流程图,而图5是说明用于从缓存器/队列读取分组的算法的流程图。
所述队列与两个外部指针相关:
1)读指针(RP),其包括将从所述队列读取的下一分组的序列号,即指向队列前部的指针。
2)这样一种指针,其包括将被成功加入所述队列的带有最高序列号的分组的序列号。这种指针被称为最高接收序列号(HRSN)指针,即指向所述队列的末尾或末端的指针。图6示出了用于更新HRSN指针的算法。
所述的读指针和HRSN指针被用于如下计算所述队列的长度:
所述队列的长度=(HRSN指针-读指针)+1
该值作为所述队列的长度,即使其可能包括间隙。所述队列内留有的间隙易于并未到达的分组以其原始传输顺序的插入。由于所述间隙可由恰当分组在所述的读指针加1而超过所述位置之前的任何时刻填充,因此所述间隙必须被计入队列长度计算。(应当注意的是,该公式并未考虑到HRSN指针合理地小于读指针的情况。)如前所述,所述队列的平均长度(与固定值的队列“大小”不同,在图3的实例中,所述队列长度为8)对于确定传输路径的等待时间和系统处理分组网络传输的突发性质的能力相当重要。一般而言,微处理器将会用于监控与调整平均队列长度。
用于将分组置于所述队列内的算法可如下概括表示(确切地说,应当参考将分组存储指针置于所述队列内,但为简化起见此处使用术语分组):
1.在起动所述分组流时,将到达的第一分组被置于所述队列的前部,无论该分组的序列号为何。读指针与HRSN指针都被设置为所述第一分组的序列号。
2.如果带有当前读指针与HRSN指针之间的序列号的分组到达,则其在所述队列内被插入该序列号映射到的位置处。
3.如果带有大于HRSN指针当前值并且小于“读指针与队列大小之和”的序列号的分组到达,则其被置于所述队列的该分组序列号映射到的位置处。然后所述HRSN指针被更新为新增加分组的序列号。
4.如果带有与读指针指向的序列号相比更小的序列号的分组到达,则所述分组由于“较迟”到达而被放弃。
5.如果带有大于“读指针与队列大小之和”的序列号的分组到达,则该分组被视为“早分组”而被放弃。(例如,读指针为7,队列大小为16个分组,且接收到带有序列号25的分组。由于25大于“读指针+队列大小”=16+7=23,因此分组为早分组)
6.如果与所述队列内已存在的分组带有相同序列号的分组到达(即,复制序列号),则该新分组被视为“迟分组”而被放弃。
因为所述分组序列号内的比特量是有限的,所以所述序列号将在某一时点从其最大值翻转到零。验证所述分组并确保其不早或不晚的进程能够检测序列号翻转何时会影响当前分组验证。在当前队列范围跨过零序列号时,翻转成为问题。这种情况的实例是队列大小为16个分组且使用16比特序列号时(即序列号范围为0-65535)。如果读指针当前为65530,则所述队列的范围包括65330到9在内,即所述队列的范围跨过零序列号。
HRSN指针相对于读指针的位置跟踪迄今为止成功加入所述队列的最高分组序列号。换言之,所述HRSN指针指向所述队列的末端或末尾,这对于计算所述队列的长度相当重要。所述HRSN仅被在将分组写入所述队列的操作期间内更新。所述HRSN指针与所接收分组的序列号一样将在某一时点翻转,可能存在所述队列范围跨过翻转(或零序列号)点的情况。在这种情况下,HRSN指针的数值可能小于读指针但仍被正确设置。这可通过观测SN与HRSN指针的最高有效位得以检测。应当注意的是,由于在将分组加入所述队列之后更新所述HRSN指针,这意味着所述分组已被验证为有效且在所述队列范围内。这便于在SN的数值小于HRSN指针时检测翻转的实例。
如上所述,微处理器负责监控平均队列长度以及调整该队列长度。一种用于实现这种控制的机制是使用延长与缩短功能,所述微处理器可指令所述队列启动该功能。
队列延长功能
这种功能使得所述队列的平均长度每次延长一个分组。在启动延长功能时,当从所述队列请求下一分组,而不是返回读指针处的分组时,提供欠载运行指令。欠载运行指令引起TDM输出引擎将模拟数据而不是从缓存器中读取的实际数据包括在下一时隙内。所述的欠载运行指令的“长度”可(由微处理器)编程为指示字节从0到当前分组流所允许最大值,直到绝对最大值2048字节的任何适当数值。在此操作之后读指针保持不变。由于在此期间(平均而言)内期望在PTD内接收一个分组,因此所述队列长度将平均增加一个分组。
队列缩短功能
这种功能使得所述队列的平均长度每次缩短一个分组。在启动所述缩短功能时,当从缓存器中请求下一分组时,所述队列控制器(根据所述队列内的下一读指针)识别所述的下一分组的前端区组,并修改前端区组的描述符。在此操作中,所述区组的(分组长度)标题字段可改变为其当前长度与零之间的任意值。例如考虑所述分组长度被缩短到零的情况。所述TDM输出引擎将从所述队列的前端接收指针,并检索所指示分组的前端区组的描述符。由于所述前端区组的描述符将指示长度为零,所以所述输出引擎将不会在下一时隙内发送数据,因此立即将其它分组请求传送到所述队列。但是,在所检索分组指针内识别的区组将被释放到空闲区组集合作为它用。每个分组请求将使得读指针增加,因此缩短功能的启动将使得读指针增加两次。在此期间内,平均一个分组将被接收到所述队列内。最终结果将是平均队列长度缩短一个分组。
延长与缩短功能的一个目的是提供保持PTD的TDM输出端与TPD的TDM输入端的时钟同步的灵活性。PTD内的频率fservice将被调整为与TPD的TDM输入端的频率fservice尽可能地接近,但仍可能存在差异。使用延长与缩短功能调整所述队列的能力意味着能够补偿两个时钟之间的任何差异,以确保所述的队列不会欠载运行或溢出。
在某些情况下,读指针可能必需与分组数据流重新同步。最理想的是,无需停止和重新启动所述分组流即可实现所述重新同步。例如考虑这样一种情况,其中分组流的第一个所接收分组是欺诈性、离题或讹误的分组,且读指针最初被设置为所述第一分组的序列号。如果所述分组与随后接收的作为“本征”分组流一部分的分组具有显著不同的序列号,则所述的本征分组流会被放弃,因为这些分组的序列号相对于第一接收分组而言不属于所述队列的范围。
如果主分组流中存在大量分组丢失(例如,归因于所述分组网络内的故障链路),则相关问题出现。紧随此中断,一旦PTD起动再次从所述的主分组流接收分组,外部队列指针(RP和HRSN)很可能会与所述的主分组流不一致。
为了克服这些问题,微处理器能够启动“重新同步”功能,以使读指针重新与所述的主分组流一致。如果微处理器确定所述TDM输出引擎要求的分组正被放弃,则请求所述启动。该功能允许重新设置所述队列的读指针,并使得所述的读指针在重新同步之后与所接收第一分组的序列号一致。读指针的这种方式的直接修改很重要,因为关于所述分组是否在队列范围内的判定是基于所述的读指针。
一旦启动重新同步,在PTD内接收的其它分组即被放弃。由于分组仍然将由PTD的TDM传送部分请求,所述缓存器(以及队列)最终将会清空。一旦所述队列为空,即执行重新定序操作,其包括以下步骤:
1.将所述的读指针设置为下一个所接收分组的序列号减去二分之一队列大小,即所述的读指针被置于下一个所接收分组之前距离二分之一队列大小处。
2.将HRSN指针设置为下一个所接收分组的序列号。
如果所述队列大小为16,且下一个所接收分组的序列号(紧随重新同步功能的启动之后)为64,则所述的读指针将被设置为64减去16的二分之一=>读指针=64-8=56。实际上,所述重新同步操作通过将所述的读指针置于第一个所接收分组之前距离队列大小二分之一处,将重新同步之后接收的第一个所接收分组置于所述队列相对于读指针的中间处。
除了克服欺诈性分组或分组传输内的中断引起的问题之外,如果可以追踪到TDM时钟频率之间的差异大于自适应时钟恢复方案,则重新同步还能够做出使PTD内的TDM时钟与TPD内的TDM时钟同步的新尝试。考虑当首先起动PTD内的队列时的情况。可能将再生时钟(fregen)最初设置为与用户住宅2内的原始时钟(fservice)显著不同。
首先考虑时钟(fregen)具有比时钟(fservice)更高的频率的情况。在这种情况下,与分组从分组网络到达相比,将更为迅速地从PTD队列中请求分组。而这意味着与分组到达以占据所述队列内的位置相比,所述队列范围增长更为迅速。因此,应当被正确加入所述队列的分组将会显示为较迟,并被如此标记。因此,如果分组流从序列号1开始,则带有序列号10的分组可能到达PTD,即使再生时钟频率(fregen)表示TDM输出引擎正请求带有序列号20的分组。如果所述队列大小被设置为8,这将意味着读指针(被设置为序列号19)将会拒绝分组10。
以下将考虑再生时钟频率(fregen)远低于原始时钟频率(fservice)的情况,即与从所述队列的前端读取分组相比,到达分组流以更快的速度到达。这意味着所述队列范围无法相对于输入分组流足以迅速地通过序列号增加。所述队列将会充满(最终溢出),而且其它分组将会由于“早”而被放弃。再次考虑分组流从序列号1开始且队列大小被设置为8的情况,其中以稳定速度从所述队列读取分组,以稳定速度到达的分组被置于队列内。分组10可能会在从所述队列读取分组3时到达,而分组20可能在从所述队列读取分组5时到达,即所述队列范围无法通过序列号迅速变化以免落后于到达的分组。
在两种情况下,在分组由于不在所述队列范围内而被拒绝之前,PTD的TDM输出端内的时钟频率无法迅速会聚从而与原始时钟(fservice)匹配。在调整再生时钟频率(fregen)之后,所述队列将必需执行重新同步操作,以确保所述队列再次与输入主分组流同步。
本领域技术人员应当理解的是,在并不背离本发明范围情况下可对上述实施例做出各种修改。例如,用于存储指向分组的存储指针的方法可能会与被构造为圆形缓存器的队列不同。分组可能会被存储在线性队列内,使用链接表索引该队列。当每个分组到达时,其被存储在下一空队列时隙内,不论其序列号为何。然后使用链接表索引所述分组,这使得每个分组的序列号与其在所述队列的位置相关。如果分组必需被加入两个现有分组之间的队列,则链接表将被修改为将所述分组插入正确位置的索引。可能会将空队列时隙的独立索引保持为跟踪可用于存储新分组的时隙。
在上述的实施方式中,通过提供程序化长度的欠载运行指令而非下一分组来执行延长操作。所述延长操作还可如此操作:
再次提供先前分组,而并不增加所述的读指针;
提供下一分组,而并不增加所述的读指针;
提供HRSN指针处的最后一个分组,而并不增加所述的读指针;
从所述队列的当前范围随机提供分组,而并不增加所述的读指针;
提供指定数据,而并不增加所述的读指针。所述指定数据可能为舒适噪音。
在上述实施方式中,通过修改下一分组的标题内的长度字段来执行缩短操作。这也可如下得以实现:
删除所述队列前端的分组,并增加所述的读指针。替代修改所述分组标题的长度字段,数据可能实际上会从存储在所述队列内的分组中删除。
替代HRSN指针,所述队列可能将所述队列的长度值保持为其延伸在所述的读指针之前的时隙数量。然后替代基于HRSN指针的当前值计算队列长度的实施方式,基于所述队列长度的当前值计算所述HRSN指针。
以下将考虑重新同步功能,而不是等待从所述队列读取所有剩余分组,重新同步可能会在被请求时发生。所述队列内的现有分组将会被删除,而无需等待其被正常读出。下一分组然后被插入所述队列,基于新分组的序列号修改读指针与HRSN指针。
只要所述队列变为空,重新同步就会自动发生。当检测所述队列为空时,在接收下一分组时调用所述重新同步功能,所述的下一分组因此被视为“第一分组”。
Claims (13)
1.一种用于使队列的填充与输入分组流实现同步的方法,所述队列存在于分组网络与同步数据链路之间的接口中,用于存储识别从所述分组网络所接收的分组的分组识别符,所述方法包括:
在所述接口中接收分组;
识别所述分组的序列号;
将指向将从所述队列读取的下一分组识别符的读指针设置成这样的值,即所述值为小于所识别的序列号的预定量。
2.根据权利要求1的方法,其中所述同步数据链路是TDM链路。
3.根据权利要求1的方法,其中所述队列形成分组缓存器的一部分,所述缓存器包括用于存储分组数据的存储器,且所述队列被设置为存储分组识别符,其中所述分组识别符用于识别从所述分组网络接收到的分组以及所述分组在所述缓冲存储器内的对应存储位置。
4.根据权利要求3的方法,其中队列范围被定义为从所述读指针到所述读指针与所述队列大小之和的分组序列号的范围,具有所述队列范围内的序列号的到达分组被所述队列接受,而具有所述队列范围之外的序列号的分组因为迟或早而被拒绝。
5.一种管理分组网络与同步数据链路之间接口中的缓存队列的方法,所述方法包括确定所述队列的释放与所述队列的填充之间的同步水平,以及在所述水平降至某个门限值之下时,执行根据上述权利要求中任何一个的同步方法。
6.一种用于将分组网络接口到同步数据链路的网关,所述网关具有耦合到分组网络以从所述分组网络接收分组的输入端,以及耦合到所述同步数据链路以将同步数据释放到所述同步数据链路的输出端,所述装置包括:
缓存器,其具有存储器与队列,所述存储器用于存储所接收的分组数据,而所述队列用于存储分组识别符,其中所述分组识别符用于识别从所述分组网络接收的分组以及所述分组在所述缓冲存储器内的对应存储位置;
处理装置,其用于识别所接收分组的序列号,并将指向将从所述队列读取的下一分组识别符的读指针设置为这样的值,即所述值为小于所识别序列号的预定量。
7.一种控制队列的平均长度的方法,所述队列存在于分组网络与同步数据链路之间的接口中,其用于存储识别从所述分组网络所接收分组的分组识别符,所述方法包括:
保持指向将从所述队列读取的下一分组识别符的读指针;
通过提供欠载运行指令并保持所述的读指针不变,来响应从所述同步数据链路发射机接收下一分组请求,从而延长所述平均队列长度;以及
通过使所述同步数据链路发射机识别缩小的分组并使所述的读指针加1,来响应从所述发射机接收到下一分组请求,从而缩短所述平均队列长度。
8.根据权利要求7的方法,其中所述缩短平均队列长度的步骤包括修改分组数据的标题内的分组长度字段,其中所述分组数据存储在缓冲存储器内,且由所述分组识别符所指向。
9.根据权利要求7的方法,其中所述同步链路是TDM链路。
10.根据权利要求7的方法,其中所述队列形成分组缓存器的一部分,所述缓存器包括用于存储分组数据的存储器,且所述队列被设置为存储分组识别符,其中所述分组识别符用于识别从所述分组网络接收的分组以及所述分组在所述缓冲存储器内的对应存储位置。
11.根据权利要求10的方法,其中队列范围被定义为从所述读指针到所述读指针与所述队列大小之和的分组序列号的范围,具有所述队列范围内的序列号的到达分组被所述队列接受,而具有所述队列范围之外的序列号的分组因为迟或早而被拒绝。
12.一种用于将分组网络接口到同步数据链路的网关,所述网关具有耦合到分组网络以从所述分组网络接收分组的输入端,以及耦合到所述同步数据链路以将同步数据释放到所述同步数据链路的输出端,所述装置包括:
缓存器,其具有存储器以及队列,所述存储器用于存储所接收分组数据,而所述队列用于存储分组识别符,其中所述分组识别符用于识别从所述分组网络接收的分组以及所述分组在所述缓冲存储器内的对应存储位置;以及
控制装置,其用于保持指向将从所述队列读取的下一分组识别符的读指针,并通过提供欠载运行指令和保持所述的读指针不变来响应从所述同步数据链路发射机接收下一分组请求,从而延长所述平均队列长度,且通过使所述同步数据链路发射机识别缩小的分组和使所述的读指针加1,来响应从所述发射机接收下一分组请求,从而缩短所述平均队列长度。
13.根据权利要求12的网关,其中所述控制装置包括这样一种装置,其用于监控所述队列的长度,确定最佳平均队列长度,以及启动延长与缩短操作以使所述平均队列长度保持为所述最佳平均长度。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0306911.9 | 2003-03-26 | ||
GB0306911A GB2399980A (en) | 2003-03-26 | 2003-03-26 | Packet buffer management |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1536845A true CN1536845A (zh) | 2004-10-13 |
Family
ID=9955530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100013968A Pending CN1536845A (zh) | 2003-03-26 | 2004-01-07 | 分组缓存管理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20040190537A1 (zh) |
EP (1) | EP1463281A3 (zh) |
CN (1) | CN1536845A (zh) |
GB (1) | GB2399980A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008106893A1 (fr) * | 2007-03-07 | 2008-09-12 | Huawei Technologies Co., Ltd. | Procédé et dispositif pour recevoir un fragment de message de protocole point à point multiliaison |
CN100461770C (zh) * | 2007-01-30 | 2009-02-11 | 中兴通讯股份有限公司 | 用于终端无线通信系统分组业务传输链路的数据处理方法 |
CN1798111B (zh) * | 2004-12-30 | 2012-01-11 | 微软公司 | 服务器排队系统和方法 |
CN104063271A (zh) * | 2013-03-20 | 2014-09-24 | 国际商业机器公司 | 具有事务能力的排队 |
CN104346240A (zh) * | 2013-08-05 | 2015-02-11 | 国际商业机器公司 | 用于在迁移操作期间利用多个存储器池的方法和装置 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7805287B1 (en) * | 2003-06-05 | 2010-09-28 | Verizon Laboratories Inc. | Node emulator |
US7844432B1 (en) | 2003-06-05 | 2010-11-30 | Verizon Laboratories Inc. | Node emulator |
FR2872654B1 (fr) * | 2004-06-30 | 2006-09-08 | Alcatel Sa | Procede de re-synchronisation de flux beneficiant de services d'emulation de circuits, pour un reseau de communications a commutation de paquets |
JP3931988B2 (ja) * | 2004-08-26 | 2007-06-20 | 日本電気株式会社 | ネットワーク品質計測方法、及び計測装置 |
KR100735233B1 (ko) * | 2005-02-25 | 2007-07-03 | 삼성전자주식회사 | 개인방송 서비스 제공 시스템 |
JP2007288342A (ja) * | 2006-04-13 | 2007-11-01 | Nec Corp | メディアストリーム中継装置および方法 |
WO2008149415A1 (ja) * | 2007-06-04 | 2008-12-11 | Fujitsu Limited | パケットスイッチ装置 |
US8015313B2 (en) * | 2008-03-04 | 2011-09-06 | Sony Corporation | Method and apparatus for managing transmission of TCP data segments |
US7953004B2 (en) * | 2009-01-06 | 2011-05-31 | Alcatel Lucent | Minimizing effects of packet delay variation in time-division multiplexing pseudowire services |
US9189433B2 (en) | 2012-12-18 | 2015-11-17 | International Business Machines Corporation | Tracking a relative arrival order of events being stored in multiple queues using a counter |
US9065748B2 (en) | 2013-05-09 | 2015-06-23 | Alcatel Lucent | Symmetrical latency with TDM circuit emulated service |
US9280371B2 (en) | 2013-07-10 | 2016-03-08 | International Business Machines Corporation | Utilizing client resources during mobility operations |
US9563481B2 (en) | 2013-08-06 | 2017-02-07 | International Business Machines Corporation | Performing a logical partition migration utilizing plural mover service partition pairs |
US9264374B2 (en) | 2013-10-23 | 2016-02-16 | Qualcomm Incorporated | Media playout for VOIP applications |
US9294413B2 (en) | 2013-10-23 | 2016-03-22 | Qualcomm Incorporated | Media playout for VOIP applications |
US9575822B2 (en) | 2014-08-01 | 2017-02-21 | Globalfoundries Inc. | Tracking a relative arrival order of events being stored in multiple queues using a counter using most significant bit values |
US10637786B2 (en) * | 2017-12-07 | 2020-04-28 | California Eastern Laboratories, Inc. | Network traffic and processor activity management apparatuses, systems, and methods |
US10637677B2 (en) * | 2017-12-07 | 2020-04-28 | California Eastern Laboratories, Inc. | Broadcast transmission control apparatuses, systems, and methods |
CN110167084B (zh) * | 2018-08-15 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 多通道数据传输方法及装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59224942A (ja) * | 1983-06-03 | 1984-12-17 | Nippon Telegr & Teleph Corp <Ntt> | デイジタル交換機 |
KR100251779B1 (ko) * | 1997-07-25 | 2000-04-15 | 윤종용 | 피디에이취망과 에이티엠망 사이의 인터페이스 장치 |
US6330236B1 (en) * | 1998-06-11 | 2001-12-11 | Synchrodyne Networks, Inc. | Packet switching method with time-based routing |
US6178184B1 (en) * | 1998-12-11 | 2001-01-23 | Avaya Technology Corp. | Arrangement for synchronization of multiple streams of synchronous traffic delivered by an asynchronous medium |
US6643297B1 (en) * | 1998-12-21 | 2003-11-04 | Nortel Networks Limited | Network service provider architecture in communications network |
GB2347833B (en) * | 1999-03-11 | 2001-03-07 | 3Com Technologies Ltd | Method and apparatus for initating flow control over packet data links |
US6396847B1 (en) * | 1999-06-03 | 2002-05-28 | Fujitsu Networks Communications, Inc. | Dialable data services/TDM bandwidth management |
ATE347218T1 (de) * | 2000-02-25 | 2006-12-15 | Telica Inc | Vermittlungssystem und verfahren mit niedrigerer und deterministischen verzögerung |
WO2002023778A2 (en) * | 2000-09-12 | 2002-03-21 | Innovative Communications Technologies, Inc. | Bit synchronizer and internetworking system and method |
GB2366935B (en) * | 2000-09-15 | 2004-01-07 | Mitel Corp | Method of checking for and recovering from underruns and overrun slips when writing to circular buffers in dynamic bandwidth circuit emulation services |
JP4403348B2 (ja) * | 2000-12-14 | 2010-01-27 | ソニー株式会社 | 通信装置及び通信方法 |
US20020085565A1 (en) * | 2000-12-28 | 2002-07-04 | Maple Optical Systems, Inc. | Technique for time division multiplex forwarding of data streams |
US6741603B2 (en) * | 2001-07-09 | 2004-05-25 | Overture Networks, Inc. | Use of a circular buffer to assure in-order delivery of packets |
US7145909B2 (en) * | 2002-05-24 | 2006-12-05 | Lucent Technologies Inc. | Packet switching access platform |
-
2003
- 2003-03-26 GB GB0306911A patent/GB2399980A/en not_active Withdrawn
- 2003-11-18 EP EP03104256A patent/EP1463281A3/en not_active Withdrawn
-
2004
- 2004-01-07 CN CNA2004100013968A patent/CN1536845A/zh active Pending
- 2004-03-12 US US10/800,113 patent/US20040190537A1/en not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798111B (zh) * | 2004-12-30 | 2012-01-11 | 微软公司 | 服务器排队系统和方法 |
CN100461770C (zh) * | 2007-01-30 | 2009-02-11 | 中兴通讯股份有限公司 | 用于终端无线通信系统分组业务传输链路的数据处理方法 |
WO2008106893A1 (fr) * | 2007-03-07 | 2008-09-12 | Huawei Technologies Co., Ltd. | Procédé et dispositif pour recevoir un fragment de message de protocole point à point multiliaison |
CN104063271A (zh) * | 2013-03-20 | 2014-09-24 | 国际商业机器公司 | 具有事务能力的排队 |
CN104063271B (zh) * | 2013-03-20 | 2017-04-12 | 国际商业机器公司 | 用于具有事务能力的排队的方法及系统 |
CN104346240A (zh) * | 2013-08-05 | 2015-02-11 | 国际商业机器公司 | 用于在迁移操作期间利用多个存储器池的方法和装置 |
CN104346240B (zh) * | 2013-08-05 | 2018-03-30 | 国际商业机器公司 | 用于在迁移操作期间利用多个存储器池的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
GB0306911D0 (en) | 2003-04-30 |
EP1463281A3 (en) | 2007-01-31 |
EP1463281A2 (en) | 2004-09-29 |
US20040190537A1 (en) | 2004-09-30 |
GB2399980A (en) | 2004-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1536845A (zh) | 分组缓存管理 | |
US10601733B2 (en) | Multiplexing method for scheduled frames in an ethernet switch | |
US7103063B2 (en) | Apparatus and method for facilitating data packet transportation | |
CN1791872B (zh) | 用于多媒体流式传输的方法和设备 | |
US10270696B2 (en) | Transmission of data packets of different priority levels using pre-emption | |
US7031306B2 (en) | Transmitting MPEG data packets received from a non-constant delay network | |
CN1320805C (zh) | 一种分组交换网络自适应抖动缓冲区调整方法 | |
RU2211548C2 (ru) | Схемная эмуляция коротких пакетов | |
US7986713B2 (en) | Data byte load based network byte-timeslot allocation | |
CN1140943A (zh) | 用于tdma管理的方法,实现这种方法的中心站,终端站及网络系统 | |
JPH08510888A (ja) | 混合クラスのパケットを効率的に転送するためのディジタル通信リンク | |
US7924889B2 (en) | Method for transmitting packets in a transmission system | |
CN1918850A (zh) | 用于控制单个全双工以太网链路上的多个信号源流量的方法和设备 | |
WO2010138913A1 (en) | Systems and methods for video statistical multiplexing adapting to internet protocol networks | |
CN1787491A (zh) | 自适应时钟恢复方案 | |
CN100512205C (zh) | 虚拟输出队列(VoQ)管理方法和装置 | |
CN1499793A (zh) | 一种城域传输设备中虚容器映射通道的流量控制方法 | |
US7633971B1 (en) | Method and system for transport of packet-based datastreams over frame-based transport systems employing physically diverse transmission channels | |
KR102323871B1 (ko) | 서비스 다중화 방법, 서비스 역다중화 방법, 및 관련 장치 | |
CN1798086A (zh) | 一种异步转移模式适配层2的传输控制方法 | |
EP1393525B1 (en) | Method for transmitting an information stream, corresponding transmission system, transmitter and computer product | |
WO2020132928A1 (zh) | 数据传输方法及装置 | |
CN116055269A (zh) | 一种数据传输的相位调整方法及相关设备 | |
CN1874556A (zh) | 消除实时业务和非实时业务的传输时延相关性的方法 | |
CN1988506A (zh) | 报文的复合方法及复合装置和发送方法及发送装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |