排队方法技术

技术编号:5437166 阅读:185 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种对数据分组进行排队的方法,所述数据分组包括第一分组类型的数据分组和第二分组类型的数据分组。所述方法包括:将所述第一和第二分组类型的接收分组编组为有序的组序列,每个组包括至少一个分组;维持用于指示所述组序列的开始处仅包括所述第二分组类型的分组在内的组的数目的组计数器;以及发送分组。当且仅当所述组计数器指示了所述组序列的开始处仅包括所述第二分组类型的分组在内的组的数目大于零时,所述第二分组类型的分组可用于发送。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种对数据分组进行排队的方法。更具体但不排他地,本专利技术涉及一 种对同时包括第一和第二类型的数据在内的数据分组进行排队的方法。
技术介绍
在计算机网络中,为了防止网络链路过载,经常在向前发送之前对数据分组进行 排队。例如,在网络路由器处,必须对分组进行排队,直到在向前的网络链路上存在可用的 信用以允许发送分组为止。在传统计算机网络中,已知要使不同分组类型具有不同的排队 要求。具体地,已知要有两种不同的分组类型,其中第一分组类型对于向前发送具有相对较 高的优先级。在这种计算机网络中,可以实现支持旁路的队列,以对两种不同分组类型的不可 预测的序列进行排队。必须按顺序从队列中发送第一类型的分组,但是如果第二类型的信 用不可用,则第一类型的分组可以超越(overtake)第二类型的分组。必须按顺序从队列中 发送第二类型的分组,但是第二类型的分组可能不能超越第一类型的分组。在能够发送任一分组类型之前,在向前的网络链路上必须有该分组的充足信用可 用。仅当路由器或其他网络元件识别出有该分组类型的充足信用可用时,才可以发送分组。已知通过利用相同分组类型的队列内的分组之间的联系以及分组类型之间的联 系提供数据分组的单个队列,实现支持旁路的队列。该联系可以采用与每一个分组并排存 储的两个指针的形式,这两个指针指向相同分组类型的队列内的下一分组以及另一类型的 分组的组。当对分组进行调度以用于发送时,必须单独地更新指针。当作为类型1分组的 组中最后一个分组的、第一分组类型的分组超越第二分组类型的分组时,这是特别复杂的 过程。此外,每当发送分组时,不仅指针运算在计算上是昂贵,而且该过程还容易发生差错。 如果故障使指针遭到破坏,则难以重新建立支持旁路的队列。每当发送分组时,基于指向给 定分组类型的下一分组的指针的、已知的、支持旁路的队列都需要大量的处理。用于实现支持旁路的队列的备选方式是存储具有时间戳以及分组类型指示的每 一个接收到的分组。当确定了发送哪个分组时,可以比较分组的分组时间戳和分组类型,以 确定分组到达的相对顺序以及每一分组类型的分组在队列内出现的位置。同样,该已知方 式在计算上是昂贵的。加时间戳的另一个问题在于当时间戳卷绕时(例如从99到0),跟 踪时间戳的相对顺序可能变得复杂。已知利用每一分组类型的单独队列来实现支持旁路的队列。然而,在这种已知的 支持旁路的队列中,仍需要加时间戳或者在单独分组队列之间的联接的某种备选形式,以 保持相对的分组排序。
技术实现思路
本专利技术的实施例的目的是消除或减弱现有技术的问题中的一个或多个,无论这里 是否提出。根据本专利技术的第一方面,提供了一种对数据分组进行排队的方法,所述数据分组 包括第一分组类型的数据分组和第二分组类型的数据分组,所述方法包括将接收分组编 组为有序的组序列,其中每个组包含至少一个分组;维持用于指示所述组序列的开始处仅 包括所述第二分组类型的分组在内的组的数目的组计数器;以及发送分组;其中,当且仅 当所述组计数器指示了所述组序列的开始处仅包括所述第二分组类型的分组在内的组的 数目大于零时,所述第二分组类型的分组可用于发送。本专利技术的第一方面的优点是实现了支持旁路的队列,其保持第一分组类型和第 二分组类型的相对排序并允许第一分组类型分组超越第二分组类型分组。避免了实现支持 旁路的队列的已知方法所遭遇的复杂指针操控或加时间戳的开销。发送分组可以包括发送所述第一分组类型的第一个接收分组或所述第二分组类型的第一个接收分组。维持组计数器可以包括维持组计数器与所述组序列的开始处仅包括所述第二分 组类型的分组在内的组的数目相等。所述方法还可以包括维持所述第一分组类型的接收分组的第一队列;以及维持 所述第二分组类型的接收分组的第二队列;其中,发送分组包括发送来自所述第一队列或 所述第二队列的分组。所述第一分组类型的分组或所述第二分组类型的分组仅在该分组类型有充足的 发送信用时才可能可用于发送。每一个组可以包含所述第一分组类型的分组和所述第二分组类型的分组。将接收分组编组为有序的组序列可以包括向每一个接收分组指派组标签,单个 组内的每一个分组被指派了相同组标签。可以向所述有序的组序列中的相邻组内的分组指派不同的组标签。可以根据循环计数器的当前状态来产生向接收分组指派的组标签。所述方法还可 以包括针对每一个新组而改变所述循环计数器的值。针对每一个新组而改变所述循环计数器的值可以包括如果前一接收分组是所述 第二分组类型的分组,则当接收到所述第一分组类型的分组时,改变所述循环计数器的值, 使得向接收到的分组指派与向前一接收分组指派的组标签不同的组标签。所述改变可以包 括递增所述循环计数器的值。所述方法还可以包括如果所发送的分组是所述第一分组类型的并具有与下一个 所述第一分组类型的分组不同的组标签,则改变所述组计数器的值。所述改变可以包括以所发送的分组的组标签与下一个所述第一分组类型的分组 的组标签之间的差值的模,改变所述组计数器的值。所述改变可以包括递增所述组计数器 的值。所述方法还可以包括如果所发送的分组是所述第二分组类型的并具有与下一个 所述第二分组类型的分组不同的组标签,则改变所述组计数器的值。所述改变所述组计数器的值的步骤可以包括以所发送的分组的组标签与下一个 所述第二分组类型的分组的组标签之间的差值的模,改变所述组计数器的值。所述改变可 以包括递减所述组计数器的值。所述数据分组还可以包括第三分组类型的数据分组,所述方法还包括将接收分组编组为有序的第二组序列,该组序列中的每个组仅包含所述第一分组类型的分组和所述第三分组类型的分组;以及维持用于指示所述第二组序列的开始处仅包括所述第三分组类 型的分组在内的组的数目的第二组计数器;其中,当且仅当所述第二组计数器指示了所述 第二组序列的开始处仅包括所述第三分组类型的分组在内的组的数目大于零时,所述第三 分组类型的分组可用于发送。所述方法还可以包括将接收分组编组为有序的第三组序列,该组序列中的每个 组包含所述第二分组类型的分组和所述第三分组类型的分组;以及维持用于指示所述第三 组序列的开始处仅包括所述第三分组类型的分组在内的组的数目的第三组计数器;其中, 当且仅当所述第三组计数器指示了在所述第三组序列的开始处仅包括所述第三分组类型 的分组在内的组的数目大于零时,所述第三分组类型的分组可用于发送。根据本专利技术的第二方面,提供了一种承载计算机可读代码的载体介质,所述计算 机可读代码用于控制计算机执行上述方法。根据本专利技术的第三方面,提供了一种用于对数据分组进行排队的计算机装置,所 述装置包括程序存储器,存储处理器可读指令;以及处理器,被配置为读取和执行在所述 程序存储器中存储的指令;其中,所述处理器可读指令包括用于控制所述处理器执行上述 方法的指令。根据本专利技术的第四方面,提供了一种用于对数据分组进行排队的装置,所述数据 分组包括第一分组类型的数据分组和第二分组类型的数据分组,所述装置包括编组机构, 被布置为将接收分组编组为有序的组序列,其中每个组包含任何分组类型的至少一个分 组;组计数器,用于指示所述组序列的开始处仅包括所述第二分组类型的分组在内的组的 数目;以及发送器,被布置为发送分组;其中,当且仅当所述组计数器存储指示了所述组本文档来自技高网
...

