CN1499784A - 高效排序的日历堆系统和方法 - Google Patents
高效排序的日历堆系统和方法 Download PDFInfo
- Publication number
- CN1499784A CN1499784A CNA2003101023144A CN200310102314A CN1499784A CN 1499784 A CN1499784 A CN 1499784A CN A2003101023144 A CNA2003101023144 A CN A2003101023144A CN 200310102314 A CN200310102314 A CN 200310102314A CN 1499784 A CN1499784 A CN 1499784A
- Authority
- CN
- China
- Prior art keywords
- value
- level
- bit
- pile structure
- radix
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/24—Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/22—Indexing scheme relating to groups G06F7/22 - G06F7/36
- G06F2207/226—Priority queue, i.e. 1 word in, 1 word out sorter; Output word, i.e. min or max of words in memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5651—Priority, marking, classes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Complex Calculations (AREA)
- Sampling And Sample Adjustment (AREA)
- Paper (AREA)
Abstract
本发明公开了一种日历堆结构和方法,用以对接入网元中实现的ATM交换设备调度器中N个时间戳(TS)值进行排序。堆结构采用基数值(R)实现,用以将N个TS值分成多个组。与这些TS值相关联的有效性比特在具有logR(N)级的树中层次化分布,其中底层N个比特对应的指针指向具有各自的TS值的链接流表。从顶层堆开始,相继考察各个后续级的堆,以决定哪个特定的堆具有最小值,直到到达了底级的某个特定有效性比特,这个有效性比特指向最小TS。
Description
相关申请
本申请公开的主题涉及下列共有的共同未决的美国专利申请所公开的主题:(i)James W.Dove等人的“Stackplane Architecture”,于1999年12月22日申请,申请号为09/469,897;(ii)Eric Friedrichs等人的“Scalable Architecture For An Access Node”,于2002年6月27申请,申请号为10/280,604;(代理卷号为:1285-0090US);(iii)Thornton Collins等人的“Integrated Gateway Functionality In An Access NetworkElement”,于2001年11月2日申请,申请号为10/052,846;(iv)MudhafarHassan-Ali等人的“Multicasting System And Method For Use In AnAccess Node’s ATM Switch Fabric”,于同一天申请的,美国申请号为10/280,959;(代理卷号为:1285-0100US);(v)Mudhafar Hassan-Ali等人的“Virtual Group Connection Scheme For ATM Architecture In AnAccess Node”,于同一天申请的,美国申请号为10/280,604;(代理卷号为:1285-0099US);(vi)Mudhafar Hassan-Ali等人的“System AndMethod For Implementing GFR Service In An Access Node’s ATM SwitchFabric”,于同一天申请的,美国申请号为10/280,700;(代理卷号为:1285-0102US);(vii)Mudhafar Hassan-Ali等人的“Hierarchical SchedulerArchitecture For Use With An Access Node,”,于同一天申请的,美国申请号为10/280,894;(代理卷号为:1285-0103US);这些专利申请通过引用并入本发明。
技术领域
本发明总的来说涉及电信领域。确切地说,本发明涉及一种日历堆系统和方法,用于对异步传输模式(ATM)调度环境中使用的时间戳进行高效排序,但本发明并不局限于此。
背景技术
远程接入市场正在经历一个大的转变。三个因素促成了这种转变。第一是用户数量的增长,例如需要高性能因特网的和多媒体远程接入的小型办公/居家办公(SOHO)用户数量的增长。在电信方面自由化的政府行为是另一因素,各地通过消除本地市场规范来培育更为广泛的竞争。第三因素,也是最后一个因素,是公共电话交换网(PSTN)的拥塞,PSTN的设计和开发原本只是为了语音业务量。
电信技术的若干重大进展使得电信网络的骨干连接能够具备高吞吐量。例如,通过在同步光网(SONET)/同步数字体系(SDH)物理层上实现异步传输模式(ATM)网络技术,电信网络能够达到几百兆比特每秒(Mbps)的数据速率。但是,为满足远程接入的带宽需求所做出的努力受限于电信局中心局(CO)和用户的远端站点之间已有的双绞铜线基础设施(也就是接入网),一般称作本地环路。在电信领域中,这些限制有时统一称作“最后一公里”问题。
为避免最后一公里问题所产生的瓶颈,当前接入网解决方案在本地环路中也采用光纤技术。与利用高速电信网一样,基于光纤的本地环路基础设施的体系结构一般采用SONET作为物理层技术。除了网络设计的改进,随着光部件和相关光电子的最近进展,使得宽带接入日趋普及。
此外,伴随着因特网用户数量的显著增长,产生了对用分组交换网(PSN)基础设施(例如,那些基于因特网协议(IP)进行寻址的基础设施)来替代当前电信网所采用的已有电路交换网络(CSN)基础设施的浓厚兴趣。从网络运营商角度来讲,分组交换基础设施中固有的业务总量使得每个最终用户的传输成本和基础设施成本得以降低。最终,这种成本的降低使得网络运营商能够将由此节省的成本转移到最终用户身上。
因此,正在开发一种新型的以业务为中心的网络(不同于已有的以话音为中心和数据为中心的网络),用以实现众所周知的下一代网络(NGN)基础设施,在下一代网络基础设施中综合的话音/数据/视频应用可以利用端到端传输路径中PSN上的分组传输机制来提供。前面间接提到,人们相信,在接入网中采用分组网络基础设施能够提供更高的传输效率,更低的操作和运营成本,以及统一的接入。
传统接入系统允许接入数字本地话音交换机,例如第5类交换机,这通过延伸多根金属环路,并将它们集中成一束,从而高效传送时分复用(TDM)话音业务量来实现。一般情况下,这种接入网络的体系结构使用多种配置下的一个或多个接入节点,前述配置可以是例如点对点链、环等,其中接入节点自身可以包括多个信道组,后者提供的线路接口服务于大量用户。
但是,为了提供更好的功能和业务提供,要求当前的接入网支持先进的传输技术,例如SONET,对于节点的内部结构也是如此。在这些节点中,ATM用于承载除传统的TDM业务,如T1和TDM-DS3业务之外的大部分用户业务量。因此,接入节点设计需要支持TDM和ATM交换设备。
ATM论坛提供了一组规范,用以管理ATM交换设备的不同方面,包括交换设备的调度器,其功能是调控入信元注入交换设备的过程。确切地说,ATMF-TM-121标准提供了调度器需求的一般描述,包括业务监管/整形功能,这些功能是支持不同业务类别(CoS),例如恒定比特率(CBR)、可变比特率(VBR)、保证帧频(GFR)和类似业务类别所必需的。但是,该标准没有特别具体地提出实现细节,尤其是在使用SONET传输的接入节点内部结构的上下文中的实现。
总的来说,ATM调度器实现涉及与ATM交换中的业务流相关的时间戳(TS)数据的使用,在前述ATM交换中,以某种预定方式为入分组或信元指定TS标记。通常,有必要针对存储在作为调度器实现的一部分的适当数据结构中的TS数据执行不同操作。这些操作可以包括插入、删除、排序、搜索、定序以及类似操作。在需要大量的TS标记时,实现这些操作的数据结构方法必须高效并且足够快。对TS值需要大量比特域的应用而言,这种考虑尤其重要。例如,如果采用22比特TS,可以有大约222=4百万TS数据值。此外,在基于分层调度器方案,例如涉及多个数据聚合层和多个CoS值调度业务量的体系结构中,TS值的总数会成为天文数字。
堆和日历队列是对大量数据集进行排序的众所周知的数据结构。尽管这种数据结构通常足以胜任,但它们在存储器方面效率较低(例如队列),或者因算法复杂而较慢(例如堆)。因此,高速ATM交换设备设计(例如>1Gbps)中直接实现的已有方案得到的性能并不是最优的。
发明内容
因此,本发明提供了一种综合“日历堆”(CH)结构,以及对接入网元中实现的ATM交换设备调度器中N个TS值进行排序的方法,它有利地克服了前述缺陷和不足。CH结构采用基数值(R)实现,用以将N个TS值分成多个组。与这些TS值相关联的有效性比特在具有logR(N)级的树中层次化分布,其中底层N个比特对应的指针指向带有各个TS值的流莲表。从顶层堆开始,相继考察各个后续级的堆,以决定哪个特定的堆具有最小值,直到到达了底级的特定有效性比特,这个有效性比特指向最小TS。
附图说明
通过下面的详细描述,并结合附图,可以对本发明有更为全面的理解,在附图中:
图1给出了示例性的接入节点,该节点的ATM交换设备中可以有利地实现本发明的教导;
图2给出了多层多平面调度器的一种实施方式,在图1所示ATM交换设备的实现中采用本发明的排序方案;
图3描述的高层功能框图说明了实现本发明教导的调度器漏桶模块和优先级队列模块;
图4(现有技术)描述了对8个时间戳值进行排序的示例性传统日历队列(CQ)方案;
图5给出了对8个时间戳值进行排序的按照本发明教导的示例性日历堆(CH)方案;
图6A给出了本发明CH方案中可以采用的示例性K比特堆结构;
图6B给出了采用2作为基数将TS值分成2比特堆的示例性2比特CH方案;以及
图6C给出了采用4作为基数将TS值分成4比特堆的示例性4比特CH方案。
具体实施方式
下面根据Mudhafar Hassan-Ali等人同一天提交的题为“Hierarchical Scheduler Architecture For Use With An Access Node”的美国专利申请,申请号为10/280,894(代理人卷号:1285-0103US)的共同拥有共同未决美国专利申请(此后称为分层调度器体系结构申请)的教导,给出本发明的一种实施方式,前述专利申请在此引用并入本发明。在该申请中详细描述到,接入网中的电信节点可以包括一种可调整的体系结构,其中提供TDM和ATM交换设备,用以支持性能水平的提高。
此外,与ATM交换设备关联的调度功能可以按照业务类别(也就是业务平面),并且跨多种层次数据管道集(也就是子端口、总线级、架级、栈面级以及管道级等等,视为各种聚合层)进行划分,这对可调整硬件体系结构而言是必要的,这样,接入网络节点的ATM交换设备中能够有效实现业务量合同遵从,以及必要连接隔离和公平带宽分配。
下面参看本专利申请的附图,其中相同或类似的元件在几张图中标以相同的标号,给出的各种元件不一定按比例绘出,尤其是参看图1,该图描述了一种示例性的接入节点100,它具有ATM交换设备102的高层功能性表示,设备102可以有利地实现本发明的教导。在前面引用的分层调度器体系结构申请中解释了,交换设备102的总体功能包括:监管;运行、管理和维护(OAM);信头转换;排队和许可控制;以及调度和业务量整形。可以很容易地看出,发往交换设备102的业务量通过多个接口提供。传输接口104用于将节点的设备连接到骨干网,例如ATM网络105。栈面接口106用于将业务量从辅架组链107(例如包括分层调度器体系结构申请的图5所示信道组506-1到506-4,以及信道组508-1到508-4)传送到交换设备102。通过线路单元(LU)107-1到107-N的多个用户接口举例说明了各种业务源,如xDSL,T1,ISDN,DS-3/OC-3等,这些业务源可以通过适当的总线级端口109-1到109-N,与交换设备102相连。线路单元接口中的一个接口可以连接到作为接入网(未在该图中示出)一部分的RT111。
针对内部ATM业务量可以定义两种类型ATM连接:虚信道连接(VCC)和虚通道连接(VPC)。VCC一般是ATM连接能有的最小单元,可以由包括一对物理接口上的标识符,也就是虚信道标识(VCI)和虚通道标识(VPI)的唯一值来表示。VPC则定义为共享同一VPI值和共同资源池(例如带宽等)的一组全部的流。因此,可以看出,VP是一束VC,这样,通过减少需要管理的部件数量,简化了ATM环境下的连接管理,其中每个连接由其唯一VPI/VCI对来标识。
从拓扑角度来看,VCC或VPC可以是以下两种类型之一:(i)点到点连接,其中建立双向连接,且每个方向中的信源可以不同,以及(ii)点到多点连接,它通常采用多个单向连接,在设备间实现组播传输。
此外,也可以在本发明中实现另一级ATM连接层次,称为虚拟组连接或VGC。其中与其组成流相关联的TS值可以在本发明内容内排序。有关VGC实现的细节在Mudhafar Hassan-Ali等人同一天提交的题为“Virtual Group Connection Scheme For ATM Architecture In AnAccess Node”,美国专利申请号:10/280,604;(代理卷号为:1285-0099US)的共同拥有共同未决美国专利中给出,该专利通过引用并入。
因此,进入交换设备102(其功能可以以ATM交叉连接交换设备(XCF)卡形式实现)的流的入口业务量管理一般包括三个阶段:监管、VC队列/缓冲器分配和整形/调度。在一种实施方式中,与这些级相关的硬件可以整合到XCF卡中。监管器的主要功能是确保接收的信元与所应用的连接描述符一致。如果不一致,就可以通过清除/设置信元头中的信元丢弃优先级(CLP)来丢弃入信元或者打标记(也就是带标记)。一般来说,监管功能采用ITU-T1.371和ATM论坛ATMF-TM-121标准中描述的众所周知的算法来实现。实际上,这些算法(一般称为通用信元速率算法或GCRA)采用所谓的信贷计数器,称为桶(bucket),以及信贷,称为令牌。在接收到信元时,如果计数器(也就是桶)有足够的信贷(也就是令牌),那么接纳该信元;否则,该信元标记成低优先级信元或者被丢弃。此外,在分层调度器体系结构申请中解释了,基于GCRA的算法可以在所谓的漏桶模块(LBM)中实现,用以实现若干ATM业务类别(基于业务类别(CoS)排序,业务类别由类似于时间敏感性、峰值和持续带宽保证、突发性和交付保证等因素定义)的业务量监管和业务量整形(也就是调度)。
层次调度功能通过优先级队列模块(PQM)(该图中未示出)实现,其中各层对条目实现调度功能,根据流集合,该条目可以是以下之一:子端口、总线、端口和管道。实际上,当交换设备接收到新流的信元时,该数据流由调度器中的一个条目如下表示。从LBM接收到流ID(也就是FID),基于CoS/QoS,流数据,也就是调度器所给出的FID和TS,存储在应用的第一层数据结构中。因此,TS数据集实际上是调度器可以在这些流所在的各划分层和业务平面给出的所有TS值的穷尽列表。各个值与一个指针关联,该指针所指的相关列表包含了在特定TS值开始的所有符合条件的流。在第一层的所有的竞争子端口中(例如线路单元的不同流),层仲裁器只会选择一个具有最小TS的子端口,然后将它转发给下一层的仲裁机构,也就是第二层仲裁。第二层数据结构相应包含不同子端口的“优胜FID/TS”数据。同样,只有一个具有最小TS的条目被选出,转发给第三层。对其它的聚合层如此重复这种处理,最终得到每种业务优先级类的优胜提名(也就是优胜信元的FID/TS数据)。在分层调度器体系结构申请中还指出了,对每个业务类平面执行这种层基仲裁,从而得到每个平面的优胜提名,这样,考虑CoS的基于TS的仲裁器对各个业务平面的优胜者进行仲裁,选择最终的优胜者。
因此,应当认识到,各层的仲裁涉及管理与其相关的PQ结构,用于选择该层的优胜者。一般来说,PQ结构以树的形式实现,其中数据节点(代表例如接纳信元或低层选择的信元的TS/FID)按照特定插入/删除准则安置。下面将会详细给出,按照本发明的教导,采用一种特定的数据结构,称为日历堆(CH)结构,高效地排序TS参数。图2给出了一种多层、多平面调度器200的实施方式,它在实现图1所示ATM交换设备时采用本发明的排序方案。各个聚合层的调度器200的每一个PQ实体都以树结构示出,得到每个业务平面的总嵌套树方案。下面的表给出了各个示例性业务以及相关的参数信息:
表1
业务类别 | 应用 | 参数 |
实时恒定比特率(CBR),实时可变比特率(rt-VBR) | 话音(单信道或中继线),VBR视频,游戏 | 峰值信元率(PCR),信元时延变化容限(CDVT) |
非实时可变比特率(nrt-VBR) | 数据,多媒体,电邮,视频流 | PCR,CDVT,可持续信元率(SCR),最大突发流量大小(MBS) |
保证帧频(GFR) | 附加数据,浏览页面,因特网 | PCR,CDVT,MBS,最大信元率(MCR),最大帧大小(MFS) |
尽力而为(未指定比特率或者UBR) | 廉价数据,页面浏览和因特网 | PCR,CDVT |
与参数数据和QoS级别相关的其它细节可以参见分层调度器体系结构申请。继续图2,标号206-1到206-6分别指以下业务平面:rt[CBR/VBR]-高平面,rt[CBR/VBR]-中平面,rt[CBR/VBR]-低平面,nrt-VBR和GFR平面,GFR平面,以及UBR(也就是,可用最佳)平面。标号208是指对应于子端口仲裁器1305-i的PQ树,其中PQ树基于相应子端口所支持的VC连接生成。实际上,调度器的每个子端口采用(或者构造)一个PQ,它是存储所有活跃FID的数据结构(也就是与该FID相关的VC队列至少有一个信元)。所有子端口仲裁器的优胜者(例如,子端口仲裁器222-i和222-j)都被转发,填充与总线级仲裁器224-1相关联的下一级PQ树结构210。同样,总线级仲裁器224-1和224-k转发各个选择给架级PQ结构212。架级仲裁器214、栈面接口216、传输层接口218转发它们的选择给管道级仲裁器220,后者为特定业务平面选择一个优胜提名。
现在参看图3,给出的高级框图说明了一种交换设备卡300,它包括调度器块310,用于按照本发明的教导实现基于CH的排序方案。调度器块310包括PQM302和LBM308,两者之间的多个接口实现与调度器操作相关的消息/数据通信。这些接口包括过期接口314,优胜者流接口316,堆/流重连接接口318,以及堆/流插入接口320。PQM块302还与多个存储器块304-1到304-4接口,用以存储与上述分层调度器体系结构相关的各个PQ数据结构。连接到PQM块302的控制存储器306存储与PQM操作相关的控制程序代码。
LBM块308也与一个或多个存储器块,例如存储器312接口,用以存储与LBM实现的监管和整形算法处理相关的信息。在一种实现中,LBM用漏桶计算器作为状态机,它按照业务量合同和它所属连接的历史决定信元是否合格。在用于监管时,该状态机决定入信元是否符合要求,而用于整形时,它决定信元符合业务要求的时刻。根据业务类别的不同,提供了带有特定参数(也就是业务量描述符、漏桶参数(理论到达时间或TAT、TS值、信元到达时间等)的一个或多个特定算法处理,用以实现LBM的监管和整形操作。下面将会详细描述,本发明的GFR业务采用两种不同的算法LB处理来实现,每种算法具有不同的参数集,可分别用于调整保证流部分和非保证流部分。
LBM块308还与上下文存储器模块(CMM)332和队列核心模块(QCM)332接口,用以实现其整体功能,为该ATM交换设备服务的所有流维护漏桶信息。与CMM块332关联的信元到达接口348充当入信元的进入点。与CMM模块332相关联的上下文存储器334用于存储基于流的信息,例如QoS、FID、漏桶参数、目的路径标记(DPT)信息等。此外,可以提供统计存储器块336,用以收集与该ATM交换设备卡300所服务的连接相关的性能监控数据。入口流上下文信息和出口流上下文信息分别通过接口338和340提供给QCM块322。头/尾指针存储器352和统计存储器354连接到QCM块322。与其相关联的信元指针接口356基于调度操作指向符合业务条件的信元。
QCM块322和LBM块308之间的接口包括以下接口:流激活接口324、流重连接和去活接口326、关闭连接接口328和超时接口330。LBM块308和CMM块332之间提供的优胜信元接口342用于发送优胜信元的相关信息。此外,还提供了时钟管理块344和具有一个处理器接口350的处理器接口模块346。
考虑到上述各种结构块,LBM块308的总体功能包括以下各项:
流激活:当信元到达或与其FID相关的信元缓冲器以前是空的时,QCM发送流激活消息给LBM。该接口包含了与流相关的上下文存储器中发现的信息。
优胜流和流重连接/去活:当PQM选择某个流作为优胜者时,将该流从它所属的不同堆中删除(例如根据聚合层)。如果特定流的信元缓冲中还有剩余的信元,那么LBM重新计算TS值,在PQ数据结构中重新连接该流。如果没有剩余的信元,LBM计算该流的TS值,将其存储在漏桶中,直至该流的另一信元到达。
关闭连接:如果CAC抑制某个流,信元缓冲器会清除,FID可以重用于其它连接。为了防止将旧的参数用于新连接,必须通知LBM该流已不再有效。
超时:检查漏桶存储器,最好定期检查,以防止存储过期时间。
基于前面的内容,应当理解,高效的调度器实现要求能够处理大量TS值的方案(例如,采用K比特的比特域,就可能会有2K个TS值),从而实现对TS数据结构的操作,例如插入、删除、排序等操作。确切地说,为了确定前面提出的GCRA方法所用的最小TS值,高效的排序方案是必要的。在本专利申请的背景部分间接提到,虽然堆和日历队列(CQ)是某些排序大数据集的更为人们熟悉的结构,但它们受制于算法复杂性(堆)和/或存储器的过量使用(CQ结构)。图4说明了一种示例性的传统CQ方案400,它排序使用由3个比特TS域所得到的8个TS值。标号410-1到410-8指向TS402能采用的8个TS值,TS-1到TS-8。有效性比特404和指针406可以与TS域402相关联,有效性比特用于指示相关的TS值和/或其指针是否有效。该指针指向一列流408,其TS值基于它们的LB计算。例如,标号412-1到412-8分别指示与TS-1到TS-8相关联的8个比特。指针414-1到414-8指向对应的链接流列表连接416-1到416-8。虽然在传统的CQ方案中排序可以很快地完成,但在存储器使用上它却不很有效,因为所有8个TS值的存储器都需要事先分配。至于从TS-1到TS-8排序所需的操作数量,最坏情况搜索时间包括检查8个有效性比特的时间。
现在参看图5,给出了本发明用于排序8个TS值的示例性的综合“日历堆”(CH)方案500。按照本发明的教导,选择基数2将8个TS值分成4个组502-1到502-4,每个组具有两个有效性比特,以及与这两个比特相关的各个指针。这四个组,每个组是2比特堆结构,形成了层次树的底层,第三级,层次树的第二层包括2个2比特堆结构504-1和504-2,第一层(也就是顶节点)包括单个2比特结构506。每个2比特堆结构包括一个比特域,其比特数量等于基数值,本例中也就是2,以及相应数量的指针,这些指针指向后续层的2比特堆。比特518A和518B形成了顶层堆结构506,它包括指针516A和516B,它们分别指向第二级堆结构504-1和504-2。依次地,2比特堆504-1则包括比特512A、512B和相应指针508A、508B;2比特堆504-2包括比特514A、514B和相应指针510A、510B。这四个第二层指针每一个都指向前述第三级分组中的组502-1到502-4中相应的一个。
排序开始于第一级堆,它基于比特518A和518B的内容,确定哪个指针有效并指向包含最小TS值的树段。如果最小TS值正好在数的前半部分(也就是在TS-1到TS-4),则指针516A有效,设置成B1518A。之后,指针516A所指的堆结构504-1用于决定指针508A和508B中哪个有效,最终通往指向具有最小TS值的流列表的第三级节点。
因为只有在得到有效的TS值的情况下,层次树结构才会被填充,所以不需要预先分配能够存储所有可能TS值的存储器。因此,在CH排序方案中,存储器的使用更加有效。此外,查询时间只是检查6个比特的时间(每级两个比特)。应当理解,查询时间最终与级的数量和基数值相关。其中N=TS值的总数(也就是log2[N]=TS域中的比特数量),R=基数,级数等于logR[N],每一级包括R[级-1]数量个R比特堆结构。随着基数的增加,排序速度也增加,因为层次树结构中的层数变少。但是,结果树结构的存储器数量增加。因此,实际应用中通过选择适当的R值来权衡节约存储器和搜索时间。
本领域中的技术人员应当认识到,为了能够通过各种方式完成搜索,必须逐个堆地确定下面是下一级的哪个树段。在本发明的一种实施方式中,为每个堆结构提供了最低有效比特(LSB)定位器,它与具有比特数log2[基数]的MIN块一起,用于堆的比特域(其比特数量等于选择的基数)。图6A按照本发明的教导给出的示例性K比特堆600A,它可以在CH方案中采用。标号602代表与指向下一级K比特堆的K指针604关联的K个比特,其总数可以等于K[级-1]。前面间接提到,对N个时间戳和基数K而言,总级数可以是logK[N]。例如,如果N=8(也就是3比特TS值),且基数=2,则级数=3,因此,第二层有两个2比特堆。标号606指向与K比特堆相关联的LSB定位器,它结合具有log2[K]比特的MIN块608工作。
图6B和6C给出了示例性2比特和4比特CH方案600B、600C,分别利用2比特基数和4比特基数来排序/搜索N个时间戳。如CH方案600B所示,顶层,第一级具有单个2比特堆结构640,它具有比特1和比特2,分别对应于指针1和指针2。LSB定位器与针对1比特MIN块644一起工作。为下一层,第二级,提供了两个堆646A和646B,每个堆都有一对指针,指向下一级次。最终,底层,第L级(其中L=log2[N]),包括N/2个2比特堆648-1到648-(N/2),每个堆有两个指针,在对应的两个TS值上指向链接流列表。
同样,4比特CH方案600C包括具有L层的层次树,其中L=log4[N],它利用4比特堆排序N个时间戳。单个4比特堆结构660形成了顶层,也就是第一级,它包括LSB定位器662以及2比特MIN块664,后者可以针对堆的4比特B1-B4操作。这4个比特每一个都与一个指针相关联,该指针指向下一层的堆。4个这种4比特堆666A-D形成了狭义层,也就是第二级。最后,底层,第L级,包括N/4个组668-1到668-(N/4),每个组有4个比特和相关联的指针。
基于前面的讨论,应当理解,本发明提供了一种实现综合数据结构的创新方案,该综合数据结构具有类似队列的性能特征,以及类似堆的存储效率。传统CQ是一维的,而本发明基于选定的对特定应用最优的基数,将TS域划分成若干部分,从而将传统的CQ设置为多维的树。尤其是基数32和基数64,非常适用于某些实现。此外,可以跨层次ATM调度器装置的不同业务平面和数据聚合层实现多个基数值。但是,本领域技术人员很容易理解,尽管本发明的综合CH方案在接入节点的ATM交换设备工作的层次调度提出,本申请包含的内容并不局限于这种环境;它们也可以在其它数据结构优化应用中实现。
通过前面的详细描述,相信本发明的操作和构造已经很清楚。示出和描述的本发明实施方式是示例性的,应当理解在不偏离后附权利要求书所提出的本发明范围的前提下,可以作出各种变化和改进。
Claims (12)
1.一种对接入网元中实现的异步传输模式(ATM)交换设备调度器中的N个时间戳(TS)值进行排序的方法,包括以下步骤:
选择基数(R)值,将所述TS值分成N/R个组,其中每个组与数量与所述基数值对应的一组比特相关联,所述比特用于指示所述组的TS值之中哪些是有效的;
在层次树装置中生成多个层,其中所述比特集形成了logR[N]级的层,每一层包括一组数量等于R[级-1]的堆结构,级=1,2,...,logR[N],此外,每个堆结构包括R个比特和R个指针,级(i)层的所述指针指向级(i+1)层的堆结构,其中i=1,2,...,{logR[N]-1};以及
从第一级堆结构开始,相继确定特定后续级上哪个堆结构具有最小值,直至到达所述logR[N]级。
2.按照权利要求1对ATM交换设备调度器中的N个时间戳(TS)值进行排序的方法,其中所述基数值等于2。
3.按照权利要求1对ATM交换设备调度器中的N个时间戳(TS)值进行排序的方法,其中所述基数值等于4。
4.按照权利要求1对ATM交换设备调度器中的N个时间戳(TS)值进行排序的方法,其中相继确定特定后续级上哪个堆结构具有最小值的所述操作还包括:
对级(i)层上的特定堆结构,利用运行于所述R个比特上的最低有效比特(LSB)定位器;以及
利用与所述LSB定位器识别的特定比特相关联的指针,遍历到级(i+1)层的另一堆结构。
5.按照权利要求1对ATM交换设备调度器中的N个时间戳(TS)值进行排序的方法,其中选择基数(R)值,将所述TS值分成N/R个组的所述操作包括选择一个可变基数值。
6.按照权利要求1对ATM交换设备调度器中的N个时间戳(TS)值进行排序的方法,其中在所述logR[N]级上的每个所述比特与一个指针关联,该指针指向基于其对应的特定TS、将要被调度以提供业务的ATM流链接列表。
7.一种计算机可访问介质,它与接入网元中异步传输模式(ATM)交换设备调度器中的处理器接口协作,当运行在相关联的处理器上时,所述介质具有完成以下操作的指令:
用于选择基数(R)值,将所述TS值分成N/R个组的指令,其中每个组与数量与所述基数值对应的一组比特相关联,所述比特用于指示所述组的TS值之中哪些是有效的;
用于在层次树装置中生成多个层的指令,其中所述比特集形成了logR[N]级的层,每一层包括一组数量等于R[级-1]的堆结构,级=1,2,....,logR[N],此外,每个堆结构包括R个比特和R个指针,级(i)层的所述指针指向级(i+1)层的堆结构,其中i=1,2,....,{logR[N]-1};以及
从第一级堆结构开始,相继确定特定后续级上哪个堆结构具有最小值,直至到达所述logR[N]级的指令。
8.按照权利要求7的计算机可访问介质,其中选择基数(R)的所述指令包括选择基数值2的指令。
9.按照权利要求7的计算机可访问介质,其中选择基数(R)的所述指令包括选择基数值4的指令。
10.按照权利要求7的计算机可访问介质,其中相继确定特定后续级上哪个堆结构具有最小值的所述指令还包括:
对级(i)层上的特定堆结构,利用运行于所述R个比特上的最低有效比特(LSB)定位器的指令;以及
利用与所述LSB定位器识别的特定比特相关联的指针,遍历到级(i+1)层的另一堆结构的指令。
11.按照权利要求7的计算机可访问介质,其中选择基数(R)值的所述指令包括选择一个可变基数值的指令。
12.按照权利要求7的计算机可访问介质,其中在所述logR[N]级上的每个所述比特与一个指针关联,该指针指向基于其对应的特定TS、将要被调度以提供业务的链接关联ATM流列表。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/281,033 | 2002-10-25 | ||
US10/281,033 US7236495B2 (en) | 2002-10-25 | 2002-10-25 | Calendar heap system and method for efficient sorting |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1499784A true CN1499784A (zh) | 2004-05-26 |
Family
ID=32069401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2003101023144A Pending CN1499784A (zh) | 2002-10-25 | 2003-10-24 | 高效排序的日历堆系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7236495B2 (zh) |
EP (1) | EP1413950B1 (zh) |
CN (1) | CN1499784A (zh) |
AT (1) | ATE405881T1 (zh) |
DE (1) | DE60323031D1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103283193A (zh) * | 2011-01-04 | 2013-09-04 | 纳派泰克股份公司 | 用于接收和转发数据的装置和方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071503A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Hierarchical scheduling |
US8218551B2 (en) * | 2003-09-30 | 2012-07-10 | International Business Machines Corporation | Hierarchical scheduling |
US7646779B2 (en) * | 2004-12-23 | 2010-01-12 | Intel Corporation | Hierarchical packet scheduler using hole-filling and multiple packet buffering |
US7525962B2 (en) * | 2004-12-27 | 2009-04-28 | Intel Corporation | Reducing memory access bandwidth consumption in a hierarchical packet scheduler |
TWI483138B (zh) * | 2012-10-12 | 2015-05-01 | Acer Inc | 遠端動態資料的處理與驗證方法、系統,以及電腦可讀記錄媒體 |
CN103929769B (zh) * | 2014-05-04 | 2017-02-15 | 中国科学院微电子研究所 | 一种应用于无线通信系统仿真的调度方法及系统 |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4878048A (en) * | 1988-08-10 | 1989-10-31 | Rockwell International Corporation | Channel redundancy in a digital loop carrier system |
US5119370A (en) | 1989-09-28 | 1992-06-02 | Northern Telecom Limited | Switching node for a communications switching network |
FR2659819B1 (fr) | 1990-03-14 | 1992-05-29 | Alcatel Nv | Reseau de commutation a trajets multiples et a autoacheminement pour la commutation de cellules a multiplexage temporel asynchrone. |
JPH0630025A (ja) | 1991-07-08 | 1994-02-04 | Nec Corp | 非同期時分割交換方式 |
CA2066538C (en) | 1991-07-09 | 1997-12-23 | Brian David Bolliger | Mobile-telephone system call processing arrangement |
US5396622A (en) * | 1991-12-23 | 1995-03-07 | International Business Machines Corporation | Efficient radix sorting system employing a dynamic branch table |
US5383180A (en) * | 1993-05-24 | 1995-01-17 | At&T Corp. | Circuit pack for digital loop carrier tranmission systems |
WO1994030028A1 (en) | 1993-06-16 | 1994-12-22 | Com 21, Inc. | Multi protocol personal communications system |
JPH07210856A (ja) * | 1994-01-19 | 1995-08-11 | Tdk Corp | 磁気記録媒体 |
US5526344A (en) * | 1994-04-15 | 1996-06-11 | Dsc Communications Corporation | Multi-service switch for a telecommunications network |
US5570355A (en) | 1994-11-17 | 1996-10-29 | Lucent Technologies Inc. | Method and apparatus enabling synchronous transfer mode and packet mode access for multiple services on a broadband communication network |
JP2921424B2 (ja) * | 1995-01-13 | 1999-07-19 | 日本電気株式会社 | Atm電子交換ネットワークシステムおよび同システムに使用される電子交換機 |
US5862136A (en) | 1995-07-07 | 1999-01-19 | Northern Telecom Limited | Telecommunications apparatus and method |
US5734656A (en) | 1995-07-12 | 1998-03-31 | Bay Networks, Inc. | Method and apparatus for dynamically allocating bandwidth on a TDM bus |
AU6761896A (en) | 1995-07-19 | 1997-02-18 | Ascom Nexion Inc. | Linked-list structures for multiple levels of control in an atm switch |
DE19604245C2 (de) * | 1996-02-06 | 2000-07-06 | Siemens Ag | Verfahren zum Übertragen von Zeitmultiplexkanalform-Digitalsignalen über eine ATM-Übertragungseinrichtung |
US5859835A (en) * | 1996-04-15 | 1999-01-12 | The Regents Of The University Of California | Traffic scheduling system and method for packet-switched networks |
JPH09293391A (ja) * | 1996-04-25 | 1997-11-11 | Nec Ic Microcomput Syst Ltd | 半導体記憶回路およびそのテスト方法 |
US6064650A (en) | 1996-06-27 | 2000-05-16 | Xerox Corporation | Rate shaping in per-flow output queued routing mechanisms having output links servicing multiple physical layers |
US6064651A (en) | 1996-06-27 | 2000-05-16 | Xerox Corporation | Rate shaping in per-flow output queued routing mechanisms for statistical bit rate service |
CA2186675A1 (en) * | 1996-09-27 | 1998-03-28 | Ka Lun Law | Asynchronous transfer mode switching system |
US5896382A (en) | 1996-11-19 | 1999-04-20 | Scientific-Atlanta, Inc. | Method and apparatus for communicating information between a headend and subscriber over a wide area network |
AU718960B2 (en) * | 1996-11-22 | 2000-05-04 | Sprint Communications Company, L.P. | System and method for transporting a call in a telecommunication network |
WO1998024267A1 (en) * | 1996-11-27 | 1998-06-04 | Alcatel Usa Sourcing, L.P. | Telecommunications switch for providing telephony traffic integrated with video information services |
US5889773A (en) | 1996-11-27 | 1999-03-30 | Alcatel Usa Sourcing, L.P. | Method and apparatus for placing time division multiplexed telephony traffic into an asynchronous transfer mode format |
US5953338A (en) * | 1996-12-13 | 1999-09-14 | Northern Telecom Limited | Dynamic control processes and systems for asynchronous transfer mode networks |
US5901024A (en) * | 1996-12-23 | 1999-05-04 | Alcatel Usa Sourcing, L.P. | Apparatus and method for circuit protection |
JP2001519120A (ja) * | 1997-04-04 | 2001-10-16 | アセンド コミュニケーションズ インコーポレイテッド | 階層型パケット・スケジューリング方法及び装置 |
US6128295A (en) * | 1997-07-11 | 2000-10-03 | Telefonaktiebolaget Lm Ericsson | Buffering of point-to-point and/or point-to-multipoint ATM cells |
US6324165B1 (en) | 1997-09-05 | 2001-11-27 | Nec Usa, Inc. | Large capacity, multiclass core ATM switch architecture |
US6389031B1 (en) * | 1997-11-05 | 2002-05-14 | Polytechnic University | Methods and apparatus for fairly scheduling queued packets using a ram-based search engine |
WO1999031833A2 (en) * | 1997-12-16 | 1999-06-24 | Koninklijke Philips Electronics N.V. | Synchronisation in an atm over stm transmission system |
EP0961512B1 (en) | 1998-05-29 | 2009-02-11 | Telefonaktiebolaget LM Ericsson (publ) | A method for performing handover in a radio communication environment. |
US6370159B1 (en) * | 1998-07-22 | 2002-04-09 | Agilent Technologies, Inc. | System application techniques using time synchronization |
WO2000011880A2 (en) | 1998-08-18 | 2000-03-02 | Alcatel Usa Sourcing, L.P. | Common access platform |
US6480487B1 (en) * | 1998-08-24 | 2002-11-12 | Verizon Services Group | Digital loop carrier remote terminal having integrated digital subscriber plug-in line cards for multiplexing of telephone and broadband signals |
US6480511B1 (en) * | 1998-09-15 | 2002-11-12 | Avaya Technology Corp. | Arrangement for synchronization of a stream of synchronous traffic delivered by an asynchronous medium |
US6396843B1 (en) * | 1998-10-30 | 2002-05-28 | Agere Systems Guardian Corp. | Method and apparatus for guaranteeing data transfer rates and delays in data packet networks using logarithmic calendar queues |
US6081507A (en) | 1998-11-04 | 2000-06-27 | Polytechnic University | Methods and apparatus for handling time stamp aging |
US6434140B1 (en) * | 1998-12-04 | 2002-08-13 | Nortel Networks Limited | System and method for implementing XoIP over ANSI-136-A circuit/switched/packet-switched mobile communications networks |
US6950441B1 (en) * | 1999-03-30 | 2005-09-27 | Sonus Networks, Inc. | System and method to internetwork telecommunication networks of different protocols |
US6353593B1 (en) * | 1999-06-03 | 2002-03-05 | Fujitsu Network Communications, Inc. | Protection architecture for virtual channel connections (VCCS) in a telecommunications network |
US6411957B1 (en) * | 1999-06-30 | 2002-06-25 | Arm Limited | System and method of organizing nodes within a tree structure |
US6680933B1 (en) | 1999-09-23 | 2004-01-20 | Nortel Networks Limited | Telecommunications switches and methods for their operation |
US6434155B1 (en) | 1999-12-22 | 2002-08-13 | Alcatel Usa Sourcing, L.P. | Weighted round robin engine used in scheduling the distribution of ATM cells |
US7050428B1 (en) | 1999-12-22 | 2006-05-23 | Alcatel | Stackplane architecture |
JP2001186193A (ja) * | 1999-12-24 | 2001-07-06 | Fujitsu Ltd | Ip通信インタフェース装置、回線交換機及びip通信ネットワークシステム |
US6728239B1 (en) * | 1999-12-30 | 2004-04-27 | At&T Corp. | Scaleable network server for low cost PBX |
DE60012233T2 (de) | 2000-05-06 | 2005-08-04 | Nokia Corp. | System zum verbesserten ressourcenmanagement für atm-netz-verbindungen |
-
2002
- 2002-10-25 US US10/281,033 patent/US7236495B2/en not_active Expired - Fee Related
-
2003
- 2003-10-13 EP EP03023166A patent/EP1413950B1/en not_active Expired - Lifetime
- 2003-10-13 DE DE60323031T patent/DE60323031D1/de not_active Expired - Lifetime
- 2003-10-13 AT AT03023166T patent/ATE405881T1/de not_active IP Right Cessation
- 2003-10-24 CN CNA2003101023144A patent/CN1499784A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103283193A (zh) * | 2011-01-04 | 2013-09-04 | 纳派泰克股份公司 | 用于接收和转发数据的装置和方法 |
CN103283193B (zh) * | 2011-01-04 | 2016-01-13 | 纳派泰克股份公司 | 用于接收和转发数据的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1413950A3 (en) | 2004-05-12 |
ATE405881T1 (de) | 2008-09-15 |
US20040081157A1 (en) | 2004-04-29 |
DE60323031D1 (de) | 2008-10-02 |
EP1413950B1 (en) | 2008-08-20 |
EP1413950A2 (en) | 2004-04-28 |
US7236495B2 (en) | 2007-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100342697C (zh) | 接入节点中使用的分层调度器体系结构 | |
CN1201532C (zh) | 具有中心调度程序的atm交换机及其调度方法 | |
CN100413278C (zh) | 接入节点的atm交换设备中使用的组播系统和方法 | |
CN1275283A (zh) | 在执行ip转发和atm交换的设备中的服务设施质量 | |
JP2000501260A (ja) | 情報パケット交換機のためのスケジューラ | |
JPH0983547A (ja) | パケットスケジューリング装置 | |
Saito | Optimal queueing discipline for real-time traffic at ATM switching nodes | |
CN1323530C (zh) | 在接入节点的atm交换设备中实现gfr业务的系统和方法 | |
CN1499784A (zh) | 高效排序的日历堆系统和方法 | |
CN1201530C (zh) | 用于atm交换机的vc合并 | |
US7817644B2 (en) | High speed weighted fair queuing system for ATM switches | |
CN100399762C (zh) | 接入节点中atm体系结构的虚拟组连接装置 | |
CN1360421A (zh) | 信元交换方法及信元交换系统 | |
CN1240564A (zh) | 交换结构 | |
CN101051988A (zh) | 一种调度永久虚通路的方法和装置 | |
CN1536816A (zh) | 数据传输过程中的流量整形方法 | |
CN1098584C (zh) | 多路复用异步传递方式信元的装置与方法 | |
US8116318B2 (en) | Method for scheduling ATM cells and a device having ATM cell scheduling capabilities | |
Heiss | Bursty ATM user traffic allowed by a jitter tolerant leaky bucket and its impact on link utilization | |
Vellore et al. | Performance analysis of scheduling disciplines in hardware | |
Hung | A distributed fair queuing MAC scheduler for wireless ATM network. | |
CN109842557A (zh) | 管理流规则表的方法和交换器 | |
Chu | Design and evaluation of a high performance multipriority multicast ATM and IP switch | |
Chang et al. | Analysis of an ATM multiplexer with correlated periodic real-time and independent batch Poisson nonreal-time traffic | |
Thuppal | On pipelined multistage interconnection networks. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |