CN1736069B - 计算机或通信系统中的数据包处理 - Google Patents

计算机或通信系统中的数据包处理 Download PDF

Info

Publication number
CN1736069B
CN1736069B CN2003801085308A CN200380108530A CN1736069B CN 1736069 B CN1736069 B CN 1736069B CN 2003801085308 A CN2003801085308 A CN 2003801085308A CN 200380108530 A CN200380108530 A CN 200380108530A CN 1736069 B CN1736069 B CN 1736069B
Authority
CN
China
Prior art keywords
bag
storehouse
record
exit number
exit
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
Application number
CN2003801085308A
Other languages
English (en)
Other versions
CN1736069A (zh
Inventor
A·斯潘塞
K·卡梅伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rambus Inc
Original Assignee
Rambus Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Rambus Inc filed Critical Rambus Inc
Publication of CN1736069A publication Critical patent/CN1736069A/zh
Application granted granted Critical
Publication of CN1736069B publication Critical patent/CN1736069B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/60Queue scheduling implementing hierarchical scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/624Altering the ordering of packets in an individual queue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload

Abstract

一种在通信或计算机系统中对包括数据包序列的包流进行的分类,其通过如下执行:向每一所述包分配退出编号;将所述包排队到缓冲器装置中;并且根据通过在所述包排队之前分配给每一包的所述退出编号所确定的顺序列表,以预定的顺序输出所排队的包。该退出编号信息优选地分配给包记录,其排队在与所述包所排队在其中的缓冲器装置相分开的缓冲器装置中。该包记录优选地是固定长度,并且比所述包短。用于所述包记录的缓冲器装置包括仓组,每一仓包含一个范围的退出编号,用于高退出编号包记录的仓具有的范围大于用于低退出编号包记录的仓。仓中的低退出编号包记录被细分成多个仓,每一个都包含对应于更小范围的退出编号的包记录。可以创建副仓,以临时存储分配给当前为空的仓的记录。该仓可以通过并行处理器,优选地通过SIMD阵列处理器填充。

Description

计算机或通信系统中的数据包处理
技术领域
本发明涉及数据包处理的一个方面,诸如计算机系统中的数据包管理或通信网络中的流量管理,也就是顺序列表管理。本发明包括包含本发明的网络处理器,实施本发明的方法以及包含本发明的组件。
背景技术
存在许多对通过计算机或通信网络传输的信息进行控制和管理的方面,其超出在相对简单的流量路由概念。它们所包含的主题与网络运营商和客户之间的关系更相关,诸如成本、质量或业务级别、优先级等。
广泛地希望将互联网彻底重新改造为用于新业务的基于包的汇聚平台,将所有形式的数字材料发送到所有类型的应用领域中。这种“智能互联网”将要在不同的流量流的需要之间进行区分,并且适当地分配资源来满足这些需要。除了通过网络进行适当的管理支持之外,快速通过网络路由器的数据需要三个基本的流量管理机制。它们是流量分类、调节和处理。
路由器已经确定了将包发送到何处。当包被转发时,分类必须另外标识应该如何处理它们,就是所谓的业务分类(CoS)。调节器然后检查每一流量流符合其业务等级协议(SLA)的规定。该SLA是一种协议,其指定客户在不同的业务等级中所允许发送流量的速率限制。最终,处理机确符合运营商所提供的保业务保证。典型地,其可以通过实施每个有效QoS一个队列来实现。每一队列接收所规定配额的链路带宽和包缓冲器空间。
由于流量管理是一种移动的目标,随着新标准和改进的算法不断地出现,可编程的方案被认为是有高优先级的。工程师所面临的一个问题就是如何设计可编程的结构体系,其在40Gbit/s的线速率时每个包带有有用的处理周期预算。
这可以通过参照图1来说明,其所示为网络的流量处理部分的部件的非常简化的示意图。所述的机构按照顺序包括流量分类器A、流量调节器B、流量处理系统C和交换结构S。框C的位置可以不像图1中所示的那样,而可以位于该交换结构S之前或之后。所期望的数据包的大小是变化的,范围在40字节、1.5k字节、9k字节以及上至16k字节之间。
流量分类器框A没有用于分配带宽、计费等的装置。其主要功能是包应该接收的业务分类的标识。这典型地包括查找操作,从而根据查找表中的规则,可以匹配来自该包报头的大量字段,其可以使用微流或流汇聚来唯一标识该包。
流量调节器框B扮演监督角色,其中其可以判定用户使用了太多的带宽(假设如此),并且可以使用对应的标记来对该用户的包进行标记。这称为“着色”,并且所分配的标记例如可以是“红”、“黄”或“绿”。这里也可以进行记帐统计,并且其可以考虑应用于该包或者该组包的色彩。
流量调节器执行在网络业务运营商与其客户之间的流量调节协议(TCA)中所规定的策略。TCA通常形成部分更广的SLA,其规定对进入(或离开)该业务运营商网络的流量配置文件进行的商定限制。一般说来,调节器因此位于独立管理域的边界节点中。策略执行需要对流量流进行测量的机制,以确保它们符合该TCA的规定。“配置文件之外的”流,即步出TCA的边界之外的那些流可能丢弃大量的流量,这是一种称为监管的措施。可替换地,如上所指示的对包进行标记可以看作是更容易被接收的。对于在下游流量出现拥塞的情况下,所标记的包可以顺序被区分。
该流量处理系统框C判断何时以及如何将包放入输出缓冲器和将它们推出,以通过所示部分的输出端口O/P向前转发。当线速率是40Gbits/s时,包传输速率的数量级为每秒100,000,000个包,并且包排队到缓冲器中的速率范围在每秒几百兆到几千兆字节之间。将流量排队并然后应用调度和成型机制的是流量处理机,以根据所需要的业务分类将其转发。调度规则可以确保:流量流彼此相互不受干扰,链路在流之间公平地共用,满足对所保证的业务流量的性能限制,并且控制网络中的拥塞。
在每一阶段,可以收集统计数据用于管理。流量管理的范围也包括某些其它重要的管理元件,诸如策略管理、系统配置、统计处理、报告、会计和记帐。
理想地以线速率,例如以40Gbits/s的速率通过块A、B和C执行该功能。在C位于S前面的情况下,不可能以线速率将包从C中取出进入交换结构S。因此需要大量的存储器来将包排队,从而尽可能地与理想情况接近。作为该过程的辅助,C保持该包的记录,而不是该包本身。这些记录优选地大小固定,并且包含关于该包的信息,当然它们自己也是可变大小的。
在系统试图以大于线速率的速率将包放入线中的情况下(就是在“超速率”的条件下),方框C必须确定保留哪些包和阻止或丢弃哪些包。方框B监视使用,并试图根据平均的基础,向单个用户提供它们协商的带宽。其可以容忍超过协商带宽的暂时增加,只要该平均不超过预定的时间段。相反,方框C监视实际的使用。
在流量处理中,包可以放在多个队列中的一个中。如果存在超过一个的多个队列,调度功能必须确定从队列为包提供服务的顺序。该功能的控制就是在该规范中由“顺序列表管理”所表示的。原则上按照调度器放在队列上的相对优先级确定调度的顺序,而不是根据包到达该队列的顺序。于是该调度功能是相称的公平序列。
例如,考虑两个流行的调度方法:
公平队列调度——队列中的每一包给定一个结束编号,其指示将该包标为待输出的相对时间点。从队列为包提供服务的功能必须标识其下个包具有最小结束编号的队列。理想地,只有在已经服务了该包,并且同一队列中的下一个包已经出现了之后,出队功能才可以作出其下一个判决。
循环调度——按照预定的顺序轮流检查队列。在每次到达时,可以服务所规定名额的数据。
基本问题是如何以高速执行这种调度算法。串行化的处理只能随着时钟/周期频率而缩放,或者通过增加处理管线的深度来进行调度判决。该方法只能提供每包一对系统时钟周期。
首先,由于需要大量可能非常深的队列,该调度和队列管理任务进一步变得复杂。通过串行方式执行调度功能的硬件很有可能是高度定制的,并因此如果其满足所需要的性能,就会不灵活。
US6396843公开了一种包排序系统,其中将时戳数据排队到多个队列中,其中的某些被细分。两个阶段的子队列检查首先确定每一子队列哪一数据具有最小的时戳,并然后选择那些已经预先选择的具有最小时戳的用于传输。
发明内容
本发明从其最广义的角度讲,在其所有的方面中都提供一种用于在软件中以高速率维护顺序逻辑数据结构的系统。本发明的各个方面陈述如下:
在第一方面中,本发明提供一种用于在通信或计算机系统中处理包括数据包序列的包流的方法,该方法包括:向多个包记录分配退出编号,每一包记录都包含关于它的相应包的信息;将所述包记录排队到缓冲器装置中,所述缓冲器装置与所述包排队在其中的缓冲器装置相分开,用于该包记录的所述缓冲器装置包括多组存储仓;将所述退出编号分配给所述存储仓,每一仓包含各自顺序范围的退出编号,对于较高顺序的退出编号包记录的仓具有比对于较低顺序的退出编号包记录的仓更大的范围;并且根据通过在所述包排队之前分配给所述包的所述退出编号所确定的顺序列表,以预定的顺序输出所排队的包;该方法的特征在于,在所述输出步骤之前,将仓中的低退出编号的包记录细分成多个仓,每一仓包含对应于更小范围的退出编号的包记录。
在第二方面中,本发明提供一种用于在通信或计算机系统中处理包括数据包序列的包流的数据管理器,该数据管理器包括:分配装置,用于向多个包记录分配退出编号,每一包记录都包含关于它的相应包的信息;用于将所述包记录进行排队的缓冲器装置,其与用于将所述包进行排队的缓冲器装置相分开,用于该包记录的所述缓冲器装置包括多组存储仓;配置装置,用于将所述退出编号分配给所述存储仓,每一仓包含各自顺序范围的退出编号,对于较高顺序的退出编号包记录的仓具有比对于较低顺序的退出编号包记录的仓更大的范围;以及输出装置,用于根据通过在所述包排队之前分配给所述包的所述退出编号所确定的顺序列表,以预定的顺序输出所排队的包;该数据管理器的特征在于所述输出装置上游的分类装置,用于将仓中的低退出编号的包记录细分成多个仓,每一仓包含对应于更小范围的退出编号的包记录。
该包记录优选地是固定长度,并且比所述包短。
在将与当前为空的仓对应的退出编号分配给包记录时,该包记录可以保持在专门创建的同一退出编号的副仓中,用于在当前被置空的所述仓之后置空。
该仓可以是FIFO缓冲器、LIFO栈或其混合。
该队列管理优选地通过如下进行:并行处理所有仓,并通过并行处理器,优选地是SIMD处理器将输入数据插入到仓中,并且优选地通过并行处理器执行仓分类,诸如阵列处理器,优选地是SIMD处理器。
附图说明
现在将参照下面的附图描述本发明,其中:
图1是理想的流量处理机制的示意表示;
图2所述为本发明的原理;
图3是使用本发明的系统的功能简图;
图4所示为使用MTAP处理器和状态引擎的本发明的实施方式;
图5是处理顺序列表的方式的示意表示;以及
图6所示为如何管理细分的顺序列表。
具体实施方式
介绍
根据本发明,第三种调度方法是维护单个完全排序的队列,而不是多个FIFO队列。换言之,不是对一组并行输排队列中的包进行缓冲,并然后将某个序列中的包调度到输出队列中,而是在包到达的时候就被分类,直接进入输出队列。
相比于公平队列和循环调度方法,其在排队之前必须以网速对每一包进行计算,但是本发明必须将包插入到可能会非常巨大的顺序数据结构中。简化了包删除。
然而,该方法使得在该方案的实施方式中可以开发并行性。当在串行方案中通过强力不能再提高性能时,前进的方式就是找到可以通过其并行性提高的方法。
在优选地实施方式中,本发明能够利用并行处理结构体系,其可以提供每个包足够数量的处理周期,以使得在包从交换结构到达时,能够以网速对包进行结束编号(即确定该包的退出时间的编号)的计算。本发明也提供一种以高速维护大量顺序列表的方案。
阵列中的每一SIMD处理器可以用来将并行处理能力的量倍增,并且可以通过后面将要描述的方式在每一处理器元件(PE)中提供存储。
交换结构将来自多个源端口的包路由到每一目的地端口,导致瞬时突发的包的速率超出了线卡的出口线速率。在这种突发中,必须临时存储超出的包。在高线速率时,包存储以及存储容量的速率都必须非常高。在400Gbits/s的线速率时,典型地需要将120Gbits/s的数据带宽汇聚到500M字节的存储器中。更重要的是,对该存储器的随机访问需要大量可独立寻址的通道,并且相应地对器件封装需要大量的引线。可以使用低引线总数、与专用存储集线器链接的高速串行链路实现可变存储器子系统。该集线器然后提供多个通道的高容量快速访问存储器技术,诸如快速循环RAM(FCRAM)或Rambus。这是在该系统结构上均衡器件引线总数的有效方法。
由于在流量处理中不需要访问包内容,所以包可以直接流到存储集线器。然后处理小的包元数据的记录,并将其用来表示逻辑队列中的包。流量处理所要求的拥塞避免(随机早期检测)和调度(公平排队)算法典型地通过适当配置的MTAP处理系统以软件实现。
通过该流量处理机的包记录的流在性质上与通过该分类器和调节器的包的流截然不同。包记录通常小于包本身,并且可以是固定大小,并且在从该交换结构中突发包期间,吞吐速率可以非常高。
高的吞吐量必然减少了用于处理的周期预算。相干并行方法的一个重点就是其容易缩放。使用用于比较的分类器,就增加了每个处理器的PE数目或者每个芯片的MTAP处理器的数目,以满足高速时每个包记录所要求的处理周期数。通过显著地减少每PE的存储器以适应相对小的包记录,可以克服所需要的硅面积的隐含增加。
概念和发明的描述
首先考虑图2,其所示为仓分类的基本概念。左边所示为粗糙的仓分类,右边所示为精细的仓分类。每一仓包含带有退出编号的范围的包记录,除了退出编号为1的仓之外。为了说明,退出编号为2和3的仓用粗线标记,表示这是一个仓。可以将退出编号为4-7的包记录放入另一仓中,在图2中也用粗实线标记。更高退出编号的仓通常包含比低退出编号的仓更大范围的退出编号。然而,仓的内容并没有排序。
需要一种接收包并将它们放在适当的仓中的功能。另外需要一种按照结束编号范围的升序轮流读取每一仓的内容的功能。处理的这一阶段产生根据仓范围以粗分类的顺序包流。它们然后进入另一具有较小范围的仓中。重复该过程,直至该流被完全分类。
假定在具有结束编号的平均值不断增加的包到达时,在该序列的一端的仓刚好为空,在另一端安装新仓。当仓为空时,创建尽量较低退出编号的仓。
图3所示为应用了包含本发明的概念的方法。该标号表明在包到达时的事件顺序:访问状态,以及将包组仓等。该仓分类过程的迭代性质通过所述的两个阶段表示。每一仓可以实施为FIFO队列或存储器中的LIFO栈或二者的组合。可以通过指针管理这种数据结构,其定位将数据插入该结构中和/或从其中删除的点。操作这些仓的功能需要访问这些指针。这些功能可以映射到处理器中,并且指针可以映射到状态存储器中。
该数据结构包括超过一个的多组仓。在一组仓内,结束编号范围是常数,但是在组之间,该范围随着退出编号变小而逐渐变小。范围最宽的仓具有最大的退出编号值,并且范围最小的仓具有最小的退出编号值。例如,一个组中所有仓上的结束编号的总范围可以等于相邻组中单个仓的范围。
当仓被置空时,将其分类到下一组仓中。或者重复此直至最后一组仓的结束编号范围是一致的,或者当最小的仓被置空时,在将它们按照次序转发之前对它们进行最终分类。
实施例的详述
图4所示为MTAP处理器如何可以用来实施顺序列表管理器。该标号所示为在将包进行调度、组仓、重组仓、分类和输出等时出现的事件顺序。当将MTAP处理器设置在数据流处理结构体系中时,它们非常适合处理高速流的包。通过执行数据的批读取、执行某些处理、并然后将数据输出到队列上,自然地对其进行操作。
用作硬件加速器的状态引擎使得该MTAP处理器能够存储和管理该仓所需要的逻辑状态。最方便地将这些仓实施为LIFO栈。这样可以将每个仓所需要的状态最小化,并简化了作为存储器中链接列表的仓的管理。当每一包存储在仓中时,其位置保留在该状态引擎中。其可以被需要写到该同一仓中的下一个包用作指针。于是每一仓是一个栈,其中每一项向下指向下一个。
使用数据缓冲器块来存储仓。块包含仓存储器,并向制造者和用户提供与该处理器的接口。用户接收到包流,并将它们简单地写到所提供的地址中。制造者接收到来自处理器的批读取请求,并从所请求的仓中输出数据。由于每一仓被作为链接列表组织,所以制造者的责任是在从仓中读取每一包时,从每一包中提取该链接列表指针。使用SRAM,访问时间应该足够快,以高效地进行该串行化处理。
在实际的系统实施例中,不需要在仓中存储实际的包。如前所提到的,表示关于该包的信息的记录可以在它们的位置中处理。由于仓现在可以存储项(记录),其通常具有比包更小的大小,但也不一定如此,并且可以是固定大小,这样就简化了实施方式。
作为对本发明的方法进行理解的帮助,现在参照图5和6。所考虑的情况是包的结束编号表示缓冲器中的存储位置,并因此表示从存储器读取包和将其传送到线输出O/P的次序。根据多个参数将数据包分配给“流”,包括它们的源、目的、业务分类、成本和性质,诸如视频或网际协议(IP),但并不限于此。然后可以管理它们的次序将“高”、“中”和“低”的优先级分配给这些流。然后可以根据每个流实施记帐。显然需要一种策略,用于判决在何时从哪一队列中取出哪一包。
可以根据为记帐目的设置的参数,通过向每一包分配表示退出时间或编号的标记来实现这种管理标准。因此按照退出时间或编号的次序将包存储在缓冲器中。该“编号”可以表示在所需要的队列中所分配的退出时间或退出编号。然后在该系统中不需要“智能”来按照所需要的次序推出包,这是因为早已经在存储阶段中设置了该次序。
可以通过将具有相似退出时间或编号的这些包存储在相同的存储仓中便利地管理该退出时间次序。然而并不是每一退出时间或编号应该具有专用的存储仓。仓可能足够多,可以按照次序容纳包。其如图5中示意性所示,其中具有退出时间或编号顺序1的包放在一个仓中,具有顺序2和3的那些包共同放在外面的另一组仓3-2中,具有顺序4至7的那些包共同放在另一仓7-4中,等等,如果需要的话,直至1000。为了拷贝超过当前所使用的最高编号仓的退出时间或编号,该末仓可以设计为n至无限大。当大于n的编号进入该仓中时,该仓内的范围本身可以被细分,使得在将来可以将该末仓重命名为10n至无限大。可以重复该过程。
重要的是要理解,只有包记录的顺序编号需要存储,而不是这些包本身。相比于大的多并且大小可变的包本身,通过这种方式可能有大量的保存,因为记录可以是固定的长度,并因此可能占用存储仓中已知的预定分配。而且,当通过一系列并行MTAP处理器的方式实施本发明时,如前所述,可以通过MTAP处理器的各个处理元件(PE)处理每一记录。通过这种方式,单个时钟周期可以享用64个周期的处理时间的好处,因为在单指令多数据(SIMD)条件下操作的MTAP处理器具有并行结构体系。
返回到图5,并且例如考虑关于具有混合退出顺序2和3的包记录的位置的情况,该并行处理器可以将顺序2或3记录的列表分成用于顺序2或顺序3中每一个的各个列表。类似地,用于顺序编号4至7的列表可以被粗糙地分成用于顺序编号4和5(仓5-4)以及用于顺序编号6和7(仓7-6)的各个顺序列表。这些粗列表最终将通过与用于结束顺序2和3的组合顺序列表相同的方式被分解成为更精细的列表。如图6中示意性地所示为用于细分该顺序列表的过程。
如图所示,用于2和3的组合顺序列表被分解成为分别用于顺序2和用于顺序3的单独顺序列表。与此同时,可以读取列表1中的包记录,以从缓冲器存储中提取对应的包,并将其传送到线O/P装置上。一旦列表1为空时,管理器从前面分类的列表2移到空列表。例如在分类组合列表2-3时,如果到达具有结束顺序2的新记录,将该新到达传送到第二顺序2列表(仓2′)中,如图6中用于该目的所创建的虚线所示。在用于顺序2的包记录的前一分类的列表已经为空之后,用于顺序2的包记录的仓2′将被置空。相同的设置也应用于顺序3的新项(仓3′)。
根据SIMD结构体系实施本发明的主要优点就是在可编程性方面,而不是在硬件中必须预测用于每一顺序组的各个存储仓的数目和大小。基于硬件的方法将必然要求极其高的处理器速度,并且会复杂的多。如前所述,SIMD处理优选地倍增了处理器时钟周期的数目,从而成比例的增加了处理器速度。
每一仓或者可以是FIFO类型的,或者可以通过LIFO类型的栈实施。栈的优点是它们容易实施。对于顺序列表管理,它们颠倒记录所存储的顺序这样的事情并不重要,这是因为自动地划分列表确保了包会根据它们最初所分配的退出顺序标记,按照正确的顺序在O/P端口上输出。相同流中的包会具有不同的退出编号,确保它们的顺序得到维护。
仓的编号可以变化到大约1000。在仓的编号与仓/列表分类的量之间不可避免地存在折中。越少的队列要求越多的分类。系统设计者需要判定上下文,尤其是所想要的应用。
另外,下面的标准可以影响关于列表管理的该流量处理机的最终设计:
按需负荷均衡:该处理器在排队(调度)任务与出队(最终分类)任务之间分开。必须实施足够数目的处理器,使得它们可以拷贝具有瞬间最差速率情况下的包到达。然而,标称的到达速率非常低。这表示多个处理器可以定期地处于空闲或未使用。在这种情况下,可以将少量的处理器永久地分配给排队或出队任务。其余的可以浮动。如果检测到输入拥塞,然后浮动处理器对交换进行线程处理,并辅助排队任务。当清除了拥塞的时候,浮动处理器移动到出队任务,并帮助清除队列中的积压。如果出队已经很好的处理了,然后浮动处理器可以进行默认的周边任务,诸如用于向控制平面顺序报告的统计预处理。
遮蔽存储器管理:这是该顺序列表管理的一个重要方面。任何给定的数据结构需要读取和写入项的功能,将结构特征化的逻辑状态,以及有效地存储该结构的下层存储器管理。该处理器和加速器只实现了前两个。还没有注意到需要维护有效存储器的自由列表和分配用于将该数据结构装入其中的存储器。这其本身通常会导致相当大的系统开销。顺序列表管理器的效率肯定是可行的,因为已经为其执行了该存储器管理,如下:
背景:
在40G的流量处理中,实际上是将包缓冲与处理任务分开。包存储在包缓冲系统内的存储器中。小记录被传送到处理系统,其高效地操作记录,来代替它们所表示的包。
该包存储器被分成固定大小的块。维护一个自由列表或位图,其跟踪哪些块已经分配,哪些块是自由的。该存储器管理系统使用该位图来动态地管理存储器。包在到达的时候可以直接从交换结构流入存储器中,并且保留元数据的小记录,用于处理。更重要的是,该记录会包含该包所存储于其中的(第一)块存储器的存储器地址。
包记录处理和存储:
通过顺序列表管理器将包记录存储在数据结构中。这需要存在两个资源——用于存储描述结构中每一仓的逻辑状态以及用于存储记录本身。状态存储和仓操作分别通过队列状态引擎(QSE)和并行处理器实现。仓存储器管理直接依赖于该包存储器管理。
仓存储器管理概念:
用于记录存储所提供的存储器被组织成使得其与为包所提供的存储器镜像。对于该包存储器中的每一存储器块,在该记录存储中直接相关的存储器地址中存在对应的仓。
当存储包时,该包所放置于其中的存储器块必须是空的。然后该记录存储器中的仓也必须是空的。当调度记录时,该存储系统恢复该包,并将该包所占用的存储器块释放。同时,释放对应的记录仓。由于在该包存储和恢复的时间内,包记录的存储和检索被有效地“嵌套”,该系统非常稳健。
指针的使用:
由于记录是随机地存储在该记录存储器中,属于给定仓的记录必须指向链接列表管理中的另一个。该记录包含指向包存储器的指针。该指针然后也指向存储器中该记录自己的仓。
实际上,记录同时指向其自身以及其邻居。相同的信息被存储两次。考虑链接列表中相邻的记录A和B。记录A具有指针“Self_A”,这是其自己的仓,以及“Next_A”,这是指向该记录中下一个记录(记录B)的指针。记录B也具有“Self_B”和“Next_B”。可以认为“Next_A”与“Self_B”相同。只有“下一个”指针才是每一包中所实际需要的。当(按照顺序A、B、C......)读取仓时,通过在其存储在列表中之前,从记录中检索其指针,每一记录可以恢复其自己的指针标识。这样就相当大地减少了记录存储要求。
辅助特征:
当对一个存储器的写/读访问嵌套在对另一存储器的写/读访问中时,两个存储系统可以共用相同的存储器管理器。当没有存储记录自己的指针标识时,其可以与当存储了该记录时的链接列表指针互换。当记录传送入和传出存储器时,必须存在转换。可以通过专用算法管理仓。

Claims (21)

1.一种用于在通信或计算机系统中处理包括数据包序列的包流的方法,该方法包括:向多个包记录分配退出编号,每一包记录都包含关于它的相应包的信息;将所述包记录排队到缓冲器装置中,所述缓冲器装置与所述包排队在其中的缓冲器装置相分开,用于该包记录的所述缓冲器装置包括多组存储仓;将所述退出编号分配给所述存储仓,每一仓包含一个范围的退出编号,用于高退出编号包记录的仓具有的范围大于用于低退出编号包记录的仓;并且根据通过在所述包排队之前分配给所述包的所述退出编号所确定的顺序列表,以预定的顺序输出所排队的包;该方法的特征在于,在所述输出步骤之前,将仓中的低退出编号的包记录细分成多个仓,每一仓包含对应于更小范围的退出编号的包记录。
2.如权利要求1中所述的方法,其中重复所述细分步骤,直至仓的内容完全被分类。
3.如权利要求1中所述的方法,其中该包记录的长度固定。
4.如权利要求1中所述的方法,其中该包记录比所述包短。
5.如权利要求1中所述的方法,其中在将与当前为空的仓对应的退出编号分配给包记录时,将所述包记录保持在同一退出编号的专门创建的副仓中,并在所述当前为空的仓置空之后将所述专门创建的副仓置空。
6.如权利要求1中所述的方法,其中该仓是FIFO缓冲器。
7.如权利要求1中所述的方法,其中该仓是LIFO栈。
8.如权利要求1中所述的方法,其中该仓是FIFO缓冲器与LIFO栈的混合。
9.如权利要求1中所述的方法,其中队列管理通过如下进行:(a)并行处理所有所述仓;和(b)通过并行处理器将输入数据插入到仓中。
10.如权利要求9中所述的方法,其中执行所述插入步骤(b)的所述并行处理器是阵列处理器。
11.如权利要求10中所述的方法,其中执行所述插入步骤(b)的所述阵列处理器是SIMD处理器。
12.如权利要求1中所述的方法,其中通过并行处理器执行所述细分步骤。
13.如权利要求12中所述的方法,其中该并行处理器是阵列处理器。
14.如权利要求13中所述的方法,其中所述阵列处理器是SIMD处理器。
15.一种用于在通信或计算机系统中处理包括数据包序列的包流的数据管理器,该数据管理器包括:分配装置,用于向多个包记录分配退出编号,每一包记录都包含关于它的相应包的信息;用于将所述包记录进行排队的缓冲器装置,其与用于将所述包进行排队的缓冲器装置相分开,用于该包记录的所述缓冲器装置包括多组存储仓;配置装置,用于将所述退出编号分配给所述存储仓,每一仓包含一个范围的退出编号,用于高退出编号包记录的仓具有的范围大于用于低退出编号包记录的仓;以及输出装置,用于根据通过在所述包排队之前分配给所述包的所述退出编号所确定的顺序列表,以预定的顺序输出所排队的包;该数据管理器的特征在于所述输出装置上游的分类装置,用于将仓中的低退出编号的包记录细分成多个仓,每一仓包含对应于更小范围的退出编号的包记录。
16.如权利要求15中所述的数据管理器,其中所述配置装置包括并行处理器。
17.如权利要求16中所述的数据管理器,其中所述分类装置包括并行处理器。
18.如权利要求16中所述的数据管理器,其中所述并行处理器是阵列处理器。
19.如权利要求18中所述的数据管理器,其中所述并行处理器是SIMD处理器。
20.如权利要求15中所述的数据管理器,其中所述用于将所述包记录进行排队的缓冲器装置用于将所述包记录连同它们各自的退出编号一起排队。
21.如权利要求15中所述的数据管理器,其中所述分类装置用于重复对所述仓分类,直至该仓的内容完全被分类。
CN2003801085308A 2002-11-11 2003-11-11 计算机或通信系统中的数据包处理 Expired - Fee Related CN1736069B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB0226249.1A GB0226249D0 (en) 2002-11-11 2002-11-11 Traffic handling system
GB0226249.1 2002-11-11
PCT/GB2003/004854 WO2004045160A2 (en) 2002-11-11 2003-11-11 Data packet handling in computer or communication systems

Publications (2)

Publication Number Publication Date
CN1736069A CN1736069A (zh) 2006-02-15
CN1736069B true CN1736069B (zh) 2012-07-04

Family

ID=9947583

Family Applications (4)

Application Number Title Priority Date Filing Date
CNB200380108223XA Expired - Fee Related CN100557594C (zh) 2002-11-11 2003-11-11 数据处理器的状态引擎
CN2003801085308A Expired - Fee Related CN1736069B (zh) 2002-11-11 2003-11-11 计算机或通信系统中的数据包处理
CN2003801084790A Expired - Fee Related CN1736066B (zh) 2002-11-11 2003-11-11 用于流量处理的包存储系统
CN2003801085295A Expired - Fee Related CN1736068B (zh) 2002-11-11 2003-11-11 流量管理结构体系

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB200380108223XA Expired - Fee Related CN100557594C (zh) 2002-11-11 2003-11-11 数据处理器的状态引擎

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN2003801084790A Expired - Fee Related CN1736066B (zh) 2002-11-11 2003-11-11 用于流量处理的包存储系统
CN2003801085295A Expired - Fee Related CN1736068B (zh) 2002-11-11 2003-11-11 流量管理结构体系

Country Status (5)

Country Link
US (5) US7843951B2 (zh)
CN (4) CN100557594C (zh)
AU (4) AU2003283544A1 (zh)
GB (5) GB0226249D0 (zh)
WO (4) WO2004045160A2 (zh)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004524617A (ja) * 2001-02-14 2004-08-12 クリアスピード・テクノロジー・リミテッド クロック分配システム
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
US7210059B2 (en) 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
US7310752B2 (en) * 2003-09-12 2007-12-18 Micron Technology, Inc. System and method for on-board timing margin testing of memory modules
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US6944636B1 (en) * 2004-04-30 2005-09-13 Microsoft Corporation Maintaining time-date information for syncing low fidelity devices
US7310748B2 (en) * 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
US8316431B2 (en) * 2004-10-12 2012-11-20 Canon Kabushiki Kaisha Concurrent IPsec processing system and method
US20060101210A1 (en) * 2004-10-15 2006-05-11 Lance Dover Register-based memory command architecture
US20060156316A1 (en) * 2004-12-18 2006-07-13 Gray Area Technologies System and method for application specific array processing
CA2619141C (en) * 2004-12-23 2014-10-21 Solera Networks, Inc. Method and apparatus for network packet capture distributed storage system
US20100195538A1 (en) * 2009-02-04 2010-08-05 Merkey Jeffrey V Method and apparatus for network packet capture distributed storage system
US7392229B2 (en) * 2005-02-12 2008-06-24 Curtis L. Harris General purpose set theoretic processor
US7746784B2 (en) * 2006-03-23 2010-06-29 Alcatel-Lucent Usa Inc. Method and apparatus for improving traffic distribution in load-balancing networks
US8065249B1 (en) 2006-10-13 2011-11-22 Harris Curtis L GPSTP with enhanced aggregation functionality
US7774286B1 (en) 2006-10-24 2010-08-10 Harris Curtis L GPSTP with multiple thread functionality
US8166212B2 (en) * 2007-06-26 2012-04-24 Xerox Corporation Predictive DMA data transfer
US7830918B2 (en) * 2007-08-10 2010-11-09 Eaton Corporation Method of network communication, and node and system employing the same
JP5068125B2 (ja) * 2007-09-25 2012-11-07 株式会社日立国際電気 通信装置
US8625642B2 (en) 2008-05-23 2014-01-07 Solera Networks, Inc. Method and apparatus of network artifact indentification and extraction
US8521732B2 (en) 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
US8004998B2 (en) * 2008-05-23 2011-08-23 Solera Networks, Inc. Capture and regeneration of a network data using a virtual software switch
US20090292736A1 (en) * 2008-05-23 2009-11-26 Matthew Scott Wood On demand network activity reporting through a dynamic file system and method
JP5300355B2 (ja) * 2008-07-14 2013-09-25 キヤノン株式会社 ネットワークプロトコル処理装置及びその処理方法
US8627471B2 (en) * 2008-10-28 2014-01-07 Freescale Semiconductor, Inc. Permissions checking for data processing instructions
US9213665B2 (en) * 2008-10-28 2015-12-15 Freescale Semiconductor, Inc. Data processor for processing a decorated storage notify
CA2754181C (en) 2009-03-18 2016-08-02 Texas Research International, Inc. Environmental damage sensor
US8266498B2 (en) 2009-03-31 2012-09-11 Freescale Semiconductor, Inc. Implementation of multiple error detection schemes for a cache
WO2011060368A1 (en) * 2009-11-15 2011-05-19 Solera Networks, Inc. Method and apparatus for storing and indexing high-speed network traffic data
US20110125748A1 (en) * 2009-11-15 2011-05-26 Solera Networks, Inc. Method and Apparatus for Real Time Identification and Recording of Artifacts
US8472455B2 (en) * 2010-01-08 2013-06-25 Nvidia Corporation System and method for traversing a treelet-composed hierarchical structure
US8295287B2 (en) * 2010-01-27 2012-10-23 National Instruments Corporation Network traffic shaping for reducing bus jitter on a real time controller
US8990660B2 (en) 2010-09-13 2015-03-24 Freescale Semiconductor, Inc. Data processing system having end-to-end error correction and method therefor
US8504777B2 (en) 2010-09-21 2013-08-06 Freescale Semiconductor, Inc. Data processor for processing decorated instructions with cache bypass
US8667230B1 (en) 2010-10-19 2014-03-04 Curtis L. Harris Recognition and recall memory
KR20120055779A (ko) * 2010-11-23 2012-06-01 한국전자통신연구원 지그비 기반의 음성 데이터 송수신 시스템 및 그의 음성 데이터 송수신 방법
KR20120064576A (ko) * 2010-12-09 2012-06-19 한국전자통신연구원 비대칭 스토리지 시스템에서 연속적인 읽기/쓰기를 제공하기 위한 장치 및 그 방법
US8849991B2 (en) 2010-12-15 2014-09-30 Blue Coat Systems, Inc. System and method for hypertext transfer protocol layered reconstruction
US8666985B2 (en) 2011-03-16 2014-03-04 Solera Networks, Inc. Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
US8566672B2 (en) 2011-03-22 2013-10-22 Freescale Semiconductor, Inc. Selective checkbit modification for error correction
US8607121B2 (en) 2011-04-29 2013-12-10 Freescale Semiconductor, Inc. Selective error detection and error correction for a memory interface
US8990657B2 (en) 2011-06-14 2015-03-24 Freescale Semiconductor, Inc. Selective masking for error correction
US9525642B2 (en) 2012-01-31 2016-12-20 Db Networks, Inc. Ordering traffic captured on a data connection
US9100291B2 (en) 2012-01-31 2015-08-04 Db Networks, Inc. Systems and methods for extracting structured application data from a communications link
US9092318B2 (en) * 2012-02-06 2015-07-28 Vmware, Inc. Method of allocating referenced memory pages from a free list
US9665233B2 (en) * 2012-02-16 2017-05-30 The University Utah Research Foundation Visualization of software memory usage
AU2014205389A1 (en) 2013-01-11 2015-06-04 Db Networks, Inc. Systems and methods for detecting and mitigating threats to a structured data storage system
CN103338159B (zh) * 2013-06-19 2016-08-10 华为技术有限公司 轮询调度实现方法和装置
CA2928595C (en) * 2013-12-04 2019-01-08 Db Networks, Inc. Ordering traffic captured on a data connection
JP6249403B2 (ja) * 2014-02-27 2017-12-20 国立研究開発法人情報通信研究機構 光遅延線及び電子バッファ融合型光パケットバッファ制御装置
US10210592B2 (en) 2014-03-30 2019-02-19 Teoco Ltd. System, method, and computer program product for efficient aggregation of data records of big data
US10613963B2 (en) * 2015-03-11 2020-04-07 Protocol Insight, Llc Intelligent packet analyzer circuits, systems, and methods
KR102449333B1 (ko) 2015-10-30 2022-10-04 삼성전자주식회사 메모리 시스템 및 그것의 읽기 요청 관리 방법
JP6943942B2 (ja) 2016-03-23 2021-10-06 クラビスター アクティエボラーグ 順次パケット処理アルゴリズム及び並列パケット処理アルゴリズムを用いることによってトラフィックシェーピングを行う方法
WO2017164804A1 (en) * 2016-03-23 2017-09-28 Clavister Ab Method for traffic shaping using a serial packet processing algorithm and a parallel packet processing algorithm
CN107786465B (zh) 2016-08-27 2021-06-04 华为技术有限公司 一种用于处理低延迟业务流的方法和装置
WO2018081582A1 (en) * 2016-10-28 2018-05-03 Atavium, Inc. Systems and methods for random to sequential storage mapping
CN107656895B (zh) * 2017-10-27 2023-07-28 上海力诺通信科技有限公司 一种1u标准高度的正交平台高密度计算架构
RU2718215C2 (ru) * 2018-09-14 2020-03-31 Общество С Ограниченной Ответственностью "Яндекс" Система обработки данных и способ обнаружения затора в системе обработки данных
US11138044B2 (en) * 2018-09-26 2021-10-05 Micron Technology, Inc. Memory pooling between selected memory resources
US11093403B2 (en) 2018-12-04 2021-08-17 Vmware, Inc. System and methods of a self-tuning cache sizing system in a cache partitioning system
EP3866417A1 (en) * 2020-02-14 2021-08-18 Deutsche Telekom AG Method for an improved traffic shaping and/or management of ip traffic in a packet processing system, telecommunications network, network node or network element, program and computer program product

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914650A (en) * 1988-12-06 1990-04-03 American Telephone And Telegraph Company Bandwidth allocation and congestion control scheme for an integrated voice and data network
US5187780A (en) * 1989-04-07 1993-02-16 Digital Equipment Corporation Dual-path computer interconnect system with zone manager for packet memory
EP0446721B1 (en) * 1990-03-16 2000-12-20 Texas Instruments Incorporated Distributed processing memory
US5280483A (en) * 1990-08-09 1994-01-18 Fujitsu Limited Traffic control system for asynchronous transfer mode exchange
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
EP0485690B1 (en) * 1990-11-13 1999-05-26 International Business Machines Corporation Parallel associative processor system
JP2596718B2 (ja) * 1993-12-21 1997-04-02 インターナショナル・ビジネス・マシーンズ・コーポレイション ネットワーク通信バッファを管理する方法
US5949781A (en) * 1994-08-31 1999-09-07 Brooktree Corporation Controller for ATM segmentation and reassembly
US5513134A (en) * 1995-02-21 1996-04-30 Gte Laboratories Incorporated ATM shared memory switch with content addressing
US5633865A (en) * 1995-03-31 1997-05-27 Netvantage Apparatus for selectively transferring data packets between local area networks
DE69841486D1 (de) * 1997-05-31 2010-03-25 Texas Instruments Inc Verbesserte Paketvermittlung
US6757798B2 (en) * 1997-06-30 2004-06-29 Intel Corporation Method and apparatus for arbitrating deferred read requests
US5956340A (en) 1997-08-05 1999-09-21 Ramot University Authority For Applied Research And Industrial Development Ltd. Space efficient fair queuing by stochastic Memory multiplexing
US6088771A (en) * 1997-10-24 2000-07-11 Digital Equipment Corporation Mechanism for reducing latency of memory barrier operations on a multiprocessor system
US6052375A (en) * 1997-11-26 2000-04-18 International Business Machines Corporation High speed internetworking traffic scaler and shaper
US6097403A (en) * 1998-03-02 2000-08-01 Advanced Micro Devices, Inc. Memory including logic for operating upon graphics primitives
US6359879B1 (en) * 1998-04-24 2002-03-19 Avici Systems Composite trunking
AU3883499A (en) * 1998-05-07 1999-11-23 Aprisma Management Technologies, Inc. Multiple priority buffering in a computer network
US6314489B1 (en) * 1998-07-10 2001-11-06 Nortel Networks Limited Methods and systems for storing cell data using a bank of cell buffers
US6356546B1 (en) * 1998-08-11 2002-03-12 Nortel Networks Limited Universal transfer method and network with distributed switch
US6829218B1 (en) * 1998-09-15 2004-12-07 Lucent Technologies Inc. High speed weighted fair queuing system for ATM switches
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
SE9803901D0 (sv) * 1998-11-16 1998-11-16 Ericsson Telefon Ab L M a device for a service network
US6246682B1 (en) * 1999-03-05 2001-06-12 Transwitch Corp. Method and apparatus for managing multiple ATM cell queues
US7145869B1 (en) * 1999-03-17 2006-12-05 Broadcom Corporation Method for avoiding out-of-ordering of frames in a network switch
US6574231B1 (en) * 1999-05-21 2003-06-03 Advanced Micro Devices, Inc. Method and apparatus for queuing data frames in a network switch port
US6671292B1 (en) * 1999-06-25 2003-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for adaptive voice buffering
US6643298B1 (en) * 1999-11-23 2003-11-04 International Business Machines Corporation Method and apparatus for MPEG-2 program ID re-mapping for multiplexing several programs into a single transport stream
US7102999B1 (en) * 1999-11-24 2006-09-05 Juniper Networks, Inc. Switching device
DE60038538T2 (de) * 2000-02-28 2009-06-25 Alcatel Lucent Vermittlungseinrichtung und Vermittlungsverfahren
US6662263B1 (en) * 2000-03-03 2003-12-09 Multi Level Memory Technology Sectorless flash memory architecture
DE60120807T2 (de) * 2000-03-06 2006-12-28 International Business Machines Corp. Schaltvorrichtung und Verfahren
US6907041B1 (en) * 2000-03-07 2005-06-14 Cisco Technology, Inc. Communications interconnection network with distributed resequencing
CA2301973A1 (en) * 2000-03-21 2001-09-21 Spacebridge Networks Corporation System and method for adaptive slot-mapping input/output queuing for tdm/tdma systems
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
US7139282B1 (en) * 2000-03-24 2006-11-21 Juniper Networks, Inc. Bandwidth division for packet processing
CA2337674A1 (en) * 2000-04-20 2001-10-20 International Business Machines Corporation Switching arrangement and method
JP4484317B2 (ja) * 2000-05-17 2010-06-16 株式会社日立製作所 シェーピング装置
US6937561B2 (en) * 2000-06-02 2005-08-30 Agere Systems Inc. Method and apparatus for guaranteeing data transfer rates and enforcing conformance with traffic profiles in a packet network
JP3640160B2 (ja) * 2000-07-26 2005-04-20 日本電気株式会社 ルータ装置及びそれに用いる優先制御方法
DE60119866T2 (de) * 2000-09-27 2007-05-10 International Business Machines Corp. Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern
US20020062415A1 (en) * 2000-09-29 2002-05-23 Zarlink Semiconductor N.V. Inc. Slotted memory access method
US6647477B2 (en) * 2000-10-06 2003-11-11 Pmc-Sierra Ltd. Transporting data transmission units of different sizes using segments of fixed sizes
AU2002230476A1 (en) * 2000-11-27 2002-06-03 Airclic, Inc. Scalable distributed database system and method for linking codes to internet information
US6888848B2 (en) * 2000-12-14 2005-05-03 Nortel Networks Limited Compact segmentation of variable-size packet streams
US7035212B1 (en) * 2001-01-25 2006-04-25 Optim Networks Method and apparatus for end to end forwarding architecture
US20020126659A1 (en) * 2001-03-07 2002-09-12 Ling-Zhong Liu Unified software architecture for switch connection management
US6728857B1 (en) * 2001-06-20 2004-04-27 Cisco Technology, Inc. Method and system for storing and retrieving data using linked lists
US7382787B1 (en) * 2001-07-30 2008-06-03 Cisco Technology, Inc. Packet routing and switching device
US7349403B2 (en) * 2001-09-19 2008-03-25 Bay Microsystems, Inc. Differentiated services for a network processor
US6900920B2 (en) * 2001-09-21 2005-05-31 The Regents Of The University Of California Variable semiconductor all-optical buffer using slow light based on electromagnetically induced transparency
US20030081623A1 (en) * 2001-10-27 2003-05-01 Amplify.Net, Inc. Virtual queues in a single queue in the bandwidth management traffic-shaping cell
US7215666B1 (en) * 2001-11-13 2007-05-08 Nortel Networks Limited Data burst scheduling
US20030145086A1 (en) * 2002-01-29 2003-07-31 O'reilly James Scalable network-attached storage system
US20040022094A1 (en) * 2002-02-25 2004-02-05 Sivakumar Radhakrishnan Cache usage for concurrent multiple streams
US6862639B2 (en) * 2002-03-11 2005-03-01 Harris Corporation Computer system including a receiver interface circuit with a scatter pointer queue and related methods
US7126959B2 (en) * 2002-03-12 2006-10-24 Tropic Networks Inc. High-speed packet memory
US6928026B2 (en) * 2002-03-19 2005-08-09 Broadcom Corporation Synchronous global controller for enhanced pipelining
US20030188056A1 (en) * 2002-03-27 2003-10-02 Suresh Chemudupati Method and apparatus for packet reformatting
US7239608B2 (en) * 2002-04-26 2007-07-03 Samsung Electronics Co., Ltd. Router using measurement-based adaptable load traffic balancing system and method of operation
JP3789395B2 (ja) * 2002-06-07 2006-06-21 富士通株式会社 パケット処理装置
US20040039884A1 (en) * 2002-08-21 2004-02-26 Qing Li System and method for managing the memory in a computer system
US6950894B2 (en) * 2002-08-28 2005-09-27 Intel Corporation Techniques using integrated circuit chip capable of being coupled to storage system
US7180899B2 (en) * 2002-10-29 2007-02-20 Cisco Technology, Inc. Multi-tiered Virtual Local area Network (VLAN) domain mapping mechanism
GB0226249D0 (en) 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
KR100532325B1 (ko) * 2002-11-23 2005-11-29 삼성전자주식회사 터보 복호기의 입력 제어 방법 및 장치
GB2421158B (en) * 2003-10-03 2007-07-11 Avici Systems Inc Rapid alternate paths for network destinations
US7668100B2 (en) * 2005-06-28 2010-02-23 Avaya Inc. Efficient load balancing and heartbeat mechanism for telecommunication endpoints

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
US 5,956,340 A,1999.09.21,全文.
US 6,396,843 B1,2002.05.28,全文.

Also Published As

Publication number Publication date
WO2004044733A3 (en) 2005-03-31
CN1736069A (zh) 2006-02-15
GB2412537B (en) 2006-02-01
WO2004045161A1 (en) 2004-05-27
AU2003283545A1 (en) 2004-06-03
GB2412035B (en) 2006-12-20
AU2003283559A1 (en) 2004-06-03
CN1736068A (zh) 2006-02-15
AU2003283545A8 (en) 2004-06-03
WO2004045162A3 (en) 2004-09-16
US8472457B2 (en) 2013-06-25
US7882312B2 (en) 2011-02-01
WO2004044733A2 (en) 2004-05-27
GB2411271B (en) 2006-07-26
GB2411271A (en) 2005-08-24
US20050246452A1 (en) 2005-11-03
US20110069716A1 (en) 2011-03-24
WO2004045160A8 (en) 2005-04-14
WO2004045160A2 (en) 2004-05-27
GB2413031A (en) 2005-10-12
US7843951B2 (en) 2010-11-30
AU2003283544A1 (en) 2004-06-03
CN100557594C (zh) 2009-11-04
GB2412035A (en) 2005-09-14
GB2413031B (en) 2006-03-15
WO2004045162A2 (en) 2004-05-27
GB0511588D0 (en) 2005-07-13
US20050265368A1 (en) 2005-12-01
GB2412537A (en) 2005-09-28
US7522605B2 (en) 2009-04-21
WO2004045160A3 (en) 2004-12-02
CN1736068B (zh) 2012-02-29
GB0509997D0 (en) 2005-06-22
GB0226249D0 (en) 2002-12-18
CN1736066B (zh) 2011-10-05
CN1736066A (zh) 2006-02-15
AU2003283539A1 (en) 2004-06-03
US20050257025A1 (en) 2005-11-17
US20050243829A1 (en) 2005-11-03
CN1735878A (zh) 2006-02-15
GB0511589D0 (en) 2005-07-13
GB0511587D0 (en) 2005-07-13

Similar Documents

Publication Publication Date Title
CN1736069B (zh) 计算机或通信系统中的数据包处理
US7715449B1 (en) Preserving the order of packets through a device
US7372857B1 (en) Methods and apparatus for scheduling tasks
CN100521655C (zh) 按每流排队的物理队列动态共享装置
US7397809B2 (en) Scheduling methods for combined unicast and multicast queuing
CN103348640B (zh) 中继装置
US6628615B1 (en) Two level virtual channels
CN1881937B (zh) 将存储空间动态分配给多个队列的方法及设备
CN102130823B (zh) 用于数据通信的方法和网络设备
US7948976B2 (en) Efficient management of queueing resources for switches
CN102413063B (zh) 动态调整出口资源分配阈值的方法及系统
JP3306705B2 (ja) パケット転送制御装置及びそのスケジューリング方法
CN102571607B (zh) 一种网络流速分配系统
US20090285219A1 (en) Deficit and group round robin scheduling for efficient network traffic management
US20080063004A1 (en) Buffer allocation method for multi-class traffic with dynamic spare buffering
CN103999415A (zh) 一种业务路由器架构
US7272149B2 (en) Bandwidth allocation systems and methods
CN101741729A (zh) 用于调度多个流的分组的方法和用于执行该方法的系统
CN110474670A (zh) 一种基于FPGA的SpaceFibre星载网络服务质量控制系统
US7139280B2 (en) Buffer management policy for shared memory switches
CN107332766A (zh) 一种基于软件定义网络流调度下的提高网络吞吐量的方法
CN108462649A (zh) 降低onu中拥塞状态下高优先级数据传输时延的方法和装置
US20040085978A1 (en) System and method for prioritizing and queuing traffic
CN109995667A (zh) 传输报文的方法和发送设备
CN101322099A (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
ASS Succession or assignment of patent right

Owner name: RAMBUS INC.

Free format text: FORMER OWNER: CRIRSPETER TECHNOLOGY INC.

Effective date: 20110418

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: BRISTOL, UK TO: CALIFORNIA, THE USA

TA01 Transfer of patent application right

Effective date of registration: 20110418

Address after: American California

Applicant after: Rambus Inc.

Address before: Bristol

Applicant before: Crirspeter Technology Inc.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120704

Termination date: 20201111

CF01 Termination of patent right due to non-payment of annual fee