CN1791069A - 输入排队分组交换结构及队列服务规则 - Google Patents
输入排队分组交换结构及队列服务规则 Download PDFInfo
- Publication number
- CN1791069A CN1791069A CN200510137315.1A CN200510137315A CN1791069A CN 1791069 A CN1791069 A CN 1791069A CN 200510137315 A CN200510137315 A CN 200510137315A CN 1791069 A CN1791069 A CN 1791069A
- Authority
- CN
- China
- Prior art keywords
- grouping
- packet
- team
- output port
- register
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/505—Corrective measures
- H04L49/508—Head of Line Blocking Avoidance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
Abstract
描述了一种分组交换节点,根据这种节点,在选择分组通过空闲输出端口转发时,考虑在输入队列中排队的多个分组。考虑多个排队的分组降低了输出端口保持空闲的可能性并且增加了每个输入队列被服务的可能性尽管因为争用阻碍了分组的转发。也描述了从输入队列中进行分组排队和出队的过程,每个输入队列具有多个与之相关的指向队头队列入口的相应顺序的多个队头寄存器。入队确保正确的队头寄存器依次指向队头队列入口的顺序。按照次序服务每个输入队列移出队列入口,且出队确保队头指针的重新排序。从减少输出端口保持空闲的可能性的来获得优势,同时增加了服务输入队列的可能性,因此减小了争用的不利影响并且增加了分组吞吐量。
Description
技术领域
本发明涉及分组交换节点结构,并具体涉及输入排队分组交换节点结构和队列服务规则。
背景技术
目前使用的大量的分组交换基础设施的运行依据存储转发分组处理规则。普遍使用的网际协议(IP)是遵循存储转发规则的分组传输协议的实例。每个IP分组都有分组头部分和具有可变长度的净荷部分。决定性资源包括:使分组交换节点相互连接的通信链路上的分组传输带宽、分组交换节点上的分组存储,以及分组交换节点上的分组处理带宽。
假设在分组交换节点上有足够的存储可用,分组在互连链路上传送,所述互连链路受制于互连链路上可用的传输带宽以及作出分组转发判决的交换节点上可用的分组处理带宽。根据分组大小消耗互连链路上可用的传输带宽,根据分组交换节点上处理的分组数量消耗分组处理带宽。
传输带宽消耗本身是当前热烈研究和开发的课题。假设,互连链路上足够的传输带宽连接、决定性资源的有效利用依赖于分组交换节点的分组处理效率。对于连接到分组交换节点的通信链路上指定的可用分组传输带宽,大分组所占的比例越大以及分组越大,则分组头数量越少,因此转发存储的分组所需的处理带宽就越小。相反地,最严峻的情况是大量的小型分组正由分组交换节点处理。IP基础设施上最可能供应的因特网业务量、网页浏览,典型地产生不间断的最小长度(64字节)海量分组。顺便提一下,异步传输模式(ATM)传输协议用于传送具有固定长度(53字节)被称为ATM信元的小分组。
排队对于分组交换通信领域以及涉及分组交换节点上分组排队的基础研究和开发是很重要的。交换节点的功能是将通过输入端口接收的每个分组与至少一个输出端口匹配,所述输出端口用于通过其转发分组。关于分组交换节点设计的基本问题涉及队列在分组交换节点内的位置:在入口、在出口和/或在设计的组合。
输入排队分组交换节点结构和输出排队分组交换节点结构的相比较的理论上的处理由Karol M.、Hluchyj M.和Morgan S.在IEEETrans.Communications,35(12)(1987)第1347-1356页的“Input versusoutput queuing on a space division switch”中作了描述。Karol等人作出结论:给定连接到典型应用中使用的典型分组交换节点的典型互连链路数量的线速率,输出排队分组交换节点要求分组存储器以与端口数量成比例的速度运行,该速度大大超过可用速率。Karol等人还给出先进-先出(FIFO)输入排队分组交换节点,每个输入端口具有单独的FIFO输入队列,其缺点是对于大的、期望的服务的端口数量,限制在58.58%分组吞吐量,现有技术的结果如图1所示。计算的58.58%理论分组吞吐量考虑由等可能地要求通过分组交换节点的每个输出端口转发的小分组组成的分组业务量。在相同的队列服务周期内,两个分组在两个不同的FIFO输入队列上排队但是发往同一输出端口的可能性产生对输出端口的争用,导致将对第二个检查的队列的服务延迟到随后的队列服务周期。如果输入排队分组交换节点上的输入分组吞吐量增加超过58.58%阈值,则使所有输入队列饱和,并且即使分组传输吞吐量在输出端口上可用,超出58.58%阈值的业务量被丢弃。
本领域的其他进展包括由Tamir Y.和Frazier G.1988年6月发表在计算机体系结构第15届年会会刊第343-354页题为“High performancemulti-queue buffers for VLSI communication switches”的论文,其中Tamir等人描述了现在公知的虚拟输出排队(VOQ)交换结构,根据该论文,对应于大量输出端口的多路动态分配的队列与每个输入端口相关。实现这样的交换结构是非常复杂的。应用于当前描述的该论文的相关成果是:给定连接到这样的分组交换节点的链路的线速率,如果交换功能以加速因子2进行操作,则理论上100%的分组吞吐量是能确保的。
虽然上述分组交换结构的其它变化已经是热烈研究和开发的课题,回顾所述文献显示:诸如输入排队结构和输出排队结构的简单分组交换结构因低分组吞吐量性能而受到损失,而诸如虚拟输出队列结构的复杂分组交换结构,由于其实现的高复杂性导致巨大的开发、维护和开销成本。
因此需要易于实现并且可以提供改进的分组吞吐量特性的分组交换节点结构。
发明内容
根据本发明的一方面提供交换节点结构。该交换节点包括用于检验在输入端口队列中排队的多个队头(head-of-line,HOL)分组以将排队的队头分组与空闲的输出端口匹配。
根据本发明的另一方面,提供将通过多个输入端口接收的分组交换到多个输出端口的分组交换节点。所述分组交换节点包括:对在分组交换节点接收的分组进行排队的多个输入队列;每个输入队列至少有两个队头寄存器,每个队头寄存器参考在相应输入队列中排队的相应队头分组;以及用于检验所述至少两个队头分组的检验装置,所述至少两个队头分组由所述至少两个队头寄存器在选择通过相应空闲目的输出端口传输的分组时参考。
根据本发明的另一方面,提供将接收的分组排列到输入队列的方法。一旦分组在相应的输入队列中排队,多个队头寄存器就被更新,以依次指向相应的队头队列入口。
根据本发明的另一方面,提供将分组交换节点上接收的分组进行排队的方法。该方法包括以下步骤:将分组加入到输入队列;检验多个队头寄存器,以依次查找不参考分组的队头寄存器;并且在第一次发现的没有参考分组的队头寄存器时存储分组参考信息。
根据本发明的另一方面,提供通过分组交换节点的多个输出端口转发在多个输入队列中排队的分组的方法。该方法包括在验证相应空闲目的输出端口对应的排队分组时,检验在每个输入队列中排队的多个队头分组。
根据本发明的另一方面,提供从队列中取出所选的通过空闲输出端口转发的分组的方法。在从队列中移出该分组时,至少一个队头寄存器被更新以将顺序参考再存入至少一个剩余的队头队列入口。
根据本发明的另一方面,提供在分组交换节点上的输入队列中取出排队的分组用于处理的方法。该方法包括以下步骤:确定第一目的输出端口是否空闲,在输入队列中排队的第一队头分组要通过所述第一目的输出端口转发;如果要通过其转发在输入队中排队的第一队头分组的第一目的输出端口空闲,则将该分组分配至第一目的输出端口以通过其转发,且从输入队列中移出所述分组;如果要通过其转发在输入队列中排队的第一队头分组的第一目的输出端口被占用,则确定第二目的输出端口是否空闲,在输入队列中第一队头分组之后排队的随后的队头分组要通过所述第二目的输出端口进行转发;且如果将要通过其转发随后的队头分组的第二目的输出端口空闲,则将所述随后的分组分配至第二目的输出端口以通过其转发,并且从输入队列中移出所述随后的分组。
优点来自于减少服务周期内输出端口保持空闲的可能性,同时增加了服务输入队列的可能性,由此在减轻争用的有害结果和增加分组吞吐量的过程中降低了阻塞的可能性。与此同时,提出的交换结构提供了对输入排队结构的显著改进,所提出的结构比普通的虚拟输出排队(VOQ)结构简单得多,从而在简单的输入排队技术上提供了显著的性能增益。
附图说明
本发明的特征和优点通过下面结合附图对示例性实施例的详细描述将变得更明显,其中:
图1是示出现有技术的排队延迟随分组吞吐量和分组吞吐量饱和变化的原理图;
图2是示出根据本发明的示例性实施例,排队延迟与分组吞吐量随着队头分组的数量变化的原理图,所述队头分组在考虑通过空闲输出端口转发的输入队列中排队;
图3是示出根据本发明的示例性实施例的输入排队交换节点结构的原理图,所述输入排队交换节点具有考虑在输入端口中排队的多个队头分组通过空闲输出端口转发的交换模式;
图4是示出根据本发明的示例性实施例,在对接收分组进行排队时所执行的处理步骤的流程图;
图5是示出根据本发明的示例性实施例,从输入队列中取出分组时所执行的处理步骤的流程图;以及
图6是示出根据本发明的示例性实施例的交换节点的交换模块的原理图,所述交换节点考虑在输入队列中排队的多个队头分组用于根据两个示例性的输入队列服务规则匹配空闲输出端口。
应当注意的是,附图中相似的特征具有类似的标记。
具体实施方式
回到典型的先进先出(FIFO)输入排队分组交换节点结构,每个输入端口具有单独的FIFO输入队列,并且特别的回到对于58.58%分组吞吐量上经历队列饱和的原因;应当认识到:输出端口争用导致对随后检验的队列的服务延迟至随后的队列服务周期而不顾在队头分组之后排队的发往空闲输出端口的其它分组存在的可能性!
所以根据本发明的示例性实施例,分组交换节点的交换功能在选择用于通过空闲输出端口转发的分组时根据本发明示例性实施例进行操作,同样考虑在输入队列中紧接着排在队头分组之后的分组,由于输出端口争用,从所述输入队列中不选择分组进行转发。
图2示出分组吞吐量饱和随着在输入队列中排队的队头分组的数量的理论上的变化,在选择分组用于通过空闲输出端口转发时要考虑所述输入队列,假定分组业务量由小分组构成,所述小分组等可能地要求通过分组交换节点的每个输出端口转发。特别需要注意,通过考虑在输入队列中排队的两个队头分组与空闲输出端口相匹配,应使饱和不接近大约76%分组吞吐量。通过考虑在输入队列中排队的四个队头分组与空闲输出端口相匹配,应使饱和不接近大约85%的分组吞吐量。
根据本发明的示例性的实施例的示例性实施具有图3表示的示例性结构的,交换模块考虑输入端口队列中排队的多个队头分组与空闲输出端口匹配。
示例性的分组交换节点100,具有多个输入端口102,服务于多个通信链路(未标出)。与每个输入端口102相关的是至少一个输入队列106。在分组交换节点100接受输入分组,所述分组交换节点100受制于示例性的中央存储器110内的可用存储资源。通过当前占用寄存器112监视中央存储器110的占用,其值为:由每个已接受的接收分组的长度增加,由通过输出端口108传输的每个单播分组的长度减少,并且在通过所有相应目的输出端口108传输分组之后由每个多播分组的长度减少一次。同样,与中央存储器110相关的是指定中央存储器110大小的最大尺寸寄存器114。本发明不限于所描述的中央存储器110且同样适用于其它分组存储装置。
可以使用输入队列106的不同实现而不限制本发明。实际接收的分组存储在中央存储器110中,其典型地包括随机存取存储器,无论什么情况下存储空间都是可用的且没有必要采用有序的方式。为了提取实际上可以是固定或可变的分组长度,如图3所示的示例性的实施方式将FIFO队列106作为分组描述符118的连接列表116来使用。这里,出于表达相关规则的目的,分组描述符118是具有分组存储地址寄存器120、目的端口(DP)寄存器122以及下一个描述符寄存器124的数据结构。所述分组存储地址寄存器120指定了在中央存储器110里存储相应接收分组的起始存储地址、所述目的端口(DP)寄存器122指定至少一个确定的目的输出端口108,分组将通过其转发,所述下一个描述符寄存器124指定在连接列表116中随后的分组描述符数据结构118的存储地址。目的端口寄存器122的执行是变化的且包括位寄存器,其中所述寄存器的位对应于输出端口,而不限制本发明。根据分组交换节点结构,逻辑输出端口可以通过目的端口寄存器122指定,这样的情况是,例如关于逆多路复用的应用。逻辑输出端口可以对回送端口被保留。
队列入口分组描述符118是:当接受每个接收分组时产生;存储在可用的存储单元例如但不限制于高速缓冲存储器;并且当分组被转发时被移出。如果指向分组的分组描述符118是连接列表116中的元素则称该分组在输入队列106中被排入队列。应当理解,图3所示的连接列表116中的分组描述符118的有序表述只是代表性的,因为分组描述符本身存储在不同的存储单元,典型地存储在随机存取存储器高速缓存中;在下一个描述符寄存器124中存储的值指向与连接列表中朝向随后的描述符118的输入队列106相互作用的各种过程,且因此指向随后的排队分组。
与每个输入队列106相关的是末尾描述符寄存器130,其指定对应于末尾的排队分组的末尾描述符118的存储地址。所述末尾描述符寄存器130这里也可以称为队尾指针/寄存器,原因是其指向描述符118的连接列表116最后的元素。
根据图3所示的本发明示例性实施例的示例性实施方式,三个队头描述符寄存器132/134/136与每个输入队列106相关。队头分组描述符118按需生成并且存储在高速缓冲存储器或中央存储器110中的不同存储器存储单元,队头描述符寄存器132/134/136的使用表示交换功能140已知的用于检验队头分组描述符118的存储单元。为简单起见,假设三个队头描述符寄存器和末尾描述符寄存器具有连续的指定队头描述符寄存器132/134/136的顺序的存储地址。最初所有四个描述符寄存器130、132、134和136都设置成表示相应的输入队列106为空的NULL。
操作中,通过对分组进行排队的分组接收过程以及使分组出队的队列服务过程存取每个输入队列106。
根据本发明的示例性实施例,简化的示例性分组接收过程200如图4所示。分组接收逻辑等待分组的到达(202)。如果传送的分组是可变长度,则在分组头被接收时检验分组头,来获得分组的长度(204)。发送请求(206)到中央存储器110让存储器存储正在接收的分组。如果传送可变长度分组,则请求(206)也包括该分组的长度。
如果当前占用寄存器112(Coccup.)的值和分组的长度之和大于最大占用寄存器114的值,则中央存储器110通知分组接收逻辑可用的存储空间不足(208)并丢弃该分组(210)。
如果存储可用(208),则中央存储器110提供要存储该分组的起始存储地址,并且分组接收逻辑使用本公开范围之外的特殊用途的装置,开始在提供的存储器存储地址存储分组。
得知将存储分组的起始存储地址,分组接收逻辑生成输入队列入口(212)-分组描述符118-并将分组存储地址寄存器120的值设置为中央存储器110提供的起始存储地址。用于指向下一个队列入口的下一个描述符地址寄存器124设置为NULL(214)。
已经生成分组描述符队列入口118,且已经中央存储器110中至少已经存储了分组头,搜索引擎逻辑(未示出)被调用,典型地与分组接收过程200并行操作,以对分组确定至少一个目的输出端口108。搜索引擎的操作在别处描述。
分组排队,具体地说,分组描述符排队步骤包括:
-确定输入队列106是否为空(216),由队尾指针130指向零来表示空;
-如果队列为空,则第一队头寄存器132的值被设置为生成的分组描述符的地址(218);且
-最后的描述符寄存器130的值(队尾指针)也被设置为生成的分组描述符118的存储地址(220)。
队尾指针和第一队头分组寄存器都指向接收分组。
如果队尾指针130没有指向NULL,也就是说,如果队列106非空,则生成的描述符118的存储器存储地址被写到由队尾指针130指定的队列106内的末尾分组描述符118的描述符地址寄存器124中(222),此外也被写到队尾指针寄存器130(220)。这构成了对接收的分组进行排队的过程。
根据本发明示例性实施例的示例性实施,如果输入队列106的排队分组超过一个,则依次检验队头寄存器134和136(224)。一旦发现队头寄存器132/134指向NULL,则生成的分组描述符的地址被写到其上(226)。
因此,根据本发明的示例性实施,由典型地与每个输入端口102相关的逻辑以分布式模式执行输入队列106内的分组排队。本发明不局限于分布式的分组入队,设想使用可能与分组分类和/或搜索功能相关的集中式分组入队逻辑的实施方式。
以下描述假设典型地与分组入队过程200并行操作的搜索功能,当分组排队过程完成时,完成至少一个输出端口108的确定,分组将通过所述输出端口108转发。要注意的是,在分组入队过程200的执行期间和生成队列入口(212)之后的任何时刻,确定的输出端口的说明可以被写入生成的队列入口的目的端口寄存器122中。可选地,分组入队过程200在完成输出端口的确定之后才可以执行。当分组被存储在中央存储器110内时,交换功能140与之并行操作;分组入队,更确切地说分组描述符118的排队和由搜索功能对输出端口的确定可以在接收到完整的分组之前完成。这样的操作尤其适用于长分组。下面的描述没有假设接收完整的分组。
根据本发明示例性实施例的示例性实施,在每个服务周期内,交换功能140考虑三个在每个输入队列106中排队的队头分组,试图将排队的分组和空闲输出端口108匹配。
本发明没有限制于考虑在服务周期内在每个输入队列106中排队三个队头分组。考虑的分组数量留给设计选择:考虑的队头分组数量越少,提出的结构的实施就越简单,且分组吞吐量饱和的阈值就越低;然而,考虑的队头分组越多,分组吞吐量饱和就越高。鉴于通过考虑如图2所示的四个队头分组理论上可以获得85%分组吞吐量饱和,因此当使用实质上比VOQ交换结构简单的新结构时,通过考虑数量相对小的队头分组就可以获得实质上的改进。
对于具有纵横制结构的交换节点,服务周期应理解为由交换功能140在每个纵横制传输之间执行的处理,或者由公平交换功能在连续公平评估之间的服务窗口期间执行的处理。这里所描述的本发明实施例的示例性实施涉及示例性的纵横制交换节点结构(如图3和图6所示),而本发明并不限制于此。
交换功能140优选地与分组接收、搜索功能和分组排队过程200并行执行。根据本发明示例性实施例的示例性实施,通过分组入队过程200和图5所示的示例性分组出队过程300之间的最低限度的交互作用就能够进行这样的分离和并行操作。
根据本发明的示例性实施例,交换功能140和每个输入队列106之间的交互作用通过队头寄存器132/134/136来执行,并且限于确定队头寄存器132/134/136指定的(指向的)分组描述符118以及获得描述符118中指定的(122)目的输出端口。根据本发明的示例性实施例的示例性实施,由交换功能140在服务周期内,针对多个队头描述符118中的一个所指定的分组,轮询每个输入队列106,以确定该分组是否去往空闲输出端口108。
根据本发明的示例性实施例,交换功能140对分组轮询(306)执行分组出队过程300的逻辑以通过空闲输出端口108转发。参考单独的输入队列106来描述图5所示的流程图。然而,可以设想本发明的集中式实施,其中分组出队过程300的步骤考虑输入队列标识符并且交换功能140用输入队列标识符开始其轮询。实施方式也被设想为交换功能140自身执行分组出队过程300。
根据本发明示例性实施例的示例性实施,分组出队逻辑从上一次纵横传送开始跟踪队列检验的数量(QInspec’n),以及输入队列106从上一次纵横传送(cross-bar transfer)开始是否受到服务。启动时,QInspec’n寄存器(QI 144)的值被设置为零(302)且Qserviced寄存器(QS 142)的布尔值被设置为逻辑“FALSE”(304)。设想这样的实施方式:其中,每个输入端口队列轮询请求提供自上次轮询请求开始纵横传送是否被执行的指示。也可以设想这样的实施方式:其中输入端口队列轮询请求并且纵横传送执行通告分别发送到分组出队逻辑。应当理解,对于不包括纵横制的交换节点结构,信号被提供给表示每个服务周期起始的分组出队逻辑。
如果自上一次输入队列轮询请求(306)之后执行了纵横制传送(308),则出队过程300响应于每个输入队列轮询请求(306),分别重置QI 144和QS 142寄存器(302/304)。对于每个输入队列轮询请求(306),如果输入队列106未被服务(310),且具有至少一个队列入口(309),则出队逻辑确定队头队列入口描述符118中指定122的目的端口是否空闲(312),所述队头分组描述符118由队头寄存器132/134/136中一个参考。在处理每个轮询请求(306)时,Qinspec’n寄存器144的值用于依次选择每个队头寄存器132/134/136。
如果目的输出端口108不空闲(312),则QInspec’n寄存器144的值增加(314),且出队逻辑等待另一个输入端口队列轮询请求(306)。
如果目的输出端口108空闲(312),则交换功能140分配描述符118给输出端口108(316)并且称该分组与输出端口108匹配。交换功能140自由服务于遵循以下描述的服务规则的其它输入队列106。QServiced寄存器142被设置成逻辑“TRUE”(318)。如果QTail寄存器130指定分配的描述符118的地址(320),描述符118是描述符列表116中的最后一个,且必须以直接居前的描述符地址更新队尾寄存器130(320),这是先前的队头寄存器所保持的值。应当理解,如果输入端口队列106只有分配给空闲输出端口108的一个描述符118,将QTail寄存器130设置为根据在队头寄存器132之前的队头寄存器指定的值,设定QTail寄存器130为NULL表示输入端口队列106现在为空。
其它地方描述的分组转发处理,采用分组描述符118中指定的信息来存取存储在中央存储器110中的分组。为了更确定,根据描述的交换节点结构,存在分组被分配给目的输出端口108的可能性,且开始通过那里转发,同时分组仍然被接收。相反地,执行和应用需求可以请求在每个分组交换节点检测分组的完整性。对于这样的实施,分组将必须被完整接收且分组完整性测试必须对其执行。对于长分组,在中央存储器110中独立的相邻大量存储可能不可用。这样的长分组将被分割且每个分组段具有相关的分组段描述符。同时提供将分组段描述符串在一起的装置。
一旦转发单播分组,或者通过所有目的端口转发多播分组之后,分组转发处理也采用必要的步骤来释放中央存储器110内的存储空间。分组转发处理也采用必要的步骤来释放分组描述符118使用的内存。
回到出队过程300的操作,根据本发明的示例性实施例,必须更新队头寄存器132/134/136来正确地参考剩余队头分组描述符118,同时匹配的分组描述符118从连接列表116中移出。出队过程300的步骤322至330示出了过程循环,其中受制于QInspec’n寄存器144的值,队列106中从后往前的每个队头寄存器被设置成下一个描述符地址值,队列106以QInspec’n寄存器的值所指定的队头寄存器结束,下一个描述符地址值由该特定队头寄存器指向的描述符118的下一个描述符寄存器124来指定。应当理解,如果队头寄存器指向NULL描述符,则NULL描述符的下一个描述符寄存器的下一个描述符值为NULL。
一旦将分组分配到输出端口108,在队列106中所有在后面排队的分组/描述符118必须“前进”。在执行输入端口队列106时的连接列表116的使用大大简化了“前进”的操作:在匹配的分组描述符118前面的描述符118的下一个描述符说明124,必须修改为指向在匹配的分组描述符118后面的描述符118,也就是说,匹配的分组描述符118从连接列表116中移出且剩余的连接列表116必须被缝合(330)。
需要指出,图5中所示的出队过程300的示例性实施例响应于输入队列轮询(306)。交换功能140根据交换功能140轮询(306)每个输入队列106实施队列服务规则。典型地,队列服务规则试图:增强服务公平性,来区分特殊的分组业务量的优先次序等。队列服务是当前研究和发展的课题,具有别处所描述的最新成果。图6示出交换功能140根据两个示例性的队列服务规则来操作:队列服务规则402优先考虑服务每个输入队列,通过试图在每个服务周期内从每个输入端口102传送分组来加强公平性,相反队列服务规则404优先服务在每个输入队列106中最先排队的分组。根据本发明的示例性实施例,队列服务规则402依次检验所有的队头描述符118,试图服务每个输入队列106。根据本发明的示例性实施例,队列服务规则404在检验所有输入队列106的所有队头寄存器134之前检验所有输入队列106的所有队头寄存器132。本发明不限于所示的示例性队列服务规则402和404,可以根据队列服务是针对特定应用而设计的这一原则来设想实施方式。虽然示例性的队列服务规则402和404以有序的方式检验队头描述符118,但是可以设想以随意的方式检验队头描述符118。
为了更确定,对于由根据本发明的示例性实施操作的交换节点转发的分组,要维持分组次序。原因是:只有当另一个分组之后排队的分组要发往不同的输出端口108时,才能选择该分组用于越过不能通过占用的输出端口108转发的较早分组来转发,且因此形成了不同的分组流组。
虽然分组分类仅仅在传输时被提及,应当理解,本发明也应用于在一群输入队列106与至少一个输入端口102相关的情况。与至少一个输入端口102相关的一群输入队列中的每个输入队列106符合下列之一:服务等级层队列、服务类型层队列、服务质量层队列、虚拟局域网标识队列等。接收的分组与群中对应的输入对列106相关,所述群由分组分类器(未示出)确定。分组分类器根据下列之一对接收的分组进行分类:服务等级、服务类型、服务质量,以及虚拟局域网标识。另外,根据这样的实施方式,交换功能140将根据考虑到多个输入队列106与每个输入端口102相关的事实的队列服务规则来操作。
可以设想这样的实施方式,其中输入队列106与多个输入端口102相关,这种情况典型地用于逆多路复用中。
根据本发明的示例性实施例,对输入队列106提供机会使其在服务周期内受到服务,尽管事实是因为争用使队列106中排队的队头分组不能被转发。所提出的分组交换节点结构基于简单的输入排队交换结构,所述结构经修改使得交换节点的交换功能140考虑若干在输入队列中排队的队头分组。在当前的描述中,大量参考了输入端口队列,本发明不限于输入端口队列且能够应用于普通的输入队列。可以设想这样的实施方式:接收的分组在输入端口队列中排队,分组分类器从中将分组分类成输入队列,这根据本发明实施例进行操作。
根据本发明的示例性实施例,分组交换节点的吞吐量性能服从于复杂性/吞吐量折衷判定,从而对应用需求提供可调节的分组交换节点结构。通过改变被当作经过输出端口转发的候选者的队头分组数量,能改变限定的分组饱和吞吐量。并且,通过考虑四个在输入队列中排队的队头分组,理论上分组吞吐量饱和阈值被保持在不超过大约85%的分组吞吐量。相反地,通过考虑足够数量的队头队列分组,提出的分组交换性能可以在更低成本和复杂度上接近VOQ交换的性能。
通过以循环的方式检验输入队列,或者从最早接收的到最新接收的来检验队头分组,在使用最简单的可能的仲裁算法(队列服务规则)时记录上述结果。通过使用更多有效的仲裁算法,甚至可以期望更高的分组吞吐量性能。
提出的实施例只是示例性的,并且本领域的技术人员可以意识到,在不背离本发明精神的前提下可对上述实施例作出不同的变化。本发明的范围完全由所附权利要求确定。
Claims (18)
1.一种用于将通过多个输入端口接收的分组交换到多个输出端口的分组交换节点,所述分组交换节点包括:
a.用于对所述分组交换节点上接收的分组进行排队的多个输入队列;
b.每个输入队列具有至少两个队头寄存器,每个队头寄存器参考在所述相应输入队列中排队的相应队头分组;以及
c.用于检验至少两个队头分组的检验装置,所述至少两个队头分组是在选择分组以通过相应空闲目的输出端口传送时,由所述至少两个队头寄存器参考的。
2.根据权利要求1的分组交换节点,还包括跟踪服务周期内输入队列被检验次数的队列检验寄存器,所述队列检验寄存器的值用于依次存取所述至少两个队头寄存器。
3.根据权利要求2的分组交换节点,还包括在每个服务周期内指定在所述输入队列中排队的分组是否与相应的目的输出端口匹配的队列服务寄存器,在服务输入队列之后的服务周期内,对输入队列关于分组与空闲端口匹配的检验被取消。
4.根据权利要求1的分组交换节点,每个输入队列是下列之一:与单独的输入端口相关的输入队列;与多个输入端口子群相关的输入队列;一群输入队列中的一个,所述一群输入队列和至少一个输入端口相关。
5.根据权利要求4的分组交换节点,其中所述分组交换节点具有和所述至少一个输入端口相关的所述一群输入队列,所述分组交换节点还包括用于对在所述一群输入队列之一中接收的分组进行分类的分组分类器。
6.根据权利要求5的分组交换节点,其中与所述至少一个输入端口相关的所述一群输入队列中的每个输入队列对应于下列之一:服务等级层队列、服务类型层队列、服务质量层队列以及虚拟局域网标识层队列;分组分类器根据下列之一对在所述分组交换节点接收的分组进行分类:服务等级、服务类型、服务质量以及虚拟局域网标识。
7.根据权利要求1的分组交换节点,还包括分组交换装置和输入队列服务排序装置,所述检验装置响应于所述分组交换装置。
8.根据权利要求1的分组交换节点,还包括用于跟踪在所述分组交换节点接收的相应分组的分组描述符。
9.根据权利要求8的分组交换节点,还包括:
a.用于存储接收分组的存储器;以及
b.每个分组描述符还包括起始存储器地址寄存器,用于指定所述存储器地址,未决处理期间所述相应分组存储在所述存储器中。
10.根据权利要求9的分组交换节点,还包括:
a.用于确定至少一个输出端口的搜索引擎,所述输出端口用于通过其转发至少一个接收分组;以及
b.每个分组描述符还包括用于指定至少一个输出端口的目的输出端口寄存器,所述输出端口用于通过其转发所述相应分组。
11.根据权利要求10的分组交换节点,其中所述目的输出端口寄存器具有位表示,其中每一位对应于从以下选择的目的输出端口:物理输出端口、与所述多个输出端口的子群相关的逻辑输出端口,以及逻辑回送端口。
12.根据权利要求10的分组交换节点,其中每个输入队列由描述符排序列表定义,每个描述符还包括下一个分组描述符寄存器用于指定分组描述符参考,每个队头寄存器指定参考相应队头分组描述符。
13.一种对在分组交换节点接收的分组进行排队的方法,所述方法包括:
a.加入分组至输入队列;
b.依次检验多个队头寄存器以查找不参考分组的队头寄存器;并且
c.存储第一个发现的不参考分组的队头寄存器的分组参考信息。
14.根据权利要求13的方法,其中在所述分组交换节点上参考相应分组未决处理时使用分组描述符,所述方法包括:
a.将对应于每个接收分组的分组描述符加入所述输入队列;
b.依次检验多个队头寄存器以查找不参考有效分组描述符的队头寄存器;并且
c.设置所述第一个发现的不参考有效分组描述符的队头寄存器的值以参考加入到所述输入队列的所述分组描述符。
15.一种通过分组交换节点的多个输出端口转发在多个输入队列中排队的分组的方法,所述方法包括在验证排队的分组对应的目的输出端口是否空闲时,检验多个在每个输入队列中排队的队头分组。
16.一种使在分组交换节点上的输入队列中排队等候处理的分组出队的方法,所述方法包括:
a.确定第一目的输出端口是否空闲,在所述输入队列中排队的第一队头分组要通过所述第一目的输出端口转发;
b.如果要通过其转发在输入队列中排队的所述第一队头分组的所述第一目的输出端口空闲,则分配所述分组至第一目的输出端口以通过其转发,且从所述输入队列中移出所述分组;
c.如果要通过其转发在输入队列中排队的所述第一队头分组的所述第一目的输出端口队头是被占用的,则确定第二目的输出端口是否空闲,在所述输入队列中所述第一队头分组之后排队的随后的队头分组要通过所述第二目的输出端口进行转发;以及
d.如果将要通过其转发的所述随后的队头分组所述第二目的输出端口空闲,则分配所述随后的分组至所述第二目的输出端口以通过其转发,并且从所述输入队列中移出所述随后的分组。
17.根据权利要求16的方法,其中每个关于目的输出端口是否空闲的确定响应于服务请求来执行,所述方法还包括:
a.在输入队列服务周期内跟踪接收的所述服务请求的数量;且
b.选择队头分组用于依据在每个服务周期内接收的所述队列服务请求的累积数量来匹配相应的目的输出端口。
18.根据权利要求16的方法,其中通过参考在输入队列中排队的相应的队头分组的多个队头寄存器来存取队头分组,所述方法还包括之后更新对队头寄存器中指定的队头分组的参考,且包括与相应的空闲目的输出端口匹配的所述队头分组相应的所述队头寄存器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/983,732 US20060098673A1 (en) | 2004-11-09 | 2004-11-09 | Input queue packet switch architecture and queue service discipline |
US10/983,732 | 2004-11-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1791069A true CN1791069A (zh) | 2006-06-21 |
Family
ID=35568232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510137315.1A Pending CN1791069A (zh) | 2004-11-09 | 2005-11-09 | 输入排队分组交换结构及队列服务规则 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060098673A1 (zh) |
EP (1) | EP1655913A1 (zh) |
CN (1) | CN1791069A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101485152B (zh) * | 2006-10-06 | 2011-07-20 | 美国博通公司 | 用于高性能捆绑重排序的方法、系统及计算机程序产品 |
CN105706043A (zh) * | 2013-11-05 | 2016-06-22 | 思科技术公司 | 推进式链接的列表吞吐量 |
CN105812153A (zh) * | 2015-01-15 | 2016-07-27 | 联发科技股份有限公司 | 用于访问跨平台服务的通信系统及方法 |
CN112953854A (zh) * | 2019-12-10 | 2021-06-11 | 瞻博网络公司 | 用于交换网络流量的设备和方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070201497A1 (en) * | 2006-02-27 | 2007-08-30 | International Business Machines Corporation | Method and system for high-concurrency and reduced latency queue processing in networks |
US8418241B2 (en) * | 2006-11-14 | 2013-04-09 | Broadcom Corporation | Method and system for traffic engineering in secured networks |
GB2464310B (en) * | 2008-10-10 | 2012-10-17 | Micron Technology Inc | Switching device |
CN111865827B (zh) * | 2020-08-31 | 2023-10-27 | 上海兆芯集成电路股份有限公司 | 数据链路层设备及其组包方法 |
Family Cites Families (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4847749A (en) * | 1986-06-13 | 1989-07-11 | International Business Machines Corporation | Job interrupt at predetermined boundary for enhanced recovery |
US5218672A (en) * | 1990-01-19 | 1993-06-08 | Sony Corporation Of America | Offline editing system with user interface for controlling edit list generation |
EP0548240A1 (en) * | 1990-09-10 | 1993-06-30 | Lotus Development Corporation | Apparatus and method for reformattable spreadsheet |
US5848187A (en) * | 1991-11-18 | 1998-12-08 | Compaq Computer Corporation | Method and apparatus for entering and manipulating spreadsheet cell data |
US5371675A (en) * | 1992-06-03 | 1994-12-06 | Lotus Development Corporation | Spreadsheet program which implements alternative range references |
WO1994014115A2 (en) * | 1992-12-01 | 1994-06-23 | Microsoft Corporation | A method and system for in-place interaction with embedded objects |
WO1994027228A1 (en) * | 1993-05-10 | 1994-11-24 | Apple Computer, Inc. | System for automatically determining the status of contents added to a document |
US5630126A (en) * | 1994-12-13 | 1997-05-13 | International Business Machines Corp. | Systems and methods for integrating computations into compound documents |
JPH08278957A (ja) * | 1995-04-04 | 1996-10-22 | Fujitsu Ltd | 実行不可能解及び無限解の解析支援装置 |
AU734747B2 (en) * | 1996-01-31 | 2001-06-21 | Ipsilon Networks, Inc. | Improved method and apparatus for dynamically shifting between routing and switching packets in a transmission network |
WO1997029426A1 (fr) * | 1996-02-09 | 1997-08-14 | Sony Corporation | Processeur d'informations, procede de modification de noms de fichiers, et support d'enregistrement sur lequel un programme de changement de nom de fichier est enregistre |
US5995103A (en) * | 1996-05-10 | 1999-11-30 | Apple Computer, Inc. | Window grouping mechanism for creating, manipulating and displaying windows and window groups on a display screen of a computer system |
US6442172B1 (en) * | 1996-07-11 | 2002-08-27 | Alcatel Internetworking, Inc. | Input buffering and queue status-based output control for a digital traffic switch |
US6088708A (en) * | 1997-01-31 | 2000-07-11 | Microsoft Corporation | System and method for creating an online table from a layout of objects |
US5982370A (en) * | 1997-07-18 | 1999-11-09 | International Business Machines Corporation | Highlighting tool for search specification in a user interface of a computer system |
US6225996B1 (en) * | 1998-02-20 | 2001-05-01 | Corel Corporation | System and method for displaying a current value of a cell of a document |
AUPP473898A0 (en) * | 1998-07-20 | 1998-08-13 | Integrated Silicon Design Pty Ltd | Metal screened electronic labelling system |
US6360220B1 (en) * | 1998-08-04 | 2002-03-19 | Microsoft Corporation | Lock-free methods and systems for accessing and storing information in an indexed computer data structure having modifiable entries |
US6714517B1 (en) * | 1998-11-10 | 2004-03-30 | Extreme Networks | Method and apparatus for interconnection of packet switches with guaranteed bandwidth |
US6192367B1 (en) * | 1998-11-23 | 2001-02-20 | International Business Machines Corporation | Data file editor presenting semi-formatted view |
US6549878B1 (en) * | 1998-12-31 | 2003-04-15 | Microsoft Corporation | System and method for editing a spreadsheet via an improved editing and cell selection model |
US6480860B1 (en) * | 1999-02-11 | 2002-11-12 | International Business Machines Corporation | Tagged markup language interface with document type definition to access data in object oriented database |
JP3440991B2 (ja) * | 1999-03-05 | 2003-08-25 | 日本電気株式会社 | ファイルリビジョン管理システム |
US6470349B1 (en) * | 1999-03-11 | 2002-10-22 | Browz, Inc. | Server-side scripting language and programming tool |
US6631497B1 (en) * | 1999-07-19 | 2003-10-07 | International Business Machines Corporation | Binding data from data source to cells in a spreadsheet |
US6356906B1 (en) * | 1999-07-26 | 2002-03-12 | Microsoft Corporation | Standard database queries within standard request-response protocols |
US6560620B1 (en) * | 1999-08-03 | 2003-05-06 | Aplix Research, Inc. | Hierarchical document comparison system and method |
US6549922B1 (en) * | 1999-10-01 | 2003-04-15 | Alok Srivastava | System for collecting, transforming and managing media metadata |
US6721727B2 (en) * | 1999-12-02 | 2004-04-13 | International Business Machines Corporation | XML documents stored as column data |
US6523042B2 (en) * | 2000-01-07 | 2003-02-18 | Accenture Llp | System and method for translating to and from hierarchical information systems |
US6771286B2 (en) * | 2000-02-02 | 2004-08-03 | Edutainment, Inc. | Method and apparatus for converting text files into hierarchical charts as a learning aid |
US6584469B1 (en) * | 2000-03-16 | 2003-06-24 | International Business Machines Corporation | Automatically initiating a knowledge portal query from within a displayed document |
JP2001265481A (ja) * | 2000-03-21 | 2001-09-28 | Nec Corp | ページ情報表示方法及び装置並びにページ情報表示用プログラムを記憶した記憶媒体 |
US6934712B2 (en) * | 2000-03-21 | 2005-08-23 | International Business Machines Corporation | Tagging XML query results over relational DBMSs |
US6963875B2 (en) * | 2000-03-23 | 2005-11-08 | General Atomics | Persistent archives |
US7702995B2 (en) * | 2000-04-24 | 2010-04-20 | TVWorks, LLC. | Method and system for transforming content for execution on multiple platforms |
EP1290575B1 (en) * | 2000-05-16 | 2005-06-08 | O'Carroll, Garrett | A document processing system and method |
DE10121790B4 (de) * | 2000-06-03 | 2006-11-23 | International Business Machines Corp. | Softwarekonfigurationsverfahren zur Verwendung in einem Computersystem |
AU2001268199A1 (en) * | 2000-06-05 | 2001-12-17 | Altoweb Systems, Inc. | System and method for integrating multiple applications |
AU2001268194A1 (en) * | 2000-06-05 | 2001-12-17 | Altoweb Systems, Inc. | System and method for accessing, organizing, and presenting data |
US6853997B2 (en) * | 2000-06-29 | 2005-02-08 | Infoglide Corporation | System and method for sharing, mapping, transforming data between relational and hierarchical databases |
US6502101B1 (en) * | 2000-07-13 | 2002-12-31 | Microsoft Corporation | Converting a hierarchical data structure into a flat data structure |
US7024413B2 (en) * | 2000-07-26 | 2006-04-04 | International Business Machines Corporation | Method of externalizing legacy database in ASN.1-formatted data into XML format |
US7158528B2 (en) * | 2000-12-15 | 2007-01-02 | Agere Systems Inc. | Scheduler for a packet routing and switching system |
US20030189593A1 (en) * | 2001-01-05 | 2003-10-09 | Yarvin Curtis G. | Method and apparatus for dynamically updating a markup language based user interface |
US6631379B2 (en) * | 2001-01-31 | 2003-10-07 | International Business Machines Corporation | Parallel loading of markup language data files and documents into a computer database |
WO2002084959A1 (en) * | 2001-04-11 | 2002-10-24 | Chelsio Communications, Inc. | Non-blocking scalable switching fabric |
WO2002084957A2 (en) * | 2001-04-13 | 2002-10-24 | Motorola, Inc., A Corporation Of The State Of Delaware | Manipulating data streams in data stream processors |
US6968346B2 (en) * | 2001-04-23 | 2005-11-22 | International Business Machines Corporation | XML-based system and method for collaborative web-based design and verification of system-on-a-chip |
US6882996B2 (en) * | 2001-05-31 | 2005-04-19 | International Business Machines Corporation | System, method, and computer program product for reformatting non-XML data for use with internet based systems |
US6697818B2 (en) * | 2001-06-14 | 2004-02-24 | International Business Machines Corporation | Methods and apparatus for constructing and implementing a universal extension module for processing objects in a database |
US7283556B2 (en) * | 2001-07-31 | 2007-10-16 | Nishan Systems, Inc. | Method and system for managing time division multiplexing (TDM) timeslots in a network switch |
CN1537285A (zh) * | 2001-08-03 | 2004-10-13 | �ʼҷ����ֵ��ӹɷ�����˾ | 用于更新文档的方法和系统 |
US6731732B2 (en) * | 2001-09-05 | 2004-05-04 | International Business Machines Corporation | Method and apparatus for calendar based call control |
US7203927B2 (en) * | 2001-09-20 | 2007-04-10 | International Business Machines Corporation | SQL debugging using XML dataflows |
US6880014B2 (en) * | 2001-09-24 | 2005-04-12 | International Business Machines Corporation | Method and system of use of transcode directives for distributed control of transcoding servers |
US7154885B2 (en) * | 2001-12-31 | 2006-12-26 | Stmicroelectronics Ltd. | Apparatus for switching data in high-speed networks and method of operation |
JP4039484B2 (ja) * | 2002-02-28 | 2008-01-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | XPath評価方法、これを用いたXML文書処理システム及びプログラム |
US7191395B2 (en) * | 2002-03-12 | 2007-03-13 | International Business Machines Corporation | Method and system for stylesheet-centric editing |
US6832219B2 (en) * | 2002-03-18 | 2004-12-14 | International Business Machines Corporation | Method and system for storing and querying of markup based documents in a relational database |
US6978316B2 (en) * | 2002-03-27 | 2005-12-20 | International Business Machines Corporation | Messaging system and method with transcoder filtering of baseline message representations |
US8407326B2 (en) * | 2002-04-23 | 2013-03-26 | International Business Machines Corporation | Anchoring method for computing an XPath expression |
US7496599B2 (en) * | 2002-04-30 | 2009-02-24 | Microsoft Corporation | System and method for viewing relational data using a hierarchical schema |
US6822939B2 (en) * | 2002-05-20 | 2004-11-23 | Transwitch Corporation | Method and apparatus for guaranteeing a minimum cell rate (MCR) for asynchronous transfer mode (ATM) traffic queues |
US7281013B2 (en) * | 2002-06-03 | 2007-10-09 | Microsoft Corporation | Workload analysis tool for relational databases |
US20030229714A1 (en) * | 2002-06-05 | 2003-12-11 | Amplify.Net, Inc. | Bandwidth management traffic-shaping cell |
US7437664B2 (en) * | 2002-06-18 | 2008-10-14 | Microsoft Corporation | Comparing hierarchically-structured documents |
US7346598B2 (en) * | 2002-06-28 | 2008-03-18 | Microsoft Corporation | Schemaless dataflow within an XML storage solution |
US20040064430A1 (en) * | 2002-09-27 | 2004-04-01 | Klein Jonathan D. | Systems and methods for queuing data |
US7296017B2 (en) * | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7441011B2 (en) * | 2003-10-23 | 2008-10-21 | Microsoft Corporation | Truth on client persistent caching |
-
2004
- 2004-11-09 US US10/983,732 patent/US20060098673A1/en not_active Abandoned
-
2005
- 2005-11-04 EP EP05300889A patent/EP1655913A1/en not_active Withdrawn
- 2005-11-09 CN CN200510137315.1A patent/CN1791069A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101485152B (zh) * | 2006-10-06 | 2011-07-20 | 美国博通公司 | 用于高性能捆绑重排序的方法、系统及计算机程序产品 |
CN105706043A (zh) * | 2013-11-05 | 2016-06-22 | 思科技术公司 | 推进式链接的列表吞吐量 |
CN105812153A (zh) * | 2015-01-15 | 2016-07-27 | 联发科技股份有限公司 | 用于访问跨平台服务的通信系统及方法 |
CN112953854A (zh) * | 2019-12-10 | 2021-06-11 | 瞻博网络公司 | 用于交换网络流量的设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060098673A1 (en) | 2006-05-11 |
EP1655913A1 (en) | 2006-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1201532C (zh) | 具有中心调度程序的atm交换机及其调度方法 | |
CN1791069A (zh) | 输入排队分组交换结构及队列服务规则 | |
US6977935B2 (en) | Two-dimensional pipelined scheduling technique | |
US5440553A (en) | Output buffered packet switch with a flexible buffer management scheme | |
CN101341698B (zh) | 减少互连等待时间的方法和系统 | |
KR100812750B1 (ko) | 공유 메모리 스위치에서 풀 스타베이션을 감소시키는 장치및 방법 | |
US20170264571A1 (en) | Flexible buffer allocation in a network switch | |
CN1214168A (zh) | 有效的输出请求分组交换设备和方法 | |
US20030169753A1 (en) | Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost | |
US20030174721A1 (en) | Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost | |
US20070153796A1 (en) | Packet processing utilizing cached metadata to support forwarding and non-forwarding operations on parallel paths | |
US20080279195A1 (en) | Multi-plane cell switch fabric system | |
JP2002508126A (ja) | スイッチ・ネットワーク要素における共用メモリ管理 | |
US20030231588A1 (en) | Method and apparatus for multicast and unicast scheduling | |
CN102891809B (zh) | 多核网络设备报文按接口保序方法及系统 | |
US20030174708A1 (en) | High-speed memory having a modular structure | |
US20030174699A1 (en) | High-speed packet memory | |
Widjaja et al. | The helical switch: A multipath ATM switch which preserves cell sequence | |
CN1359241A (zh) | 用于分组交换机和无源光网络的分布式调度器 | |
CN1449160A (zh) | 用于包括无阻塞交换结构和线路卡接口的系统的包调度 | |
US20090141733A1 (en) | Algortihm and system for selecting acknowledgments from an array of collapsed voq's | |
US8520675B1 (en) | System and method for efficient packet replication | |
US20060221989A1 (en) | Method and system for accommodating several ethernet ports and a wrap transmitted flow handled by a simplifed frame-by-frame upper structure | |
JP2009130481A (ja) | 分散型スイッチファブリック | |
US10742558B1 (en) | Traffic manager resource sharing |
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 |
Open date: 20060621 |