CN1444812A - 减少共享存储器交换机中的存储池不足的方法和装置 - Google Patents
减少共享存储器交换机中的存储池不足的方法和装置 Download PDFInfo
- Publication number
- CN1444812A CN1444812A CN01813306A CN01813306A CN1444812A CN 1444812 A CN1444812 A CN 1444812A CN 01813306 A CN01813306 A CN 01813306A CN 01813306 A CN01813306 A CN 01813306A CN 1444812 A CN1444812 A CN 1444812A
- Authority
- CN
- China
- Prior art keywords
- storage pool
- buffering area
- shared storage
- freebuf
- storage
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- 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/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- 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/252—Store and forward routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种包括共享存储器中的缓冲区的预留存储池的交换机。该预留存储池预留为出口端口专用。所述交换机包括存储池选择逻辑,从预留存储池中选择用于存储从入口端口接收的、被转发到出口端口的数据的空闲缓冲区。共享存储器也包括缓冲区的共享存储池。该缓冲区的共享存储池由多个出口端口共享。当检测到预留存储池中不存在空闲缓冲区时,存储池选择逻辑在共享存储池中选出空闲缓冲区。该共享存储器也可以包括缓冲区的组播存储池。缓冲区的组播存储池由多个出口端口共享。当检测到从入口端口接收的IP组播数据分组时,存储池选择逻辑在组播存储池中选出空闲缓冲区。
Description
技术背景
网络交换机在入口端口接收数据分组并将数据分组转发到一个或多个出口端口。交换机根据包含在数据分组中的目的地址来确定数据分组要转发到的出口端口或端口。在将从入口端口接收的数据分组转发之前,将所述数据分组存储在交换机的存储器中。
交换机中的存储器可以是存储在转发数据分组之前的所有接收的数据分组的共享存储器。当接收的数据存储在共享存储器中时,数据分组指针,即,指示接收的数据在共享存储器中的位置的指针,被存储在一个或多个队列中。可以按照接收数据分组指针的入口端口或传输所述指针的出口端口来排列数据分组指针。输出缓冲交换机按照传输数据分组指针的出口端口排列数据分组指针。
共享存储器由所有的出口端口共享,以及随机给出口端口分配位置,以存储要被转发到出口端口的接收的数据分组。通过各个出口端口传输的分组的数量可以急剧地变化,致使在特定出口端口出现暂时的阻塞。如果通过同一个出口端口转发从多个入口端口接收的数据分组或者入口端口与出口端口之间的速度不匹配,例如,入口端口以每秒1千兆位的速度接收数据而出口端口以每秒100千兆位的速度传输数据,则暂时阻塞可能会在出口端口产生。
发明内容
共享存储器给阻塞的出口端口提供可以使用的更多的存储空间,但是可能占用所有的共享存储空间以供阻塞的出口端口存储数据使用,却没有给要转发到非阻塞的出口端口的存储数据留下可用的存储空间。这样会导致丢弃非阻塞的出口端口的数据分组。
根据本发明,提出一种包括共享存储器中的缓冲区的预留存储池的共享存储器交换机。预留缓冲器的预留存储池以供出口端口使用。该交换机包括存储池选择逻辑,所述存储池选择逻辑从预留存储池选择出空闲的缓冲区,以存储从入口端口接收的、要被转发到出口端口的数据。
共享存储器也包括缓冲区的共享存储池。缓冲区的共享存储池由多个出口端口共享。当检测到预留存储池中不存在空闲缓冲区时,存储池选择逻辑在共享存储池中选择出空闲的缓冲区。
共享存储器还包括缓冲区的组播存储池。该缓冲区的组播存储池由多个出口端口共享。当检测到从入口端口接收到的IP组播数据分组时,存储池选择逻辑选择组播存储池中的空闲缓冲区。
附图说明
正如附图所示,从对本发明优选实施例的特别说明中,本发明的上述和其它目的、特征和益处将会变得显而易见,其中相同的参考数字表示相同的部分。附图并不必然地构成对本发明原理的限制。
图1是共享存储器交换机的方框图;
图2是描述预留存储池、共享存储池和组播存储池的图1所示的共享存储器的方框图;
图3是图1所示的分组存储管理器中的存储池选择逻辑的方框图;
图4是图3所示的存储池计数器的方框图;
图5是描述用于选择图3所示的存储池计数器逻辑实现的存储池的步骤的流程图;
图6是描述用于将缓冲区返给图3所示的存储池计数器逻辑实现的存储池的步骤的流程图。
具体实施方式
下面将描述本发明的优选实施例。
图1是共享存储器交换机100。在将在入口端口102接收的所有数据转发到一个或多个出口端口1120-n之前,将所述数据存储在共享存储器108中。分组存储管理器106控制对共享存储器108进行的写和读存取。分组存储管理器106包括存储池选择逻辑124。存储池选择逻辑124将共享存储器108逻辑上分区为如图2所示的共享存储池、组播存储池和多个预留存储池。在共享存储器108中没有实际的物理分区。
存储池选择逻辑124通过选择存储池来管理各个存储池中的缓冲区,其中从所述存储池中分配缓冲区。如果分配的用于出口端口112的缓冲区的数量小于预留阈值数,从出口端口的预留存储池中分配缓冲区。随后结合图2描述存储池选择逻辑124。在1999年8月31日David A.Brown申请的申请序列号为09/386,589、名称为“用于交叉存取的非阻塞分组缓冲区的方法和装置(Method and Apparatus for an Interleaved Non-Blocking Packet Buffer)”的未授权美国专利申请中描述了对共享存储器108进行的读和写存取,这里引入它的全文以作为参考。
交换机100包括入口端口引擎104和出口端口引擎110。在入口端口102顺序地接收数据分组。入口端口引擎104检测并处理接收的数据分组中的报头,根据检测的报头来确定将数据分组转发到哪个出口端口1120- n,并且为数据分组产生转发向量114。转发向量114是具有对应于多个出口端口1120-n的各个端口位映射,表示是否将数据分组转发到那个出口端口1120-n。在1999年12月1日David A.Brown申请的申请序列号为09/453,344、名称为“用于线速IP组播转发的方法和装置(Method andApparatus for Wire-Speed IP Multicast Forwarding)”的未授权美国专利申请中描述了用来产生转发向量114的方法和装置,在这里引入上述示教性的整体以作为参考。转发向量114被转发到分组存储管理器106。
分组存储管理器106提供对共享存储器108进行读和写操作所用的共享存储器地址122,并在共享存储器108中存储各个数据分组的位置,所述数据分组存储在一个或多个出口端口队列(未示出)中。在2000年4月27日Richard M.Wyatt申请的申请序列号为09/559,190的、名称为“端口分组排队(Port Packet Queuing)”的未授权美国专利申请中描述了用于提供出口端口队列的方法和装置,在此引入上述的全部以作为参考。输出引擎110通过选择120选择出要传输数据分组的多个出口端口1120-n之一,并向选择的出口端口1120-n提供存储的数据分组。
共享存储器108存储从任意一个入口端口102接收的、用于传输到任意一个出口端口1120-n的数据分组。交换机100提供由入口端口引擎104对在入口端口102接收的数据分组进行处理和由用于在出口端口1120-n上进行转发的出口端口引擎110对存储的数据分组进行处理的并行处理。
当在一个入口端口102上连续地接收数据分组时,该连续数据可能被分组为数据段。各个数据段存储在共享存储器103的缓冲区中。因此,缓冲区的大小取决于数据段的大小。数据段的大小取决于交换机100所支持的网络协议。例如,对于以太网协议,为数据段选择的大小是64字节,因为对于以太网数据分组来说最小的数据分组的大小是64字节。
如果数据分组是IP组播数据分组,入口端口引擎104也依据包含在接收的数据分组中的报头进行判断。交换机100向IP组播组的每个成员转发IP组播数据分组的拷贝。数据分组的单个拷贝被存储在具有组播转发索引(“MFI”)的共享存储器108中,正如作为参考而整体引入的1999年12月1日David A.Brown申请的申请序列号为09/453,344、名称为“用于线速IP组播转发的方法和装置(Method and Apparatus for Wire-Speed IP Multicast Forwarding)”的未授权美国专利申请中所述。IP组播组的成员可以与同一个出口端口112连接,或者与一个以上的出口端口112连接。IP组播数据分组的多份拷贝被转发到出口端口112,每一份拷贝用于和出口端口112连接的IP组播组的成员。如果接收的数据分组是IP组播数据分组,则入口端口引擎104转发组播标签126和转发向量114,以表示接收的数据分组是IP组播数据分组。组播标签126表示接收的数据分组是否是IP组播数据。如果接收的数据分组是IP组播数据分组,则可以将一位设置为‘1’来实现组播标签126。
图2是图1所示的、逻辑分区为共享存储池200、组播存储池204和多个预留存储池2020-202n的共享存储器108的方框图。预留存储池2020-202n是为各个出口端口1120-n设置的。缓冲区的预留阈值数值被分配给各个预留存储池2020-202n。缓冲区的预留阈值数值可能仅仅分配给各个出口端口112,以用来存储存储数据分组。使用共享存储池200以用于存储被转发到任一个出口端口1120-n的数据分组。使用组播存储池204以用于存储被转发到任一个出口端口1120-n的IP组播数据分组。
当分配的缓冲区的数值低于阈值数值时,从出口端口预留存储池2020-n中分配缓冲区。如果预留的可分配缓冲区的数值已经超过了阈值数值时,从共享存储池200中分配缓冲区。仅能够从和出口端口1120-n相关的各个预留存储池2020-202n中为数据分组分配缓冲区。因此,即使共享存储池200内的所有缓冲区被分配给一个阻塞的出口端口1120-n,用于从非阻塞端口的各个预留存储池2020-202n给非阻塞的端口分配的缓冲区是可以利用的。
如果数据分组是IP组播数据分组,数据分组被存储在共享存储器108中,以及存储的数据分组的拷贝被转发到IP组播组的成员。IP组播数据分组被存储在共享存储器108中,直到已经将IP组播数据分组转发到IP组播组的各个成员。
由于可以将存储的组播数据分组转发到一个以上的出口端口112,所以很难选择出这种端口预留存储池202:从该预留存储池202可以分配用于存储IP组播数据分组的缓冲区。而且,如果没有保留用于IP组播数据分组的独立的数值,当从队列中除去IP多址数据分组时,就不能判断该分组来自预留存储池202还是共享存储池200,因为在预留存储池中可能并没有为最后IP组播数据分组转发到的出口端口分配缓冲区。使用用于存储IP组播数据分组的独立存储池使得交换机100可以限制用于存储IP组播数据分组所消耗的缓冲区资源的数量。因此,使用组播存储池204以便存储组播数据分组。
图3是图1所示的分组存储管理器106中的存储池选择逻辑124的方框图。存储池选择逻辑124包括存储池计数器300和存储池计数器逻辑302。存储池计数器300包括用于共享存储器108的每个存储池200、2020-202n、204的计数器。计数器状态304被转发到存储池计数器逻辑302。
存储池计数器逻辑302选择出存储池200、2020-202n或204,并根据计数器状态304,和用于存储在共享存储器108的接收的数据分组的转发向量114和组播标签126从所述存储池200、2020-202n或204中分配缓冲区。在选择了存储池200、2020-202n或204之后,存储池计数器逻辑302产生计数器递增-递减306,以增加或减少存储池计数器300的各个计数器。存储池计数器逻辑302也产生缓冲区可用(buffer available)308。缓冲区可用308的状态表示在共享存储器108中用于存储接收的非组播数据分组的缓冲区是否可用。如果在共享存储池200或在端口预留存储池202中没有非组播数据分组可用的缓冲区,或者在组播存储池204中没有组播数据分组可用的缓冲区,则丢弃接收的数据分组。
如果存储了要被转发到出口端口的接收数据的缓冲区是可用的,则从共享存储器108的缓冲区空闲表中分配缓冲区,这正如作为参考而整体引入的1999年8月31日David A.Brown申请的申请序列号为09/386,589、名称为“用于交叉存取的非阻塞分组缓冲区的方法和装置(Method andApparatus for an Interleaved Non-Blocking Packet Buffer”的未授权美国专利申请中所述。
图4是图3所示的存储池计数器300的方框图。存储池计数器300包括用于交换机100各个出口端口1120-n的共享空闲计数器400,总空闲计数器402,组播空闲计数器416,预留空闲计数器428,队列预留阈值寄存器412端口预留存储池计数器4140-n。
总空闲计数器402存储共享存储器108中空闲缓冲区的总数。使用共享存储池200、端口预留存储池2020-202n和组播存储池204的缓冲区的总数量来预设置总空闲计数器402。每当从任一个存储池中分配存储数据分组的缓冲区时,将总空闲计数器402减“1”。如果这些存储池的分配如下:预留=500;共享=2000;组播=500,则缓冲区的总和是3000,它等于可用缓冲区的总数。一旦在组播存储池204中使用了500个数据分组,即使在共享存储池200中存在可以使用的缓冲区,也要丢弃IP组播数据分组。
在交换机内需要一定数量的“调整”。所述调整包括判断如何划分共享存储器108,以降低在阻塞期间丢弃数据分组的概率。当在出口端口突发冲突的数据时,会产生大量的阻塞。根据突发长度等因素,丢弃的概率根据共享存储器108中的存储池的超量使用的比率而变化。因此,按照所期望的负载条件,可以修改用于共享存储器108的存储池的阈值。
在可选实施例中,超量使用了存储池200、2020-202n和204。使用共享存储器108中的物理缓冲区的总数值来初始化总空闲计数器402。共享存储池200、端口预留存储池2020-202n和组播存储池204的缓冲区的总数量要比存储在总空闲计数器402中的数值大得多。这样可以更好地利用共享存储器108中的缓冲区,但是却减少了在端口预留存储池202中可以利用的缓冲区的这种保证。
例如,如果这些存储池的分配如下:预留存储池=1000;共享存储池=2000;组播存储池=1000,则缓冲区的总和是4000,但是在共享存储器108中可用的缓冲区的总数值为3000;即,可用缓冲区的总数值小于在这些存储池中的缓冲区的总和。这样如果通过交换机100的组播数据通信量比单播和广播数据通信量大时,可以更好地利用共享存储器108中的缓冲区,因为可以将可用缓冲区总数量的三分之一分配为用于存储IP多址数据分组。
如果没有超量使用组播204,当组播存储池204存满时,丢弃组播数据分组,即使共享存储器108中存在可用的缓冲区。因此,随着超量使用,当共享存储器108中存在可用缓冲区时,不太可能丢弃数据分组。但是不利之处在于:用于非阻塞端口的预留存储池中的缓冲区可能是不可用的,即使各个端口预留存储池202低于它的预留阈值。
共享空闲计数器400将可用或空闲缓冲区的数值存储在共享存储池200。共享存储器108的共享存储池200中的缓冲区可以存储用于任一个出口端口1120-n的数据分组。每当从共享存储池200中分配缓冲区时,共享空闲计数器400减“1”。共享存储池计数器430表示共享存储池200中是否还有空闲缓冲区。共享存储池计数器430被传送到存储池计数器逻辑302。
组播空闲计数器416将可用缓冲区的数值存储在组播存储池204。端口预留存储池计数器4140-n存储从各个端口预留存储池2020-202n和共享存储池200中分配给各个出口端口112的缓冲区的数值。队列预留阈值寄存器412存储用于分配给端口预留存储池2020-202n而预留的缓冲区的数值。在可选实施例中,各个端口预留存储池2020-202n可以具有为分配而预留的不同的缓冲区的数值,并且因此各个端口预留存储池计数器4140-n需要队列预留阈值寄存器412。
将预留空闲计数器428预置为为各个出口端口112预留的缓冲区的总数量的数值或预置为小于所述总数量的数值。如果将预留空闲计数器预置为小于总数的数值,则向每个出口端口提供更多的预留存储区,但是出口端口不可能分配在它的各个预留存储池中的所有缓冲区。例如,如果有四个预留端口存储池,各具有100个预留缓冲区,则预留缓冲区的总量达到400。当接收到转发至出口端口的数据分组时,如果共享存储池中没有空闲缓冲区,并且出口端口在它的各个预留端口存储池中也没有空闲缓冲区,则丢弃分组,即使在预留存储池中存在空闲缓冲区。如果过度使用的各个预留端口存储池达到150,各个出口端口可以使用预留存储池中的400个缓冲区中的最多150个缓冲区。因此,对于阻塞的端口来说还有更多可用的缓冲区。然而,由于过度使用,不能保证出口端口分配它的预留存储池的缓冲区。例如,在具有四个端口、一个阻塞端口使用了150个缓冲区的交换机和过度使用的各个预留端口存储池的数值达到150的情况下,存在250个可用的缓冲区,用于分配给其它三个端口。
每个计数器400、402、4140-n、416和428具有由存储池计数器逻辑302产生、并附在计数器递增-递减306(图3)上传送的递增-递减信号422、404、4260-n、410和436。每当从各个存储池中分配缓冲区或释放缓冲区时,计数器400、402、4140-n、416和428增加或减少“1”。例如,每当从共享存储池200中分配缓冲区时共享空闲计数器400减“1”,以及每当将缓冲区释放回共享存储池200时增“1”。每当从任一个存储池中分配缓冲区时,总空闲计数器402减“1”,以及每当将缓冲区释放回任一个存储池中时增“1”。
图5是描述用于选择共享存储器108中的存储池200、2020-202n、204的步骤的流程图,其中从所述存储池中分配如图3所示的存储池计数器逻辑302所实现的缓冲区。结合图3和图4描述图5。
在步骤500,存储池计数器逻辑302等待关于要被存储在共享存储器108的接收的数据分组的通知。接收的数据分组的通知包括由出口端口引擎104转发的转发向量114和组播标签126。转发向量114表示接收的数据分组要被转发的出口端口1120-n。组播标签126表示数据分组是否是IP组播数据分组。如果接收到数据分组,处理进行步骤502。如果没有接收到数据分组,处理进行步骤500。
在步骤502,存储池计数器逻辑302判断共享存储器108中是否有用于存储接收的数据分组的可用的缓冲区。如果总空闲408大于零,则共享存储器108中的缓冲区可用。总空闲408是存储在总空闲计数器402中的数值(图4)。如果缓冲区可用,处理进行步骤504。如果缓冲区不可用,处理进行步骤518。
在步骤504,存储池计数器逻辑302判断接收的数据分组是否是IP组播数据分组。组播标签126的状态表示数据分组是否是IP组播数据分组。如果数据分组是IP组播数据分组,立刻将该数据分组存储在共享存储器108,以及将存储的数据分组的拷贝转发到IP组播组的各个成员。可以向一个或多个出口端口1120-n多次转发该数据分组。如果接收的数据分组是IP组播数据分组,处理进行步骤520。如果接收的数据分组不是IP组播数据分组,处理进行步骤505。
在步骤505,接收的数据分组不是IP组播数据分组。因此,必须从共享存储池200或端口预留存储池2020-202n中分配缓冲区。存储池计数器逻辑302判断在任何一个端口预留存储池2020-202n中是否有可用缓冲区。如果预留存储池数值432大于零,则缓冲区可用。检查预留存储池数值432,因为可能会过度地使用预留存储池202。因此,即使与接收的数据分组要被转发的出口端口1120-n相关的队列数4340-n比预留阈值418小,也可能在预留存储池202中没有可用缓冲区。如果存在可用缓冲区,则处理进行步骤506。如果不存在可用缓冲区,则处理进行步骤508。
在步骤506,存储池计数器逻辑302判断在各个端口预留存储池2020-202n中是否有可用缓冲区。如果与接收的数据分组要被转发的出口端口1120-n相关的队列数4340-n比预留阈值418小,则缓冲区可用。如果缓冲区可用,则处理进行步骤512。如果缓冲区不可用,则处理进行步骤508。
在步骤508,共享存储器108的各个端口预留存储池2020-202n的缓冲区不可用。存储池计数器逻辑302判断共享存储池200中是否有可用缓冲区。如果共享存储池数430比零大,则缓冲区可用。如果有可用缓冲区,则处理进行步骤510。如果没有可用缓冲区,则处理进行步骤518。
在步骤510,从共享存储池200中分配缓冲区。存储池计数器逻辑302通过使用共享的递增-递减422来递减共享空闲计数器400,以更新共享存储池200中可用的缓冲区的数量。处理进行步骤514。
在步骤512,存储池计数器逻辑302通过使用预留的递增-递减436来递减预留空闲计数器428,以更新端口预留存储池202中可用的缓冲区的数量。处理进行步骤514。
在步骤514,存储池计数器逻辑302通过使用递增-递减队列426来递增端口预留存储池计数器414,以更新由出口端口使用的缓冲区的数量。按照在转发向量114中选出的出口端口112来选择各个端口预留存储池计数器414。可以从共享存储池200或各个端口预留存储池202中分配用于各个出口端口的缓冲区。因此,各个预留队列数值434可能比预留阈值418大得多。处理进行步骤516。
在步骤516,存储池计数器逻辑302通过使用递增-递减总量404来递减总空闲计数器402,以更新共享存储器108中空闲缓冲区的总数。
在步骤518,共享存储器108中没有可用缓冲区。出口端口112已经使用了各个端口预留存储池202的所有缓冲区以及使用了共享存储池200中的所有缓冲区。丢弃接收的数据分组。处理完成。
在步骤520,接收的数据分组是IP组播数据分组。因此,必须从组播存储池204中分配缓冲区。存储池计数器逻辑302判断组播存储池204中是否存在可用缓冲区。如果组播存储池数420比零大,则缓冲区可用。如果存在可用缓冲区,则处理进行步骤522。如果不存在可用缓冲区,则处理进行步骤518。
在步骤522,存储池计数器逻辑302通过使用递增-递减组播410来递减组播空闲计数器416,以更新组播存储池204中的可用缓冲区的数量。处理进行步骤524。
在步骤524,存储池计数器逻辑302设置组播标签310,以表示该缓冲区是为IP组播数据分组分配的。组播标签310和指向共享存储器108中分配的缓冲区的指针存储在一起,其中所述指针存储在与IP组播数据分组要被转发的各个出口端口112相关的出口端口队列(未示出)中。处理进行步骤526。
在步骤526,缓冲区可用于分配。存储池计数器逻辑302表示通过baffer available308,缓冲区可用于存储接收的数据分组。处理完成。
图6是示出将缓冲区释放回图3所示的存储池计数器逻辑302中使用的存储池的步骤的流程图。
在步骤600,存储池计数器逻辑302等待关于从出口端口引擎110将缓冲区释放回共享存储器108的通知。出口端口引擎110通过转发到分组存储管理器106的选择120来调度存储的数据分组向出口端口112的转发。出口端口引擎110包括用于各个出口端口112的出口端口队列(未示出)。出口端口队列存储指向共享存储器108的分配的缓冲区的指针。在出口端口引擎110已经转发了数据分组之后,可以释放缓冲区。如果要释放缓冲区,则处理进行步骤602。如果未释放缓冲区,则进行步骤602。
在步骤602,和要释放的缓冲区的指针存储在一起的组播标签126表示该缓冲区是否是从组播存储池204中分配的。如果该缓冲区是从组播存储池中分配的,则处理进行步骤605。如果该缓冲区不是从组播存储池中分配的,则处理进行步骤604。
在步骤604,存储池计数器逻辑302判断是将该缓冲区释放回共享存储池200还是端口预留存储池202。存储池计数器逻辑302对和数据分组将要被转发的出口端口112相关的预留队列数434进行检查。如果各个预留队列数434比预留阈值418大,则该缓冲区被释放回共享存储池200,并进行步骤610。如果各个预留队列数434比预留阈值418小,则该缓冲区被释放回各个端口预留存储池202,并进行步骤608。
在步骤605,存储池计数器逻辑302判断是否已经将IP组播分组的拷贝转发到IP组播组的所有成员。在入口端口102(图1)接收的IP组播数据分组被存储在共享存储器108中(图1),直到已经将IP组播数据分组转发到IP组播组的所有成员。在已经转发了最后IP组播数据分组之后,共享存储器106中存储IP组播数据分组的缓冲区被释放回IP组播存储池204。
为了确定是否已经将IP组播分组的拷贝转发到IP组播组的所有成员,在端口队列计数寄存器(未示出)中存储已经排列的IP组播数据分组的端口队列(未示出)数量。每当向出口端口110(图1)转发IP组播数据分组的拷贝时,计数寄存器减“1”。按照转发向量114来确定端口队列的数量。
如果已经将IP组播分组的拷贝转发到IP组播组的所有成员,则处理进行步骤606。如果未将IP组播分组的拷贝转发到IP组播组的所有成员,则处理进行步骤600。
在步骤606,存储池计数器逻辑302通过使用递增-递减组播410来递增组播空闲计数器416,以更新组播存储池204中的可用缓冲区的数量。处理进行步骤614。
在步骤608,存储池计数器逻辑302通过使用递增-递减预留436来递增预留空闲计数器428,以更新端口预留存储池202中使用的缓冲区的数量。处理进行步骤612。
在步骤610,存储池计数器逻辑302通过使用递增-递减422来递增共享空闲计数器400,以更新端口共享存储池200中可用的缓冲区的数量。处理进行步骤612。
在步骤612,存储池计数器逻辑302通过使用共享的递增-递减队列426来递减各个端口预留存储池计数器414,以更新由出口端口使用的缓冲区的数量。处理进行步骤614。
在步骤614,存储池计数器逻辑302通过使用递增-递减总量404来递增总空闲计数器402,以更新共享存储器108中可用的缓冲区的总数量。处理进行步骤616。
在步骤616,通过将指向缓冲区的指针添加到空闲列表,释放该缓冲区。处理完成。
虽然参考优选实施例已经特别地示出并描述了本发明,本领域的普通技术人员应该明白本发明会有不偏离本发明所附的权利要求范围的各种形式上和细节上的修改。
Claims (24)
1.一种交换机,包括:
共享存储器中的缓冲区的预留存储池,所述缓冲区的预留存储池为出口端口所预留;
共享存储器中的缓冲区的共享存储池,所述缓冲区的共享存储池由多个出口端口共享;和
存储池选择逻辑,选择从预留存储池中分配的空闲缓冲区,以存储从入口端口接收的、要被转发到出口端口的数据,并在将数据转发到出口端口之后,释放所选的缓冲区。
2.如权利要求1所述的交换机,其特征在于:
当检测到预留存储池中没有空闲缓冲区时,存储池选择逻辑在共享存储池中选择出空闲缓冲区。
3.如权利要求1所述的交换机,其特征在于还包括:
在共享存储器中的、由多个出口端口共享的缓冲区的组播存储池。
4.如权利要求3所述的交换机,其特征在于当检测到从入口端口接收的IP组播数据分组时,存储池选择逻辑从组播存储池中选出空闲缓冲区。
5.如权利要求3所述的交换机,其特征在于还包括:
存储共享存储器中的空闲缓冲区数量的总空闲计数器,总空闲计数器被预设置为共享存储器中的缓冲区的总数量,其中组播存储池、预留存储池和共享存储池的缓冲区的总和比共享存储器中的缓冲区的总数量多。
6.如权利要求3所述的交换机,其特征在于还包括:
存储共享存储器中空闲缓冲区的数量的总空闲计数器,总空闲计数器被预设置为共享存储器中的缓冲区的总数量,其中组播存储池、预留存储池和共享存储池的缓冲区的总和等于共享存储器中的缓冲区的总数量。
7.如权利要求5所述的交换机,其特征在于所述存储池选择逻辑根据存储在总空闲计数器的共享存储器的空闲缓冲区的数量来确定共享存储器中可用的空闲缓冲区。
8.如权利要求6所述的交换机,其特征在于所述存储池选择逻辑根据存储在总空闲计数器的共享存储器的空闲缓冲区的数量来确定共享存储器中可用的空闲缓冲区。
9.一种交换机,包括:
共享存储器中的缓冲区的预留存储池,所述缓冲区的预留存储池为出口端口所预留;
共享存储器中的缓冲区的共享存储池,所述缓冲区的共享存储池由多个出口端口共享;
装置,用于选择从预留存储池中分配的空闲缓冲区,所述预留存储池用于存储从入口端口接收的、要被转发到出口端口的数据;和
装置,用于在转发完数据之后,释放所选的缓冲区。
10.如权利要求9所述的交换机,其特征在于当检测到预留存储池中不存在空闲缓冲区时,用于选择的装置在共享存储池中选出空闲缓冲区。
11.如权利要求9所述的交换机,其特征在于还包括:
在共享存储器中的、由多个出口端口共享的缓冲区的组播存储池。
12.如权利要求11所述的交换机,其特征在于当检测到从出口端口接收的IP组播数据分组时,用于选择的装置从组播存储池中选出空闲缓冲区。
13.如权利要求12所述的交换机,其特征在于还包括:
用于计数共享存储器中的空闲缓冲区数量的装置,所述用于计数的装置被预设置为共享存储器中的缓冲区的总数量,其中组播存储池、预留存储池和共享存储池的缓冲区的总和比共享存储器中的缓冲区的总数量多。
14.如权利要求12所述的交换机,其特征在于还包括:
用于计算共享存储器中的空闲缓冲区数量的装置,所述用于计数的装置被预设置为共享存储器中的缓冲区的总数量,其中组播存储池、预留存储池和共享存储池的缓冲区的总和等于共享存储器中的缓冲区的总数量。
15.如权利要求13所述的交换机,其特征在于用于选择空闲缓冲区的装置根据存储在用于计数的装置中的共享存储器的空闲缓冲区的数量来确定共享存储器中的可用的空闲缓冲区。
16.如权利要求14所述的交换机,其特征在于用于选择空闲缓冲区的装置根据存储在用于计数的装置中的共享存储器的空闲缓冲区的数量来确定共享存储器中的可用的空闲缓冲区。
17.一种用于管理交换机的共享存储器的方法,包括以下步骤:
提供共享存储器中的缓冲区的预留存储池,所述缓冲区的预留存储池为出口端口所预留;
提供共享存储器中的缓冲区的共享存储池,所述缓冲区的共享存储池由多个出口端口共享;
选择从预留存储池中分配的空闲缓冲区,用于存储从入口端口接收的、要被转发到出口端口的数据;和
在将数据转发到出口端口之后,释放所选的缓冲区。
18.如权利要求17所述的方法,其特征在于当检测到预留存储池中不存在空闲缓冲区时,所述的选择步骤在共享存储池中选择出空闲缓冲区。
19.如权利要求17所述的方法,其特征在于还包括步骤:
提供共享存储器中的、由多个出口端口共享的缓冲区的组播存储池。
20.如权利要求19所述的方法,其特征在于当检测到从出口端口接收的IP组播数据分组时,所述选择步骤从组播存储池中选择出空闲缓冲区。
21.如权利要求20所述的交换机,其特征在于还包括:
提供用于计数共享存储器中的空闲缓冲区的数量的总空闲计数器,所述总空闲计数器被预设置为共享存储器中的缓冲区的总数量,其中组播存储池、预留存储池和共享存储池的缓冲区的总数量比共享存储器中的缓冲区的总数量多。
22.如权利要求20所述的交换机,其特征在于还包括:
提供用于计数共享存储器中的空闲缓冲区的数量的总空闲计数器,所述总空闲计数器被设置为共享存储器中的缓冲区的总数量,其中组播存储池、预留存储池和共享存储池的缓冲区的总数量等于共享存储器中的缓冲区的总数量。
23.如权利要求21所述的交换机,其特征在于还包括步骤:
根据存储在总空闲计数器中的共享存储器的空闲缓冲区的数量来确定共享存储器的可用的空闲缓冲区。
24.如权利要求22所述的交换机,其特征在于还包括步骤:
根据存储在总空闲计数器中的共享存储器的空闲缓冲区的数量来确定共享存储器的可用的空闲缓冲区。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/624,276 US7007071B1 (en) | 2000-07-24 | 2000-07-24 | Method and apparatus for reducing pool starvation in a shared memory switch |
US09/624,276 | 2000-07-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1444812A true CN1444812A (zh) | 2003-09-24 |
CN100373885C CN100373885C (zh) | 2008-03-05 |
Family
ID=24501343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018133061A Expired - Lifetime CN100373885C (zh) | 2000-07-24 | 2001-07-20 | 减少共享存储器交换机中的存储池不足的方法和装置 |
Country Status (8)
Country | Link |
---|---|
US (7) | US7007071B1 (zh) |
KR (1) | KR100812750B1 (zh) |
CN (1) | CN100373885C (zh) |
AU (1) | AU2001276216A1 (zh) |
CA (2) | CA2415952C (zh) |
DE (1) | DE10196447B4 (zh) |
GB (1) | GB2380354B (zh) |
WO (1) | WO2002009364A2 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1317911C (zh) * | 2004-03-03 | 2007-05-23 | 乐金电子(中国)研究开发中心有限公司 | 对便携终端的动态存储器进行管理的装置及方法 |
CN102185725A (zh) * | 2011-05-31 | 2011-09-14 | 北京星网锐捷网络技术有限公司 | 一种缓存的管理方法、装置和网络交换设备 |
CN102497431A (zh) * | 2011-12-13 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种tcp连接缓存应用数据的内存申请方法和系统 |
CN103036805A (zh) * | 2011-09-30 | 2013-04-10 | 美国博通公司 | 用于改善分组共享存储器体系结构组播性能的系统和方法 |
CN104124962A (zh) * | 2013-04-25 | 2014-10-29 | 联发科技股份有限公司 | 多阶复制计数器存储装置及用来管理多播封包处理的方法 |
US9521007B2 (en) | 2013-04-25 | 2016-12-13 | Mediatek Inc. | Multi-level replication counter storage device for multicast packet processing and related method for managing multicast packet processing |
CN109218387A (zh) * | 2018-07-02 | 2019-01-15 | 佛山科学技术学院 | 一种共享存储池的存储方法 |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120117B1 (en) * | 2000-08-29 | 2006-10-10 | Broadcom Corporation | Starvation free flow control in a shared memory switching device |
US7007071B1 (en) * | 2000-07-24 | 2006-02-28 | Mosaid Technologies, Inc. | Method and apparatus for reducing pool starvation in a shared memory switch |
WO2003009543A2 (en) * | 2001-07-17 | 2003-01-30 | Alcatel Internetworking, Inc. | In-band message synchronization for distributed shared memory packet switch |
US7283470B1 (en) * | 2002-01-25 | 2007-10-16 | Juniper Networks, Inc. | Systems and methods for dropping data using a drop profile |
US8078763B1 (en) | 2002-04-04 | 2011-12-13 | Juniper Networks, Inc. | Dequeuing and congestion control systems and methods for single stream multicast |
US7209440B1 (en) * | 2002-05-07 | 2007-04-24 | Marvell International Ltd. | Method and apparatus for preventing blocking in a quality of service switch |
US7110415B1 (en) | 2002-05-17 | 2006-09-19 | Marvell International Ltd. | Apparatus and method for dynamically limiting output queue size in a quality of service network |
US6985916B2 (en) * | 2002-08-29 | 2006-01-10 | International Business Machines Corporation | Method, system, and article of manufacture for returning physical volumes |
KR101086592B1 (ko) * | 2003-04-22 | 2011-11-23 | 에이저 시스템즈 인크 | 패킷 저장 방법, 버퍼 관리 방법, 손실 버퍼 검출 방법 및공유형 메모리 |
US7561590B1 (en) | 2003-05-05 | 2009-07-14 | Marvell International Ltd. | Network switch having virtual input queues for flow control |
US7716364B2 (en) * | 2003-06-27 | 2010-05-11 | Broadcom Corporation | Internet protocol multicast replication |
US7953086B2 (en) * | 2003-06-27 | 2011-05-31 | Broadcom Corporation | Compression of datagram distribution information |
US20050036445A1 (en) * | 2003-08-14 | 2005-02-17 | Lee Chien-Hsin | Processing data packets |
US7515584B2 (en) | 2003-09-19 | 2009-04-07 | Infineon Technologies Ag | Switching data packets in an ethernet switch |
US7539190B2 (en) * | 2004-01-05 | 2009-05-26 | Topside Research, Llc | Multicasting in a shared address space |
US20050157719A1 (en) * | 2004-01-20 | 2005-07-21 | Robotham Robert E. | Method and apparatus for multicasting of cell or frame data |
US7916743B2 (en) * | 2004-11-17 | 2011-03-29 | Jinsalas Solutions, Llc | System and method for improved multicast performance |
US7522622B2 (en) * | 2005-02-18 | 2009-04-21 | Broadcom Corporation | Dynamic color threshold in a queue |
US20070147404A1 (en) * | 2005-12-27 | 2007-06-28 | Lucent Technologies, Inc. | Method and apparatus for policing connections using a leaky bucket algorithm with token bucket queuing |
CN1964345B (zh) * | 2006-09-25 | 2010-06-30 | 杭州华三通信技术有限公司 | 组播流的处理方法及网络设备 |
US7949815B2 (en) * | 2006-09-27 | 2011-05-24 | Intel Corporation | Virtual heterogeneous channel for message passing |
US8050263B1 (en) | 2006-10-11 | 2011-11-01 | Marvell International Ltd. | Device and process for efficient multicasting |
US7711900B2 (en) * | 2007-03-05 | 2010-05-04 | International Business Machines Corporation | Method, system and program product for equitable sharing of a CAM table in a network switch in an on-demand environment |
US8532117B2 (en) * | 2008-02-13 | 2013-09-10 | Broadcom Corporation | Flexible buffer allocation entities for traffic aggregate containment |
US8619558B1 (en) * | 2008-07-21 | 2013-12-31 | Qlogic, Corporation | Memory management in a network adapter |
US8526326B1 (en) * | 2008-08-27 | 2013-09-03 | Juniper Networks, Inc. | Lock-less access of pre-allocated memory buffers used by a network device |
US8917738B2 (en) * | 2009-04-27 | 2014-12-23 | Lsi Corporation | Multicasting traffic manager in a network communications processor architecture |
US9461930B2 (en) | 2009-04-27 | 2016-10-04 | Intel Corporation | Modifying data streams without reordering in a multi-thread, multi-flow network processor |
US8825859B2 (en) * | 2009-12-23 | 2014-09-02 | Citrix Systems, Inc. | System and methods for mixed mode of IPv6 and IPv4 DNS of global server load balancing |
US9098335B2 (en) | 2009-12-23 | 2015-08-04 | Citrix Systems, Inc. | Systems and methods for managing spillover limits in a multi-core system |
EP2517438B1 (en) | 2009-12-23 | 2016-11-30 | Citrix Systems Inc. | Systems and methods for managing ports for rtsp across cores in a multi-core system |
CN101873326B (zh) * | 2010-06-24 | 2013-03-06 | 北京安天电子设备有限公司 | 一种基于有序包的迭代式病毒检测方法 |
DE102010033432B3 (de) * | 2010-08-04 | 2012-04-05 | Harting Electric Gmbh & Co. Kg | Verfahren zur Übermittlung von Multicast-Datenpaketen durch einen Switch |
US8898385B2 (en) | 2011-09-09 | 2014-11-25 | Lsi Corporation | Methods and structure for load balancing of background tasks between storage controllers in a clustered storage environment |
US8665725B2 (en) * | 2011-12-20 | 2014-03-04 | Broadcom Corporation | System and method for hierarchical adaptive dynamic egress port and queue buffer management |
US8891540B2 (en) | 2012-05-14 | 2014-11-18 | Juniper Networks, Inc. | Inline network address translation within a mobile gateway router |
US8995455B1 (en) * | 2012-11-15 | 2015-03-31 | Qlogic, Corporation | Memory devices for network devices and associated methods |
US9100313B1 (en) * | 2012-12-10 | 2015-08-04 | Cisco Technology, Inc. | Shared egress buffer in a multi-stage switch |
US10057194B1 (en) * | 2014-01-07 | 2018-08-21 | Marvell Israel (M.I.S.L) Ltd. | Methods and apparatus for memory resource management in a network device |
US10050896B2 (en) * | 2014-11-14 | 2018-08-14 | Cavium, Inc. | Management of an over-subscribed shared buffer |
US9952776B1 (en) * | 2015-07-24 | 2018-04-24 | EMC IP Holding Company LLC | Automatic non-disruptive congestion control of a fabric in a data storage system |
US9965211B2 (en) | 2016-09-08 | 2018-05-08 | Cisco Technology, Inc. | Dynamic packet buffers with consolidation of low utilized memory banks |
US11171884B2 (en) | 2019-03-13 | 2021-11-09 | Mellanox Technologies Tlv Ltd. | Efficient memory utilization and egress queue fairness |
US11789858B2 (en) * | 2020-08-11 | 2023-10-17 | Samsung Electronics Co., Ltd. | Method and system for performing read/write operation within a computing system hosting non-volatile memory |
GB2612619B (en) * | 2021-11-05 | 2024-02-21 | Graphcore Ltd | Fair arbitration between multiple sources targeting a destination |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3278865B2 (ja) * | 1991-06-28 | 2002-04-30 | 日本電気株式会社 | トラヒック制御方法 |
US6151301A (en) * | 1995-05-11 | 2000-11-21 | Pmc-Sierra, Inc. | ATM architecture and switching element |
US6523060B1 (en) * | 1995-04-07 | 2003-02-18 | Cisco Technology, Inc. | Method and apparatus for the management of queue pointers by multiple processors in a digital communications network |
JP2001519973A (ja) | 1995-07-19 | 2001-10-23 | フジツウ ネットワーク コミュニケーションズ,インコーポレイテッド | 共用バッファへの優先度付きアクセス |
US5991295A (en) * | 1995-10-10 | 1999-11-23 | Madge Networks Limited | Digital switch |
US5838994A (en) * | 1996-01-11 | 1998-11-17 | Cisco Technology, Inc. | Method and apparatus for the dynamic allocation of buffers in a digital communications network |
US5724358A (en) | 1996-02-23 | 1998-03-03 | Zeitnet, Inc. | High speed packet-switched digital switch and method |
US6219728B1 (en) * | 1996-04-22 | 2001-04-17 | Nortel Networks Limited | Method and apparatus for allocating shared memory resources among a plurality of queues each having a threshold value therefor |
US6049546A (en) * | 1996-10-15 | 2000-04-11 | At&T Corporation | System and method for performing switching in multipoint-to-multipoint multicasting |
US6046982A (en) * | 1997-03-18 | 2000-04-04 | Cabletron Systems, Inc. | Method and apparatus for reducing data loss in data transfer devices |
US6021132A (en) * | 1997-06-30 | 2000-02-01 | Sun Microsystems, Inc. | Shared memory management in a switched network element |
US6487202B1 (en) * | 1997-06-30 | 2002-11-26 | Cisco Technology, Inc. | Method and apparatus for maximizing memory throughput |
US6216167B1 (en) * | 1997-10-31 | 2001-04-10 | Nortel Networks Limited | Efficient path based forwarding and multicast forwarding |
US7145868B2 (en) * | 1997-11-28 | 2006-12-05 | Alcatel Canada Inc. | Congestion management in a multi-port shared memory switch |
US6456590B1 (en) * | 1998-02-13 | 2002-09-24 | Texas Instruments Incorporated | Static and dynamic flow control using virtual input queueing for shared memory ethernet switches |
US6320861B1 (en) * | 1998-05-15 | 2001-11-20 | Marconi Communications, Inc. | Hybrid scheme for queuing in a shared memory ATM switch buffer |
US6920146B1 (en) * | 1998-10-05 | 2005-07-19 | Packet Engines Incorporated | Switching device with multistage queuing scheme |
US6147969A (en) * | 1998-10-14 | 2000-11-14 | Lucent Technologies Inc. | Flow control method for ABR service in an asynchronous transfer mode network |
US6625159B1 (en) * | 1998-11-30 | 2003-09-23 | Hewlett-Packard Development Company, L.P. | Nonblocking and fair queuing switching method and shared memory packet switch |
TW444478B (en) * | 1998-12-10 | 2001-07-01 | Ind Tech Res Inst | Ethernet switch IC with shared memory structure and its network |
US6535963B1 (en) * | 1999-06-30 | 2003-03-18 | Cisco Technology, Inc. | Memory apparatus and method for multicast devices |
US6711170B1 (en) | 1999-08-31 | 2004-03-23 | Mosaid Technologies, Inc. | Method and apparatus for an interleaved non-blocking packet buffer |
US6754211B1 (en) | 1999-12-01 | 2004-06-22 | Mosaid Technologies, Inc. | Method and apparatus for wire speed IP multicast forwarding |
US6501757B1 (en) * | 2000-02-29 | 2002-12-31 | Centre For Development Of Telematics | ATM switch |
US6657962B1 (en) * | 2000-04-10 | 2003-12-02 | International Business Machines Corporation | Method and system for managing congestion in a network |
US7236489B1 (en) | 2000-04-27 | 2007-06-26 | Mosaid Technologies, Inc. | Port packet queuing |
US7007071B1 (en) * | 2000-07-24 | 2006-02-28 | Mosaid Technologies, Inc. | Method and apparatus for reducing pool starvation in a shared memory switch |
-
2000
- 2000-07-24 US US09/624,276 patent/US7007071B1/en not_active Expired - Lifetime
-
2001
- 2001-07-20 CA CA2415952A patent/CA2415952C/en not_active Expired - Fee Related
- 2001-07-20 WO PCT/CA2001/001049 patent/WO2002009364A2/en active Application Filing
- 2001-07-20 AU AU2001276216A patent/AU2001276216A1/en not_active Abandoned
- 2001-07-20 CN CNB018133061A patent/CN100373885C/zh not_active Expired - Lifetime
- 2001-07-20 KR KR1020037001038A patent/KR100812750B1/ko active IP Right Grant
- 2001-07-20 DE DE10196447.1T patent/DE10196447B4/de not_active Expired - Lifetime
- 2001-07-20 GB GB0301250A patent/GB2380354B/en not_active Expired - Lifetime
- 2001-07-20 CA CA2700321A patent/CA2700321C/en not_active Expired - Fee Related
-
2005
- 2005-12-29 US US11/323,814 patent/US7403976B2/en not_active Expired - Lifetime
-
2008
- 2008-06-13 US US12/139,007 patent/US7743108B2/en not_active Expired - Fee Related
-
2010
- 2010-05-07 US US12/775,696 patent/US7996485B2/en not_active Expired - Fee Related
-
2011
- 2011-08-05 US US13/204,145 patent/US8630304B2/en not_active Expired - Fee Related
-
2013
- 2013-12-05 US US14/097,614 patent/US9083659B2/en not_active Expired - Fee Related
-
2015
- 2015-07-08 US US14/794,020 patent/US9769080B2/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1317911C (zh) * | 2004-03-03 | 2007-05-23 | 乐金电子(中国)研究开发中心有限公司 | 对便携终端的动态存储器进行管理的装置及方法 |
CN102185725A (zh) * | 2011-05-31 | 2011-09-14 | 北京星网锐捷网络技术有限公司 | 一种缓存的管理方法、装置和网络交换设备 |
CN103036805A (zh) * | 2011-09-30 | 2013-04-10 | 美国博通公司 | 用于改善分组共享存储器体系结构组播性能的系统和方法 |
CN103036805B (zh) * | 2011-09-30 | 2015-11-25 | 美国博通公司 | 用于改善分组共享存储器体系结构组播性能的系统和方法 |
CN102497431A (zh) * | 2011-12-13 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种tcp连接缓存应用数据的内存申请方法和系统 |
CN102497431B (zh) * | 2011-12-13 | 2014-10-22 | 曙光信息产业(北京)有限公司 | 一种tcp连接缓存应用数据的内存申请方法和系统 |
CN104124962A (zh) * | 2013-04-25 | 2014-10-29 | 联发科技股份有限公司 | 多阶复制计数器存储装置及用来管理多播封包处理的方法 |
US9521007B2 (en) | 2013-04-25 | 2016-12-13 | Mediatek Inc. | Multi-level replication counter storage device for multicast packet processing and related method for managing multicast packet processing |
CN104124962B (zh) * | 2013-04-25 | 2017-07-07 | 联发科技股份有限公司 | 多阶复制计数器存储装置及用来管理多播封包处理的方法 |
CN109218387A (zh) * | 2018-07-02 | 2019-01-15 | 佛山科学技术学院 | 一种共享存储池的存储方法 |
Also Published As
Publication number | Publication date |
---|---|
GB2380354A (en) | 2003-04-02 |
US8630304B2 (en) | 2014-01-14 |
WO2002009364A3 (en) | 2002-09-06 |
GB2380354B (en) | 2004-01-14 |
CA2415952A1 (en) | 2002-01-31 |
US20080250116A1 (en) | 2008-10-09 |
US9769080B2 (en) | 2017-09-19 |
US20150365333A1 (en) | 2015-12-17 |
KR20030019608A (ko) | 2003-03-06 |
CA2700321C (en) | 2014-12-09 |
US7996485B2 (en) | 2011-08-09 |
WO2002009364A2 (en) | 2002-01-31 |
DE10196447T1 (de) | 2003-09-11 |
AU2001276216A1 (en) | 2002-02-05 |
US7007071B1 (en) | 2006-02-28 |
CA2700321A1 (en) | 2002-01-31 |
US20060259572A1 (en) | 2006-11-16 |
GB0301250D0 (en) | 2003-02-19 |
CA2415952C (en) | 2011-01-04 |
DE10196447B4 (de) | 2020-04-23 |
US9083659B2 (en) | 2015-07-14 |
US20110286455A1 (en) | 2011-11-24 |
US7743108B2 (en) | 2010-06-22 |
US20140092743A1 (en) | 2014-04-03 |
US7403976B2 (en) | 2008-07-22 |
KR100812750B1 (ko) | 2008-03-12 |
US20100250699A1 (en) | 2010-09-30 |
CN100373885C (zh) | 2008-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1444812A (zh) | 减少共享存储器交换机中的存储池不足的方法和装置 | |
US8023521B2 (en) | Methods and apparatus for differentiated services over a packet-based network | |
CN1201532C (zh) | 具有中心调度程序的atm交换机及其调度方法 | |
CN1097913C (zh) | Atm流量调节 | |
US6785236B1 (en) | Packet transmission scheduling with threshold based backpressure mechanism | |
US7426209B2 (en) | System for content based message processing | |
US6625159B1 (en) | Nonblocking and fair queuing switching method and shared memory packet switch | |
CN1287560C (zh) | 在数字交换机中控制协议数据单元的缓存的方法以及数字交换机 | |
CN1565143A (zh) | 通信网络中业务流的分配传输 | |
CN1359241A (zh) | 用于分组交换机和无源光网络的分布式调度器 | |
US8199764B2 (en) | Scalable approach to large scale queuing through dynamic resource allocation | |
CN1618215A (zh) | 实时网络业务量准入与调度方法 | |
JPH11510323A (ja) | Atm交換機の多重レベル制御用リンクドリスト構造 | |
US6829218B1 (en) | High speed weighted fair queuing system for ATM switches | |
EP1104219A2 (en) | Data transmission method and apparatus | |
CN1853379A (zh) | 在异步传输模式信元传输中提供服务质量的系统和方法 | |
CN1522011A (zh) | 动态缓存管理的atm交换装置及其交换方法 | |
JPH11510010A (ja) | 割付け型及び動的帯域幅管理 | |
US20070133561A1 (en) | Apparatus and method for performing packet scheduling using adaptation round robin | |
CN1271828C (zh) | 低时延低丢失的分组交换 | |
US20040085960A1 (en) | Method for sharing the bandwidth available for unicast and multicast flows in an asynchronous switching node | |
EP1665663B1 (en) | A scalable approach to large scale queuing through dynamic resource allocation | |
JPH11510324A (ja) | ペースカウンタを用いた帯域幅割付けの制御 | |
WO1997004565A1 (en) | Priority arbitration for point-to-point and multipoint transmission |
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 | ||
C56 | Change in the name or address of the patentee |
Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC. Free format text: FORMER NAME: MOSAID TECH INC |
|
CP01 | Change in the name or title of a patent holder |
Address after: Ontario, Canada Patentee after: Examine Vincent Zhi Cai management company Address before: Ontario, Canada Patentee before: Mosaid Tech Inc |
|
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20080305 |