【技术保护点】
一种对数据分组进行排队的方法,所述数据分组包括第一分组类型的数据分组和第二分组类型的数据分组,所述方法包括:将所述第一分组类型的接收分组和所述第二分组类型的接收分组编组为有序的组序列,其中每个组包括至少一个分组;维持组计数器,所述组计数器用于指示所述组序列的开始处的、仅包括所述第二分组类型的分组的组的数目;以及发送分组;其中,当且仅当所述组计数器指示了所述组序列的开始处的、仅包括所述第二分组类型的分组的组的数目大于零时,所述第二分组类型的分组可用于发送。

【技术特征摘要】
【国外来华专利技术】GB 2007-9-18 0718145.6;US 2007-9-18 60/973,242一种对数据分组进行排队的方法,所述数据分组包括第一分组类型的数据分组和第二分组类型的数据分组,所述方法包括将所述第一分组类型的接收分组和所述第二分组类型的接收分组编组为有序的组序列,其中每个组包括至少一个分组;维持组计数器,所述组计数器用于指示所述组序列的开始处的、仅包括所述第二分组类型的分组的组的数目;以及发送分组;其中,当且仅当所述组计数器指示了所述组序列的开始处的、仅包括所述第二分组类型的分组的组的数目大于零时,所述第二分组类型的分组可用于发送。2.根据权利要求1所述的方法,其中,发送分组包括发送所述第一分组类型的第一个 接收分组或所述第二分组类型的第一个接收分组。3.根据权利要求1或权利要求2所述的方法,其中,维持组计数器包括维持组计数器 与所述组序列的开始处的、仅包括所述第二分组类型的分组的组的数目相等。4.根据前述任意一项权利要求所述的方法,还包括维持所述第一分组类型的接收分组的第一队列;以及维持所述第二分组类型的接收分组的第二队列;其中,发送分组包括发送来自所述第一队列或所述第二队列的分组。5.根据前述任意一项权利要求所述的方法,其中,所述第一分组类型的分组或所述第 二分组类型的分组仅在该分组类型有充足的发送信用时才可用于发送。6.根据前述任意一项权利要求所述的方法,其中,每一个组包含所述第一分组类型的 分组和所述第二分组类型的分组。7.根据前述任意一项权利要求所述的方法,其中,将接收分组编组为有序的组序列包 括向每一个接收分组指派组标签,单个组内的每一个分组被指派了相同的组标签。8.根据权利要求7所述的方法,其中,所述有序的组序列中的相邻组内的分组被指派 了不同的组标签。9.根据权利要求7或权利要求8所述的方法,其中,指派给接收分组的组标签根据循环 计数器的当前状态而产生。10.根据权利要求9所述的方法,还包括针对每一个新组改变所述循环计数器的值。11.根据权利要求10所述的方法,其中,针对每一个新组改变所述循环计数器的值包 括如果前一接收分组是所述第二分组类型的分组,则当接收到所述第一分组类型的分组 时,改变所述循环计数器的值,以便向接收到的分组指派与向前一接收分组指派的组标签 不同的组标签。12.根据权利要求10或权利要求11所述的方法,其中,所述改变包括递增所述循环 计数器的值。13.根据权利要求7至12中任意一项所述的方法,还包括如果所发送的分组是所述 第一分组类型的并具有与下一个所述第一分组类型的分组不同的组标签,则改变所述组计 数器的值。14.根据权利要求13所述的方法,其中,所述改变包括以所发送的分组的组标签与下 一个所述第一分组类型的分组的组标签之间的差值的模,改变所述组计数器的值。15.根据权利要求13或权利要求14所述的方法,其中,所述改变包括递增所述组计 数器的值。16.根据权利要求7至15中任意一项所述的方法,还包括如果所发送的分组是所述 第二分组类型的并具有与下一个所述第二分组类型的分组不同的组标签,则改变所述组计 数器的值。17.根据权利要求16所述的方法,其中,所述改变所述组计数器的值包括以所发送的 分组的组标签与下一个所述第二分组类型的分组的组标签之间的差值的模,改变所述组计 数器的值。18.根据权利要求16或权利要求17所述的方法,其中,所述改变包括递减所述组计 数器的值。19.根据前述任意一项权利要求所述的方法,其中,所述数据分组还包括第三分组类型 的数据分组,所述方法还包括将接收分组编组为有序的第二组序列,所述第二组序列中的每个组仅包含所述第一分 组类型的分组和所述第三分组类型的分组;以及维持第二组计数器,所述第二组计数器用于指示所述第二组序列的开始处的、仅包括 所述第三分组类型的分组的组的数目;其中,当且仅当所述第二组计数器指示了所述第二组序列的开始处的、仅包括所述第 三分组类型的分组的组的数目大于零时,所述第三分组类型的分组可用于发送。20.根据权利要求19所述的方法,还包括将接收分组编组为有序的第三组序列,所述第三组序列中的每个组包含所述第二分组 类型的分组和所述第三分组类型的分组;以及维持第三组计数器,所述第三组计数器用于指示所述第三组序列的开始处的、仅包括 所述第三分组类型的分组的组的数目;其中,当且仅当所述第三组计数器指示在所述第三组序列的开始处的、仅包括所述第 三分组类型的分组的组的数目大于零时,所述第三分组类型的分组可用于发送。21.—种承载计算机可读代码的载体介质,所述计算机可读代码用于控制计算机执行 根据权利要求1至20中任意一项所述的方法。22.一种用于对数据分组进行排队的计算机装置,所述计算机装置包括 程序存储器,存储处理器可读指令;以及处理器,被配置为读取和执行存储在所述程序存储器中的指令; 其中,所述处理器可读指令包括用于控制所述处理器执行根据权利要求1至20中任意 一项所述的方法的指令。23.一种用于对数据分组进行排队的装置,所述数据分组包括第一分组类型的数据分 组...

【专利技术属性】
技术研发人员:芬巴尔内文斯蒂芬约翰马歇尔
申请(专利权)人:凡特西有限公司
类型:发明
国别省市:GB[英国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1