专利名称:分组传送电路和分组传送方法
技术领域:
本发明涉及用于输出在多个队列中存储的分组(packet)的一种分组传送电路和一种分组传送方法。
背景技术:
最近几年,采用VOQ(虚拟输出队列)方法的分组传送设备已用于分组传送设备的改善的吞吐量。
采用VOQ方法的分组传送设备具有多个用于接收分组的接收机和多个用于发送分组的发射机,并被设计为具有在接收机中提供的VOQ中列队(queue)的所接收的分组。
已公开未实审的日本专利申请号2001-7822中公开了一种以上现有技术类型的分组传送设备。如图1所示,该分组传送设备在接收机1中提供有VOQM(VOQ模块)3,每个VOQM具有与发射机2对应的VOQ。
如图2所示,当VOQ对分组进行列队时,VOQM 3将分组的队列报告给与发射机对应的SM(调度器模块)。每个SM命令一个其中具有列队的分组的VOQM 3,将该分组输出到在发射机2和接收机1之间提供的纵横(crossbar)开关4。纵横控制器5执行控制,使得对应于该SM的发射机2与具有命令该纵横开关4输出分组的VOQM 3的接收机1将连接到一起。
在时隙的每一预定周期之后,得到了开关纵横开关4的机会。如图3所示,对于由多个时隙形成的每一帧,每一SM确定将在下一帧的每一时隙中输出分组的VOQ。图3示出了具有四个发射机4和四个接收机1的分组传送设备中的调度器的操作。图3图示了这样一种情况,其中由四个时隙形成一帧,并且四个SM(即SM1-SM4)确定将在下一帧的每一时隙中输出分组的VOQ。在帧F1的时隙T1中,SM1确定将在帧F2的时隙T5中输出分组的VOQ。
如上所述,在时隙T1中,SM1确定将在帧F2的时隙T5中输出分组的VOQ,并将该确定的VOQ报告给SM2。另外,报告SM1在时隙T8中确定了哪个VOQ输出分组。
在时隙T2中,SM1从除了SM4报告的VOQ之外的VOQ中确定将在帧F2的时隙T8中输出分组的VOQ,并将SM4报告的VOQ和SM1在时隙T2所确定的VOQ报告给SM2。
由此,在每一帧的每一时隙中,SM确定将在下一帧的每一时隙中输出分组的VOQ,并将该结果报告给以下SM。该配置将SM连接为类似管线,使得也可报告由较早SM确定的VOQ。在每一时隙中,在时隙之间报告已确定为输出分组的VOQ,从而防止同一接收机1中的多个VOQ将分组输出到纵横开关4。
每一SM的确定将被报告给VOQM。每一VOQM在寄存器中存储将输出分组的那个时隙。然后,每一VOQM访问该寄存器,并在该输出分组的时隙中,将来自VOQ的分组输出到该纵横开关。
图2和图3的例子示出了具有四个发射机2和四个发射机1的分组传送设备的例子。如图3所示,在时隙T1,SM1确定与对应于时隙T5中的SM1的发射机相连接的接收机。SM2-SM3还没有确定与分别对应于时隙T5中各SM的发射机相连接的接收机,并因此SM1以最高优先权在时隙T5中做出确定。
在时隙T1中,SM2-SM4的每一个也具有这样的时隙,其中SM2-SM4确定与具有最高优先权的对应发射机相连的接收机。SM2在时隙T6中保持优先权。SM3在时隙T7中保持优先权。SM4在时隙T8中保持优先权。在时隙T2中,每一SM确定与第二优先权的时隙中的对应发射机相连的接收机,并且当优先权降低到时隙T4时,确定与每一时隙中的对应发射机相连的接收机。
如上所述,基于每帧而确定发射机和接收机之间的连接,该帧形成有与SM相同数目的时隙,并且每一SM在最高优先权到最低优先权的时隙中做出确定。结果,每一SM可在公正的基础上确定接收机和对应发射机之间的连接。
而且,在已公开未实审的日本专利申请号2001-168869中公开的分组传送设备已知是用于确定输出分组的队列的现有技术。已公开未实审的日本专利申请号2001-168869中公开了一种带宽共享控制方法以及一种分组传送电路,其使得最小化带宽保证、用户之间未占用带宽的共享、和公正成为可能。
图4是示出已公开未实审的日本专利申请号2001-168869中公开的现有技术分组传送设备的配置的方框图。图5是用于解释现有技术分组传送设备中的控制算法的图。
如图4所示,来自多个输入路径11的信元被多路复用,并其后,当提取VPI(虚拟路径标识符)和VCI(虚拟信道标识符)作为来自每一多路复用的信元22的输出信息时,其在VPI/VCI转换表14中转换为输入共享组/连接信息23,并在此状态下,提供给写入控制器15。基于该输入共享组/连接信息23,由写入控制器15创建写入地址到信元缓冲器13中。结果,在每个输入共享组和每个连接的基础上,在信元缓冲器13中包括每一多路复用的信元22。
另外,由于队列目的读取标志表16中的来自写入控制器15的写入地址,而在每个输入共享组和每个连接的基础上,将指示信元22是否暂时容纳在信元缓冲器13中的信息作为队列目的读取信息17。
由此,每一信元22被暂时容纳在信元缓冲器13中,并随后通过读取控制器17提供的读取地址而从该信元缓冲器13中读取每一信元22,并然后被分离以输出到预期的输出路径12。
读取控制器17根据输出共享组信息25和连接信息26而产生信元缓冲器13的读取地址。通过以正常循环来循环的WRR调度器19提供的读取地址24,从WRR(加权循环法(round robin))1表20提供输出共享组信息25到读取控制器17。利用该输出共享组信息25作为读取地址,而从WRR2表21中读取该输出共享组内的连接信元输出容量信息28。
同样,利用输出共享组信息25作为读取地址,从队列目的读取标志表16中读取关于信元是否以每一连接为基础而暂时容纳在输出共享组中的信息作为队列目的读取信息27。接下来,根据输出共享组中的队列目的读取信息27和连接信元输出容量信息28,队列搜索器18创建输出连接信息26。该队列搜索器18提供有利用优先权写入器的输出连接确定器18a和用于将优先权写入结果存储为搜索历史的搜索历史存储器18b。
顺便提及,如图5所示,现有技术控制算法的调度方案包括WRR调度器19、WRR1表20、WRR2表21、和队列目的标志表16。
也就是说,利用在已公开未实审的日本专利申请号2001-168869中公开的分组传送设备,以正常循环(regular cycle)来循环的WRR调度器19从WRR1表20读取输出共享组信息25。另外,利用该分组传送设备,基于该信息,从WRR2表21中读取该输出共享组中的连接信元输出容量信息28,并且队列搜索器18中的输出连接确定器18a确定由于输出引起的队列。
而且,利用已公开未实审的日本专利申请号2001-7822中公开的分组传送设备,形成一帧的时隙数目与SM的数目相同,并因此接收机和发射机的数目增加导致形成一帧的时隙数目的增加。也就是说,利用在已公开未实审的日本专利申请号2001-7822中公开的分组传送设备,接收机和发射机的数目增加,随后发生一帧的时间延伸,并且每一SM确定将输出分组的VOQ所花费的时间也延伸,在此期间,不从该VOQ输出分组,这然后导致增加的延迟时间的问题。
而且,对已公开未实审的日本专利申请号2001-168869中公开的分组传送设备进行配置,使得仅在从两类表格读取信息之后开始输出队列的搜索,并因此队列搜索器78不得不等待直至从两类表格的读取结束,这然后导致增加用于确定队列的时间的问题。另外,利用在已公开未实审的日本专利申请号2001-168869中公开的分组传送设备,存在这样的问题,即需要提供在从队列输出分组之前开始WRR调度器19的操作的部件。
发明内容
考虑到上述问题,本发明的一个目的是提供一种高速分组传送电路和分组传送方法,用于在公正的基础上确定发射机和接收机之间的连接,并缩短延迟时间,而不管接收机和发射机的数目如何。
本发明的另一目的是提供一种分组传送电路和分组传送方法,用于一旦将多个队列划分为各个组并管理这些队列,则用简单的配置以高速选择由于输出分组而形成的队列,而不从两类表格中读取信息。
根据本发明的一个方面,一种分组传送电路,具有多个容器,分别与对应输出端口相连,并将分组容纳在向其写入和从其读取所述分组的多个队列中;输入器,用于对通过输入端口输入的分组进行分类,并将所述分组容纳在所述容器中;和读取控制器,用于以每个容器为基础而确定要从其读取分组的队列、从该确定的队列中读取所述分组、并将所述分组输出到所述输出端口,并且所述读取控制器还具有写入队列信息发生器,用于以每个容器为基础而产生指示其中写入了分组的队列的写入队列信息;优先权确定器,用于以每个队列为基础而确定分组读取的优先权;和读取队列确定器,用于以每个容器为基础,参考该写入队列信息和优先权来确定要从其读取分组的队列。
根据本发明的另一方面,一种分组传送方法,包括输入步骤,用于对多个分组进行分类,并将所述多个分组容纳在多个容器的多个队列中,所述容器包括分别与对应输出端口相连并向其写入和从其读取所述分组的所述多个队列;读取控制步骤,用于以每个容器为基础而确定要从其读取分组的队列、从该确定的队列中读取所述分组、并将所述分组输出到所述输出端口,并且所述读取控制步骤还包括写入队列信息发生步骤,用于以每个容器为基础而产生指示其中写入了分组的队列的写入队列信息;优先权确定步骤,用于以每个队列为基础而确定分组读取的优先权;和读取队列确定步骤,用于以每个容器为基础,参考该写入队列信息和优先权来确定要从其读取分组的所述队列。
根据本发明的另一方面,一种分组传送程序在计算机上实现分组传送方法,并且该方法包括输入步骤,用于对多个分组进行分类,并将所述多个分组容纳在多个容器的多个队列中,所述多个容器包括分别与对应输出端口相连并向其写入和从其读取所述分组的所述多个队列;读取控制步骤,用于以每个容器为基础而确定要从其读取分组的队列、从该确定的队列中读取所述分组、并将所述分组输出到所述输出端口,并且所述读取控制步骤还包括写入队列信息发生步骤,用于以每个容器为基础而产生指示其中写入了分组的队列的写入队列信息;优先权确定步骤,用于以每个队列为基础而确定分组读取的优先权;和读取队列确定步骤,用于以每个容器为基础,参考该写入队列信息和优先权来确定要从其读取分组的所述队列。
图1是示出了现有技术分组传送设备的配置的方框图;图2是示出了图1的现有技术分组传送设备中的调度器的配置的方框图;图3是用于解释图2的调度器的操作的定时图;图4是示出了另一现有技术分组传送设备的配置的方框图;图5是用于解释另一分组传送设备中的控制算法的图;
图6是示出了根据本发明第一实施例的分组传送电路的配置的方框图;图7是示出了本发明第一实施例的分组传送电路的读取控制器的详细配置的方框图;图8是示出了本发明第一实施例的分组传送电路的优先权写入器的详细配置的方框图;图9是示出了图8的优先权写入器中的最高优先权检测器的详细配置的方框图;图10是示出图8的优先权写入器中的读取队列确定器的配置的方框图;图11是用于解释本发明第一实施例的分组传送电路中的读取数据量和优先权之间的关系的图;图12是示出了根据本发明第二实施例的分组传送电路的配置的方框图;图13是示出了图12的分组传送电路中的优先权确定器的配置的方框图;图14是示出了图12的分组传送电路中的单独阈值电平存储器和单独写入器的配置的方框图;图15是示出了图12的分组传送电路中的累积阈值电平存储器和累积写入器的配置的方框图;图16是示出了图12的分组传送电路中的输出量测量器的配置的方框图;图17是示出了图12的分组传送电路的选择确定器的配置的方框图;图18是用于解释图12的分组传送电路中由优先权计算器计算的优先权与输出数据量之间的关系的第一例子的图;图19是用于解释图12的分组传送电路中由优先权计算器计算的优先权与输出数据量之间的关系的第二例子的图;和图20是用于解释图12的分组传送电路中由优先权计算器计算的优先权与输出数据量之间的关系的第三例子的图。
具体实施例方式
下面将参考附图详细描述本发明的实施例。
(第一实施例)将参考附图详细描述本发明的分组传送电路和分组传送方法的第一实施例。
图6是示出了本发明第一实施例的分组传送电路的配置的方框图。如图6所示,第一实施例的分组传送电路109中的输入器191经由容器193与分组传送电路的每一输出端口相连。设计输入器191以将接收的分组传递到与对应于该分组的目的地的输出端口相连的容器193,并因此使容器193能够发送该分组。
如以上配置所示,配置分组传送电路109使得输入器191能够将接收的分组传递到分别与分组所发送到的输出端口相连的多个容器193,同时防止分组彼此干扰。另外,以上配置使得多个容器193能够发送将要发送的分组而不彼此干扰。结果,可实现高吞吐量。
分组的目的地与分组传送电路109的多个输出端口之一相一致。输入器191中提供的接收分组分类器1911将接收的分组传递到与对应于接收分组的目的地的输出端口相连的容器193。
容器193具有存储从输入器191传递的分组的多个队列1931。队列1931被给予将分组传递到输出端口的优先权。容器193将代表其中写入分组的队列的写入队列报告信息195报告给读取控制器194。基于写入队列报告信息195,读取控制器194以每一容器193为基础而确定读取分组的队列1931,并提供代表以每一容器193为基础所确定的队列1931的读取队列指示信息198。容器193将分组从读取队列指示信息198所代表的队列1931发送到输出端口。然后,当分组发送结束时,容器193将读取数据量作为读取量信息197报告给读取控制器194。
另外,阈值电平写入器110和确定指示器111将来自有关分组传送电路109的外部的设置报告给读取控制器194。设计分组传送电路109以设置每一队列1931的阈值电平1101,并当来自队列1931的读取数据量超出第二阈值电平时,设置确定指示111是否停止分组的读取。
图7到图11的每一个示出了分组传送电路109的详细配置。图7到图11所示的各种功能块可用硬件或软件构建。这里将描述用软件构建图7到图11所示的各种功能块的即时例子,除了存储器是用存储器件构建的。换言之,前提是在系统中的给定位置保持能实现与以下功能块相同操作的程序,以供计算机读取和实现该程序。而且,除了用软件构建所有功能块之外,如果存在需要高速处理的功能,并且如果硬件电路配置将实现更高级的系统性能,则也可能通过结合软件和硬件来配置系统。
图7是示出了读取控制器194的配置的方框图。如图7所示,读取控制器194具有写入队列信息发生器1941、优先权确定器1940、和读取队列确定器1942。写入队列信息发生器1941以每一容器193为基础而产生代表其中写入了分组的队列1931的写入队列信息19412。优先权确定器1940以每个队列1931为基础而确定读取分组的优先权。参考写入队列信息19412和优先权,读取队列确定器1942以每个容器193为基础而读取从中读取分组的队列。
写入队列信息发生器1941具有写入队列信息存储器19414和写入队列信息更新器19411。写入队列信息存储器19414以每个容器193为基础而存储写入队列信息19412。写入队列信息更新器19411根据队列1931中写入的分组的状态而更新在写入队列信息存储器19414中存储的写入队列信息19412。
写入队列信息更新器19411包括完成队列检测器19413,用于以每个容器193为基础而检测完成了输出分组的队列1931。当报告代表已执行了从容器193向其写入的队列的写入队列报告信息195时,写入队列信息更新器19411从写入队列信息存储器19414中获取对应容器193的写入队列信息19412。然后,写入队列信息更新器19411更新仅由写入队列报告信息195代表的队列1931的分组写入状态,并将该更新的写入队列信息19412报告给写入队列信息存储器19414。
给完成队列检测器19413一份读取完成报告信息196的报告,其代表从容纳已输出分组的队列1931的容器193读取分组的结束,并代表在该读取结束后,该队列1931中是否还留有分组。当以每个容器193为基础报告读取完成报告信息196时,完成队列检测器19413以每个容器193为基础、根据从读取队列确定器1942报告的所确定的队列信息1947而检测完成分组输出的队列1931。然后,完成队列检测器19413将在对应于容器193的队列1931和该队列1931中的写入状态以及读取完成报告信息196报告给写入队列信息更新器19411。而且,完成队列检测器19413以每个容器193为基础,将从已输出分组的队列1931中的读取完成作为完成队列检测信息199报告给写入队列信息更新器19411和优先权确定器1940。
当报告完成队列检测信息199时,写入队列信息更新器19411从写入队列信息存储器19414中获取对应容器的写入队列信息19412。然后,写入队列信息更新器19411根据完成队列信息19413的检测,而仅更新已完成输出分组的队列1931的分组容器状态,并将更新的写入队列信息19412报告给写入队列信息存储器19414。
当从读取队列信息更新器19411报告更新的读取队列信息19412时,读取队列信息存储器19414以每个容器193为基础而存储更新的读取队列信息19412。然后,读取队列信息存储器19414以每个容器193为基础而将存储的读取队列信息19412报告给读取队列确定器1942和优先权确定器1940。
优先权确定器1940具有优先权存储器1946、优先权写入器1944、和最高优先权检测器1945。优先权存储器1946以每个容器193为基础,按照可辨别的方式来存储队列1931的优先权。优先权写入器1944具有以每个容器193为基础、在优先权存储器1946中写入和存储的每一队列1931的优先权。参考读取队列信息19412和优先权存储器1946中存储的优先权,最高优先权检测器1945检测其中写入了分组的队列1931的优先权中的最高优先权,并将该结果报告给读取队列确定器1942。
图8是示出了优先权写入器1944的配置的方框图。如图8所示,优先权写入器1944具有读取数据量检测器19442和优先权校正器19443。读取数据量检测器19442以每个容器193为基础而检测从每个队列1931中读取的数据量。当读取数据量检测器19442检测达到了以每个队列1931为基础而设置的阈值电平的数据量时,优先权校正器19443将该队列1931的优先权校正并降低到预定优先权,并将其写入优先权存储器1946中。
读取数据量检测器19442检测从完成队列检测信息1947代表的队列1931中读取的数据量。然后,读取数据量检测器19442结合该读取数据量和从包含已输出分组的队列1931的容器193报告的读取量信息197,并将该结果报告给优先权校正器19443。
当读取数据量检测器19442检测达到了以每个队列1931为基础而设置的阈值电平的数据量时,优先权校正器19443将该队列1931的优先权校正并降低到预定优先权,并将该结果写入优先权存储器1946中。图8的阈值电平存储器19446存储以每个队列1931为基础而设置的预定阈值电平。同样,参考读取数据量检测器19442所检测的数据量以及存储在阈值电平存储器19446中并已输出分组的队列1931,图8的优先权计算器19445计算该队列的优先权并将该结果写入优先权存储器1946中。
当由图11的图表的水平轴代表的读取数据量检测器19442检测的数据量表示阈值电平存储器19446中存储的数据量达到了为已进行输出的队列1931所设置的阈值电平(Th1)时,优先权计算器19445参考该输出数据量而计算较低优先权,从而按照预定次序设置以上队列1931的优先权(即图11的B)。在图示例子中,当从队列1931输出的数据量为0时,优先权设置为图示为A的电平。
图8示出的每一阈值电平存储器19446具有第一单独阈值电平电路19446a和第二单独阈值电平电路19446b。第一单独阈值电平电路19446a存储与队列1931的最小保证带宽对应的阈值电平。以每一队列1931为基础而提供的第二单独电平电路19446b存储比第一单独阈值电平电路19446a中存储的阈值电平更高的阈值电平。当读取数据量检测器19442检测到达到了第一单独阈值电平电路19446a中存储的阈值电平(即图11中的Th1)的数据量时,优先权校正器19443将优先权降低为对于队列1931而设置的第一优先权(即图11的B),并将该结果写入优先权存储器1946中,其中该队列1931已输出了超出最小保证带宽的数据。而且,当读取数据量检测器19442检测到达到了第二单独阈值电平电路19446b中存储的阈值电平(即图11中的Th2)的数据量时,优先权校正器19443将优先权降低为低于第一优先权的第二优先权(即图11的C),并将该结果写入优先权存储器1946中。
给定属于分组传送电路109的确定指示111的设置,当停止从已达到了第二单独阈值电平电路19446b中存储的阈值电平的队列1931中输出时,优先权校正器19443将优先权降低为用于停止输出的优先权,如图11的D1所示。为了允许超出第二单独阈值电平电路19446b中存储的阈值电平的分组输出,优先权校正器19443可将优先权改变为图11的D3。然而,更优选的是,根据输出数据量而降低优先权,如图11的D2所示,使得队列1931能在公正的基础上输出分组。
而且,阈值电平存储器19446存储该阈值电平使得它们可变,并且分组传送电路109还具有阈值电平写入器110,用于将阈值电平写入阈值电平存储器19446中。
如图9所示,参考写入队列信息19412和优先权存储器1946中存储的优先权,前述最高优先权检测器1945以每个容器193为基础而检测其中写入有分组的队列1931的优先权中的最高优先权,并将该结果报告给读取队列确定器1942。
参考优先权存储器1946中存储的优先权和写入队列信息19412,优先权队列检测器19451以每个容器193为基础而检测其中写入有分组的队列1931的优先权中的最高优先权。最高优先权保持器19455能够保持由优先权队列检测器19451所检测的优先权。
最高优先权保持器19455具有优先权保持电路194561,用于保持以每个容器193为基础而由优先权队列检测器19451检测的优先权,从而使得读取队列确定器1942能够以每个容器193为基础而确定要读取的队列1931。而且,根据前述完成队列检测器19413的检测,最高优选权检测器1945再检测其中写入有分组的队列1931的优先权中的最高优先权,并将该新优先权报告给读取队列确定器1942。
如图10所示,参考来自最高优先权检测器1945的报告和读取队列信息19412,前述读取队列确定器1942以每个容器193为基础而确定从其中读取分组的队列1931。
基于根据优先权确定器1940确定的优先权、以每个容器193为基础而从最高优先权检测器1945报告的最高优先权信息1949,队列检测器19421以每个容器193为基础而检测读取队列信息19412所代表的、队列1931中最高优先权的队列1931。
根据完成队列检测器19413的检测,最高优先权检测器1945检测其中写入分组的队列1931的优先权中的最高优先权,并将新优先权报告给读取队列确定器1942,使得当完成分组输出时,读取队列确定器1942确定从中读取分组的新队列1931。
而且,队列选择器19422以容器193为基础从队列检测器19421检测的队列1931中选择队列1931,并根据该选择而输出读取队列指示信息198和确定队列信息1947,从而使队列1931输出该分组。
队列选择器19422具有选择队列信息发生器194221和选择队列容器194222。选择队列信息发生器194221以每个容器193为基础而产生指示由队列检测器19421所检测的队列1931之一的选择队列信息。选择队列容器194222包含由选择队列信息发生器194221以每个容器193为基础而产生的选择队列信息。为了不有利于任何特定队列1931而对待读取的队列1931的选择存在偏差,当队列检测器19421检测除了当前包含在选择队列容器194222中的选择队列信息所指示的队列1931之外的队列1931时,选择队列信息发生器194221接着产生指示该队列1931的选择队列信息。
而且,以每个容器193为基础,选择队列信息容器194222具有选择队列保持器194224,用于以每个容器193为基础而保持由选择队列信息发生器194221产生的选择队列信息。
当队列检测器19421检测除了当前保持在选择队列保持器194224中的选择队列信息所指示的队列1931之外的队列1931时,选择队列信息发生器194221接着产生指示该队列1931的选择队列信息,并将其保持在选择队列保持器194224中。选择队列信息发生器194221以每个容器193为基础而将选择队列保持器194224中保持的选择队列信息作为确定队列信息1947而报告。
队列1931被排列,使得选择队列信息发生器194221以每个容器193为基础而产生选择队列信息。选择队列信息发生器194221以每个容器193为基础,而将由选择队列保持器194222中当前保持的选择队列信息指示的队列1931放置到队尾,并产生选择队列信息,该选择队列信息指示队列检测器19421所检测的队列1931中对应于最高级的队列1931。
而且,参考来自确定指示器111的确定指示,如果没有队列1931被排列得高于第二优先权,则读取队列确定器1942在确定指示器111指示的队列1931中,确定存储分组的队列1931为待读取的队列1931。
由此,根据本发明的第一实施例,输入器191对容器193中所接收的分组进行分类,读取控制器194中的读取队列信息发生器1941以每个容器193为基础而产生代表其中写入有分组的队列1931的读取队列信息,并以类似方式,读取控制器194中的优先权确定器1940确定读取分组的优先权。由此,根据本发明的第一实施例,参考读取队列信息和优先权,读取队列确定器1942以每个容器193为基础而确定将从中读取分组的队列1931。结果,根据该第一实施例,发射机/接收机的数目增加仅导致容器193的数目增加,使得确定待读取的队列1931所需的时间不变,并由此可实现具有短延迟时间的高速分组传送电路。
而且,根据本发明的第一实施例,选择队列信息发生器194221产生指示由队列检测器19421所检测的队列1931之一的选择队列信息,并且选择队列信息发生器194221包括由选择队列信息发生器194221产生的选择队列信息直到下一选择机会到来为止。结果,当下一选择机会到来并且队列检测器19421所检测的队列1931包括与选择队列信息容器194222中包含的先前选择队列信息不同的队列1931时,选择队列信息发生器194221能够产生指示该队列1931的选择队列信息,从而使得队列1931的选择公正,而不偏向任何特定队列1931。
结果,根据本发明的第一实施例,以每个容器193为基础而确定多个队列1931的优先权,并且多个容器193并行地分别传送分组。然后,有可能以公正的基础确定发射机和接收机之间的连接,并并行地发送分组。结果,可提供具有短延迟时间的高速分组传送电路,而与接收机和发射机的数量无关。
(第二实施例)接下来,将参考附图详细描述本发明的第二实施例。
图12是示出了根据本发明第二实施例的分组传送电路的配置的方框图。
参考图12,本发明第二实施例的分组传送电路200基于本发明第一实施例的分组传送电路109,只是来自多个容器193中的多个队列1931的输出是由输出选择器202而不是读取控制器194控制。
设计输出选择器202以选择多个队列1931之一并输出在该选择队列1931中存储的分组。
而且,输出选择器202具有存储检测器221、优先权确定器222、选择确定器223、多个单独保持器224、多个累积保持器225、和输出量测量器226。存储检测器221提供有检测存储有分组的队列1931的功能。优先权确定器222提供有以每个队列1931为基础而确定输出分组的优先权的功能。然后,在存储检测器221检测的队列1931中,选择确定器223根据优先权确定器222确定的优先权而确定输出分组的队列1931,并为这些队列1931提供分组输出指令。
另外,输出量测量器226测量从每一队列1931输出的分组数据量。提供多个单独保持器224以分别对应于队列1931。多个单独保持器224保持从对应队列1931输出的分组的输出数据量(即输出量测量器226所测量的输出数据量)。然后,当单独保持器224中保持的来自队列1931的输出数据量达到为队列1931设置的预定阈值电平时,优先权确定器221将对应于单独保持器224的队列1931的优先权降低为预定次序、或对应于该输出数据量的次序。用这种方法,提高了队列1931的相对次序,其中该次序的输出数据量还没有达到该阈值电平,并优先输出低于该阈值电平的该队列1931中存储的分组,从而使得基于每个1931的带宽控制成为可能。
提供多个累积保持器225的每一个以对应于一个或多个队列1931(即具有一个或多个队列1931的组容器)。多个累积保持器225累积并保持从对应组容器输出的分组的输出数据量(即由输出量测量器226测量的输出数据量)。然后,当来自对应于累积保持器225的组容器的输出数据量的累积电平达到预定阈值电平时,其中该预定阈值电平基于每个组容器而设置(也就是说,以每个累积保持器225为基础),则优先权确定器222将对应于该累积保持器225的组容器的优先权降低为预定次序、或降低为对应于该输出数据量的累积电平的次序。
用这种方法,提高了属于输出数据量的累积电平还没有达到该阈值电平的组容器的队列1931的相对次序,并优先输出属于低于该阈值电平的该组容器的队列1931中存储的分组,从而使得基于每个组容器的带宽控制和基于每个队列1931的带宽控制成为可能。顺便提及,预定累积保持器225中保持的输出数据量的累积电平是指与预定累积保持器225对应的组容器的输出数据量的总电平。当仅提供一个对应于预定累积保持器225的队列1931时,对应于该队列1931的单独保持器224和累积保持器225保持相同的电平。
如上所述,通过将多个队列1931划分为组并制成组容器,例如当对于与多个用户设备通信的单一用户设备而执行带宽控制时,与该用户设备通信的多个用户设备的每一个都提供有一个或多个队列1931,从而管理一个或多个队列1931作为一个组容器并执行带宽控制。
此外,输出选择器202具有标识写入器203、阈值电平写入器204、和检测指示器205。标识写入器203提供队列1931和没有不一致的多组。标识写入器203为输出量测量器226的累积标识存储器2261(后面描述)和优先权确定器222的队列标识存储器22261(后面描述)提供代表以每个累积保持器225为基础的对应队列1931的队列标识信息、以及代表以每个队列1931为基础的对应累积保持器225的累积标识信息,并将它们存储起来。
关于用完所分配带宽的队列1931,检测指示器205在不允许从该队列1931输出和使该队列1931为最佳工作类型(即没有服务保证的队列1931)之间选择。关于最低优先权的队列1931,检测指示器205指示选择确定器223(后面描述)的优先权队列检测器2231,不允许从该队列1931输出分组。阈值电平写入器204将以每个累积保持器225为基础而设置的阈值电平和每个队列1931的阈值电平写入优先权确定器222的累积阈值电平存储器2227(后面描述)和单独阈值电平存储器2222(后面描述)中。
图13是示出了本发明第二实施例的分组传送电路中的优先权确定器的配置的方框图。如图13所示,优先权确定器222具有优先权存储器2221和优先权写入器2223。然后,优先权写入器2223将每个队列1931和组容器的优先权写入优先权存储器2221中。
另外,优先权写入器2223具有多个单独阈值电平存储器2222、单独写入器2225、累积写入器2226、和多个累积阈值电平存储器2227。
提供多个单独阈值电平存储器2222以分别对应于单独保持器224。多个单独保持器224存储每一单独保持器224的输出数据量的阈值电平(即输出量测量器226所测量的输出数据量)。顺便提及,有可能为每一单独阈值电平存储器2222提供唯一的阈值电平(即每一单独保持器224的唯一阈值电平)。也有可能通过阈值电平写入器204而改变在每一单独阈值电平存储器2222中存储的阈值电平。
一旦接收到每一单独保持器224中保持的输出数据量和每一单独阈值电平存储器2222中存储的阈值电平,单独写入器2225就比较单独保持器224所提供的输出数据量和对应于以上单独保持器224的单独阈值电平存储器2222所提供的阈值电平。当该输出数据量超出该阈值电平时,单独写入器2225将该队列1931的优先权降低为预定次序,并将该预定次序写入优先权存储器2221中。
同时,提供多个累积阈值电平存储器2227以分别对应于累积保持器225。多个累积阈值电平存储器2227存储有累积保持器225的输出数据量的累积电平(即,每个组容器的输出数据量的累积电平)。顺便提及,可能为每一累积阈值电平存储器2227提供唯一阈值电平(即,每个累积保持器224的唯一阈值电平)。此外,也有可能通过阈值电平写入器204而改变每一累积阈值电平存储器2227中存储的阈值电平。
一旦接收到每一累积保持器225中保持的输出数据量的累积电平和每一累积阈值电平存储器2227中存储的阈值电平,累积写入器2226就将累积保持器225提供的输出数据量的累积电平和对应于该累积保持器225的累积阈值电平存储器所提供的阈值电平作比较。当该输出数据量的阈值电平超出该阈值电平时,累积写入器2226将该队列1931和组容器的优先权降低为预定次序,并将该预定次序写入优先权存储器2221中。
顺便提及,最好周期性地复位单独保持器224和累积保持器225,并在每个周期保持该输出数据量和累积电平。同样,也最好周期性地复位优先权存储器2221中存储的每一队列1931或组容器的优先权,从而恢复以每一队列1931或组容器为基础而预先提供的优先权。关于该阈值电平,其最好为每一队列1931或组容器而提供,存储在单独阈值电平存储器2222或累积阈值电平存储器2227中,并参考每一分配的带宽和以上周期而确定。
而且,具体说,阈值电平写入器204的使用使得对应于队列1931和组容器的单独阈值电平存储器2222和累积阈值电平存储器2227中的阈值电平的写入和改变成为可能。结果,可能精确地分配每一组容器分配的带宽,并分配带宽到属于预定组容器的每一队列。
也可能以选择的定时灵活地改变带宽,从而分配到每一队列1931和组容器。
图14是示出了本发明第二实施例的分组传送电路中的单独阈值电平存储器和单独写入器的配置的方框图。如图14所示,单独阈值电平存储器2222具有第一单独阈值电平电路22221和第二单独阈值电平电路22222。单独写入器2225具有优先权计算器2228和计算结果写入器2229。
当来自单独保持器224的输出数据量超出对应单独阈值电平存储器2222中存储的阈值电平时,图14所示的单独写入器2225的优先权计算器2228计算优先权,从而以预定优先权设置对应队列1931的优先权。该计算结果通过计算结果写入器2229而写入优先权存储器2221中。
图18是用于解释本发明第二实施例的分组传送电路中由优先权计算器计算的优先权与输出数据量之间的关系的第一例子的图。在图18中,垂直轴代表优先权,而水平轴代表队列1931的输出数据量。优先权计算器2228根据输出数据量和单独阈值存储器2222中存储的阈值电平而确定优先权。如图18所示,当队列1931没有输出分组时,队列1931的优先权被认为是图18所示的优先权F。随着来自队列1931的输出数据量增加,队列1931的优先权降低,并且当输出数据量达到以每个队列1931为基础而提供的阈值电平(即图18中的Th1)时,以预定次序设置队列1931的优先权(即图18的优先权G)。
通过这样由优先权计算器2228来确定优先权,有可能为还没有输出接近阈值电平量的数据的队列1931设置比已输出接近阈值电平量的数据的队列1931更高的优先权。结果,输出数据量达到阈值电平所花费的平均时间在两个队列1931之间变得相等。
如图14所示,单独阈值电平存储器2222具有第一单独阈值电平电路22221和第二单独阈值电平电路22222。第一单独阈值电平电路存储有与队列1931的最小保证带宽对应的阈值电平(即,最小保证带宽阈值电平)。第二单独阈值电平电路22222存储有最大带宽的阈值电平(即,最大带宽阈值电平),其大于第一单独阈值电平电路22221中所存储的最小保证带宽阈值电平。如果存储(即列队)有分组的所有队列1931已输出数据达到第一单独阈值电平电路22221中所存储的最小保证带宽阈值电平,则提供额外带宽用于有效利用,使得这些队列1931能输出数据达到第二单独电平电路22222中所存储的阈值电平。
当单独保持器224中保持的输出数据量达到第一单独阈值电平电路22221中所存储的阈值电平时,单独写入器2225将该队列1931的优先权降低为对于这样的队列1931而设置的第一优先权,其中这样的队列1931已输出大于最小保证带宽阈值电平量的数据,并将该结果写入优先权存储器2221中。当单独保持器224中保持的输出数据量达到第二单独阈值电平电路22222中所存储的阈值电平时,单独写入器2225将该队列1931的优先权降低为低于第一优先权的第二优先权,并将该结果写入优先权存储器2221中。
图19是用于解释本发明第二实施例的分组传送电路中由优先权计算器计算的优先权与输出数据量之间的关系的第二例子的图。在图19中,垂直轴代表优先权,而水平轴代表队列1931的输出数据量。
如图19所示,当队列1931没有输出分组时,优先权计算器2228以图19的优先权A设置队列1931的优先权,并随着来自队列1931的输出数据量的增加而降低队列1931的优先权。当该输出数据量达到第一单独阈值电平电路22221中存储的阈值电平(即图19的Th1)时,以预定优先权(即图19的优先权B)设置队列1931的优先权。
用这种方法,即使当对分组进行了列队的所有队列1931已输出数据达到该最小保证带宽阈值电平时,队列1931仍然能够输出分组直到该输出数据量达到第二单独阈值电平电路22222中存储的阈值电平(即图19的Th2)为止。当来自队列1931的输出数据量达到阈值电平Th2时,该队列1931的优先权成为图19所示的最佳工作优先权C。
用这种方法,阈值电平写入器204能够在单独阈值电平存储器2222的第二单独阈值电平电路22222中写入和存储比第一单独阈值电平电路22221中存储的阈值电平更低的阈值电平。结果,有可能设置队列1931的最小保证带宽和最大保证带宽。
此外,关于随后由检测指示器205产生的最佳工作类型的队列1931,与来自该队列1931的分组的输出数据量无关,也可能不改变由图19的优先权D3所代表的优先权。此外,如图19的优先权D2所代表的一样,也可能继续在该监视周期内不断输出分组,并且关于已输出与物理可输出上限电平对应的数量的数据的队列1931,通过检测指示器205而不允许从该队列1931输出分组。用这种方法,已输出较大量数据的队列1931具有较低优先权,从而使得能够在队列1931之间公正输出分组。
图15是示出了本发明第二实施例的分组传送电路中的累积阈值电平存储器和累积写入器的配置的方框图。如图15所示,累积阈值电平存储器2227具有第一累积阈值电平电路22271和第二累积阈值电平电路22272。累积写入器22262具有队列标识存储器22261和对应关系写入器22262。
在图15所示的累积写入器2226中提供了多个队列标识存储器22261以分别对应于累积保持器225。多个队列标识存储器22261存储有代表对应队列1931和组容器的标识信息。当累积保持器225中保持的输出数据量超出预定阈值电平时,对应关系写入器22262参考在对应于累积保持器225的队列标识存储器22261中存储的标识信息,检测需要改变其优先权的队列1931,并将该改变的优先权写入优先权存储器2221中。
累积阈值电平存储器2227的第一累积阈值电平电路22271存储有最小保证带宽累积阈值电平,其是与累积保持器225对应的队列1931的最小保证带宽的累积阈值电平(当存在多个对应队列1931时,使用它们的阈值电平的总数)。第二累积阈值电平电路22272具有最大带宽的累积阈值电平(即最大带宽累积阈值电平),其大于第一累积阈值电平电路22271中存储的最小保证带宽累积阈值电平。
当累积保持器225中保持的输出数据量达到第一累积阈值电平电路22271中存储的阈值电平时,累积写入器2226将该队列1931的优先权降低为已输出超过最小保证带宽阈值电平的数据的队列1931的第一优先权,并将该结果写入优先权存储器2221中。当累积保持器225中保持的输出数据量达到第二累积阈值电平电路22272中存储的阈值电平时,累积写入器2226将该队列1931的优先权降低为低于该第一优先权的第二优先权,并将该结果写入优先权存储器2221中。
用这种方法,如果已列队了分组的所有队列1931和所有组容器已输出数据达到最小保证带宽累积阈值电平,则这些队列1931能输出数据达到最大带宽阈值电平,从而可有效利用额外带宽。
图17是示出了本发明第二实施例的分组传送电路的选择确定器的配置的方框图。如图17所示,选择确定器223具有优先权队列检测器2231和队列确定器2232。参考优先权确定器222所确定的优先权,优先权队列检测器2231检测与存储检测器221检测的最高优先权对应的队列1931。队列确定器2232能从优先权队列检测器2231检测的队列1931中确定要选择的队列1931。
此外,队列确定器2232包括确定队列信息发生器22321和确定队列信息保持器22322。确定队列信息发生器2321产生代表优先权队列检测器2231所检测的队列1931之一的确定队列信息。确定队列信息保持器22322保持来自确定队列信息发生器22321的确定队列信息。用这种方法,确定队列信息发生器22321能检测由当前保持在确定队列信息保持器22322中的确定队列信息所代表的队列1931。
当确定队列信息保持器22322检测除了由确定队列信息保持器22322当前保持的队列1931之外的队列1931时,确定队列信息发生器22321接下来产生代表该队列1931的确定队列信息。此外,确定队列信息发生器22321将由当前保持在确定队列信息保持器22322中的确定队列信息所代表的队列1931放置在该排序的末尾(对应于最低优先权),并接下来产生代表优先权队列检测器2231所检测的队列1931中对应于最高排序的队列1931(即最高优先权的队列1931)的确定队列信息,使得在每次选择时改变排序,并在公正的基础上来选择多个队列1931。
图16是示出了本发明第二实施例的分组传送电路的输出量测量器的配置的方框图。如图16所示,输出量测量器226具有累积标识存储器2261、数据量计数电路2262、单独选择电路2263、累积选择电路2264、和完成检测器2265。对应于累积保持器225而设置多个累积标识存储器2261。多个累积标识存储器2261能够存储代表累积保持器225与队列1931和组容器之间的对应关系的累积标识信息。用这种方法,累积保持器225与队列1931和组容器之间的对应关系成为可识别的,使得输出分组的队列1931的输出数据量在累积标识信息所指示的累积保持器225中累积。
另外,数据量计数器2262计数来自队列1931的输出数据量。将数据量计数电路2262计数的输出数据量提供到单独选择电路2263和累积选择电路2264。单独选择电路2263选择能够保持每一队列1931的输出数据量的单独保持器224。累积选择电路2264选择能够累积和保持每一队列1931和组容器的输出数据量的累积保持器225。
单独选择电路2263将该输出数据量供应到与选择确定器223选择的队列1931对应的单独保持器224。此外,累积选择电路2264将该输出数据量供应到与选择确定器223选择的组容器对应的累积标识存储器2261中的累积标识信息代表的累积保持器225。此外,标识写入器203将队列标识信息写入到以每个累积保持器为基础而提供的队列标识存储器22261中,对其进行存储,并使得代表累积标识存储器2261中的该累积保持器225的累积标识信息对应于该队列标识信息代表的队列1931。结果,可能完全一致地设置队列1931和组容器之间的对应关系。
此外,标识写入器203使得队列标识存储器22261和累积标识存储器2261中存储的信息可改变,从而使得用户能够改变队列1931和组容器之间的对应关系。
完成检测器2265检测来自队列1931的分组输出的末尾。完成检测器2265能够将分组输出的末尾报告给优先权确定器222、选择确定器223、数据量计数电路2262、单独选择电路2263、和累积选择电路2264等,从而报告处理时间(保证同步)并降低非处理周期(即等待周期)期间消耗的功率。也就是说,基于分组输出的结束的定时,数据量计数电路2262能够计数并提供输出数据量到单独保持器224和累积保持器225。优先权确定器222同样能够根据分组输出的结束的定时而确定已输出分组的队列1931的优先权。另外,选择确定器222同样能够根据分组输出的结束的定时而确定要重新选择的队列1931。如上所述,通过这样用完成检测器2265来检测分组输出的结束,当存在仍然输出分组的队列1931时,选择确定器223不能选择另一队列1931,直到来自队列1931的当前分组输出结束为止。结果,可精确地控制和输出例如ATM信元的固定长度分组、以及例如IP分组的可变长度分组。
此外,上述优先权在某一监视周期(即在周期的基础上)之后,恢复了初始设置的优先权。如图18所示,阈值电平写入器204在单独阈值电平存储器2222的第一单独阈值电平电路22221和第二单独阈值电平电路22222中写入和存储相同的阈值电平(即图18中的Th1=Th2),而单独写入器2225在优先权存储器2221中写入还没有输出具有最高优先权(即图18中的优先权F)的分组的队列1931的优先权。结果,不需要特定安装,也可能在分组传送电路200中为队列1931提供小延迟,如专用信道业务。
如图18所示,已输出与达到阈值电平Th1的输出数据量对应的分组的队列1931将其优先权降低为图18中的优先权G。此外,当检测指示器205不允许从该队列1931输出时,优先权降低到图18的优先权D1,然后将没有分组从该队列1931输出。当检测指示器205使队列1931为最佳工作类型(besteffort type)时,该队列1931将其优先权降低为图18中的优先权C所示的最佳工作优先权。随后,当该队列1931输出分组时,有可能不改变由图18的优先权D3所代表的优先权。另一方面,如图18的优先权D2所代表的一样,最好不允许从已达到该上限电平的队列1931输出。
而且,图20是用于解释本发明第二实施例的分组传送电路中由优先权计算器计算的优先权与输出数据量之间的关系的第三例子的图。如图20所示,单独阈值电平存储器222的第一单独阈值电平电路22221和第二单独阈值电平电路22222写入和存储了相同的阈值电平(即图20中的Th1=Th2)。与队列1931的输出数据量无关,单独写入器2225将最低优先权E写入优先权存储器2221中。结果,可在分组传送电路200内部提供最佳工作队列1931。在这种情况下,如上所述,当该队列1931稍后输出分组时,可能不改变由图18的优先权D3所代表的优先权。然而,如图18的优先权D2所代表的一样,最好不允许从已达到上限电平的队列1931输出。
尽管已根据本发明的第二实施例描述了这样一种情况,其中用具有相应功能的单独单元形成分组传送电路200,但是同样可能通过执行借助计算机而使得等同操作成为可能的程序而实现本发明。
由此,除了本发明第一实施例的优点之外,根据本发明的第二实施例,多个队列1931被分为多组并形成多个组容器,并参考属于所述多个组容器的队列1931的输出数据量的累积电平(即总电平)而执行带宽控制。结果,通过简单配置,可能选择输出分组的队列1931,而无需依次从两类表格中读取信息。
此外,本发明的第二实施例可应用到一个容器193控制来自多个队列1931的输出的情况。
本申请基于2002年5月30日提交的日本专利申请第2002-157333号和2002年5月31日提交的日本专利申请第2002-160579号,其全部内容通过引用而特别合并在这里。
产业上的可利用性本发明可应用到接收分组并通过多个输出端口而输出分组的设备。
权利要求
1.一种分组传送电路,包括多个容器,分别与对应输出端口相连,并将分组容纳在向其写入和从其读取所述分组的多个队列中;输入器,用于对通过输入端口输入的分组进行分类,并将所述分组容纳在所述容器中;和读取控制器,用于以每个容器为基础而确定从其中读取分组的队列、从该确定的队列中读取所述分组、并将所述分组输出到所述输出端口,其中所述读取控制器包括写入队列信息发生器,用于以每个容器为基础而产生指示其中写入了分组的队列的写入队列信息;优先权确定器,用于以每个队列为基础而确定分组读取的优先权;和读取队列确定器,用于以每个容器为基础、参考该写入队列信息和优先权来确定从其中读取分组的队列。
2.根据权利要求1的分组传送电路,其中所述优先权确定器包括优先权存储器,用于以每个容器为基础而以可辨别的方式存储这些队列的优先权;优先权写入器,用于以每个容器为基础而在所述优先权存储器中写入和存储这些队列的所述优先权;和最高优先权检测器,用于以每个容器为基础,参考写入队列信息和所述优先权存储器中存储的优先权,来检测与其中写入这些分组的队列中的最高优先权对应的队列,并将所检测队列的报告发送到所述读取队列确定器,其中,参考来自所述最高优先权检测器的报告和写入队列信息,所述读取队列确定器以每个容器为基础而确定要从其中读取分组的队列。
3.根据权利要求2的分组传送电路,其中所述读取队列确定器包括队列检测器,用于以每个容器为基础,参考所述优先权确定器确定的优先权,检测与该读取队列信息指示的队列中的最高优先权对应的队列;和队列选择器,用于以每个容器为基础,选择性地采用由所述队列检测器以每个容器为基础而检测的队列,作为要从其中读取分组的队列。
4.根据权利要求3的分组传送电路,其中所述队列选择器包括选择队列信息发生器,用于以每个容器为基础,选择性地采用由所述队列检测器以每个容器为基础而检测的队列,作为要从其中读取分组的队列,并产生指示所采用的队列的选择队列信息;和选择队列容器,包含由所述选择队列信息发生器以每个容器为基础而产生的选择队列信息,其中,当由当前保持在所述选择队列容器中的选择队列信息指示的队列和由所述队列检测器所选择的队列不匹配时,所述选择队列信息发生器接下来产生指示所述队列检测器所检测的所述队列的选择队列信息。
5.根据权利要求4的分组传送电路,其中所述选择队列信息容器包括以每个容器为基础的选择队列保持器,用于保持所述选择队列信息发生器以每个容器为基础而产生的选择队列信息;并且其中,当由当前保持在所述选择队列保持器中的选择队列信息指示的队列和由所述队列检测器所检测的队列不匹配时,所述选择队列信息发生器接下来产生指示所述队列检测器所检测的所述队列的选择队列信息,并将所述选择队列信息保持在所述选择队列保持器中。
6.根据权利要求5的分组传送电路,其中以排序顺序放置这些队列,使得所述选择队列信息发生器能够以每个容器为基础而产生该选择队列信息;并且其中所述选择队列信息发生器将由所述选择队列保持器当前保持的选择队列信息指示的队列放置在该排序顺序的较低端,并产生指示与所述队列检测器检测的队列中的最高排序对应的队列的选择队列信息。
7.根据权利要求6的分组传送电路,其中所述优先权写入器包括读取数据量检测器,用于以每个容器为基础而检测从这些队列读取的数据量;和优先权校正器,用于当所述读取数据量检测器所检测的数据量与以每个队列为基础而设置的阈值电平匹配时,将该队列的优先权校正和降低到预定优先权,并将该校正的优先权写入到所述优先权存储器中。
8.根据权利要求7的分组传送电路,其中所述优先权校正器包括阈值电平存储器,用于存储以每个队列为基础的阈值电平;和优先权计算器,用于以每个队列为基础,参考所述读取数据量检测器所检测的数据量和所述阈值电平存储器中所存储的、已输出分组的队列的阈值电平,而计算队列的优先权,并将该计算的优先权写入所述优先权存储器中。
9.根据权利要求8的分组传送电路,其中,当所述读取数据量检测器所检测的数据量与所述阈值电平存储器中存储的、为已输出该数据量的队列而设置的阈值电平匹配时,所述优先权队列计算器参考该输出数据量而计算对应队列的较低优先权,使得所述对应队列的所述优先权成为预定优先权。
10.根据权利要求9的分组传送电路,其中所述阈值电平存储器包括第一单独阈值电平电路,用于存储与该队列的最小保证带宽对应的阈值电平;和第二单独阈值电平电路,用于存储比所述第一单独阈值电平电路中存储的阈值电平大的阈值电平;其中,当所述读取数据量检测器所检测的数据量和所述第一阈值电平电路中存储的阈值电平匹配时,所述优先权校正器将优先权降低为对已输出超过该最小保证带宽的数据量的队列而设置的第一优先权,并将该降低的优先权写入所述优先权存储器中;并且其中,当所述读取数据量检测器所检测的数据量和所述第二阈值电平电路中存储的阈值电平匹配时,所述优先权校正器将优先权降低为低于该第一优先权的第二优先权,并将该降低的优先权写入所述优先权存储器中。
11.根据权利要求10的分组传送电路,其中所述优先权检测器包括优先权队列检测器,用于以每个容器为基础,参考所述优先权存储器中存储的优先权和该写入队列信息,检测其中存储分组的队列的优先权中的最高优先权;和优先权保持器,用于保持由所述优先权队列检测器检测的优先权。
12.根据权利要求11的分组传送电路,其中所述优先权保持器以每个容器为基础而保持由所述优先权队列检测器检测的优先权。
13.根据权利要求12的分组传送电路,其中所述写入队列信息发生器包括写入队列信息存储器,用于存储以每个容器为基础的写入队列信息;和写入队列信息更新器,用于根据队列中分组的写入状态而更新在所述队列信息存储器中存储的写入队列信息。
14.根据权利要求13的分组传送电路,其中所述写入队列信息更新器包括完成队列检测器,用于以每个容器为基础,检测完成输出分组的队列,并根据所述完成队列检测器的检测而更新该写入队列信息。
15.根据权利要求14的分组传送电路,其中所述优先权确定器根据所述完成队列检测器的检测确定已经输出分组的队列的新优先权。
16.根据权利要求15的分组传送电路,其中所述优先权写入器根据所述完成队列检测器的检测而在所述优先权存储器中写入和存储优先权。
17.根据权利要求16的分组传送电路,其中所述优先权检测器根据所述完成队列检测器的检测而检测其中写入分组的队列的优先权中的新最高优先权,并将新优先权报告给所述写入队列确定器。
18.根据权利要求17的分组传送电路,其中所述队列确定器参考从所述优先权检测器报告的新优先权,确定要从其读取分组的新队列。
19.根据权利要求17的分组传送电路,还包括阈值电平写入器,用于在所述阈值电平存储器中写入阈值电平,其中所述阈值电平存储器以可变方式存储阈值电平,并以每个队列为基础而由所述阈值电平写入器在其中写入所述阈值电平。
20.根据权利要求19的分组传送电路,还包括确定指示器,用于当该优先权低于该第二优先权时,确定能输出分组的队列,并将该确定的队列指示给所述读取队列确定器,其中,当没有队列高于第二优先权时,所述读取队列确定器从所述确定指示器指示的队列中,确定其中存储有分组的队列,作为要读取的队列。
21.一种分组传送电路,包括多个容器,分别与对应输出端口相连,并将分组容纳在向其写入和从其读取所述分组的多个队列中;输入器,用于对通过输入端口输入的分组进行分类,并将所述分组容纳在所述容器中;和读取控制器,用于以每个容器为基础来确定要从其读取分组的队列,从该确定的队列中读取所述分组,并将所述分组输出到所述输出端口,其中所述读取控制器包括写入队列信息发生器,用于以每个容器为基础而产生指示其中写入了分组的队列的写入队列信息;分组输出选择器,用于以每个队列为基础,确定从这些队列输出分组的优先权;和读取队列确定器,用于以每个容器为基础,参考该写入队列信息和优先权来确定要从其读取分组的队列;其中所述分组输出选择器包括存储检测器,用于检测其中存储有分组的队列;优先权确定器,用于以每个队列为基础,确定输出分组的优先权;选择确定器,用于参考所述优先权确定器确定的优先权,从所述存储检测器检测的队列中确定要输出分组的队列;输出量测量器,用于测量从该队列输出的分组的输出数据量;和多个累积保持器,用于参考所述输出量测量器测量的输出数据量,累积和保持来自多个组容器的相应输出数据量,其中每个组容器包括一个或多个队列,并且其中,当累积保持器中保持的队列的输出数据量的累积电平超出预定阈值电平时,所述优先权确定器将对应于所述累积保持器的队列的优先权降低为预定优先权。
22.根据权利要求21的分组传送电路,其中所述优先权选择器包括优先权存储器,用于分别存储多个队列的优先权;和优先权写入器,用于将所述队列的优先权写入所述优先权存储器中;并且其中所述优先权写入器包括累积阈值电平存储器,用于存储以每个累积保持器为基础而设置的预定阈值电平;和累积写入器,用于当所述累积保持器中保持的队列的输出数据量的累积电平超出所述累积阈值电平存储器中存储的预定阈值电平时,将由所述优先权确定器将其降低为预定优先权的队列的优先权写入所述优先权存储器中;并且,其中所述选择确定器选择与所述优先权存储器中存储的优先权中的最高优先权对应的队列,作为要输出分组的队列。
23.根据权利要求22的分组传送电路,还包括多个单独保持器,其每一个对于输出分组的队列,而保持所述输出量测量器测量的输出数据量中的对应队列的输出数据量,其中,当该单独保持器中保持的队列的输出数据量超出该阈值电平时,所述优先权确定器将所述队列的优先权降低为预定优先权。
24.根据权利要求23的分组传送电路,还包括单独阈值电平存储器,用于存储以每个单独保持器为基础而设置的预定阈值电平;和单独写入器,用于当所述单独保持器中保持的队列的输出数据量超出所述单独阈值电平存储器中存储的预定阈值电平时,将由所述优先权确定器将其降低为预定优先权的所述队列的优先权写入所述优先权存储器中。
25.根据权利要求24的分组传送电路,还包括优先权计算器,用于当所述单独保持器中保持的输出数据量超出所述单独阈值电平存储器中存储的预定阈值电平时,对所述队列的优先权进行计算并将其降低为预定优先权,其中所述优先权确定器根据所述优先权计算器的计算结果确定优先权。
26.根据权利要求25的分组传送电路,其中与该队列的最小保证带宽对应的第一阈值电平以及大于该第一阈值电平的第二阈值电平都被存储在所述单独阈值电平存储器中,作为该预定阈值电平;并且其中,当所述单独保持器中保持的队列的输出数据量超出第一阈值电平时,所述优先权确定器将所述队列的优先权降低为第一预定优先权;并且其中,当所述单独保持器中保持的队列的输出数据量超出第二阈值电平时,所述优先权确定器将所述队列的优先权降低为低于该第一优先权的第二预定优先权。
27.根据权利要求26的分组传送电路,其中所述选择确定器包括优先权队列检测器,用于检测所述存储检测器检测的队列中对应于最高优先权的队列;和队列确定器,用于确定由所述选择确定器从所述优先权队列检测器检测的队列中选择的队列。
28.根据权利要求27的分组传送电路,其中所述队列确定器包括确定队列信息发生器,用于产生指示由所述优先权队列检测器检测的队列的确定队列信息;和确定队列信息保持器,用于保持由所述确定队列信息发生器产生的确定队列信息;并且其中,当由当前保持在所述确定队列信息保持器中的确定队列信息指示的队列与所述优先权队列检测器检测的队列不匹配时,所述确定队列信息发生器接下来产生指示该检测的队列的确定队列信息。
29.根据权利要求28的分组传送电路,其中多个队列以根据其相应优先权的排序顺序放置;并且其中所述确定队列信息发生器产生这样的确定队列信息,用于将由所述确定队列信息保持器中保持的确定队列信息指示的队列放置在该排序顺序的较低端,并产生用于将该检测队列放置在所述排序顺序的较上端的确定队列信息。
30.根据权利要求29的分组传送电路,还包括队列标识存储器,用于存储指示所述累积保持器和队列之间的对应关系的队列标识信息,其中,当累积保持器中保持的输出数据量的累积电平与所述累积阈值电平存储器中存储的阈值电平匹配时,所述累积写入器参考该队列标识信息,并将对应于所述累积保持器的队列的优先权写入所述优先权存储器中。
31.一种分组传送方法,包括输入步骤,用于对多个分组进行分类,并将所述多个分组容纳在多个容器的多个队列中,所述容器包括分别与对应输出端口相连并向其写入和从其读取所述分组的所述多个队列;读取控制步骤,用于以每个容器为基础而确定要从其读取分组的队列,从该确定的队列中读取所述分组,并将所述分组输出到所述输出端口,其中所述读取控制步骤包括写入队列信息发生步骤,用于以每个容器为基础而产生指示其中写入了分组的队列的写入队列信息;优先权确定步骤,用于以每个队列为基础而确定分组读取的优先权;和读取队列确定步骤,用于以每个容器为基础,参考该写入队列信息和优先权来确定要从其读取分组的所述队列。
32.一种用于在计算机上实现分组传送方法的分组传送程序,所述方法包括输入步骤,用于对多个分组进行分类,并将所述多个分组容纳在多个容器的多个队列中,所述容器包括分别与对应输出端口相连并向其写入和从其读取所述分组的所述多个队列;读取控制步骤,用于以每个容器为基础而确定要从其读取分组的队列,从该确定的队列中读取所述分组,并将所述分组输出到所述输出端口,其中所述读取控制步骤包括写入队列信息发生步骤,用于以每个容器为基础而产生指示其中写入了分组的队列的写入队列信息;优先权确定步骤,用于以每个队列为基础而确定分组读取的优先权;和读取队列确定步骤,用于以每个容器为基础,参考该写入队列信息和优先权来确定要从其读取分组的所述队列。
全文摘要
输入部件(191)分配分组使得它们被包括在多个容器(193)中。所述多个容器(193)包括在能写入/读取分组的队列(1931)上的分组。读取控制器(194)包括写入队列信息发生器(1941),用于对于每个容器而产生指示其中写入分组的队列的写入队列信息;优先权判定部件(1940),用于对于每个队列而判定分组读取优先权;和读取队列判定部件(1942),用于根据该写入队列信息和优先权,对于每个容器来判定将从其读取分组的队列。
文档编号H04L12/54GK1656754SQ0381246
公开日2005年8月17日 申请日期2003年5月30日 优先权日2002年5月30日
发明者金泽岳史 申请人:松下电器产业株式会社