通信设备的制作方法

文档序号:7966520阅读:195来源:国知局
专利名称:通信设备的制作方法
技术领域
本发明涉及通过通信网络建立数据通信的技术,尤其涉及控制分配给数据通信的带宽的技术。
背景技术
最近,随着如ADSL等高速数据通信技术的发展普遍采用流方式(streaming)。此流方式通过通信网络发布运动画面数据或音乐数据,并且用户实时地从运动画面数据中再现运动画面,并从音乐数据中再现音乐片断。
在此类型的流方式中,重要的是,应将作为发送对象的运动画面数据或音乐数据以预定发送速度无故障地传送到目的地,换句话说,诸如发送速度、发送延迟等之类的服务质量(下文也称为“QoS”)应被保持稳定。因此,在现有技术中已经提出各种技术以保证QoS。举例来说,可给出两类技术,即“通信量调整系统”和“优先级队列系统”。
通信量调整系统提供这样的控制系统,即,根据预定规则来对通过通信网络发送的一连串数据(下文也称为“流量”)进行分类,随后将预定带宽分配给每一已分类的流量。相反,优先级队列系统提供这样的控制系统,即,把优先级分别分配给已分类的流量,随后按照较高优先级顺序将流量顺序地发出到通信网络。
而且,在日本专利JP-A-2000-270023披露的技术中,确保把优先级队列系统中所用的频带与通信量调整系统中所用的频带分开,随后通过将通信量调整系统与优先级队列系统彼此并行结合来执行流量发送控制(下文简称为“流量控制”)。
然而,根据日本专利JP-A-2000-270023中披露的技术,必须预先保持优先级队列系统中所用的频带,因此这种频带不能被用在通信量调整系统中。因此,当作为优先级队列系统中的控制对象的流量不存在时,根本不能使用这种频带。
而且,根据日本专利JP-A-2000-270023中披露的技术,可以结合地应用通信量调整系统与优先级队列系统,不过这两种系统的结合方式仅限于上述的并行结合。

发明内容
考虑到上述问题做出本发明,并且目的在于提供技术以改善结合使用多个流量控制系统的自由度,并且实现灵活的流量控制。
为了解决上述问题,本发明提供一种通信设备,包括分别分配有优先级或预定带宽的多个第一队列;多个第二队列,它们与多个第一队列中的任何一个相对应并且被分别分配有优先级;第一写入部分,根据规则其将数据块写入多个第二队列中的任何一个中或写入多个第一队列中与所述第二队列不对应的任何一个中;第二写入部分,其按照分别分配给第二队列的优先级的顺序来读取存储在多个第二队列中的数据块,并且把所述数据块写入与所述第二队列相对应的至少一个第一队列中;以及发送部分,其按照分别分配给所述第一队列的优先级的顺序或者按照与分别分配给所述第一队列的带宽相对应的时间间隔来读取存储在多个第一队列中的数据块,并且将所述数据块发送到通信网络。
优选地,该通信设备还包括设置规则的设置部分。每一数据块均包括报头部分,该报头部分具有指示目的地或发送方的通信地址,还具有指示用于接收数据块的应用程序或用于发送数据块的应用程序的应用标识符、或指示数据块的优先级的优先级标识符。根据包含在数据块的报头部分中的一个或多个通信地址、应用标识符和优先级标识符,该规则限定数据块分别与多个第二队列和多个第一队列相对应。在此结构中,如上所述,当要被发送到反向系统中的数据块被分类并写入分成两层的队列中时,根据包含在报头部分中的通信地址或应用标识符或优先级标识符的每一索引,可改善结合这些索引的自由度,而且还可改善设置该规则的自由度。
为了解决上述问题,本发明的另一实施例提供一种使得计算机单元起到通信设备功能的程序,该通信设备包括分别分配有优先级或预定带宽的多个第一队列;与多个第一队列的任何一个相对应并且分别分配有优先级的多个第二队列;第一写入部分,根据规则其将数据块写入多个第二队列中的任何一个中或写入多个第一队列中与所述第二队列不对应的任何一个中,所述数据块通过通信网络被发送到反向系统;第二写入部分,其按照分别分配给第二队列的优先级的顺序读取存储在多个第二队列中的数据块,并且把该数据块写入与第二队列相对应的至少一个第一队列中;以及发送部分,其按照分别分配给第一队列的优先级顺序或者按照与分别分配给第一队列的带宽相对应的时间间隔来读取存储在多个第一队列中的数据块,并且将所述数据块发送到通信网络。
根据本发明,可获得这样的优点,即,可改善结合使用多个流量控制系统的自由度,而且还可实现灵活的流量控制。


