数据中心环境中的多路径通信的制作方法

文档序号:7789103阅读:213来源:国知局
专利名称:数据中心环境中的多路径通信的制作方法
技术领域
本发明涉及数据中心,尤其是数据中心中的多路径通信。
背景技术
数据中心是用于容纳特定企业的计算机系统及相关联的组件的设施。这些系统及相关联的组件包括处理系统(诸如服务器)、数据存储设备、电信系统、网络基础结构设备 (诸如交換机和路由器)、及其他系统/组件。通常存在工作流,使得在数据中心中的ー个或多个计算设备处生成的数据必须被传输到数据中心中的另ー个计算设备以实现特定的任务。通常,通过分组交换网络在数据中心中传输数据,使得在网络基础结构设备之间传输通信流,其中通信流是与一段时间内的特定任务有关的数据分组序列。在某些情形中,通信流是相对大的,诸如当搜索引擎所使用的索引的部分被从若干服务器理想地聚集的时候。在其他情形中,通信流可以是相对小的,但在计算设备之间传递时也可以与相对短的可接受的等待时间相关联。数据中心设计的ー贯主题是使用低成本商用组件来构建高度可用的高性能计算与存储基础结构。具体而言,价格在2000美元以下、以IGbps提供多达48个端ロ的低成本交換机是常见的。若干最近的研究建议构想了使用构建在这种商用交換机之上的新颖的基础结构来创建经济的、易于管理的数据中心。因此,使用这些交換机,数据中心中的计算设备(例如服务器)之间的多条通信路径通常存在。数据中心中的网络基础结构设备被配置为通过使用传输控制协议(TCP)来通信。 TCP是被配置为提供数据分组从运行在第一计算设备上的程序到运行在第二计算设备上的程序的可靠、顺序的递送的通信协议。然而,使用TCP的网络上的通信流通常受限于计算设备之间的单个通信路径(即,一系列単独的链路),即使其他链路具有传输数据的带宽。这在托管搜索引擎的数据中心的上下文中可能是有问题的。例如,诸如与搜索引擎所利用的索引的部分相关联的文件传送的大的流(例如100MB或更大)可能干扰对等待时间敏感的小的流,诸如查询交通。

发明内容
以下是在本文详细描述的主题的简要的发明内容。本发明内容不g在是关于权利要求的范围的限制。此处描述的是与数据中心网络中的计算设备之间的通信有关的各种技木。更具体地,此处描述的是便于数据中心网络中的计算设备之间的多路径通信的各种技木。如此处描述的数据中心可包括多个计算设备,该多个计算设备可包括服务器、路由器、交換机、以及通常与数据中心相关联的其他设备。服务器可在数据中心中被委托以运行执行各种计算任务的程序。根据ー个特定的示例,数据中心中的服务器可被委托以维护搜索引擎所利用的索引、可被委托以在接收用户查询之后针对该索引进行搜索、以及其他信息检索任务。然而,应当理解的是,可以出于任何合适的目的来委托数据中心中的计算设备。
可以是交換机、路由器、组合交換机/路由器等的网络基础结构装置可从发送者计算设备接收通信流,该通信流被期望传输到接收者计算设备。通信流包括特定序列中的由接收者计算设备期望接收的多个数据分组。例如,接收者计算设备可被配置为根据传输控制协议(TCP)来发送及接收通信。数据中心网络的拓扑结构可以被配置,使得多条通信路径/链路存在于发送者计算设备与接收者计算设备之间。网络基础结构装置可以使通信流跨多条通信链路分布,使得当在发送者计算设备与接收者计算设备之间传输通信流吋, 网络资源被汇合。具体地,通信流中的第一数据分组可以跨第一通信链路被传输到接收者计算设备,而通信流中的第二数据分组可以跨第二通信链路被传输到接收者计算设备。根据此处描述的一方面,网络基础结构设备和/或发送者计算设备可被配置为向通信流中的每个数据分组添加熵。通常,网络交換机基于数据分组头部中的内容跨链路分布通信量,使得数据分组头部中从特定发送者到指定接收者的网络通信量跨单个通信信道被传输。基础结构设备可被配置为更改数据中心网络中的接收者计算设备的地址的不重要部分(保留在头部的地址字段中),由此导致网络基础结构设备跨多条通信链路分布通信流中的数据分组。接收者交換机可包括移除熵的散列算法或其他合适的算法,使得接收者计算设备接收通信流中的数据分组。另外,基础结构装置可被配置为识别来自接收者计算设备的对通信流中一个或多个数据分组未按期望的序列被接收的指示。例如,发送者计算设备和接收者计算设备可被配置为通过TCP来通信,其中如果例如第一个接收到期望在序列中第一个被接收的第一分组,没有接收到期望在序列中第二个被接收的第二分组,并且在期望被第二个接收的分组之前接收到期望在序列中第三个被接收的第三分组,则接收者计算设备传输重复确认。在这种情形中,接收者计算设备向发送者计算设备传输指示第一分组已被接收的重复确认 (由此初始化对第二分组的传输)。发送者计算设备可以以防止发送者计算设备重发第二分组的方式来处理重复确认。由于通信流中的数据分组通过可能具有不同的对应等待时间的不同的通信路径被传输,因此通信流中的数据分组的非顺序接收可能会发生。发送者计算设备执行的处理可包括忽略重复确认,等待直到与数据分组有关的重复确认的数量达到特定的阈值(高干与TCP相对应的阈值),或者将重复确认作为普通确认来对待。在阅读并理解了附图和描述后,可以明白其他方面。


