用于在通信网络中动态地分配数据流的方法和装置的制作方法

文档序号:7956101阅读:125来源:国知局
专利名称:用于在通信网络中动态地分配数据流的方法和装置的制作方法
技术领域
本发明一般地涉及一种通过由多级交换架构形成的通信网络对数据进行路由的方法。更特别地,本发明涉及一种能够生成hash(散列)函数的方法和相关装置,该hash函数可以响应于通信网络中的业务流情况而动态地重新配置。通过重新配置该hash函数,可以纠正不平衡的业务流情况,减少通信网络中拥塞的发生。
背景技术
在世界上的重要区域已经部署并且可以使用公共接入电话通信网络和其他的电话通信网络。许多用户有规律地使用这些通信网络,通过这些通信网络传送数据(语音数据和非语音数据)。通过将安装为覆盖分散的地理区域的通信网络适当地互连,可以在位于相距遥远的位置上的用户之间通过这些互连的通信网络实现有效的通信。
过去,采用电路交换技术来构造电话通信网络,在这种电路交换技术中,用电路交换连接来连接相互传送数据的通信站。当形成电路交换连接时,在提供通信服务的通信会话期间为通信站提供专用连接。通过提供通信站之间的这种专用连接,在不考虑所传送的数据量以及传送数据的规律的情况下保持该连接。如果只是间歇地传送数据,则这种专用连接得不到充分利用,并且通信网络的容量也不是最理想的。
近年来,已经利用分组交换技术来构造通信网络,在这种分组交换技术中,通过分组交换信道上的分组交换连接来实现通信。当采用分组交换通信时,信道并非针对单一的通信会话而专用于单一的一组通信站,而是能够被共享以实现针对两个或更多的通信会话的通信。通常,通信站采用分组交换通信技术,其中将要传送的数据格式化为数据分组,并且一旦形成数据分组,就通过分组交换信道来传送该数据分组。发出该数据分组的通信站有时称作通信源。并且,数据分组将传送到的通信站有时称作通信目的地。与限于采用电路交换通信技术的通信网络相比,采用分组交换技术的通信网络通常更能够充分利用网络的通信容量。
提供分组交换通信的通信网络利用对数据进行路由的交换机而在通信源与通信目的地之间实现对数据的传送。现在,通信网络的交换架构有时由多级架构或交换机、芯片构成。当架构交换机由多级构成时,通常存在可从源到目的地对数据分组进行路由的多条路径。也就是说,当交换架构形成多级交换架构时,可以通过该交换架构在通信源和通信目的地所连接的通信端口之间形成多条等效的路径。
通常,当要在源与目的地之间传送的数据在多条路径上均匀地分布时,可以最有效率地利用通信网络。
有时提供hash值的生成,并且使用hash值来选择将用于在通信源与通信目的地之间传送数据的通信路径。例如针对根据通信服务在通信源与通信目的地之间传送的每个数据分组,通过hash函数来计算hash值。有时利用包含在分组中的值来形成hash值。例如,可以在hash值计算中使用包含于分组的报头部分中的MAC(媒体接入控制)或IP(网际协议)源地址值和目的地地址值。作为例子,当有两个路径可用时,一旦计算出hash值,则将该hash值与门限相比较以便决定在哪条路径上对该分组进行路由。并且,当有可能有大量的路径时,将hash值与多个门限相比较以决定路由路径。然而,以这种传统的方式来使用hash值,有时会导致不平衡分配的业务模式即数据流模式。也就是说,不是以一种在可能的通信路径上均匀分配的方式来传送数据的。相反,使用一个或多条通信路径比使用其他通信路径更频繁。如果业务的不平衡分配很严重,则可能会发生网络拥塞。
一种能够更好地在多级通信网络中提供更均等的业务分配的方法将在网络中实现改善的的通信,减少由不平衡的业务分配引起的通信拥塞。
正是在与通信网络中的通信有关的这种背景信息的基础上,产生了本发明的重大改进。