通过参考附图来详细描述优选的示例性实施例,本发明的上述目的和优点会变得更加清楚,其中图1是示出作为根据本发明第一实施例的包括中继装置的通信系统的整体结构示例的框图;图2是示出该通信系统的中继装置的结构示例的框图;图3是示出存储在该中继装置的非易失性存储部分中的管理表示例的示图;图4是示出形成在该中继装置的易失性存储部分中的队列示例的示图;图5是示出该中继装置的控制部分执行的数据包发送处理流程的流程图;以及图6是示出当控制部分310将存储在第二层队列中的数据包写到第一层队列上时执行的处理流程的流程图。
具体实施例方式
以下将参考

实行本发明的最佳方式。
(A.结构)图1是示出作为根据本发明第一实施例的包括中继装置300的通信系统10的结构示例的框图。如图1所示,通信系统10包括如作为LAN(局域网)的第一通信网络100和作为如因特网之类的公共网络(由未指定的大量用户所共同使用的通信网络)的第二通信网络200。两个通信网络通过中继装置300连接。
中继装置300例如为路由器,并且遵照预定通信协议(在本实施例中为“IP”)来对连接到第一通信网络100的通信装置(未示出)和连接到第二通信网络200的通信装置(未示出)之间的数据通信进行调解。例如,当中继装置300遵照预定通信协议接收从第一通信网络100发送的数据块(即数据包)时,这种装置检查数据包的报头部分以判定数据包的目的地是否与连接到第二通信网络200的通信装置相对应,并且如果判定结果是肯定的,则遵照预定通信协议将数据包传输到目的地。而且,当中继装置300执行上述数据包传输处理时,将中继装置300构造为用来执行构成根据本发明的通信装置典型特征的流量控制。
在本实施例中,将说明中继装置300为路由器的情况。但是当然也可以使用网关(即一种通信系统,当执行第一通信网络100中的通信协议与第二通信网络200中的通信协议之间的相互转换时,该通信装置执行中继处理)。
图2是示出中继装置300的硬件结构的示例的框图。如图2所示,中继装置300包括控制部分310、第一通信接口(以下称为“IF”)部分320、第二通信IF部分330、存储部分340和用于在这些组成部分之间作为数据传输中媒介的总线350。
控制部分310是例如CPU(中央处理单元),并且通过执行如后所述存储在存储部分340中的程序来控制其它组成部分的操作。
第一通信IF部分320和第二通信IF部分330两者都为NIC(网络接口卡),并且分别连接到不同的通信网络。更具体地说,第一通信IF部分320连接到第一通信网络100,而第二通信IF部分330连接到第二通信网络200。
第一通信IF部分320和第二通信IF部分330接收通过IF部分分别连接到的通信网络发送的数据包,并且随后将数据包传输到控制部分310,同时把从控制部分310传输的数据包发出到IF部分分别连接到的通信网络。在本实施例中,为了简化说明,下文将只说明把从第一通信网络100发送的数据包传输到第二通信网络200的情况。
如图2所示,存储部分340具有非易失性存储部分341和易失性存储部分342。
非易失性存储部分341由如ROM或硬盘组成。用于使得控制部分310执行以下处理的程序预先存储在非易失性存储部分341中,所述处理为发出数据包同时执行构成根据本发明的通信系统的典型特征的流量控制。而且,图3所示的管理表预先存储在非易失性存储部分341中。
如图3所示,代表分配给队列的带宽的带宽数据、属于队列跟随者的子队列标识符(或当队列没有子队列时为“NULL”)、以及代表对加载在队列上的数据包进行分类所使用的规则的规则数据都存储在管理表中以便与各个队列标识符相关联。当上述通信量调整系统执行流量控制时,这些队列标识符代表了队列。例如,图3所示的管理表代表如下所述的四项。
首先,本实施例利用了用于在通信量调整系统中执行流量控制的三个队列(分别分配有队列标识符Q1、Q2和Q3)。在本实施例中,将说明使用三个队列时通信量调整系统执行流量控制的情况。但是在通信量调整系统中的流量控制中所用的队列数量并不限于三个,而且如果数量超过2,则可以使用任何数量。
第二,针对作为数据包的目的地的第二通信网络200所使用的带宽的50%、30%和20%被分别分配给具有队列标识符Q1、Q2和Q3的队列。例如,当第二通信网络200可利用的带宽为20Mbps时,把带宽10Mbps、6Mbps和4Mbps分别分配给具有队列标识符Q1、Q2和Q3的队列。在本实施例中,将说明以下情况,即,根据针对作为数据包目的地的通信网络所使用的总带宽的各个比率,来把带宽分配给在通信量调整系统中的流量控制中所用的各个队列。但是分配给各个队列的带宽值(例如10Mbps等)当然可以预先与队列直接相关联。
第三,三个队列中只有具有队列标识符Q3的队列具有三个跟随子队列,并且这些子队列的队列标识符为Q3/1、Q3/2和Q3/3。这里,分配给子队列的队列标识符“Qm/n”指示该队列标识符为具有队列标识符“Qm”的队列的第n个子队列。在下文中,用于把存储的数据包传输到第二通信IF部分330的队列(在本实施例中,具有队列标识符Q1、Q2和Q3的三个队列)被称为“第一层队列”,而且用于将数据包传输到第一层队列的队列(在本实施例中,具有队列标识符Q3/1、Q3/2和Q3/3的三个队列)被称为“第二层队列”。第二层中的数目(即“n”)越大,预先分配给第二层队列的优先级变得越高。然后,按照分配给子队列的较高优先级的顺序把存储在子队列中的数据包传输到与子队列相对应的第一层队列。在本实施例中,将说明提供三个子队列作为队列标识符为Q3的队列的跟随者的情况。但是当然,相关子队列的数量不限于三个。而且,在本实施例中,将说明在第一层中三个队列之一具有作为跟随者的子队列的情况。但是当然,多个属于第一层的队列可具有作为跟随者的子队列。而且,在本实施例中,将说明以下的情况,即,如果分配给属于第二层的队列的数目越大,则预先分配给第二层中这样队列的优先级越高。相反地,当然可把较高优先级分配给具有较低数目的队列。
第四,利用代表发送方地址范围的数据和指示用于发送数据包的应用程序类型的应用标识符(在本实施例中,为发送方端口号)作为规则数据。根据此规则把数据包进行分类,因此,例如,把其发送方地址属于地址范围1的数据包加载到具有队列标识符Q1的队列,把其发送方地址属于地址范围2的数据包加载到具有队列标识符Q2的队列,并且把其发送方地址属于地址范围3的数据包加载到具有队列标识符Q3的队列。在此情况下,由于具有队列标识符Q3的队列具有作为跟随者的子队列,因此从不将具有属于地址范围3的发送方地址的数据包直接加载到该队列。为了响应写在数据包的报头部分的标识符的值,将此队列适当地分类为三个子队列,并且随后将该数据包分别写入三个子队列中(例如,把发送方地址属于地址范围3并且写入报头部分的其发送方端口号为“P01”的数据包写入队列标识符为Q3/1的队列中)。在本实施例中,将说明一发送方端口号与第二层中每一队列相关联的情况。但是当然,可将多个发送方端口号分配给第二层中每一队列而不至于彼此重叠。
而且,在本实施例中,将说明这样的情况,即,把具有图3所示存储内容的管理表预先存储在非易失性存储部分341中。但是通过使得诸如液晶显示器之类的显示部分(图2中未示出)来显示存储的内容并且随后适当地操作诸如键盘、鼠标等之类的操作部分(图2中也未示出),当然可以更新管理表中这样存储的内容。这种结构使得中继装置300的操作管理者可以任意地设置第一层队列的数量和第二层队列的数量、第一层队列与第二层队列之间的对应关系、以及当把接收的数据包分类到各个队列并加载到各个队列时所应用的规则。
图2中的易失性存储部分342为RAM(随机存取存储器),并且被遵照程序操作的控制部分310利用作为工作区。而且,如图4所示,根据代表了上述管理表中的存储内容(见图3)的层次结构,在易失性存储部分342内部分配第一层队列Q1、Q2和Q3以及第二层队列Q3/1、Q3/2和Q3/3。
以上说明了中继装置300的结构。
(B.操作)其后,下文将说明控制部分310遵照存储在非易失性存储部分341中的程序来执行的操作。这里,在下面说明的操作示例中,假定将分别具有图4所示的层次结构的六个队列分配到易失性存储部分342。
图5是示出控制部分310遵照程序执行的数据包传输处理流程的流程图。如图5所示,当控制部分310通过第一通信IF部分320接收数据包(步骤SA100)时,其参考在前述管理表中的存储内容来识别存储数据包的队列(步骤SA110)。
例如,如果在步骤SA100中接收到的数据包的发送方地址属于地址范围1,则控制部分310把“具有队列标识符Q1的队列”识别为数据包的存储目的地。而且,如果在步骤SA100中接收到的数据包的发送方地址属于地址范围3,则控制部分310还参考写入数据包的报头的应用标识符(在本实施例中,为发送方端口号),并且识别该数据包应被加载到三个子队列中的哪一个(具有队列标识符Q3/1、Q3/2和Q3/3中之一的队列)。
然后,控制部分310把在步骤SA100中接收到的数据包写入在步骤SA110识别的队列中(步骤SA120)。然后,控制部分310按照与分配给队列的带宽响应的时间间隔(通过用数据包的数据大小来除以带宽得到的具体的值)读取存储在第一层队列中的数据包,并且将该数据包传输到第二通信IF部分330以将其发出到第二通信网络200(步骤SA130)。
随后,控制部分310判定是否通过操作部分(未示出)等指示了数据包传输处理的结束(步骤SA140)。然后,控制部分310重复执行步骤SA100到步骤SA130的处理直到判定结果变为“是”。
同时,当控制部分310执行图6所示流程图中所给的处理时,把在步骤SA120写入第二层队列的数据包(其发送方地址属于地址范围3的数据包)写入到与第二层队列相对应的第一层队列中。为更加详细说明,如图6所示,响应于优先级,控制部分310首先从第二层队列(在本实施例中,队列标识符为Q3/1、Q3/2或Q3/3的队列)读取数据包(步骤SB100)。然后,控制部分310把已读取的数据包写入到对应的第一层队列(在本实施例中,队列标识符为Q3的队列)(步骤SB110)。
如上所述,在本实施例中,将最高优先级分配给属于第二层的三个队列中具有队列标识符Q3/3的队列。因此,在数据包存储在此队列中时,总是在步骤SB100从此队列中读取数据包,并且因此从未从属于第二层的其它队列中读取数据包。而且,当没有把数据包存储在分配了比那个队列优先级更高的队列(即,队列标识符为Q3/3的队列)中时,从队列标识符为Q3/2的队列中读取数据包。而且,当数据包没有存储在队列标识符为Q3/3的队列和队列标识符为Q3/2的队列两者中时,从队列标识符为Q3/1的队列中读取数据包。
而且,在执行步骤SB110之后,控制部分310判定是否通过操作部分(未示出)等来指示了数据包传输处理的结束(步骤SB120)。然后,控制部分310重复执行步骤SB100到步骤SB110的处理直到判定结果变为“是”。
作为上面说明的操作的结果,通过第一通信网络100从通信装置发送的分配了属于地址范围1的通信地址的数据包、以及还有通过第一通信网络100从通信装置发送的分配了属于地址范围2的通信地址的数据包总是以预定带宽(前者为10Mbps,而后者为6Mbps)被发出到第二通信网络200。相反,通过第一通信网络100从通信装置发送的分配了属于地址范围3的通信地址的数据包是按照响应于被利用来发送数据包的应用程序的类型(即,写在数据包报头部分中的发送方端口号的值)的优先级顺序在预定带宽(在本实施例中为4Mbps)范围内被发出到第二通信网络200。
在此方式下,根据本实施例,可以实现通信量调整系统和优先级队列系统的串连结合。因此,可以改善通信量调整系统和优先级队列系统结合方式的自由度,而胜过日本专利JP-A-2000-270023中披露的技术,而且可应用细粒的(fine-grained)流量控制(如上所述,基于发送方地址和发送方端口号执行的流量控制)。
(C.变化)根据上面的描述,将说明本发明的一个实施例。但是不用说,可如下面说明来改变上述实施例。
(1)在上述实施例中,说明了基于第二层队列中的优先级队列系统执行流量控制以及基于第一层队列中的通信量调整系统执行流量控制的情况。然而,当然可以基于第一层队列和第二层队列两者中的优先级队列系统来执行流量控制。而且,通信量调整系统中所用的队列和优先级队列系统中所有的队列两者可包含在属于第一层的队列中。
(2)在上述实施例中,说明了根据数据包发送方地址的值来执行通信量调整系统中的流量控制而根据发送方端口号的值来执行优先级队列系统中的流量控制的情况。在此情况下,可根据发送方端口号的值来执行通信量调整系统中的流量控制,而可根据发送方地址的值来执行优先级队列系统中的流量控制。而且,可使用目的地址来代替发送方地址,并且可使用目的端口号来代替发送方端口号。
而且,在上述实施例中,说明了响应于写在数据包报头部分中的发送方端口号来执行优先级队列的情况。在此情况下,例如当然可在发送数据包时发送包括了写入报头部分的如TOS字段等之类的预定区中以代表优先级的数据(例如,在上述实施例中,第二层队列的队列号等;下文中称为“优先级值”)的数据包,并且随后可通过参考此优先级值来执行优先级队列系统或通信量调整系统两者中任一种中的流量控制。而且,为响应写入数据包DS字段的DSCP值,可执行优先级队列系统或通信量调整系统两者中任一种中的流量控制。
而且,在第一层和第二层两者中都执行优先级队列系统中的流量控制的情况下,例如,可基于第一层中发送方或目的地址来执行优先级队列系统中的流量控制,而基于第二层中优先级值或应用标识符来执行优先级队列系统中的流量控制。根据这种控制,即使在写入相同优先级值或相同应用标识符的数据包中,当发送方或目的地不同时也可按照不同的优先级来执行流量控制。
而且,在上述实施例中,说明了基于第一层和第二层中彼此不同的索引(发送方地址和发送方端口号)来对数据包进行分类的情况。在此情况下,可基于相同索引来对数据包进行分类。具体地说,例如,代表与图3所示管理表中第二层中各个队列相关联的发送方端口号的规则数据可替换为代表通过进一步细分地址范围3所限定的地址范围的规则数据。
(3)在上述实施例中,说明了本发明应用在两个通信网络之间的通信中作为媒介的中继装置的情况。在此情况下,本发明当然可应用于置于通信线路末端的发送装备。简而言之,如果这种通信装备可发出数据到通信网络同时执行流量控制,则可利用任何通信装备。
(4)在上述实施例中,说明了通过将数据包排队作为网络层中的数据块来执行流量控制的情况。在此情况下,可通过将数据帧排队作为低于网络层的低层(例如数据链路层)中的数据块来执行流量控制。相反地,可通过将数据段排队作为高于网络层的上层(例如传输层)中的数据块来执行流量控制。简而言之,如果能将这种模式应用于通过将遵照预定通信协议发送/接收的数据块排队来执行流量控制的协议多层结构,则可采用通信协议所属的协议多层结构的任意层。
(5)在上述实施例中,说明了通过软件模块实现作为根据本发明的通信系统的典型特征的功能。在此情况下,当然可通过硬件模块来实现这种功能。而且,在上述实施例中,说明了把使得控制部分310执行组成根据本发明的通信系统的典型特征的流量控制的程序预先存储在存储部分340的情况。在此情况下,可将这种程序加载到例如CD-ROM(只读光盘存储器)等的计算机可读记录介质上,并且随后发布。而且,可通过如因特网等的电信网络发布这种程序。根据这种布置,可通过安装加载在记录介质上的程序或者通过由电信网络发布的程序安装到通用计算机单元来把作为根据本发明的通信系统相同的功能提供给通用计算机单元。
尽管说明并描述了本发明具体优选实施例,但是本领域技术人员很明显可根据本发明的示教作出各种变化和修改。很明显这些变化和修改落入由所附权利要求所限定的本发明的精神、范围和意图中。
本申请是基于2005年8月31日提交的申请号为2005-252431的日本专利申请,其内容在此引入作为参考。
权利要求
1.一种通信设备,包括多个第一队列,它们分别分配有优先级或预定带宽;多个第二队列,它们与多个第一队列中的任何一个相对应并且分别分配有优先级;第一写入部分,根据规则其将数据块写入多个第二队列中的任何一个中或写入多个第一队列中与所述第二队列不对应的任何一个中;第二写入部分,其按照分别分配给第二队列的优先级的顺序读取存储在所述多个第二队列中的所述数据块,并且把所述数据块写入与所述第二队列相对应的至少一个第一队列中;以及发送部分,其按照分别分配给所述第一队列的优先级的顺序或者按照与分别分配给所述第一队列的带宽相对应的时间间隔来读取存储在所述多个第一队列中的数据块,并且将所述数据块发送到通信网络。
2.根据权利要求1所述的通信设备,还包括设置规则的设置部分,其中,所述数据块中每一个均包括报头部分,所述报头部分具有指示目的地或发送方的通信地址,并且还具有指示用于接收所述数据块的应用程序或用于发送所述数据块的应用程序的应用标识符、或指示所述数据块的优先级的优先级标识符;以及其中根据包含在所述数据块的报头部分中的一个或多个通信地址、应用标识符和优先级标识符,所述规则限定所述数据块分别与多个第二队列和多个第一队列相对应。
全文摘要
一种通信设备包括多个第一队列,它们分别分配有优先级或预定带宽;多个第二队列,它们与该多个第一队列中的任何一个相对应并且分别分配有优先级;第一写入部分,根据规则其将数据块写入多个第二队列中的任何一个中或写入多个第一队列中与所述第二队列不对应的任何一个中;第二写入部分,其按照分别分配到第二队列的优先级的顺序读取存储在多个第二队列中的数据块,并且把该数据块写入与所述第二队列相对应的至少一个第一队列中的;以及发送部分,其按照分别分配给所述第一队列的优先级的顺序或者按照与分别分配给所述第一队列的带宽相对应的时间间隔来读取存储在所述多个第一队列中的数据块,并且将该数据块传输到通信网络。
文档编号H04L12/56GK1925464SQ200610111930
公开日2007年3月7日 申请日期2006年8月24日 优先权日2005年8月31日
发明者加藤裕昭 申请人:雅马哈株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1