图I是便于数据中心中的发送者计算设备通过多条路径向数据中心中的接收者计算设备传输通信流的示例性系统的功能框图。图2是便于通过多条通信路径在发送者计算设备与接收者计算设备之间传输通信流的示例性系统的功能框图。图3是此处描述的各方面的高级示例性实现。图4是数据中心中的示例性网络/计算拓扑结构。图5是示出处理对在支持多路径通信的数据中心中以非期望的顺序接收数据分组的指示的示例性方法的流程图。图6是示出通过向通信流中的数据分组添加熵在数据中心网络中的多条通信路径上传输通信流的示例性方法的流程图。图7是不例性计算系统。
具体实施例方式现在将參考附图来描述关于数据中心环境中的多路径通信的各种技术,在全部附图中相同的附图标记表示相同的元素。另外,本文出于解释的目的示出并描述了各示例性系统的若干功能框图;然而可以理解,被描述为由特定系统组件执行的功能可以由多个组件来执行。类似地,例如,一组件可被配置成执行被描述为由多个组件执行的功能。另外, 如此处所用的,术语“示例性” g在表示用作某些事物的图示或示例,而不意图指示优选。參考图1,示出了示例性数据中心100,其中计算设备通过支持多路径通信的数据中心网络来通信。该数据中心100包括可协同工作以为特定企业执行计算任务的多个计算设备。在示例性实施例中,数据中心100的至少一部分可被配置为执行与搜索引擎有关的计算任务,包括构建并维护万维网上可用的文档索引、在接收查询之后搜索该索引、输出与该查询相对应的网页等。由此,数据中心100可包括多个计算设备(诸如服务器、或其他处理设备)和允许这些计算设备彼此通信的网络基础结构设备(诸如交換机、路由器、中继器)、以及用于在网络基础结构设备和/或计算设备之间传输数据的传输介质。如上所示,在ー个计算设备上执行的应用通常可能期望跨数据中心网络向在另ー 个计算设备上执行的应用传输数据。在数据中心网络中,由于多个路由器、交換机和其他网络基础结构设备,多条通信路径可以存在于任意两个计算设备之间。数据中心100包括计算设备和/或便于计算设备之间通信流的多路径通信的网络基础结构设备。更具体地,数据中心100包括发送者计算设备102,该发送者计算设备可以是托管被配置为执行特定计算任务的第一应用的服务器。数据中心100还包括接收者计算设备 104,其中该接收者计算设备104托管消费第一应用已处理的数据的第二应用。根据此处描述的一方面,发送者计算设备102和接收者计算设备104可被配置为通过利用传输控制协议(TCP)来彼此通信。由此,发送者计算设备104可以期望将通信流传输到接收者计算设备104,其中该通信流包括多个数据分组,并且其中该多个数据分组期望情况下按照特定顺序被发送者计算设备102发送并由接收者计算设备104接收。数据中心100还可包括发送者计算设备104和接收者计算设备104通过其通信的网络106。如上所示,网络106可包括多个网络基础结构设备,包括路由器、交換机、中继器等。网络106可以被配置,使得多条通信路径108-114存在于发送者计算设备102与接收者计算设备104之间。如将被示出及以下更详细地描述的,网络106可被配置为允许发送者计算设备102通过多条通信链路/路径向接收者计算设备104传输单个通信流,使得通信流中的两个不同的数据分组通过两条不同的通信路径从发送者计算设备102传输到接收者计算设备104。因此,数据中心100被配置用于计算设备之间的多路径通信。允许数据中心100中的多路径通信是不同寻常的建议。如上所示,数据中心中的计算设备可被配置为通过TCP(或期望通信流中特定的分组序列的其他合适的协议)来通信。由于数据中心100中计算设备之间的不同通信路径可能具有不同的等待时间和/或带宽,因此存在如下可能通信流中的数据分组将未按期望顺序达到预期的接收者计算设备。 对于广域网(WAN)中的多路径通信的所建议的方法包括显著地修改TCP标准,并且这在现实世界应用中可能是不实际的。此处描述的对于数据中心中多路径通信的方法很大程度上使TCP标准保持不变,并且不会显著地影响网络中数据传输的可靠性。这至少部分地由于与数据中心有关的因素,但对于WAN不为真。例如,数据中心100中的条件是相对同质的,使得数据中心网络106中的每条通信路径具有相对类似的瓶颈能力和延迟。此外,在某些实现中,数据中心100中的通信流可利用大致类似的拥塞流策略,诸如已在2010年2月26日提交的、题为“COMMUNICATION TRANSPORT OPTIMIZED FOR DATACENTER ENVIR0NMENT”(为数据中心环境优化的通信传输) 的美国专利申请序列号12/714,266中有所描述的DCTCP,上述专利申请的全部通过引用包含于此。另外,数据中心100中的每个路由器和/或交換机可以支持毎分组循环ECMP、或支持跨通信路径对数据分组平分的类似协议。该同质性是可能的,因为单个实体通常具有对数据中心100中的每个设备的控制。给定这种同质性,可以实现从发送者计算设备102到接收者计算设备104的通信流的多路径路由。现在參考图2,示出了便于发送者计算设备102与接收者计算设备104之间的通信流的多路径传输的示例性系统200。计算装置202与发送者计算设备102通信,其中该计算装置202可以是网络基础结构设备,诸如交換机、路由器等。计算装置202可以与多个其他网络基础结构设备通信,使得计算装置202可以通过多条通信路径204-208来传输数据分组。诸如交換机或路由器的网络基础结构设备210可以通过多条通信路径204-208来接收数据分组。接收者计算设备104与网络基础结构设备210通信,使得网络基础结构设备 210通过通信路径204-208接收的数据分组可由网络基础结构设备210定向到接收者计算设备104。由此,多条通信路径存在于发送者计算设备102与接收者计算设备104之间。如上所述,发送者计算设备102包括输出数据的第一应用,该数据期望情况下由在接收者计算设备104上执行的第二应用接收。发送者计算设备102可以根据诸如TCP或其他合适的协议的特定的分组交换网络协议来传输数据。由此,发送者计算设备102可以输出通信流,其中该通信流包括以特定顺序排列的多个数据分组。每个数据分组可包括头部,其中该头部包括接收者计算设备104的地址、以及指示通信流中数据分组的特定顺序中的各个数据分组的位置的数据。发送者计算设备102可输出前述的通信流,并且计算装置202可以接收通信流。计算装置202包括从发送者计算设备102接收通信流的接收器组件212。例如,接收器组件212可以是或包括传输缓冲区。计算装置202还包括向通信流中每个数据分组头部中的数据添加某种形式的熵的熵生成器组件214。例如,计算装置202通常可被配置为根据TCP传输数据,使得计算装置202尝试通过单个通信路径传输通信流的全部。通常,这通过分析数据分组的头部并且通过相同的通信路径将每个数据分组从特定的发送者计算设备传输到单个地址来实现。因此,熵生成器组件214可被配置为向接收者计算设备104的地址添加熵,使得计算装置202通过多条通信路径传输通信流中的数据分组。在一个示例中, 熵可被添加到每个数据分组头部中的地址数据中的不重要的位(例如,地址中的最后两个数字)。计算装置202中的发送器组件216可以跨多条通信路径204-208传输通信流中的数据分组。另外,发送器组件214可以利用毎分组循环ECMP、或支持跨通信路径对数据分组平分的类似协议。
网络基础结构设备210通过多条通信路径204-208接收通信流中的数据分组。网络基础结构设备210随后将通信流中的数据分组定向到接收者计算设备104。如上所述,接收者计算设备104通过协议(例如TCP)进行通信,其中通信流中的数据分组期望以特定的顺序到达。然而,可以查明的是,通信路径204-208可能具有不同的等待时间和/或ー链路可能失效,由此导致通信流中的数据分组未按期望的顺序被接收。在一个示例性实施例中, 网络基础结构设备210或者接收者计算设备104可被配置有缓冲区,该缓冲区在接收这些分组时缓存多个数据分组并对通信流中的数据分组进行正确地排序。一旦被置于正确的顺序,数据分组就可由接收者计算设备104中的第二应用来处理。然而,可能不期望维持这种缓冲区。因此,接收者计算设备104可包括确认生成器组件218。确认生成器组件218可根据TCP标准来操作。例如,确认生成器组件218可被配置为在接收特定的数据分组之际输出确认。此外,确认生成器组件218可被配置为如果未按期望的顺序接收分组则输出重复确认。在ー个具体的示例中,期望的顺序可以如下分组I ;分组2 ;分组3 ;分组4。在通过单个通信路径传输通信流的常规实现中,通常按照正确的顺序传输并接收分组。然而,由于通信路径204-208的不同的等待时间,接收者计算设备104可以不按正确的顺序接收这种分组。例如,接收者计算设备可以第一个接收到第一数据分组,确认生成器组件可以向发送者计算设备输出第一数据分组已被接收的确认,由此通知发送者计算设备102 :接收者计算设备104准备好接收第二数据分组。接收者计算设备104随后可能接收第三数据分组。确认生成器组件218可以识别第三数据分组被失序地接收,并且可以生成并传输以下确认接收者计算设备104已经接收第一数据分组,由此再次通知发送者计算设备102 :接收者计算设备104准备好接收第二数据分组。该确认可被认为是重复确认,因为它与第一数据分组被接收时的最初确认基本相似。继续该示例,接收者计算设备104随后可接收第四数据分组。确认生成器组件218可以识别第四数据分组已被失序地接收(例如,第二数据分组尚未被接收),并且可以生成并传输另ー个确认接收者计算设备104已经接收第一数据分组并准备好接收第二数据分组。这些确认可被传输回到发送者计算设备102。发送者计算设备102包括确认处理器组件220,该确认处理器组件220以防止发送者计算设备102向接收者计算设备104重传数据分组的方式来处理由确认生成器组件218生成的重复确认。在第一个示例中,确认处理器组件220可以接收重复确认,识别该重复确认,并且在识别该重复确认之际丢弃该重复确认。使用该方法,例如软件可被配置作为TCP的覆盖, 使得不需要修改TCP标准以实现多路径通信。确认处理器组件220的这种方法在数据中心网络中可能是实用的,因为通信通常是可靠的,并且被丢弃的数据分组和/或链路失效是罕见的。在第二个示例中,确认处理器组件220可以接收重复确认,识别该重复确认,并且将该重复确认作为最初确认来对待。由此,发送者计算设备102可以响应该重复确认。使用该方法,可以从与网络条件有关的重复确认中提取数据。然而,对重复确认的这种类型的处理可以落在TCP标准以外。換言之,数据中心中的ー个或多个计算设备可能需要TCP标准以外的更改从而以该方式来对待重复确认。因此,该方法对于单个实体对数据中心中的每个计算设备(包括网络基础结构设备)具有所有权/控制的情形是实用的。
在第三个示例中,确认处理器组件220可被配置为对关于特定数据分组接收到的重复确认的数量进行计数,并且将该数量与一阈值进行比较,其中该阈值大于3。如果重复确认的数量低于阈值,则确认处理器组件220防止发送者计算设备102重传数据分组。如果重复确认的数量等于或大于阈值,则确认处理器组件220使发送者计算设备102重传接收者计算设备104没有接收的数据分组。再次,对重复确认的该处理落在与TCP相对应的标准以外(当TCP用于重传数据分组的重复确认的阈值数为3吋),并且由此数据中心中的 ー个或多个计算设备(包括网络基础结构设备)可能需要TCP标准以外的变更从而以此方式来对待重复确认。再次,该方法对于单个实体对数据中心中的每个计算设备(包括网络基础结构设备)具有所有权/控制的情形是实用的。虽然系统200已被示出并被描述为具有被包括在特定计算设备/装置中的特定组件,但应该理解的是,其他实现也被发明人所构想并g在落入所附权利要求书的范围之内。 例如,网络基础结构设备210可包括确认生成器组件218,和/或接收者计算设备104本身可以是交換机、路由器等。另外,发送者计算设备102可包括熵生成器组件。此外,计算装置202可包括确认处理器组件220。现在參考图3,示出了 TCP底层的示例性实现300。在此示例中,在计算设备上执行的应用302是经由套接字306与TCP协议栈304的接ロ。底层308位于TCP协议栈304 之下,使得TCP协议栈304无需被修改。底层308可以识别重复确认并使其被抛出/忽略, 由此允许TCP协议栈304保持不变。另外,未修改IP协议栈310。现在參考图4,示出了示例性数据中心结构400。数据中心结构400包括例如可以是服务器的多个处理设备402-416。这些处理设备如图4所示用字母“H”来表示。处理设备的特定分组(例如,402-404、406-408、410-412和414-416)可以与相应的顶架路由器(T-路由器)进行通信。由此,处理设备402-404与T-路由器418直接通信,处理设备 406-408与T-路由器420直接通信,处理设备410-412与T-路由器422直接通信,并且处理设备414-416与T-路由器424直接通信。虽然每个T-路由器被示出与20个处理设备通信,T-路由器上的端ロ的数量可以变化并不限于20个。数据中心结构400还包括中间路由器(I-路由器)426-4321-路由器426-432的子集可与T-路由器418-420的子集通信以在概念上生成I-T 二分图,该I-T 二分图可被划分为若干子图,每个子图是全连接的(在二分图的意义上)。多个底架路由器(B-路由器)434-436可以耦合到每个I-路由器426-432。 虽然此处示出的结构是相对简单的,但可以在这种结构上扩展以在数据中心中使用。根据ー个示例,可以基于4元參数系统(DpDpDyK),构建包括T-路由器、I-路由器和B-路由器在内的所显示的三层对称结构(组结构)。DpD1和Db可以分别是T-路由器、 I-路由器和B-路由器的度(例如,网络接ロ控制器的可用数量),并且可以是独立的參数。 Nb可以是数据中心中的B-路由器的数量,并且不是完全独立的,因为Nb彡D1-I (每个I-路由器将被连接到至少ー个T路由器)。下面以列表形式示出这4-元參数系统可表示的若干其他结构化属性值I-路由器的总数N1 = Db。连接到每个I-路由器的T-路由器的数量nT = Di-Nb,也可以是每个ー级(T-I级) 全网状二分图中的T-路由器的数量nT = D1-Np入T — NAD1 -Db) _ DJD1 -Nb)T-路由器的总数Nt — --。
TT一个流的可用路径的总数nP =D2txNb。每个T-I 二分图和I-B 二分图的维度可以分别是(Di-Nb) XDt和DbXNb,二者都是全网状的。T-I 二分图的总数可以等于ず。可以注意到,由于整数限制,Db可以是Dt的倍数。现在參考图5-6,示出并描述了各种示例性方法。尽管各方法被描述为顺序地执行的一系列动作,但可以理解,这些方法不受该顺序的次序的限制。例如,一些动作能以与本文描述的不同的次序发生。另外,动作可以与另ー动作同时发生。此外,在一些情况下,实现本文描述的方法并不需要所有动作。此外,本文描述的动作可以是可由一个或多个处理器实现的和/或存储在ー个或多个计算机可读介质上的计算机可执行指令。计算机可执行指令可包括例程、子例程、程序、执行的线程等。另外,这些方法的动作的结果可以存储在计算机可读介质中,显示在显示设备上,等等。计算机可读介质可以是非瞬时介质、诸如存储器、硬盘驱动器、CD、DVD、闪存驱动器等。现在參考图5,示出了便于在数据中心网络中通过多条通信路径传输通信流的方法500。方法500在502开始,并且在504,接收供数据中心网络中的接收者计算设备使用的通信流。例如,可在交換机或路由器处接收通信流,并且该通信流可包括期望按照特定顺序传输并接收的多个数据分组。在506,通过多条通信链路将通信流传输到接收者计算设备。在一个示例中,接收者计算设备可以是网络交換机或路由器。在另ー个示例中,接收者计算设备可以是服务器。在508,从接收者计算设备接收对未按特定顺序接收通信流中的数据分组的指示。 如上所述,这是有可能的,因为数据分组是通过具有不同的对应等待时间的不同的通信路径来传输的。根据ー个示例,前述的指示可以是根据TCP标准生成并传输的重复确认。在510,处理该指示以防止从发送者计算设备到接收者计算设备的通信流中的数据分组的重传。例如,可以采用软件覆盖来识别该指示并丢弃这种指示。在另ー个示例中, 该指示可以是重复确认,并且可被作为根据TCP标准的最初确认来对待。在又一个示例中, 可以对关于特定数据分组接收的重复确认的数量进行计数,并且可将所得数量与一阈值进行比较,该阈值大于TCP标准中所利用的阈值。方法500在512完成。现在參考图6,便于在数据中心中通过多条通信路径传输通信流的示例性方法 600。方法600在602开始,并且在604,接收供数据中心网络中的接收者计算设备使用的数据。例如,可从在数据中心中的服务器上运行的应用接收数据,并且交換机可被配置为将这种数据划分为根据TCP标准期望按照特定顺序传输并接收的多个数据分组。在606,将熵添加到通信流中每个数据分组的头部。例如,可采用散列算法来更改预期的接收者计算设备的地址中的不重要的位。这可以使得交換机通过不同的通信路径来传输通信流中的数据分组。在608,至少部分地基于在动作606添加的熵,跨多条通信链路将通信流传输到接收者计算设备。接收者计算设备可包括用于移除数据分组中的熵的散列算法,使得可以重构通信流,并且可向预期的接收者应用提供所得数据。方法600在610完成。现在參考图7,示出了可以根据本文公开的系统和方法使用的示例性计算设备 700的高级图示。例如,计算设备700可用在支持数据中心中通信流的多路径通信的系统中。在另ー示例中,计算设备700的至少一部分可以用在支持WAN或LAN中通信流的多路径通信的系统中。计算设备700包括执行存储在存储器704中的指令的至少ー个处理器702。 存储器704可以是或可以包括RAM、ROM、EEPR0M、闪存、或其它适合的存储器。这些指令可以是例如用于实现被描述为由上述一个或多个组件执行的功能的指令或用于实现上述方法中的ー个或多个的指令。处理器702可以通过系统总线706访问存储器704。除存储可执行指令以外,存储器704还可以存储通信流的一部分、TCP网络栈的全部或部分等。计算设备700附加地包括可由处理器702通过系统总线706访问的数据存储708。 数据存储可以是或可以包括任何合适的计算机可读存储,包括硬盘、存储器等。数据存储 708可以包括可执行指令、通信流等。计算设备700还包括允许外部设备与计算设备700进行通信的输入接ロ 710。例如,可以使用输入接ロ 710来从外部计算机设备、网络基础结构设备等接收指令。计算设备700还包括将计算设备700与ー个或多个外部设备进行接ロ的输出接ロ 712。例如,计算设备700可以通过输出接ロ 712显示文本、图像等。另外,尽管被示为单个系统,但可以理解,计算设备700可以是分布式系统。因此, 例如,若干设备可以通过网络连接进行通信并且可共同执行被描述为由计算设备700执行的任务。如此处所使用的,术语“组件”和“系统” g在涵盖硬件、软件、或硬件和软件的组合。因此,例如,系统或组件可以是进程、在处理器上执行的进程、或处理器。另外,组件或系统可以位于单个设备上或分布在若干设备之间。此外,组件或系统可指存储器的一部分和/或一系列晶体管。注意,出于解释目的提供了若干示例。这些示例不应被解释为限制所附权利要求书。另外,可以认识到,本文提供的示例可被改变而仍然落入权利要求的范围内。
权利要求
1.ー种方法,包括从数据中心中的发送者计算设备接收供特定的接收者计算设备使用的通信流,其中所述通信流包括期望由所述接收者计算设备以特定顺序接收的多个数据分组,其中所述多个数据分组的每ー个标识所述特定的接收者计算设备,并且其中在所述发送者计算设备与所述接收者计算设备之间存在多条通信路径;选择性地将熵添加到所述通信流中的所述多个数据分组的每ー个的头部;至少部分地基于被添加到所述多个数据分组的每ー个的所述头部的所述熵,通过所述多条通信路径将所述网络通信流传输到所述接收者计算设备,其中所述接收者计算设备未按所述特定顺序接收所述多个数据分组的子集;从所述接收者计算设备接收对未按所述特定顺序接收所述多个数据分组的所述子集的指示;以及处理所述指示以防止所述多个数据分组的所述子集中的至少ー个数据分组被重传到所述接收者计算设备。
2.如权利要求I所述的方法,其特征在于,所述发送者计算设备和所述接收者计算设备是所述数据中心中的服务器。
3.如权利要求I所述的方法,其特征在于,其中网络交換机被配置为执行接收和传输的动作。
4.如权利要求I所述的方法,其特征在于,所述发送者计算设备和所述接收者计算设备被配置为经由传输控制协议彼此通信。
5.如权利要求I所述的方法,其特征在于,所述指示是根据传输控制协议传输的重复确认。
6.如权利要求5所述的方法,其中处理所述重复确认包括在接收所述重复确认之际递增计数,其中毎次接收与所述通信流中的特定数据分组相对应的重复确认时,递增所述计数;将所述计数与阈值进行比较,其中所述阈值大于3 ;如果所述计数小于或等于所述阈值,则忽略所述重复确认;以及如果所述计数大于所述阈值,则将所述数据分组重传到所述接收者计算设备。
7.如权利要求5所述的方法,其中处理所述重复确认包括识别所述重复确认;以及选择性地丢弃所述重复确认。
8.如权利要求5所述的方法,其中处理所述重复确认包括识别所述重复确认;以及根据所述传输控制协议,将所述重复确认选择性地作为普通确认来对待。
9.一种数据中心中的装置(202),包括接收器组件(212),它从发送者计算设备接收期望被传输到接收者计算设备的通信流, 其中所述通信流包括多个数据分组,其中所述数据分组的每ー个包括头部;熵生成器组件(214),它将熵添加到每个数据分组的头部;以及发送器组件(216),它至少部分地基于被添加到每个数据分组的头部的所述熵,跨所述发送者计算设备与所述接收者之间的所述数据中心中的多条通信路径传输所述通信流。
10.如权利要求9所述的装置,其特征在于,还包括确认处理器组件,它从所述接收者计算设备接收对未按期望顺序接收所述通信流中的数据分组的指示,并且处理所述指示以防止所述通信流中的至少ー个数据分组被重传到所述接收者计算设备。
全文摘要
此处描述了与数据中心环境中的多路径通信有关的各种技术。网络基础结构设备彼此传递通信流,其中通信流包括期望以特定顺序传输并接收的供特定的接收者计算设备使用的多个数据分组。以防止网络基础结构设备重传特定的数据分组的方式处理对通信流中的数据分组未按特定顺序被接收的指示。
文档编号H04L29/06GK102611612SQ20111043136
公开日2012年7月25日 申请日期2011年12月20日 优先权日2010年12月21日
发明者A·G·格林伯格, C·金, D·A·马尔茨, J·D·帕德耶, M·斯里达兰, 谭博 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1