CN101322099B - 分类装置和方法 - Google Patents
分类装置和方法 Download PDFInfo
- Publication number
- CN101322099B CN101322099B CN2006800457472A CN200680045747A CN101322099B CN 101322099 B CN101322099 B CN 101322099B CN 2006800457472 A CN2006800457472 A CN 2006800457472A CN 200680045747 A CN200680045747 A CN 200680045747A CN 101322099 B CN101322099 B CN 101322099B
- Authority
- CN
- China
- Prior art keywords
- mark
- unit
- search
- module
- sorter
- 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
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
-
- 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
-
- 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/06—Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
- G06F7/08—Sorting, i.e. grouping record carriers in numerical or other ordered sequence according to the classification of at least some of the information they carry
Abstract
一种用于按照预定的顺序来将单元分类到单元存储结构中的分类装置和方法,所述分类装置包括单元搜索结构和单元位置指针结构,单元搜索结构包括单元存储结构中单元的记录,而单元位置指针结构包括用于单元存储结构中单元的位置指针,其中分类装置接收被分类的单元,单元搜索结构读取被分类的单元,使用单元存储结构中单元的记录来搜索对于被分类的单元的最接近的匹配单元,访问单元位置指针结构并检索用于最接近的匹配单元的位置指针,以及分类装置使用最接近的匹配单元的位置指针来访问单元存储结构并根据预定的顺序将被分类的单元放置到单元存储结构中的适当位置中。
Description
技术领域
本发明涉及分类装置和方法,尤其但不排外地涉及用于分类电信网络中分组的标记的装置和方法。
背景技术
有很多期望将独立单元分类为一种顺序,例如升序或降序的应用。这样的应用是分组交换的电信网络。分组交换的电信网络通过将借助于网络传播的数据分成分组来操作。这些分组通过网络单独传播。在网络节点如路由器上,来自节点的很多不同输入的分组需要传播到该节点的单个输出是经常发生的。这导致分组排队和分组传播竞争,其需要分组的服务的调度(scheduling),例如决定分组被服务的顺序。按照惯例,这通过给每个分组指定标记并确定标记、因而分组应被安排服务的顺序来实现。例如,通常确定以升序给标记提供服务。接着使用调度策略来计算标记的值,使得较低的标记值分配到具有较高调度优先级的分组,而较高的标记值分配到具有较低调度优先级的分组。
以升序给标记提供服务需要重复地搜索具有最低值的标记,或将标记分类为降序并在顺序的开始处重复读取标记。使用了每种技术的不同方法。然而,分类技术的提高是所希望的,特别是当电信网络的使用和期望速度继续增加且分组调度变得更加重要时。
发明内容
根据本发明的第一方面,提供了一种用于根据预定的顺序来将单元分类到单元存储结构中的分类装置,所述分类装置包括单元搜索结构和单元位置指针结构,单元搜索结构包括单元存储结构中单元的记录,而单元位置指针结构包括用于单元存储结构中单元的位置指针,其中分类装置接收被分类的单元,单元搜索结构读取被分类的单元,使用单元存储结构中单元的记录来搜索对于被分类的单元的最接近的匹配单元,访问单元位置指针结构并检索用于最接近的匹配单元的位置指针,以及分类装置使用最接 近的匹配单元的位置指针来访问单元存储结构并根据预定的顺序将被分类的单元放置到单元存储结构中的适当位置中。
单元位置指针结构的使用意味着单元搜索结构不必直接访问单元存储结构。搜索结构和存储结构彼此隔离。这允许对于分类装置采用更灵活的设计。此外,使用分类装置的这种布置允许装置的分类功能与单元存储结构中单元的检索分离地执行。这允许存储结构的性能保持灵活,同时仍然实现单元的检索。
单元搜索结构可包括树搜索结构。树搜索结构可包括多比特树搜索结构。使用多比特树搜索结构允许树结构的压缩,并增加搜索结构的速度。树搜索结构可包括多个搜索级。树搜索结构可包括包含至少一个节点的第一搜索级。树搜索结构可包括一个或更多深一层的搜索级,每个搜索级包括链接到前面搜索级的节点的一个或更多节点。至少一些节点可包括单元存储结构中单元的记录。每个节点可包括一个或更多比特。节点的至少一些比特可包括单元存储结构中单元的记录。
树搜索结构可通过比较被分类的单元的至少一段与一个或更多搜索级的至少一个节点,以找到所述段或每段的最接近的匹配,因而找到对于被分类的单元的最接近的匹配单元,来搜索最接近的匹配单元。例如,树搜索结构可通过比较被分类的单元的第一段与树搜索结构的第一搜索级的节点以找到对于第一段的最接近的匹配和第一搜索级中节点所链接到的树搜索结构的第二搜索级中节点,比较被分类的单元的第二段与第二搜索级的节点以找到对第二段的最接近的匹配和链接到第二搜索级中节点的树搜索结构的第三搜索级中节点,以及比较被分类的单元的第三段与第三搜索级的节点以找到对第三段的最接近的匹配,因而对于被分类的单元的最接近的匹配单元,搜索最接近的匹配单元。
树搜索结构可更新其在单元存储结构中单元的记录。这可在单元被分类之后执行。这可在单元被分类的同时执行。
单元位置指针结构可包括用于每个单元的位置指针的位置,每个单元可被分类装置分类到单元存储结构中。如果单元被分类装置分类到单元存储结构中,则位置可包括用于该单元的位置指针。在单元被分离之后分类 装置可将用于该单元的位置指针放置到单元位置指针结构中。单元位置指针结构可包括查找表。单元位置指针结构可链接到单元搜索结构。单元位置指针结构可链接到单元搜索结构,以便有效地包括单元搜索结构的树搜索结构的最低级。
分类装置可操作单元分类策略以将单元分类为预定的顺序。该顺序可为上升的单元值顺序。该顺序可为下降的单元值顺序。
分类装置可包括用于单元搜索结构和单元位置指针结构的分布式存储器体系结构。特别是,单元搜索结构的树搜索结构的每个搜索级和单元位置指针结构可包括可单独访问的存储器体系结构。存储器体系结构可彼此独立地被写入或读取。这提供了用于分类装置的并行流水线结构。这增加了单元搜索结构搜索的速度以及分类装置分类的速度。分类装置可根据时钟周期操作。存储器体系结构在每个时钟周期中只可访问一次。使用用于单元搜索结构的树搜索结构的搜索级和单元位置指针结构的可独立访问的存储器体系结构,允许分类装置在每个时钟周期中检索最接近的匹配单元的位置指针。使用用于单元搜索结构的树搜索结构的搜索级和单元位置指针结构的可独立访问的存储器体系结构,可允许分类装置在每个时钟周期中分类单元。如果将单元放置在单元存储结构中可在一个时钟周期中执行,将是这种情况。
使用用于单元搜索结构和单元位置指针结构的分布式存储器结构,特别是用于单元搜索结构的树搜索结构的每个搜索级和单元位置指针结构的四个可单独访问的存储器体系结构,增加了分类装置的总处理能力速度,而且也增加了装置的复杂性和成本。应认识到,对单元搜索结构和单元位置指针结构可使用其它数量的存储器体系结构。例如,只有一个存储器体系结构可用于单元搜索结构和单元位置指针结构,或两个或三个存储器体系结构可用于单元搜索结构和单元位置指针结构。在选择要使用的存储器体系结构的数量时,必须在分类装置的速度和分类装置的成本之间进行权衡。
分类装置可为基于硬件的。分类装置可为通过使用片上系统(SoC)技术实现的、基于硬件的。分类装置可包括用于单元搜索结构和单元位置 指针结构的SoC存储器体系结构。单元搜索结构的SoC存储器体系结构可包括RAM存储器的块。当单元搜索结构包括树搜索结构时,树搜索结构的第一搜索级和第二搜索级可包括多个寄存器,而树搜索结构的深一层的搜索级每个可包括RAM存储器的块。
单元存储结构可与分类装置分离地设置。可选地,分类装置可包括单元存储结构。单元存储结构可包括链接列表。存储在链接列表中的单元可链接在一起,以便它们处于预定的顺序中。对于每个单元,单元存储结构可额外地存储与单元关联的一个或更多元素。使用单元存储结构的链接列表允许在单元被分类时当单元需要存储器时使用存储器,而不是为可被分类的所有可能的单元留出存储器。这特别重要,因为它极大地简化了存储器管理和对存储器分配的控制,并且如果单元存储结构在被其它设备共享的存储器中实现,这也可能是有利的。
单个分类装置可用来分类单元。可选地,多个分类装置可结合使用来分类单元。每个分类装置可根据时钟周期操作。结合使用多个分类装置可允许单元在每个时钟周期中被分类。例如,四个分类装置可结合使用来分类单元。单元可分类为四个分离的单元存储结构,对每个分类装置有一个单元存储结构。当在四个时钟周期中执行单元在单元存储结构中的放置时,结合使用四个分类装置将允许单元在每个时钟周期中被分类。
分类装置可分类电信网络的分组的标记。分类装置可操作标记分类策略来分类分组的标记。标记可通过标记计算电路来计算。标记计算电路可操作分组调度策略来计算标记。分组调度策略可包括例如公平排队策略族中的任何一个,例如加权公平队列策略。
分类装置可包括分组调度器的部分。分类装置或调度器可包括电信网络的路由器的部分。
根据本发明的第二方面,提供了一种按照预定的顺序、使用分类装置来将单元分类到单元存储结构中的方法,所述分类装置包括单元搜索结构和单元位置指针结构,单元搜索结构包括单元存储结构中单元的记录,以及单元位置指针结构包括用于单元存储结构中单元的位置指针,所述方法包括分类装置接收被分类的单元,单元搜索结构读取被分类的单元、使用 单元存储结构中单元的记录来搜索对于被分类的单元的最接近的匹配单元、访问单元位置指针结构以及检索对于最接近的匹配单元的位置指针,以及分类装置使用最接近的匹配单元的位置指针来访问单元存储结构并根据预定的顺序将被分类的单元放置到单元存储结构中的适当位置中。
根据本发明的第三方面,提供了一种用于电信网络的调度器,该调度器包括根据本发明的第一方面的分类装置。
附图说明
现在仅通过例子,参考附图来描述本发明的实施方式,其中:
图1是根据本发明的第一方面的分类装置的示意图,以及
图2是根据本发明的第二方面的合并图1的分类装置的调度器的示意图。
具体实施方式
图1示出的分类装置1包括单元搜索结构2、单元位置指针结构3以及还有单元存储结构4。然而应认识到,该单元存储结构可设置在分类装置的外部。
单元搜索结构包括多比特树搜索结构,其包括如所示的三个搜索级5,每级包括一个或更多节点6。应认识到,树搜索结构可包括或多或少的搜索级以及每级中或多或少的节点。该树搜索结构使用具有两比特长度的单元段来分类具有6比特长度的单元。应另外认识到,本发明不限于该树搜索结构,而是包括用于分类不同长度的单元的树搜索结构。树搜索结构2的三个搜索级5中的每个节点6包括四个比特,对每个单元段选项00、01、10或11有一个比特。各级的节点的比特用于包括被装置分类到单元存储结构中的单元的记录。如果相应于比特的单元段选项的单元段以前没有被装置分类,则该比特包括0。如果相应于比特的单元段选项的单元段以前被装置分类,则该比特包括1。在第一和第二搜索级中包括1的节点的比特将链接到树搜索结构中在它下面的级中的节点,即,子节点。
树搜索结构在存储器中实现。该结构的前两个搜索级由寄存器组成,而第三搜索级由RAM的块组成。前两个搜索级可使用寄存器实现,因为这些搜索级需要的存储器的数量相对小并可使用寄存器实现。
单元位置指针结构3包括查找表。在表中为可被分类装置分类到单元 存储结构中的每个单元设置位置。如果单元被分类装置分类到单元存储结构中,则单元位置指针结构的位置将包括用于该单元的位置指针。对于每个单元,位置指针指示该单元在单元存储结构中的位置。单元位置指针结构在存储器中实现并包括RAM的块。单元搜索结构和单元位置指针结构被链接,以便单元位置指针结构有效地形成单元搜索结构的树搜索结构的第四搜索级。
单元存储结构4包括链接列表。链接列表在存储器中实现。链接列表中的单元可随机分配在整个存储器中。存储在链接列表中的单元链接在一起,以便它们可在预定的顺序中。链接列表的每个项目包括单元和指向列表中随后的单元的位置指针。在分类装置的该实施方式中,链接列表包括在具有单元搜索结构2和单元位置指针结构3的片上。然而,链接列表可不在片上实现,例如,在双端口RAM的外部。
分类装置如下操作。选择单元分类策略,其确定单元被分类到单元存储结构中的预定顺序。在本实施方式中,预定顺序是单元的升序。然而应认识到,可选择用于单元的其它顺序,例如降序。
待分类的单元由分类装置1接收,并由单元搜索结构2读取。对于由单元搜索结构读取的每个单元,根据单元的值,在树搜索结构的三个搜索级5的每个处执行解码过程。该过程使用包括在单元搜索结构中的这些单元的记录来搜索单元存储结构中单元的最接近的匹配单元。例如,为了找到用于具有值110110的单元的最接近的匹配单元,包括前两个比特11的单元段与树搜索结构的第一搜索级中的节点比较。该节点中的第四比特与单元段选项11相关联。如果1出现在第四比特中,这表示以11开始的单元已经被装置分类,且该节点的第四比特链接到它下面的搜索级,即,树搜索结构的第二搜索级中的节点。包括单元的下两个比特01的单元段接着与第二搜索级中的节点比较。如果该节点的第二比特包括1,这表示以1101开始的单元以前被装置分类,且该节点的第二比特链接到它下面的搜索级,即,树搜索结构的第三搜索级中的节点。(如果第二比特包括0,则第二搜索级中节点中的四个比特被扫描以找到对单元段01的最接近的可能匹配和第三搜索级中相应节点。)包括单元的最后两个比特10的单元段 接着与第三搜索级中的节点比较。该节点的第三比特通常包括0,因为装置已经分类与当前被分类的单元完全相同的单元是不可能的。第三搜索级中节点中的四个比特被扫描以找到对单元段10的最接近的可能匹配。这可为例如01。然后与被分类的单元最接近的匹配单元为110101。
树搜索结构的第三搜索级的每个节点链接到单元位置指针结构中的四个项目,即,用于每个单元段选项00、01、10或11的项目。单元位置指针结构包括指向单元存储结构中单元的位置的指针。在本例中,单元110110以前没有被储存,且该单元在单元位置指针结构中的位置是空的。最接近的匹配单元被确定为110101。分类装置访问该单元在单元位置指针结构中的位置,并读取该单元在单元存储结构中的位置。
此时根据预定的顺序,即,本例中的升序,被分类的单元可容易插入链接列表单元存储结构中的正确位置中。分类装置为被分类的单元请求链接列表中的存储位置,并将该单元存储在该位置。分类装置使用最接近的匹配单元110101的位置指针来访问该单元在链接列表中的位置,并从该位置读取随后的单元在链接列表中的位置指针。分类装置改变单元110101的位置中的位置指针,以指向在被分类的单元的链接列表中的位置。分类装置还将它从最接近的匹配单元位置读取的、在链接列表中随后单元的位置指针插入用于被分类的单元的链接列表的位置中。因此,依照单元的升序,被分类的单元放置到链接列表单元存储结构中的位置中。
包括在单元搜索结构中的单元存储结构中的单元的记录被更新。这可在单元被分类之后或当对该单元搜索最接近的匹配单元时完成。对于单元的每段,1放置在树搜索结构的第一、第二和第三搜索级中适当节点的适当比特中。对于上面给出的例子,1放置在第一搜索级的节点中的第四比特中,1放置在第二搜索级中访问的节点的第二比特中,以及1放置在第三搜索级中访问的节点的第三比特中。对于被分类的每个单元,分类装置还在单元位置指针结构中放置位置指针,指向该单元的单元存储结构中的位置。
单元搜索结构的多比特树搜索结构和单元位置指针结构使用分布式存储器结构来实现。树搜索结构的三个搜索级和单元位置指针结构保存在 单独可访问的存储器结构中。树搜索结构的各级和单元位置指针结构可彼此独立地被写入或读取。这提供了分类装置的并行流水线结构,提高了装置的操作的速度。
上面的描述适用于被分类装置分类的第二和随后的单元。当待分类的单元是被装置分类的第一单元时,必须使用不同的第一单元分类过程。当待分类的第一单元被分类装置接收且单元搜索结构被访问时,树搜索结构的第一搜索级的节点的比特每个都将包括0。这就触发分类装置应用第一单元分类过程。第一单元在链接列表单元存储结构中具有分配给它的位置。然后单元搜索结构读取第一单元的第一段,将1写到树搜索结构的第一搜索级的节点的适当比特中,并移到链接到第一搜索级的节点中的该比特的第二搜索级中的节点。单元搜索结构接着读取第一单元的下一段,将1写到第二搜索级的节点的适当比特中,并移到链接到第二搜索级的节点中的该比特的第三搜索级中的节点。单元搜索结构接着读取第一单元的最后一段,将1写到第三搜索级的节点的适当比特中,移到单元位置指针结构中分配给第一单元的位置,并将分配给第一节点的单元存储结构位置写到单元位置指针结构中的位置中。分类装置接着使用第一单元的位置指针来将第一单元放置到其在单元存储结构中预先分配的位置中。
例如如果分类装置包括电信网络的部分,则分类装置可根据时钟周期操作。当是这种情况时,通常任何特定的存储器仅可每个时钟周期被访问一次。树搜索结构的三个搜索级和单元位置指针结构都被保存在可独立地访问的存储器位置中,因而所有三个搜索级和指针位置结构可在相同的时钟周期中被访问。因此在前三个时钟周期之后,分类装置可在每个时钟周期中为被分类的单元检索(retrieve)最接近的匹配单元的位置指针。如果分类装置仅采用一个时钟周期来将单元放置到单元存储结构中,则分类装置可因此在每个时钟周期中分类单元。然而,包括链接列表单元存储结构的存储器必须被访问四次以将单元放置在链接列表中。因此,它将采用四个时钟周期来将单元放置在链接列表中。单元因此每四个时钟周期被输入到分类装置中,否则将出现单元的排队,对这些单元的最接近的匹配单元位置指针被检索,且这些单元被放置在链接列表中。因此,分类装置每四 个时钟周期仅分类一个单元。三个搜索级中的每一个和位置指针结构仅仅每四个时钟周期被访问一次。当多于一个的搜索级和位置指针结构由于其可独立访问的存储器位置可在相同的时钟周期中被访问时,在中间的“多余的”时钟周期可用于更新树搜索结构的比特和位置指针结构中的位置指针。
分类装置的体系结构以VHDL实现,并使用Synplicity和Xilinx基本工具综合为用于Xilinx Virtex FPGA。在84MHZ的时钟速度下,每个分类操作使用4个时钟周期,该实现可在40Gbps速度下支持250B的平均单元大小。使用用于该电路的实现的SoC技术可允许获得超过100Gbps的速度。
单个分类装置可用于分类单元。可选地,多个分类装置可结合使用来分类单元。例如,四个分类装置可结合使用来分类单元。单元被分类为四个分离的单元存储结构,对每个分类装置有一个单元存储结构。(在这种情况下,当需要单元的检索时,读取每个存储结构的第一单元,并检索具有最低值的单元。)每个分类装置可根据时钟周期来操作。如上面的,当单元存储结构是链接列表时,它将采用四个时钟周期来将单元放置在存储结构中。因此每个分类装置可每四个时钟周期仅分类一个单元。结合使用四个分类装置允许在每个时钟周期中都分类单元。
图2示出用于基于分组的电信网络的调度器的示意图。调度器包括电信网络的路由器的部分。路由器起作用来按规定路线发送通过网络传播的数据分组。路由器通过路由器的一些输入接收分组,很多这些分组需要被传播到路由器的输出。这使分组的传播的调度成为必要。
这样的调度由调度器执行。调度过程由两个阶段组成:分组调度策略功能和分组服务功能。调度器10包括负责分组调度策略功能的分组调度策略电路12和负责分组服务功能的分组服务电路14。
分组调度策略电路12操作分组调度策略,其用于确定调度,特别是分组通过调度器传播的顺序。调度策略电路根据调度策略来计算用于每个分组的标记,并且标记的值用于确定分组相对于彼此的调度。通常确定以升序调度用于服务的标记。接着使用调度策略来计算标记的值,以便较低的标记值被分配给具有较高调度优先级的分组,而较高的标记值被分配给 具有较低调度优先级的分组。
分组调度策略电路包括用于计算标记的分组计算电路16。一旦标记被计算,则标记就被传递到分组服务电路14。
由分组服务电路14接收的标记基本上处于随机的顺序中。这是因为,虽然在网络中单个业务流中的分组接收比前面分配给该流的标记渐高的标记,但是来自分离的业务流的分组不以升序接收标记,而是根据流的特性和标记计算电路操作的调度策略来接收标记。调度器从多个流接收分组,因而所计算的标记值没有特定的顺序。如果标记被以它们从标记计算电路被接收的顺序,即,随机顺序存储,那么这就暗示标记的随后检索用于其相关的分组的服务。通常,标记被以升序检索,首先从最低的标记开始,为了有助于此,当标记一旦到达分组服务电路时就将标记分类为升序,以便它们被按顺序存储。
分组服务电路14包括标记分类装置18。标记分类装置具有与上面描述的图1的单元分类装置相同的结构。标记分类装置18包括标记搜索结构、标记位置指针结构和标记存储结构。如前所述,当待分类的标记由标记搜索结构接收时,执行最接近的匹配值搜索。这将来自标记位置指针结构的位置指针返回到标记存储结构中的标记,其中该标记是对于被分类的标记的最接近的匹配。接着根据标记的升序,将该被分类的标记插入在标记存储结构中的正确位置中。标记分类装置因此提供了对于将标记分类为升序的问题的解决方案。当标记树搜索结构的搜索级和标记位置指针结构被独立于彼此实现时,这就提供了一种高速标记分类方法以及一种能够在多吉比特(multi gigabit)线速的网络中调度分组的调度器。
当到达的标记的分类发生时,调度器还检索被分类的标记,并将与其关联的分组发送到调度器的输出,以向前传播离开路由器进入到网络中。分类的标记被以升序检索,首先从最低的标记开始。这是重复读取在链接列表标记存储结构的第一个项目中的标记的简单过程,这是因为标记已经在链接列表存储结构中被分类为升序。标记存储结构的每个项目包括标记以及还有位置指针,该位置指针给出与标记关联的分组被储存的位置,允许被检索的分组离开调度器和路由器向前传播。
Claims (15)
1.一种用于根据预定的顺序来将电信网络的分组的标记分类到标记存储模块中的分类装置,所述分类装置包括标记搜索模块和标记位置指针模块,所述标记搜索模块包括所述标记存储模块中标记的记录,以及所述标记位置指针模块包括用于所述标记存储模块中标记的位置指针,其中所述分类装置适于接收被分类的标记,所述标记搜索模块适于读取所述被分类的标记,使用所述标记存储模块中标记的记录来搜索对于所述被分类的标记的最接近的匹配标记,适于访问所述标记位置指针模块以及检索用于所述最接近的匹配标记的位置指针,以及所述分类装置适于使用所述最接近的匹配标记的所述位置指针来访问所述标记存储模块并根据所述预定的顺序将所述被分类的标记放置到所述标记存储模块中的适当位置中,其中所述标记搜索模块和所述标记位置指针模块包括分布式存储器,以及其中所述标记存储模块包括用于存储标记和位置指针的链接列表的单独的存储器。
2.如权利要求1所述的分类装置,其中所述标记搜索模块包括多比特树搜索结构。
3.如权利要求2所述的分类装置,其中所述多比特树搜索结构包括第一搜索级和一个或更多深一层的搜索级,所述第一搜索级包括至少一个节点,所述一个或更多深一层的搜索级中每个搜索级包括链接到前面搜索级的节点的一个或更多节点。
4.如权利要求3所述的分类装置,其中所述节点中至少一些包括所述标记存储模块中标记的所述记录。
5.如权利要求3或4所述的分类装置,其中所述树搜索结构适于通过将所述被分类的标记的至少一段与一个或更多搜索级的至少一个节点进行比较,以找到对于所述段或每个段的最接近的匹配,因而找到对于所述被分类的标记的最接近的匹配标记,来搜索最接近的匹配标记。
6.如权利要求5所述的分类装置,其中所述树搜索结构适于通过将所述被分类的标记的第一段与所述树搜索结构的第一搜索级的节点进行比较,以找到对于所述第一段的最接近的匹配和所述第一搜索级中所述节点所链接到的所述树搜索结构的第二搜索级中的节点,将所述被分类的标记的第二段与所述第二搜索级的所述节点进行比较,以找到对于所述第二段的最接近的匹配和所述第二搜索级中所述节点所链接到的所述树搜索结构的第三搜索级中的节点,以及将所述被分类的标记的第三段与所述第三搜索级的所述节点进行比较,以找到对于所述第三段的最接近的匹配,因而对于所述被分类的标记的最接近的匹配标记,来搜索所述最接近的匹配标记。
7.如权利要求2到6中任一项所述的分类装置,其中所述树搜索结构适于更新其在所述标记存储模块中的标记的记录。
8.如前面权利要求中任一项所述的分类装置,其中所述标记位置指针模块包括用于每个标记的位置指针的位置,所述每个标记可由所述分类装置分类到所述标记存储模块中,以及如果标记被所述分类装置分类到所述标记存储模块中,则位置包括用于所述标记的位置指针。
9.如前面权利要求中任一项所述的分类装置,其中所述标记位置指针模块包括查找表。
10.如权利要求2到9中任一项所述的分类装置,其中所述标记位置指针模块被链接到所述标记搜索模块,以便有效地包括所述标记搜索模块的所述多比特树搜索结构的最低级。
11.如前面权利要求中任一项所述的分类装置,其中所述分类装置包括用于所述标记搜索模块和所述标记位置指针模块的分布式存储器体系结构。
12.如权利要求11所述的分类装置,依赖于权利要求3到10中任一项,其中所述标记搜索模块的所述树搜索结构的每个搜索级和所述标记位置指针模块包括可独立地访问的存储器体系结构。
13.如前面权利要求中任一项所述的分类装置,其中存储在所述链接列表中的所述标记被链接在一起,以便它们处于预定的顺序中。
14.一种分组调度器,其包括如权利要求1到13中任一项所述的分类装置。
15.一种根据预定的顺序、使用分类装置来将标记分类到标记存储模块中的方法,所述分类装置包括标记搜索模块和标记位置指针模块,所述标记搜索模块包括所述标记存储模块中标记的记录,以及所述标记位置指针模块包括用于所述标记存储模块中标记的位置指针,其中所述标记搜索模块和所述标记位置指针模块包括分布式存储器,以及其中所述标记存储模块包括用于存储标记和位置指针的链接列表的单独的存储器,所述方法包括:所述分类装置接收被分类的标记,所述标记搜索模块读取所述被分类的标记、使用所述标记存储模块中标记的记录来搜索对于所述被分类的标记的最接近的匹配标记、访问所述标记位置指针模块以及检索用于所述最接近的匹配标记的位置指针,以及所述分类装置使用所述最接近的匹配标记的所述位置指针来访问所述标记存储模块并根据所述预定的顺序将所述被分类的标记放置到所述标记存储模块中的适当位置中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0524845.5A GB0524845D0 (en) | 2005-12-06 | 2005-12-06 | Sorting apparatus and method |
GB0524845.5 | 2005-12-06 | ||
PCT/GB2006/004526 WO2007066085A1 (en) | 2005-12-06 | 2006-12-05 | Sorting apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101322099A CN101322099A (zh) | 2008-12-10 |
CN101322099B true CN101322099B (zh) | 2011-11-23 |
Family
ID=35686149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800457472A Expired - Fee Related CN101322099B (zh) | 2005-12-06 | 2006-12-05 | 分类装置和方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8032543B2 (zh) |
EP (1) | EP1958053A1 (zh) |
JP (1) | JP2009518916A (zh) |
KR (1) | KR20080071591A (zh) |
CN (1) | CN101322099B (zh) |
CA (1) | CA2632538A1 (zh) |
GB (1) | GB0524845D0 (zh) |
WO (1) | WO2007066085A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8997154B2 (en) * | 2008-09-19 | 2015-03-31 | At&T Intellectual Property I, Lp | Apparatus and method for obtaining media content |
US10896022B2 (en) | 2017-11-30 | 2021-01-19 | International Business Machines Corporation | Sorting using pipelined compare units |
US10936283B2 (en) * | 2017-11-30 | 2021-03-02 | International Business Machines Corporation | Buffer size optimization in a hierarchical structure |
US11354094B2 (en) | 2017-11-30 | 2022-06-07 | International Business Machines Corporation | Hierarchical sort/merge structure using a request pipe |
US11048475B2 (en) | 2017-11-30 | 2021-06-29 | International Business Machines Corporation | Multi-cycle key compares for keys and records of variable length |
US20220050664A1 (en) * | 2019-02-19 | 2022-02-17 | Kyle Mitchell MARCROFT | Systems, methods, and devices for the sorting of digital lists |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4630234A (en) * | 1983-04-11 | 1986-12-16 | Gti Corporation | Linked list search processor |
US6032207A (en) * | 1996-12-23 | 2000-02-29 | Bull Hn Information Systems Inc. | Search mechanism for a queue system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5878410A (en) * | 1996-09-13 | 1999-03-02 | Microsoft Corporation | File system sort order indexes |
FR2763410B1 (fr) * | 1997-05-13 | 1999-07-23 | Fihem | Dispositif de tri d'elements de donnees a arbre binaire et espaceur atm comportant un tel dispositif |
US6938097B1 (en) * | 1999-07-02 | 2005-08-30 | Sonicwall, Inc. | System for early packet steering and FIFO-based management with priority buffer support |
US6711153B1 (en) * | 1999-12-13 | 2004-03-23 | Ascend Communications, Inc. | Route lookup engine |
US6772179B2 (en) | 2001-12-28 | 2004-08-03 | Lucent Technologies Inc. | System and method for improving index performance through prefetching |
US7467138B2 (en) * | 2003-10-28 | 2008-12-16 | International Business Machines Corporation | Algorithm for sorting bit sequences in linear complexity |
-
2005
- 2005-12-06 GB GBGB0524845.5A patent/GB0524845D0/en active Pending
-
2006
- 2006-12-05 EP EP06820411A patent/EP1958053A1/en not_active Ceased
- 2006-12-05 US US12/095,993 patent/US8032543B2/en active Active
- 2006-12-05 JP JP2008543888A patent/JP2009518916A/ja not_active Withdrawn
- 2006-12-05 KR KR1020087013640A patent/KR20080071591A/ko not_active Application Discontinuation
- 2006-12-05 CA CA002632538A patent/CA2632538A1/en not_active Abandoned
- 2006-12-05 WO PCT/GB2006/004526 patent/WO2007066085A1/en active Application Filing
- 2006-12-05 CN CN2006800457472A patent/CN101322099B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4630234A (en) * | 1983-04-11 | 1986-12-16 | Gti Corporation | Linked list search processor |
US6032207A (en) * | 1996-12-23 | 2000-02-29 | Bull Hn Information Systems Inc. | Search mechanism for a queue system |
Also Published As
Publication number | Publication date |
---|---|
KR20080071591A (ko) | 2008-08-04 |
US8032543B2 (en) | 2011-10-04 |
GB0524845D0 (en) | 2006-01-11 |
US20090182714A1 (en) | 2009-07-16 |
CN101322099A (zh) | 2008-12-10 |
EP1958053A1 (en) | 2008-08-20 |
WO2007066085A1 (en) | 2007-06-14 |
JP2009518916A (ja) | 2009-05-07 |
CA2632538A1 (en) | 2007-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101322099B (zh) | 分类装置和方法 | |
US7150021B1 (en) | Method and system to allocate resources within an interconnect device according to a resource allocation table | |
CN101291546B (zh) | 核心路由器交换结构协处理器 | |
CN1736068B (zh) | 流量管理结构体系 | |
US7787467B2 (en) | Arbiter circuit and method of carrying out arbitration | |
US8116316B1 (en) | Method and apparatus for scheduling in a packet buffering network | |
US9602436B2 (en) | Switching device | |
CN102713864B (zh) | 用于基于分组转换的逻辑复制的方法和系统 | |
CN106209679A (zh) | 用于使用多个链接的存储器列表的方法及装置 | |
CN102549552A (zh) | 用于处理流感知网络节点中的数据分组的方法 | |
JPH1051471A (ja) | 仮想メッセージ転送経路上への転送スケジューリングの効率を高めるために、転送サービスレートが近い仮想メッセージ転送経路同士をまとめるメカニズムを有するデジタルネットワーク | |
CN101853211B (zh) | 涉及可变大小信元的共享存储器缓冲区的方法和设备 | |
CN105162724A (zh) | 一种数据入队与出队方法及队列管理单元 | |
US20090175286A1 (en) | Switching method | |
CN102037689B (zh) | 用于通信系统设备、系统及方法的自适应调度器 | |
US7568074B1 (en) | Time based data storage for shared network memory switch | |
US6836475B2 (en) | Method and apparatus for traffic shaping for IP router queues/egress | |
JP2003069630A (ja) | データ転送方法、データ転送装置及びプログラム | |
CN1719805A (zh) | 3D Torus交换网络中报文保序的多路径路由方法 | |
CN100495974C (zh) | 数据传输过程中的流量整形方法 | |
JP4384298B2 (ja) | デジタルパケット待ち行列を管理する方法 | |
CN1901510B (zh) | 操作交叉开关的调度器的方法及调度器 | |
NL8401569A (nl) | Serie-parallel-serie-digitaal werkend systeem. | |
Kounavis et al. | Sorting Packets by Packet Schedulers Using a Connected Trie Data Structure | |
RU2294013C2 (ru) | Система поддержки принятия решений по повышению рентабельности авиаперевозок |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111123 Termination date: 20131205 |