发明内容
因此,本发明有利地提供了一种用于实现通过由多级交换架构构成的通信网络对数据进行路由的装置和相关方法。
通过本发明实施例的操作,提供一种形成hash值的方法,该hash值可以响应于网络中的业务流情况而动态地配置。
可以响应于对不平衡业务情况的指示而重新配置hash函数。通过重新配置hash函数,改变了业务分配,从而纠正了不平衡的业务情况。通过更好地保持在多条通信路径上对数据传送的分配,消除或至少减少了网络中拥塞的发生。
在本发明的一个方面中,生成hash值的方法是可以根据通信网络中的情况动态更新的。通过提供对生成hash值的方法的这种动态可变性,即通过重新配置hash函数,在随后的分组传输中可以通过改变hash值来纠正由于使用特定hash值而引起的不平衡业务分配。
在本发明的另一个方面中,向生成hash值的位置提供反馈。该反馈由诸如架构芯片之类的形成通信网络的一部分的节点来提供,或由数据将传送到的通信目的地来提供。该反馈例如包含于返回到或传送到生成hash值的位置的消息的报头部分中。在一种实现中,该反馈形成一个或多个比特,这些比特填充将传送给通信源的消息的报头部分,在另一种实现中,该反馈形成一条专用消息。当填充有待在通信操作期间发送的消息的报头部分时,提供该反馈所需要的开销是最小的。
在本发明的另一个方面中,提供种子值并将其用于生成hash值。将该种子值存储在存储单元中,该存储单元诸如保持于或连接到诸如源端口之类的计算hash值的位置的寄存器。该种子值可以响应于对通信网络情况的指示而改变,这些指示诸如对业务流平衡、拥塞情况或其他业务分配异常的指示。当要生成hash值时,根据hash值的生成而取得并利用存储于存储单元中的种子值。
响应于对通信网络情况的指示而改变种子值,例如通过响应于该指示向上或向下调节种子值而改变种子值,通过计算新的种子值而改变种子值,或通过用替代种子值替换已有的种子值而改变种子值。当进行替换时,替代种子值例如取自可用种子值的高速缓存。
在本发明的另一个方面中,还根据通信源的地址来生成hash值,诸如通信源的IP(网际协议)地址或MAC(媒体接入控制)层地址,这些地址的值包含于待传送的数据分组的报头部分中。
并且,在本发明的另一个方面中,还响应于通信目的地的地址而生成hash值,这些地址诸如通信目的地的IP地址或MAC层地址,这些地址的值包含于所传送的数据分组的报头部分中。
响应于不同的输入值(包括可变的种子值),所生成的hash值并不局限于固定的值,相反,所生成的hash值可以响应于通信网络中的业务流情况而动态地改变。通过生成新的hash值,提供了业务流的重新平衡。从而纠正了通信网络中由数据通信的不平衡分配所引起的拥塞情况。也就是说,响应于对不平衡业务流情况的指示,改变hash值计算以使计算出的hash值针对给定的输入标记发生改变。种子值的变化有效地改变了hash值的计算。
因此,在这些方面和其他方面中,提供了用于通过网络传送数据的通信设备的装置和相关方法。存储单元配置为存储种子值。存储于存储单元中的种子值至少可选地对网络中的业务流的业务流标记作出响应。hash值生成器适用于接收数据标记和存储于存储单元中的种子值。hash值生成器配置为至少部分地基于对数据标记和对种子值的响应来生成hash值。根据通过网络对数据进行的路由来使用hash值。
从下面简要概括的附图、以下对本发明的目前优选的实施例的详细描述以及所附权利要求中可以获得对本发明及其范围的更全面的理解。


