负载平衡的制作方法

文档序号:7738126阅读:144来源:国知局
专利名称:负载平衡的制作方法
负载平衡背景负载平衡通常基于每一个所接收的数据分组的源网际协议(IP)地址或目的地IP 地址来实行。当使用IP版本六(IPv6)过渡技术时,源IP地址和目的地IP地址可能对负载平衡器不直接可见。例如,IPv6过渡技术(诸如Tered0、6到4(6 to 4)、以及站内自动隧道寻址协议ISATAP)将网际协议版本四(IPv4)源地址信息嵌入数据分组中。因此,负载平衡器在处理嵌入在IPv6过渡技术格式中的数据分组时可能有困难。概述当前的公开文本描述了在阵列处对数据分组进行负载平衡。以第一格式编码的数据分组被分配给阵列的一个元素,并被路由给一设备(诸如,服务器)。以第二格式编码的来自该设备的消息(如,答复)在阵列处被接收。基于从该消息的净荷部分所提取的信息, 将该消息分配给阵列的同一元素(如,所述被分配的元素)。例如,以IPv4格式封装的数据分组可到达阵列,目的地是企业网络的IPv6服务器。来自互联网侧的数据分组基于第一散列函数操作被路由到阵列的元素。来自IPv6服务器的答复消息作为原生IPv6或嵌入在IPv4内的IPv6而到达阵列的企业侧。嵌入答复消息中的信息被从消息的净荷部分提取,并且对从消息的净荷部分提取的信息执行第二散列函数操作。答复消息被分配给阵列的与所述数据分组相同的元素,导致阵列上的双向仿射性。提供本发明内容以便以简化形式介绍将在以下的具体实施方式
中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。附图简述

