路由器的自适应轮询方法

文档序号:7963710阅读:589来源:国知局
专利名称:路由器的自适应轮询方法
技术领域
本发明涉及路由器的传输控制方法,具体涉及一种使用轮询来控制路由器的传输的方法。
有两种用于控制路由器传输的方法,即基于中断的方法和轮询方法。在使用基于中断的方法接收一个分组时,相应的端口产生一个中断信号以便把该分组的到达通知给一个控制器。在轮询方法中,控制器周期性或依次地轮询各个端口,以使相应的端口处理所接收的分组。


图1表示结合轮询方法使用的路由器的内部结构的方框图。路由器100连接相应的目的地或者一个中途目的地,使得通过各个端口20,30,40和50接收的分组可以经过最合适的路径被传送。每个端口20,30,40和50所支持的业务取决于所连接网络的线路速度和电路容量。
控制器10周期性地或依次地向各个端口20,30,40和50发送一个轮询。接收该轮询的端口向控制器10发送一个接收的分组。然后,控制器通过一个最佳路径为该分组选择到其目的地的路由。
端口20,30,40和50在接收轮询之前无法处理所接收的分组。当从控制器10接收到该轮询时,把所接收的分组发送到控制器10。如果所接收分组的数量超过了端口的容量,为了不结束传输,继续接收分组直到接收到下一个轮询。
在这种轮询方法中,控制器10依次公平地轮询所有端口,但是未能考虑各个端口所支持的业务或分组的传输速度。不加区别地在具有高业务量和低业务量的端口上进行轮询,而降低了系统效率。而且,该轮询方法不能正确响应突发业务,而降低了路由器的性能。此外,如果由于通过一个端口的业务突然增加而发生溢出,有可能把分组破坏。
本发明的一个目的是提供一种路由器的自适应轮询方法,其中分配给路由器端口的轮询数目取决于各个端口所支持的相对业务负荷。
为了实现这些目的和其它优点,并根据本发明的目的,如此处所具体实施和广义描述的,一种路由器的自适应轮询方法包括建立分别在各个端口上进行轮询所需的初始值;在一个建立的轮询时间间隔内根据所建立的初始值轮询各个端口;以及如果该轮询间隔时间结束,通过考虑各个端口的业务状态来重新建立为正确进行轮询所需的值。
在本发明的另一个方面,一种路由器的自适应轮询方法包括建立分别在各个端口上进行轮询所需的初始值;在一个建立的轮询间隔时间内根据所建立的初始值轮询各个端口;如果所建立的轮询间隔时间结束,考虑各个端口的业务状态,找到各个端口的轮询计数值和轮询间隔时间;和通过把找到的轮询计数分配给相应的端口,反馈到轮询各个端口的步骤。
本发明的目的可以整体或部分地由一种自适应轮询方法实现,包括基于业务状态,确定在多个轮询间隔的每个期间对多个端口的每一个的轮询次数;根据该轮询次数,在轮询间隔期间轮询多个端口的每一个;以及在轮询时与端口进行数据通信。
本发明的目的可以进一步整体或部分地由一种自适应轮询路由器实现,其包括多个端口,每个端口把一个单独网络与路由器互连,并在路由器和相应网络之间进行数据通信;和控制器,在一个轮询间隔期间对多个数据端口的每一个轮询许多次,其中在轮询时,多个端口与控制器进行数据通信,并且基于相应端口的业务状态,动态地确定在多个轮询间隔的每一个期间对每个端口进行轮询的次数。
本发明的目的可以进一步整体或部分地由一种自适应轮询方法实现,其包括基于业务状态,确定在多个轮询间隔的每一个期间对多个端口的每一个的轮询次数;根据各个轮询次数,在每个轮询间隔期间轮询每个端口;以及在轮询时与端口进行数据通信。与支持较小相对业务负荷的端口相比,支持较大相对业务负荷的端口被更频繁地轮询。另选地,与支持相对较低优先级业务的端口相比,支持相对较高优先级业务的端口被更频繁地轮询。在各个轮询间隔期间,每个轮询间隔基于每个端口的轮询次数之和,在轮询间隔期间每个端口被轮询最小次数,并且每个端口的最小轮询次数与该端口支持的相对业务负荷和无关,并与该端口支持的业务优先级无关。这些端口是路由器的数据端口,每一个端口把一个单独的通信网络连接到路由器以支持互联网通信。
本发明的其他优点、目的和特征将部分地在以下说明中提出,部分地可以由本领域技术人员在审看了以下说明后理解或者可以通过本发明的实践获得。本发明的目的和优点可以通过所附权利要求中特别指出的方式实现和获得。
路由器100建立每个端口的权重,每个端口的基值,和由每个端口接收的分组的计数的初始值。此外,路由器使用建立的值找到轮询间隔时间和每个端口的轮询计数(S1)。可以建立一统计实验值作为初始值,但是用户可以使路由器能够更随意地建立初始值。在现有技术中,轮询间隔时间表示一个轮询时间和下一个轮询时间之间的时间。在本发明中,轮询间隔时间是应用所建立的轮询计数的时间。而且,路由器100可以通过图2所示过程在每个循环的步骤S5动态地改变轮询间隔,或者在每个循环中固定地使用初始的轮询间隔。当在步骤S5变化地重新建立轮询间隔时,其根据各个端口的业务量的变化而改变。当固定地把初始轮询间隔作为一个固定值使用时,把总轮询计数规格化以便成为一个常数值。
一旦建立了初始值,控制器10在轮询间隔结束之前,执行由各个端口的轮询计数所确认的轮询数目(S2)。在执行轮询时,各个端口接收分组并将其积存在缓冲器中(S3)。在每个轮询间隔结束后,控制器10重新确定各个端口的轮询计数,把相应的轮询计数分配给各个端口,并重新建立轮询间隔。然后,再次执行步骤S2和S3。
下面的方程式表示一个利用基值和权重确定各个端口的轮询计数的公式第n端口的轮询计数=第n端口的权重×第n端口上累积的分组的计数+第n端口的基值(1)根据业务,为每个端口建立不同的权重和基值。最初,把实验统计值分配给权重和基值。另选地,用户可以建立任意值作为权重和基值。控制器10通过改变权重和基值来调整轮询间隔时间或各个端口20,30,40和50的轮询计数。权重由各个端口的重要性和所接收分组的最大速度确定。而且,权重的分配给具有较大业务量的端口以较高优先级,以便更快速地处理它们累积的分组。通过考虑具有最低业务量的端口来建立基值,并且使用该基值来保证每个端口在最大延迟时间内都有至少一次轮询。如果在最大延迟时间内没有对特定端口给予轮询,那么该端口所接收的分组有可能因突发业务而丢失。
如果轮询间隔的长度变得太长,则系统开销变小,使得易受突发业务的影响。如果轮询间隔的长度变得太短,则存在过多操作,系统开销变大。最大延迟时间是在不会由于突发业务而引起分组丢失的条件下可以使用的最大轮询间隔。
图3表示显示图1的相应端口所接收的分组的计数的曲线图。在时间t1由端口20,30,40和50接收的分组计数tn分别是5,4,3和1。在时间t1和t2之间由端口20,30,40和50接收的分组计数tn分别是6,6,3和2。在时间t2和t3之间由端口20,30,40和50接收的分组计数tn分别是7,5,2和2。
图4A表示在时间t1存储在图1的各个端口的缓冲器中的分组的数目,图4B表示在时间t2存储在图1的各个端口的缓冲器中的分组的数目。这些图显示了在连续时间段期间存储在各个端口中的分组的数目,识别连续时间段的时间点tn,和在轮询间隔时间期间处理的分组的数目。
下面描述自适应轮询方法的一个示例性使用。控制器10初始建立各端口的权重WnW20=1.7,W30=1.2,W40=1.0,W50=0.0,和基值InI20=0,I30=0,I40=1,I50=2。这些权重Wn和基值In的选择只是示例性的,以便简化优选实施例的描述。
通过把权重Wn,基值In和在时间t1接收的分组的计数的值代入方程式(1)中它们的各个变量,得到每个端口的轮询计数Pn。把小数值上取整到最近的数字。
P20=5*1.7+0=9P30=4*1.2+0=5P40=3*1.0+1=4P50=1*0+2=2通过把所有的轮询计数相加,得到在时间t1的轮询间隔时间T,如下方程式所示T=9+5+4+2=20控制器10把计算的轮询计数P20,P30,P40和P50分配给各个端口。即,把9,5,4和2分别分配给端口20,30,40和50。对于每个端口,控制器10给予各自的缓冲器一个机会来发送缓冲器中存储的分组。
在结束20个轮询后(即结束轮询间隔时间T),控制器10再次计算轮询计数Pn,并在时间t2重新建立修正的轮询间隔T。用户可以通过修改权重Wn或基值In来缩短或加长轮询间隔时间T。用户可以优化权重Wn和基值In,以防止发生过多操作并防止由于业务突发引起的分组丢失。
如下在时间t2得到每个端口的另一个轮询计数Pn。
P20=6*1.7+0=11P30=6*1.2+0=8P40=3*1.0+1=4P50=1*0+2=2在时间t2的轮询间隔时间T是25。
控制器10把计算的轮询计数P20,P30,P40和P50分配给各个端口。即,把11,8,4和2分别分配给端口20,30,40和50。对于每个端口,控制器10给予各个缓冲器一个机会来发送存储在缓冲器中的分组。
在结束25个轮询后,控制器10在时间t3计算轮询计数Pn,并重新建立轮询间隔时间T。对时间T的每个连续间隔继续进行该过程。
如前所述,每个路由器端口可以具有大和小业务量和高和低数据传送速率的时段,这是一般数据传输的业务特性。考虑这种业务特性,本发明在具有大业务量的端口或时间区上建立高权重,在具有小业务量的端口或时间区上建立低权重,以便改善路由器的性能。而且,本发明提供的轮询方法能够应用于具有多个端口的网络系统。
上述实施例仅是示例性的,不应理解为对本发明的限制。本发明的教导可以容易地应用于其它类型的装置。本发明的描述是示意性的,不是为了限制权利要求的范围。本领域技术人员可以进行很多替换,修改和变型。在权利要求中,装置加功能的语句是为了涵盖执行所述功能的结构,不仅包括结构的等同物,也包括等同的结构。
权利要求
1.一种自适应轮询方法,包括建立分别对多个端口轮询所需的初始值;在一个建立的轮询间隔时间内,根据所建立的初始值轮询各个端口;以及基于各个端口的业务状态,重新建立轮询所需的值。
2.根据权利要求1的方法,其中一个控制器从被轮询的各个端口接收数据分组。
3.根据权利要求1的方法,其中重复进行轮询和重新建立步骤。
4.根据权利要求1的方法,其中重新建立轮询所需的值进一步包括确定各个端口的轮询计数;通过把各个端口的所有轮询计数相加来确定轮询间隔时间;以及把轮询计数分配给相应端口。
5.根据权利要求4的方法,其中由如下方程式确定各个端口的每个轮询计数第n端口的轮询计数=第n端口的权重×第n端口上累积的分组的计数+第n端口的基值。
6.根据权利要求5的方法,其中第n端口的权重和基值由用户建立。
7.根据权利要求5的方法,其中考虑相应端口的重要性或业务量来确定第n端口的权重。
8.根据权利要求5的方法,其中第n端口的基值建立了在轮询间隔时间期间相应端口的最小轮询计数。
9.根据权利要求5的方法,其中各个端口上累积的分组的计数是在轮询间隔时间期间由各个端口接收的分组的数目。
10.根据权利要求5的方法,其中第n端口的权重根据相应端口的业务而改变。
11.根据权利要求1的方法,其中在重新建立轮询所需的值时,再次确定轮询间隔时间。
12.一种自适应轮询方法,包括(1)建立分别对多个端口轮询所需的初始值,并把初始值分配给各个当前值;(2)在一个建立的轮询间隔时间内,根据所建立的初始当前值轮询各个端口;(3)基于各个端口的业务状态,确定各个端口的轮询计数和轮询间隔时间;(4)把轮询计数分配给相应端口作为当前值;(5)把步骤(b),(c)和(d)的过程重复多次。
13.根据权利要求12的方法,其中控制器从被轮询的各个端口接收数据分组。
14.根据权利要求12的方法,其中由如下方程式确定各个端口的每个轮询计数第n端口的轮询计数=第n端口的权重×第n端口上累积的分组的计数+第n端口的基值。
15.根据权利要求14的方法,其中第n端口的权重和基值由用户建立。
16.根据权利要求14的方法,其中考虑相应端口的重要性或业务量来确定第n端口的权重。
17.根据权利要求14的方法,其中第n端口的基值建立了在轮询间隔时间期间相应端口的最小轮询计数。
18.根据权利要求14的方法,其中各个端口上累积的分组的计数是在轮询间隔时间期间由各个端口接收的分组的数目。
19.根据权利要求14的方法,其中第n端口的权重根据相应端口的业务而改变。
20.根据权利要求12的方法,其中在重新建立轮询所需的值时,再次确定轮询间隔时间。
全文摘要
揭示了一种路由器的自适应轮询方法,包括:建立分别对轮询多个端口轮询所需的初始值;在一个建立的轮询间隔时间内,根据所建立的初始值轮询各个端口;考虑各个端口的业务状态,重新建立轮询所需的值。本发明在具有较大业务量的端口上建立较高轮询和在具有较低业务量的端口上建立较低轮询,以便改善路由器的性能。
文档编号H04L12/56GK1347232SQ0114151
公开日2002年5月1日 申请日期2001年9月28日 优先权日2000年9月30日
发明者具峻谟 申请人:Lg电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1