图1示出了可操作本发明的实施例的通信网络的功能框图;图2示出了根据本发明的实施例的表示图1中示出的通信网络的示例性操作的消息序列图;图3示出了列出本发明的实施例的操作方法的方法流程图。
具体实施例方式
参考图1,用标号10一般地示出的通信网络提供了以通信设备12和通信设备14为代表的通信设备之间的数据传送。当通信设备适当地连接到其各自的通信端口时,通过在此用交换架构16代表的网络来对由任一通信设备发出或提供给任一通信设备的数据进行传送。在此,通信设备12连接到通信端口22,并且通信设备14连接到通信端口24。
为了描述本发明的实施例的示例性操作,应当描述将从通信设备12发出的数据传送给通信设备14的通信操作。并且相应地将通信端口22确定为源端口,并将通信端口24确定为目的地端口。可以类似地描述反方向上的数据传送和双向的数据传送。
通信架构16包括物理实体和功能实体,在此示出为包括多个架构芯片或架构交换机28,在此为架构交换机28-1、28-2、28-3、28-4、28-5和28-6。在示例性网络中示出了三级架构交换机,第一级架构交换机28-1和28-2,第二级架构交换机28-3和28-4,以及第三级架构交换机28-5和28-6,全部是关于源设备12的架构交换机。架构交换机中的不同架构交换机是互连的,用直线32来表示。每个第一级架构交换机连接到每个第二级架构交换机。每个第二级架构交换机连接到每个第三级架构交换机。因此,每个第一级架构交换机通过第二级架构交换机间接地连接到第三级架构交换机。更一般地说,交换架构16代表多级、多架构的交换架构。图中示出的配置只是示例性的配置。实际的交换架构可以由其他的配置来构成,例如由附加级的架构交换机和附加数目的架构交换机以及其他单元来构成。
交换架构的多级性质提供了可以在通信源与通信目的地(在此分别为通信设备12和通信设备14)之间传送数据分组的多条通信路径。通常,为了优化通信,会尝试分配数据分组的传送,使得有待在源与目的地之间传送的数据能够均等地通过可用的通信路径。例如,对于图1中示出的示例性表示,可以通过多条通信路径将通信设备通过源端口22传送的数据路由到目的地设备14。通常将待传送数据在不同路径上的平均分配优选为使交换架构中的通信拥塞最小化。
如前所述,有时利用针对每个数据分组而生成hash值来实现通过交换架构对数据分组所进行的路由。然而,利用hash值仍然可能形成数据在独立的可用通信路径上的不平均分配。
根据本发明的实施例,生成hash值的方法可以响应于业务情况而改变。改变hash函数可以得到数据流的新模式。因此,在通信源所连接的通信端口22处提供装置42。在其他的实施例中,该装置可以位于其他位置。装置42操作为生成可以响应于交换架构中的业务流情况而动态地改变的hash值。当检测到业务不平衡时,改变所引起的将由装置42生成的hash值,从而改变数据流在可用通信路径上的分配。
该装置包括操作为生成hash值的hash生成器44。在示例性实现中,该hash生成器包括硬件单元或固件单元。hash值生成器生成的hash值具有对应于提供给hash值生成器的输入标记的值或特性。在示例性实现中,输入标记包括通信源12和通信目的地14的地址。用线段48和52来表示这种标记的应用。
该装置还包括存储单元54,其用于形成存储种子值56的存储寄存器。hash生成器46可在其生成hash值的操作期间取得或以其他方式得到种子值。在存储种子值的寄存器的位置之间延伸的直线58代表将种子值输入到hash生成器。一旦计算出种子值,就用种子值诸如在逐跳(hop-by-hop)的基础上确定对通信路径的选择,通过这种选择通过通信架构对数据分组进行路由。
由hash生成器生成的hash值的动态可变性由对提供给装置42的交换架构中的业务流的指示来提供,在此用直线62来代表。在示例性实现中,通过直线62提供给该装置的指示确定存储在寄存器中的种子值。在一个实现中,用该指示诸如通过值调节器(未示出)来向上或向下调节种子值。在另一个实现中,寄存器形成存储一系列种子值的高速缓存的一部分,并且在直线62上提供的指示可以确定高速缓存中的哪个值可供生成器使用。并且,在另一个实现中,种子值计算器(未单独示出)响应于在直线62上提供的指示而计算种子值。在一个实现中,改变种子值会改变hash值生成器所执行的算法,即数学操作。改变种子值在此等效于改变hash算法。
例如当直线62上提供的指示从先前的指示变化了多于选定的量或比率或者该指示以选定的间隔(诸如周期性的间隔)变化时,种子值是可选的或可更新的,由此响应于网络的业务流情况而改变hash生成器生成的hash值。
直线62上提供的指示从诸如交换机单元28、通信目的地14或目的地端口24之类的网络位置发出。在控制单元控制架构交换机的操作的一个实现中,该指示还可以由控制单元例如响应于架构交换机输入的指示而生成。本发明的实施例还包括具体实现于交换架构中或目的地处的装置72,其确定与通信源根据通信会话而在多条通信路径上传送的数据相关联的业务流参数。在一个实现中,该装置包括在不同的网元中或在单一的网元(诸如目的地端口)中重复的部分。该装置包括业务流确定器74,该业务流确定器74确定与一个或多条通信路径上的数据流相关联的业务流参数。并且,该装置包括生成消息78的消息生成器76,消息78提供形成直线62上的指示的反馈。在示例性实现中,代表确定器所确定的业务流参数的业务流标记填充消息的报头部分84的字段82。消息78形成的消息不同于在通信网络的操作过程中生成的其他消息,或消息78是专用消息,也就是说,消息78是针对提供反馈指示这个唯一的目的而形成的。
图2示出了用标号92一般地示出的消息序列图,代表图1中示出的通信网络的示例性操作。在此,装置42与源端口22协同定位,并且装置72具体实现于通信架构16的网元上。在图中示出了通信设备12发出的用于传送到目的地通信设备14的数据传送。
如方框94所示,在装置42中以第一种方法计算hash值。根据对通信路径的选择来使用hash值以分配相关联数据分组的路由。方框96表示以第一种方法计算hash值的数据分组的传送。
装置72确定业务流参数(在此用方框98表示)并形成包括业务流参数标记的消息(用方框102表示)。如在此直线104所示,将该消息返回到具体实现为源端口的装置42。并且,如方框106所示,以第二种方法生成hash值,在此考虑了通信架构中的业务流情况。并且,如方框108所示,利用新形成的hash值来进行随后的通信。也就是说,方框108表示以第二种方法计算hash值的数据分组的传送。
图3示出了用标号118一般地表示的方法流程图,代表本发明的实施例的操作方法。该方法实现了通信设备通过通信网络进行的数据传送。
首先,如方框122所示,使用以第一种方法配置的hash函数,选择以第一种方法计算hash值。
然后,如方框124所示,生成hash值并根据数据路由来使用hash值。
在此之后,如方框126所示,检测业务流标记的至少一些变化。并且,如方框128所示,选择以第二种方法计算hash值。随后,如方框132所示,生成hash值并根据附加数据的路由来使用hash值。
因此,通过本发明实施例的操作,提供了一种在多级交换架构中传送数据的改进的方法。对hash值进行调节以便提供业务流的更佳分配,从而减轻不平衡业务流情况所带来的问题。
前述描述是用于实现本发明的优选示例,并且本发明的范围不应限于这种说明。本发明的范围由所附的权利要求来限定。
权利要求
1.一种用于经由网络传送数据的通信设备的装置,所述装置包括存储单元,配置为存储种子值,所述存储于所述存储单元中的所述种子值至少可选地对所述网络中业务流的业务流标记作出响应;以及hash值生成器,适用于接收数据标记和存储于所述存储单元中的所述种子值,所述hash值生成器配置为至少部分地基于对所述数据标记和对所述种子值的响应而生成hash值,根据通过所述网络对所述数据进行的路由来使用所述hash值。
2.根据权利要求1所述的装置,其中存储于所述存储单元中的所述种子值是可以响应于所述业务流标记而动态更新的。
3.根据权利要求1所述的装置,还包括适用于接收由所述网络传送的所述业务流标记的业务流标记检测器,所述业务流标记检测器配置为检测所述业务流标记并配置为使存储于所述存储单元中的所述种子值对所述业务流标记作出响应。
4.根据权利要求3所述的装置,其中所述业务流标记包括响应于先前的通信数据而返回到所述通信设备的反馈消息。
5.根据权利要求4所述的装置,其中所述反馈消息包括报头部分,并且其中所述业务流标记形成所述反馈消息的所述报头部分的一部分。
6.根据权利要求1所述的装置,其中所述业务流标记指示传送数据的所述网络的网络路径上的网络拥塞。
7.根据权利要求1所述的装置,其中所述hash值生成器适于接收的所述数据标记包括地址信息。
8.根据权利要求7所述的装置,其中形成所述hash值生成器适于接收的所述数据标记的所述地址信息包括标识所述通信设备的标识符。
9.根据权利要求7所述的装置,其中形成所述hash值生成器适于接收的所述数据标记的所述地址信息包括标识数据传送到的远端站的标识符。
10.根据权利要求1所述的装置,其中响应于所述业务流标记的变化而递增地调节所述种子值。
全文摘要
本发明涉及一种用于在多级通信网络中实现数据传送的装置和相关方法。hash(散列)值生成器生成hash值。将种子值用于生成hash值。随着业务流情况的变化,提供反馈,并且调节或改变该种子值。并且,响应于该种子值的变化,改变生成hash值的方法。提供业务流的重新分配,由此减小或补偿网络中的不平衡业务流。
文档编号H04L12/56GK1984037SQ20061005704
公开日2007年6月20日 申请日期2006年3月13日 优先权日2005年3月14日
发明者布赖恩·迪茨 申请人:阿尔卡特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1