图1是示出负载平衡系统的第一具体实施例的框图;图2是示出负载平衡系统的第二具体实施例的框图;图3是示出若干IPv6过渡技术和格式的框图;图4是示出负载平衡系统的第三具体实施例的框图;图5是示出负载平衡系统的第四具体实施例的框图;图6是示出负载平衡系统的第五具体实施例的框图;图7是示出负载平衡方法的具体实施例的框图;以及图8是示出通用计算机系统的示例实施例的框图。详细描述在一具体实施例中,揭示了一种在阵列处对数据分组进行负载平衡的方法。该方法包括在阵列的输入处接收以第一格式编码的数据分组。所接收的数据分组被分配给阵列上一已分配的元素,并且所述数据分组被路由到一设备。从该设备接收以第二格式编码的消息。从该消息的净荷部分提取出信息,并且基于从该消息的净荷部分所提取的信息将该消息分配给阵列的该已分配的元素。第一格式的示例是网际协议版本四(IPv4)格式,第二格式的示例是网际协议版本六(IPv6)格式。
在另一具体实施例中,所揭示的阵列包括网络组件、提取组件和分配组件。阵列包括多个元素。网络组件从一设备接收以过渡技术格式编码的消息。提取组件从消息中提取信息。分配组件基于从消息提取出的信息而将消息分配给阵列的第一元素。在另一具体实施例中,揭示了包括可由计算机执行的指令的计算机可读介质。当由计算机执行时,这些指令使得计算机将在阵列上接收到的数据分组分配给阵列的已分配的元素。所述数据分组以第一格式编码。当由计算机执行时,这些指令使得计算机将数据分组路由到一设备,并从接收自该设备的消息的净荷部分提取信息。该消息以第二格式编码。当由计算机执行时,这些指令使得计算机基于从消息的净荷部分提取的信息将消息分配给阵列的所述已分配的元素。第一格式和第二格式中的至少一个包括过渡技术格式。参考图1,示出了负载平衡系统的框图,并总地标记为100。系统100包括阵列102、 客户机110、第一服务器112、第二服务器114。阵列102包括多个阵列元素。例如,在图1 示出的实施例中,阵列102包括第一阵列元素104、第二阵列元素106、第三阵列元素108。来自客户机110的通信通过网络(诸如,因特网)到达并在阵列102上按照封装在网际协议版本四(IPv4)格式中的网际协议版本六(IPv6)通信来被接收。对来自客户机 110的通信执行第一散列函数操作116。基于第一散列函数操作116的结果,将来自客户机 110的通信路由到阵列102的多个元素中的一个。为了说明的目的,基于第一散列函数操作 116的结果,可将来自客户机110的通信路由到第一阵列元素104。来自服务器侧的通信可通过第二网络(如企业网络)按照原生IPv6通信到达,其中源由服务器的IPv6地址标识,而目的地由客户机110的IPv6地址标识。。例如,来自第二服务器114的通信以原生IPv6通信到达阵列102。或者,来自服务器侧的通信可按照封装了 IPv6信息的IPv4通信到达,其中源作为服务器的IPv4地址,而目的地作为阵列102 的IPv4地址。例如,来自服务器侧的通信可以过渡技术格式到达。过渡技术格式的示例包括Teredo过渡技术格式、6到4过渡技术格式、以及站内自动隧道寻址协议(ISATAP)过渡技术格式。在图1所示的实施例中,来自第一服务器112的通信作为封装了 IPv6信息的 ISATAP IPv4通信到达阵列102。通过从服务器侧通信提取IPv4信息,服务器侧通信可被分配给与来自客户机侧的通信相同的阵列元素,允许阵列102上的双向仿射性。在一具体实施例中,使用钩(hook) 函数120将IPv4信息提取为经提取的IPv4信息122。例如,可从来自第一服务器112的通信中(诸如,从数据分组的净荷部分中)提取IPv4信息。基于所提取的IPv4信息122, 来自第一服务器112的通信可被分配给与来自客户机110的通信相同的阵列元素。在上述的示例中,基于第一散列函数操作116将来自客户机110的通信路由到第一阵列元素104。 所提取的IPv4信息122可被用于第二散列函数操作118中,以将来自第一服务器112的目的地为客户机110的通信分配给第一阵列元素104,导致在阵列102上的双向仿射性。类似地,可从来自第二服务器114的通信中提取IPv4信息。在一具体实施例中, 所提取的IPv4信息122是使用钩函数120来提取的。基于所提取的IPv4信息122,来自第二服务器114的通信可被分配给与来自客户机110的通信相同的阵列元素。在上述的示例中,基于第一散列函数操作116将来自客户机110的通信路由到第一阵列元素104。所提取的IPv4信息122可被第二散列函数操作118所使用以将来自第二服务器114的目的地为客户机110的通信分配给第一阵列元素104,导致在阵列102上的双向仿射性。
因此,在任何一个情况中(如,来自第二服务器114的原生IPv6通信或封装在来自第一服务器112的IPv4中的IPv6通信),第二散列函数操作118不在过渡技术通信或原生IPv6通信上执行。相反,从消息的净荷部分提取值(如,IPv4信息)。所提取的值与第一散列函数操作116所使用的值相同。由此,在服务器侧上的第二散列函数操作118的结果与在客户机侧上的第一散列函数操作116的结果相同。参考图2,在200示出负载平衡系统的第二具体实施例的框图。系统200包括阵列 202、客户机204以及设备206(如,服务器)。客户机204经由网际协议版本四(IPv4)网络208与阵列202进行通信。设备206经由网际协议版本六(IPv6)或ISATAP (IPv4)网络 210与阵列202进行通信。阵列202包括第一网络组件212、提取组件214、分配组件216以及多个阵列元素218。例如,在图2示出的实施例中,阵列202包括第一阵列元素220、第二阵列元素222、第三阵列元素224。在所示的实施例中,阵列202包括第二网络组件226以及路由组件228。在操作中,客户机204经由IPv4网络208将数据分组230发送到阵列202。在图 2所示的实施例中,数据分组230以第一格式编码。例如,第一格式可包括过渡技术格式,包括Teredo过渡技术格式、6到4过渡技术格式或ISATAP过渡技术格式。数据分组230在阵列202的第二网络组件2 上被接收。在一具体实施例中,数据分组230包括IPv4分组, 且嵌入在IPv4分组中的IPv6地址可被提取出。路由组件2 将所接收的数据分组230经由多个阵列元素218中的一个(如,已分配的元素)路由(即,分配)到设备(如,设备206)。例如,在所示的实施例中,数据分组 230被路由(S卩,分配)到第二阵列元素222。因此,在该情况中,第二阵列元素222是已分配的元素。基于第一散列函数操作将数据分组230分配给已分配的元素(如,第二阵列元素22 。之后,数据分组230被路由到目的地设备,诸如设备206。响应于来自客户机204的数据分组230,设备206发出消息232。在图2所示的实施例中,消息232以第二格式编码。例如,第二格式可包括原生IPv6格式或过渡技术格式。 例如,消息232可以Teredo过渡技术格式、6到4过渡技术格式、或ISATAP过渡技术格式来编码。在Teredo过渡技术格式中(如下文中参考附图3所描述的),消息232包括被分配给客户机设备(如,客户机204)的IPv6地址,该IPv6地址包括Teredo服务器的IPv4 地址、与客户机204相关联的IPv4地址、以及与客户机204相关联的端口。例如,与客户机 204相关联的IPv4地址可被分配给客户机204。另选地,与客户机204相关联的IPv4地址可被分配给网络地址转换(NAT)设备(如下文中参考图6所描述的)。作为另一个示例,消息232可用6到4过渡技术格式(如参考图3所描述的)来编码。在6到4过渡技术格式中,消息232包括被分配给客户机设备(如,客户机204)的 6到4地址。6到4地址也包括表示被分配给主机设备的IPv6地址的部分。作为进一步的示例,消息232可用ISATAP过渡技术格式(如参考图3所描述的) 来编码。在ISATAP过渡技术格式中,消息232包括被分配给客户机设备(如,客户机204) 的ISATAP地址。ISATAP地址还包括单播IPv4地址(如,公共或私有地址)。阵列202的第一网络组件212经由IPv6或ISATAP(IPv4)网络210接收从设备 206发送的消息232。提取组件214从消息232中提取IP地址。所提取的IP地址可由分配组件216用来基于第二散列函数操作而将消息232分配给多个阵列元素218中的一个。 在所示的实施例中,分配组件216基于第二散列函数操作而将消息232分配给多个阵列元素218中的第二阵列元素222。在一具体实施例中,IPv4地址和端口号的组合被用作为对第二散列函数操作的输入。因此,消息232被分配给与从客户机204所接收的数据分组230 相同的阵列元素,导致阵列202上的双向仿射性。参考图3,在300处示出了若干个IPv6过渡技术格式的框图。在Teredo过渡技术格式中的IPv6地址包括Teredo前缀302、Teredo服务器IPv4地址304、一个或多个标志 306、遮蔽外部端口 308、以及遮蔽外部地址310。如所示,Teredo前缀302由32位来表示; Teredo服务器IPv4地址由32位来表示;标志306由16位来表示;遮蔽外部端口由16位来表示;遮蔽外部地址310由32位来表示。当使用Teredo IPv6过渡技术格式时,客户机被分配一 IPv6地址,该IPv6地址包括Teredo服务器IPv4地址304以及客户机的IPv4地址(以及端口)(如,遮蔽外部地址 310和遮蔽外部端口 308)。客户机的IPv4地址(如,遮蔽外部地址310)可以是客户机的 IPv4地址或是其后方驻留有客户机的网络地址转换(NAT)设备(如参考图6所描述的)的 IPv4地址。在6到4过渡技术格式中的IPv6地址包含前缀312 (如,200 、表示分配给站点或主机的IPv6地址(如,W.X.Y.Z)的部分314(如,WffXX: YYZZ)、子网ID 316、以及接口 ID 318。如所示,6到4前缀312由16位来表示;部分314由32位来表示;子网ID 316由16 位来表示;接口 ID 318由64位来表示。在ISATAP过渡技术格式中的IPv6地址是“ 0:5EFE:w. x. y. ζ”的形式,其中 "w. χ. y. ζ” 320是任意的单播IPv4地址(公共的或私有的)。参考图4,在400示出负载平衡系统的第三具体实施例的框图。在6到4过渡技术格式中,客户机IPv6地址可不由6到4路由器来分配。如图4所示,客户机402可位于原生IPv6网络404上(且可被分配一原生IPv6地址)。例如,原生IPv6网络404可以是第一企业(如,企业B) IPv6网络。原生IPv6网络404通过6到4路由器406被连接到因特网。如所示,6到4通信408在因特网上被传送至负载平衡(LB)阵列410,负载平衡(LB) 阵列410连接到另一个网络412(如,原生IPv6网络或ISATAP网络)。例如,该另一个网络 412可以是第二企业(如,企业A)网络。在一具体实施例中,第一企业网络404(如,企业B的原生IPv6网络)具有固定 IPv6前缀。钩函数可监视来自客户机402的通信以确定企业B网络的固定IPv6前缀。钩函数可提取被嵌入在6到4IPv4分组中的客户机402的IPv6地址。在阵列410的第二企业网络(如,企业A网络412)侧,当调用钩函数时,钩函数确定原生IPv6地址是否是目的地地址。如果目的地地址是原生IPv6地址,则钩函数返回从6到4IPv4分组中提取的客户机402的IPv6地址。参考图5,在500示出负载平衡系统的第四具体实施例的框图。在6到4过渡技术格式中,可由与将数据分组发送到阵列的6到4路由器不同的6到4路由器向客户机分配一 IPv6地址。例如,在图5所示的实施例中,客户机502从第一区段504 (如,在企业B网络上的区段1)上的6到4路由器506接收6到4IPv6地址。在第一区段504上的6到4路由器506在因特网上传送6到4通信(如在508处所示)至6到4中继器510。6到4中继器510耦合到第二区段512 (如,在企业B网络上的区段2),第二区段512耦合到另一个 6到4中继器514。这另一个6到4中继器514在因特网上发送6到4通信(在516处示出)至另一个网络520(如,原生IPv6网络或ISATAP网络)上的阵列518。例如,该另一个网络520可以是企业(如,企业A)网络。因此,对客户机502分配一 6到4IPv6地址,该6 到4IPv6地址属于与将数据分组发送到阵列518的6到4路由器(如,6到4中继器514) 不同的6到4路由器(如,6到4路由器506)。在企业网络侧(如,企业A网络520),钩函数观测6到4地址作为客户机502的目的地IPv6地址。在一具体实施例中,可在阵列518为每个所接收的数据分组确定分段。在另一个具体实施例中,阵列518可确定是否已经为某一 6到4IPv6地址确定分段。参考图6,在600示出负载平衡系统的第五具体实施例的框图。系统600包括位于一公共网络地址转换(NAT)设备608后方的多个客户机。例如,在图6所示的实施例中,第一客户机602、第二客户机604、第三客户机606位于NAT设备608后方,NAT设备608连接到因特网610。位于公共NAT设备608后方的客户机602-606的每一个以相同的源IP地址(诸如,公共NAT设备608的IPv4地址)出现在阵列6 的互联网侧。进一步的,客户机602-606中的每一个具有相同的遮蔽外部地址(诸如,公共NAT设备608的IPv4地址)。 因此,第一客户机设备602、第二客户机设备604以及第三客户机设备604以公共NAT设备 608的IPv4地址出现在阵列6M的因特网侧。例如,来自第一客户机602的第一客户机侧数据分组612(如,带有第一 IP地址和第一端口信息)作为具有与公共NAT设备608相同的IP地址(如第四IP地址)的第一因特网侧数据分组618而出现在阵列拟4的因特网侧。 类似地,来自第二客户机604的第二客户机侧数据分组614 (如,带有第二 IP地址和第二端口信息)以及来自第三客户机606的第三客户机侧数据分组616 (诸如,带有第三IP地址和第三端口信息)作为具有公共NAT设备608的IPv4地址(如,第四IP地址)的第二因特网侧数据分组620和第三因特网侧数据分组622而出现在阵列6 的因特网侧。通常,这不会显著影响阵列的元素上的负载分布,因为其统计上类似于这些客户机分布在不同NAT设备后方。然而,在一些情况中,使用仅仅IPv4地址(如,公共NAT设备 608的IPv4地址)可能导致阵列(如,阵列624)的一个元素过载。这样的过载情况可发生在许多远程用户都出现在一公共NAT设备后方时。例如,在会议中,许多用户可从该公共 NAT设备后方远程地连接到同一个企业网络。为了克服该潜在问题,IPv4地址可与端口号(如,图3中所述的遮蔽外部端口 308)相组合以创建新的可在其上执行散列操作的值。该散列操作可在阵列的因特网侧和企业网络侧两侧执行。在一具体实施例中,该散列操作仅仅在Teredo地址上执行。例如,对应于第一客户机602的第一端口可被嵌入在来自公共NAT设备608的第一因特网侧数据分组 618中。可从第一因特网侧数据分组618中提取该第一端口以执行该散列操作。作为另一个示例,对应于第二客户机604的第二端口可被嵌入在第二因特网侧数据分组620中。可从第二因特网侧数据分组620中提取该第二端口以执行该散列操作。作为进一步的示例, 对应于第三客户机606的第三端口可被嵌入在第三因特网侧数据分组622中。可从第三因特网侧数据分组622中提取第三端口以执行该散列操作。在一具体实施例中,该散列操作可被用于将分组分配给阵列624的元素。参考图7,示出了负载平衡方法的一具体实施例的流程图。该方法包括在702在阵列的输入处接收以第一格式编码的数据分组704。在一具体实施例中,数据分组704是IPv4 分组,且嵌入在IPv4分组中的IPv6地址可从数据分组704中被提取出。数据分组704可以过渡技术格式来编码,并可包括IPv4内容。例如,过渡技术格式可包括Teredo IPv6过渡技术格式、6到4IPv6过渡技术格式或ISATAP IPv6过渡技术格式。在Teredo IPv6过渡技术格式的情况中,数据分组704包括被分配给客户机设备的IPv6地址,该IPv6地址包括"Teredo服务器的IPv4地址、与客户机设备相关联的IPv4地址以及与客户机设备相关联的端口。在一具体实施例中,与客户机设备(如,图2的客户机 204)相关联的IPv4地址包括客户机地址。在另一个具体实施例中,与客户机设备相关联的 IPv4地址包括网络地址转换(NAT)设备(如,图6的NAT设备608)的地址。在6到4过渡技术格式的情况中,数据分组704包括被分配给客户机设备的6到4地址,该6到4地址包括表示分配给主机设备的IPv6地址的部分。在ISATAP过渡技术格式的情况中,数据分组704包括被分配给客户机设备的ISATAP地址,该ISATAP地址包括单播IPv4地址(如, 公共或私有的单播地址)。在706,所接收的数据分组704被分配给阵列的一已分配的元素。在一具体实施例中,基于第一散列函数操作将数据分组704分配给阵列的该已分配的元素。在一说明性实施例中,IPv4地址和端口号的组合被用作为对第一散列函数的输入(例如,如图6所示,在多个客户机设备位于单个NAT设备后方的情况中)。该方法包括在708经由阵列的已分配的元素将数据分组704路由到一设备。例如, 该设备可包括服务器,且该服务器的目的地地址可包括IPv6地址。作为另一个示例,该设备(如,服务器)的目的地地址可包括与IPv4地址类型不同的地址类型。例如,该地址类似可包括互联网过渡技术地址类型。在710,在阵列上从该设备接收消息712。消息712可以第二格式编码。第二格式可包括原生IPv6格式或ISATAP格式。在714,从消息的净荷部分提取信息。在716,基于从消息的净荷部分提取的信息,将消息712分配给阵列的所述已分配的元素。在一具体实施例中,基于第二散列函数操作将消息712分配给阵列的该已分配的元素。消息712可被分配以使得数据分组704和消息712被分配给阵列的同一个元素,以维持阵列上的双向仿射性。该方法在718结束。图8描绘了包括可用于支持根据本发明的计算机实现的方法和计算机程序产品的各实施例的通用计算机设备810的计算环境800的框图。在基本配置中,计算设备810 包括阵列,如参考图1-2和4-6所述的。计算设备810通常包括至少一个处理单元820和系统存储器830。取决于计算设备的确切配置和类型,系统存储器830可以是易失性的(诸如随机存取存储器,即“RAM”)、 非易失性的(诸如只读存储器(即“ROM)、闪存以及即使在未被提供电源时也保持存储的数据的类似存储器设备),或两者的某种组合。系统存储器830通常包括操作系统832、一个或多个应用平台834、一个或多个应用836,并可包括程序数据838。计算设备810还可具有附加特征或功能。例如,计算设备810还可包括可移动和 /或不可移动的附加数据存储设备,诸如磁盘、光盘、磁带,以及标准大小或小型闪存卡。在图8中通过可移动存储840和不可移动存储850示出了这样的附加存储。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序组件或其它数据等信息的任何方法或技术实现的易失性和/或非易失性存储以及可移动和/或不可移动介质。系统存储器 830、可移动存储840和不可移动存储850都是计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算设备810访问的任何其他介质。任何这样的计算机存储介质都可以是设备810的一部分。计算设备810包括至少一个网络接口 816以经由网络812发送并接收数据 814(如,来自客户机110的分组以及来自服务器112和114的消息,如图1所示)。计算设备810还包含允许该计算设备810通过有线或无线网络与其它计算设备890(如,图1的服务器112和114)进行通信的一个或多个通信连接880。该一个或多个通信连接880是通信介质的示例。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、射频、红外线和其他无线介质。然而,可以理解,并非所有图8所示或另外在先前的附图中描述的组件或设备都必须支持此处所描述的实施例。结合此处所公开的各实施例所描述的方法或算法的各个步骤可被直接用硬件、由处理器执行的软件组件、或两者的组合来实现。软件组件可驻留在随机存取存储器(RAM)、闪存、只读存储器(ROM)、可编程只读存储器(PR0M)、可擦写可编程只读存储器 (EPROM)、电可擦写可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、紧致盘只读存储器(CD-ROM)、或本领域中已知的任何其他形式的存储介质中。示例性的存储介质耦合到处理器,使得处理器可从存储介质上读取信息,并向存储介质写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可位于计算设备的集成组件之中。在替换方案中,处理器和存储介质可作为分立组件驻留在计算设备中。本领域技术人员将进一步理解,结合这里所公开的实施例所描述的各种说明性逻辑块、配置、模块、以及算法步骤,可以作为电子硬件、计算机软件或两者的组合来实现。为清楚地示出硬件和软件的此互换性,已经按照功能总体上描述了各种说明性组件、块、配置、模块、以及步骤。这种功能被实现为硬件还是软件取决于在总体系统上所施加的具体应用和设计限制。技术人员可针对每种具体应用以不同方式来实现所描述的功能集,但此类设计决策不应被解释为致使脱离本公开的范围。软件模块可驻留在诸如随机存取存储器(RAM)、闪存、只读存储器(ROM)、寄存器、 硬盘、可移动盘、CD-ROM、或本领域内已知的任何其他形式的存储介质等计算机可读介质中。示例性的存储介质耦合到处理器,使得处理器可从存储介质上读取信息,并向存储介质与入{曰息。尽管已经在此示出和描述了具体实施方式
,但应理解,可以为所示的具体实施方式
替换被设计成实现相同或相似目的的任何后续安排。本发明旨在覆盖各实施方式的任何和所有后续改变和变体。提交本发明的摘要的同时要明白,将不用它来解释或限制权利要求的范围或含义。另外,在前面的具体实施方式
中,可以出于将本发明连成一个整体的目的而将各种特征组合在一起或描述在单个实施方式中。此发明将不被解释为反映所要求保护的实施方式要求比每个权利要求中明确陈述的更多特征的意图。相反,如以下权利要求反映的,本发明的主题可涉及少于所公开的实施方式中的任一个的所有特征。
提供上文对所公开的实施例的描述,以使本领域技术人员能作出或使用所公开的实施例。对这些实施例的各种修改对于本领域技术人员将是显而易见的,并且本文中定义的普适原理可被应用于其他实施例而不会脱离本公开的范围。因此,本发明不是旨在限于本文所示的各实施方式,而是按照与如由所附权利要求书定义的原理和新颖特征相一致的尽可能最宽范围。
权利要求
1.一种在阵列上对数据分组进行负载平衡的方法,所述方法包括在阵列(20 的输入处接收(702)以第一格式(230)编码的数据分组(704);将所接收的数据分组分配(706)给阵列(20 的一已分配的元素;经由所述阵列(20 的所述已分配的元素,将所述数据分组路由(708)到一设备(206)在所述阵列(202)上从所述设备(206)接收(710)消息(712),所述消息以第二格式 (232)编码;从所述消息(712)的净荷部分提取(714)信息;以及基于从消息(712)的净荷部分所提取的信息,将消息(712)分配(716)给所述阵列 (202)的所述已分配的元素。
2.如权利要求1所述的方法,其特征在于,所述消息以互联网协议版本六(IPv6)过渡技术格式来编码的,其中所述消息包括互联网协议版本四(IPv4)信息,并且所述IPv4信息是从所述消息的净荷部分提取的。
3.如权利要求1所述的方法,其特征在于,所述消息以原生互联网协议版本六(IPv6) 格式来编码的,其中所述消息包括互联网协议版本四(IPv4)信息,并且所述IPv4信息是从所述消息的净荷部分提取的。
4.如权利要求1所述的方法,其特征在于,基于第一散列函数操作而将所述数据分组分配给所述阵列的所述已分配的元素,基于第二散列函数操作而将所述消息分配给所述阵列的所述已分配的元素。
5.如权利要求1所述的方法,其特征在于,所述设备包括具有目的地地址的服务器,其中所述服务器的目的地地址包括互联网协议版本六(IPv6)地址。
6.如权利要求1所述的方法,其特征在于,所述数据分组被路由到所述设备的目的地地址,其中所述设备的目的地地址包括与互联网协议版本四(IPv4)地址类型不同的地址类型。
7.如权利要求1所述的方法,其特征在于,所述消息以Teredo过渡技术格式编码,所述消息包括被分配给客户机设备的互联网协议版本六(IPv6)地址,所述IPv6地址包括 Teredo服务器的互联网协议版本四(IPv4)地址、与所述客户机设备相关联的IPv4地址、以及与所述客户机设备相关联的端口。
8.如权利要求7所述的方法,其特征在于,与所述客户机设备相关联的IPv4地址包括客户机地址以及网络地址转换(NAT)设备的地址中的一个。
9.如权利要求1所述的方法,其特征在于,所述消息以6到4过渡技术格式编码,其中所述消息包括被分配给客户机设备的6到4地址,其中所述6到4地址包括表示分配给主机设备的互联网协议版本六(IPv6)地址的部分。
10.如权利要求1所述的方法,其特征在于,所述消息以ISATAP过渡技术格式编码,其中所述消息包括被分配给客户机设备的ISATAP地址,其中所述ISATAP地址包括单播互联网协议版本四(IPv4)地址。
11.如权利要求1所述的方法,其特征在于,基于散列函数而将所述消息分配给所述阵列的所述已分配的元素,其中互联网协议版本四(IPv4)地址和端口号的组合被用作为对所述散列函数的输入。
12.如权利要求1所述的方法,其特征在于,所述数据分组包括互联网协议版本四(IPv4)分组,其中所述方法进一步包括提取嵌入在所述IPv4分组中的互联网协议版本六 (IPv6)地址。
13.一种阵列,包括网络组件012),用于从设备接收消息032),其中所述消息以过渡技术格式编码; 提取组件014),用于从所述消息032)中提取信息;分配组件016),用于基于从所述消息所提取的信息,将所述消息分配给所述阵列的第一元素020),其中所述阵列包括多个元素018)。
14.如权利要求13所述的阵列,其特征在于,还包括 第二网络组件,用于接收数据分组;以及路由组件,用于将所接收的数据分组路由到所述阵列的所述第一元素。
15.如权利要求13所述的方法,其特征在于,将所述数据分组和所述消息路由到所述阵列的所述第一元素导致在所述阵列上的双向仿射性。
全文摘要
揭示了一种在阵列上对数据分组进行负载平衡的方法。本方法包括在阵列的输入处接收以第一格式编码的数据分组。所接收的数据分组被分配给阵列的一已分配的元素,并且数据分组被路由到一设备。在阵列上从该设备接收以第二格式编码的消息。从该消息的净荷部分提取出信息,并且基于从该消息的净荷部分所提取的信息将该消息分配给阵列上的该已分配的元素。
文档编号H04L12/56GK102257776SQ200980151931
公开日2011年11月23日 申请日期2009年12月11日 优先权日2008年12月19日
发明者A·埃亚勒, L·艾伦, N·奈斯, O·约瑟斐, S·卡里姆 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1