CN104618264B - 数据中心网络中自适应调度数据流的方法和系统 - Google Patents

数据中心网络中自适应调度数据流的方法和系统 Download PDF

Info

Publication number
CN104618264B
CN104618264B CN201410612341.4A CN201410612341A CN104618264B CN 104618264 B CN104618264 B CN 104618264B CN 201410612341 A CN201410612341 A CN 201410612341A CN 104618264 B CN104618264 B CN 104618264B
Authority
CN
China
Prior art keywords
path
network
packet
centralization
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410612341.4A
Other languages
English (en)
Other versions
CN104618264A (zh
Inventor
K·B·阿戈沃
J·B·卡特
C·K·迪克森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104618264A publication Critical patent/CN104618264A/zh
Application granted granted Critical
Publication of CN104618264B publication Critical patent/CN104618264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及为了高效资源利用而在数据中心网络中自适应调度数据流的方法和系统。提供了一种方法,其中,在主计算机系统上执行的第一虚拟机生成其目标目的地在计算机网络上第二虚拟机的数据包。该主计算机系统基于数据包的头信息识别对应于该数据包的数据流,并且分析可以让识别出的数据流使用的可用路径的路径权重。该主计算机系统又把对应于从第一虚拟机到第二虚拟机的预定义物理层路径的一条可用路径分配给识别出的数据流。

Description

数据中心网络中自适应调度数据流的方法和系统
技术领域
本公开涉及在数据中心网络中通过自适应数据流调度进行的高效资源利用。更具体而言,本公开涉及基于数据中心网络的链路利用权重向数据包流(data packet flow)分配网络路径。
背景技术
软件定义的数据中心(SDDC)是虚拟化数据中心基础设施并且把该基础设施作为服务来交付的一种体系架构方法。这种方法与传统的数据中心相反,在传统的数据中心中,基础设施通常是由硬件和设备定义的。软件定义的数据中心涵盖各种各样的概念和数据中心基础设施部件,并且每个部件可以通过应用编程接口(API)来提供、操作和管理。软件定义的数据中心的核心体系架构部件包括计算虚拟化、存储虚拟化、管理和自动化软件,以及网络和安全虚拟化。
计算虚拟化是计算机的软件实现。存储虚拟化(例如,软件定义的存储装置)使数据中心管理员能够从单个软件接口管理多种存储类型和品牌。管理和自动化软件使管理员能够提供、控制和管理所有软件定义的数据中心部件。并且,网络和安全虚拟化是把硬件和软件资源以及联网功能融合到基于软件的虚拟网络中的过程。
就像传统的数据中心,软件定义的数据中心把从源实体到目的地实体的数据包发送分组成“流”,“流”由包括在数据包中的“流标识符”来表示。例如,流标识符可以是包括源/目的地IP地址、源/目的地端口号以及协议标识符的5元组。
软件定义的数据中心会在网络流量中产生动态变化,这会在有些链路(例如,两个交换机或路由器之间的连接)造成高利用率,同时留下网络中的其它链路利用率过低。照此,即使当网络容量足以容纳网络实体之间现有的流时,网络也会经历网络瓶颈 ( 拥塞 )。
发明内容
根据本公开的一种实施例,提供了一种方法,其中在主计算机系统上执行的第一虚拟机生成其目标目的地在计算机网络上的第二虚拟机的数据包。该主计算机系统基于数据包的头信息识别对应于该数据包的数据流,并且分析可以让识别出的数据流使用的可用路径的路径权重。该主计算机系统又把对应于从第一虚拟机到第二虚拟机的预定义物理层路径的可用路径之一分配给识别出的数据流。
以上是概述并且因此必然包含细节的简化、一般化和忽略;因此,本领域技术人员将认识到,本概述仅仅是说明性的并且不是要以任何方式进行限制。如只能由权利要求定义的本公开的其它方面、创造性特征以及优点将在以下阐述的非限制性具体描述中变得清楚。
附图说明
通过参考附图,可以更好地理解本公开,并且本发明众多目标、特征及优点将对本领域技术人员变得显而易见,其中:
图 1 是示出管理在数据中心中的两个主机系统之间的多条路径和路径权重的集中式流调度器的一个例子的图;
图 2A 是示出由集中式流调度器管理的主权重表 (master weighting table)的一个例子的图;
图 2B 是示出当选择路径分配给新数据流时主机系统参考的本地权重表 (localweighting table) 的一个例子的图;
图 2C 是示出由主机系统用来识别数据包的分配路径的流表 (flow table) 的一个例子的图;
图 3 是示出主机系统的虚拟交换机把路径分配给数据包并且相应地修改数据包的头以便遍历分配的路径的一个例子的细节图;
图 4 是示出由集中式流调度器为了配置计算机网络并且基于链路 利用率动态调整路径权重而采取的步骤的一个例子的流程图;
图 5 是示出由虚拟交换机为了识别数据包的路径并且针对数据包修改数据包的头以便遍历软件定义的数据中心网络而采取的步骤的一个例子的流程图;
图 6 是示出集中式流调度器向利用公共的高度利用的网络链路的两个主机系统发送更新的路径权重的一个例子的图;
图 7 是本文所公开的方法可以在其中实现的数据处理系统的框图;及
图 8 提供了图 7 中所示的信息处理系统环境的扩展,以说明本文所述的方法可以对在联网环境中操作的很多种信息处理系统上执行。
具体实施方式
本文所使用的术语仅仅是为了描述特定实施例而不是要作为本公开的限制。如本文所使用的,除非上下文明确地另外指出,否则单数形式“一个”和“这个”是要也包括复数形式。还应当理解,当在本说明书中使用时,术语“包括”规定所述的特征、整数、步骤、操作、元素和 / 或部件的存在,但是并不排除一个或多个其它特征、整数、步骤、操作、元素、部件和 / 或其组的存在或添加。
以下权利要求中所有方式或步骤加功能元素的对应结构、材料、动作及等价物都是要包括用于结合具体所述的其它所述元素执行所述功能的任何结构、材料或行为。已经为了说明和描述而给出了本公开的描述,但这不是详尽的或者要把本公开限定到所公开的形式。在不背离本公开的范围与主旨的情况下,许多修改和变化对本领域普通技术人员都将是显而易见的。实施例的选择和描述是为了最好地解释本公开的原理和实践应用,并使本领域其他普通技术人员能够理解本公开以得到具有适于预期的特定使用的各种修改的各种实施例。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式 ( 包括 固件、驻留软件、微代码等 ) ,或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子 ( 非穷举的列表 ) 包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器 (RAM) 、只读存储器 (ROM) 、可擦式可编程只读存储器 (EPROM 或闪存 ) 、光纤、便携式紧凑盘只读存储器 (CD-ROM) 、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、 RF 等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如 Java 、 Smalltalk、 C++ 等,还包括常规的过程式程序 设计语言—诸如“ C ”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网 (LAN) 或广域网 (WAN) —连接到用户计算机,或者,可以连接到外部计算机 ( 例如利用因特网服务提供商来通过因特网连接 ) 。
下面将参照根据本发明实施例的方法、装置 ( 系统 ) 和计算机程序产品的流程图和 / 或框图描述本发明。应当理解,流程图和 / 或框图的每个方框以及流程图和 / 或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和 / 或框图中的一个或多个方框中规定的功能 / 动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和 / 或框图中的一个或多个方框中规定的功能 / 动作的指令的制造品 (article of manufacture) 。
计算机程序指令还可以加载到计算机、其它可编程数据处理装置或者其它设备上,使得一系列操作步骤在计算机、其它可编程装置或者其它设备上执行,以产生一种计算机实现的过程,使得在所述计算机或者其它可编程装置上执行的指令提供用于实现流程图和 / 或框图中的一个或多个方框中规定的功能 / 动作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现 规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和 / 或流程图中的每个方框、以及框图和 / 或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以下具体描述一般将遵循如上所述的本公开的概述,在必要的时候进一步解释和扩展本公开各方面和实施例的定义。
图 1 是示出管理在数据中心中的两个主机系统之间的多条路径和路径权重的集中式流调度器的一个例子的图。计算机网络 140 是软件定义的数据中心网络,包括在主机系统,诸如主机 A 100 和主机 B 155 之间发送数据包的多个交换机 142-150 。在一种实施例中,集中式流调度器 180 配置交换机 142-150 ,使得多条网络路径可以让主机 A100 用于向主机 B 155 发送数据。例如,集中式流调度器 180 可以配置交换机 142-150每个中的转发表,使得每个交换机基于数据包的路径标识符知道哪个端口转发数据包 (以下讨论 ) 。
图 1 示出集中式流调度器配置了三条让主机 A 100 向主机 B 155 发送数据包的可用路径,这三条路径是路径 AB1 、 AB2 和 AB3 。路径 AB1( 长虚线 ) 通过交换机142 、 144 、 148 、 150 向主机 B 155 发送数据包。路径 AB2( 实线 ) 通过交换机 142、 146 、 148 、 150 向主机 B 155 发送数据包。路径 AB3( 短虚线 ) 通过交换机 142 、146 、 150 向主机 B 155 发送数据包。
集中式流调度器 180 在主加权表 190 中为每条可用路径添加一个表条目,该表条目包括路径标识符、路径的对应链路以及初始随机路径权重 ( 对于更多细节,见图 2A和对应的文字 ) 。集中式流调度器 180 又把对应于特定主机的表条目发送到每个主机。例如,集中式流调度器 180 把对应于路径 AB1 、 AB2 和 AB3 的表条目发送到主机 A100 ,主机 A 100 把这些表条目存储在本地权重表 135 中 ( 对于更多 细节,见图 2B和对应的文字 ) 。
主机 A 100 的管理程序 105 处理由虚拟机 115 、 120 和 125 发起的数据包。当管理程序 105 从虚拟机 115 、 120 或 125 之一接收到目的地为主机 B 155 的虚拟机 160 、 165 或 170 之一的数据包时,管理程序 105 把数据包发送到虚拟交换机(vswitch)110 。虚拟交换机 110 比较来自数据包的头字段与流表 130 中配置的数据路径规则。例如,通过从数据包的头提取 5 元组信息并且比较流标识符与流表 130 中所包括的跟踪到分配路径的现有流的表条目,虚拟交换机 110 可以识别对应于接收到的数据包的数据流 ( 对于更多细节,见图 2C 和对应的文字 ) 。
如果数据包属于现有的数据流,则虚拟交换机 110 把在流表 130 中规定的动作应用到该包。动作可以包括以使得当在网络上发送时数据包使用分配给所述数据流的具体路径的这样一种方式 ( 对于更多细节,见图 3 、 5 和对应的文字 ) 修改数据包的头,并且在端口上把该包发送出去。修改后的数据包又经分配路径遍历通过计算机网络 140 并且到达主机 B 155 。管理程序 157 和虚拟交换机 150 接收数据包并且把数据包转发到虚拟机 160 、 165 或 170 当中适当的一个。
但是,当数据包属于新的数据流时,对于该数据流,在流表 130 中不存在匹配的条目,因此数据包被发送到虚拟交换机控制逻辑。虚拟交换机 110 的控制逻辑检查本地权重表 135 有没有对应于该数据包的源和目的地的可用路径并且基于分配给可用路径的路径权重向数据流分配路径。虚拟交换机 110 在流表 130 中生成新的表条目,该新的表条目包括把属于该数据流的数据包转发到分配路径所需的流标识符 ( 例如, 5 元组 ) 和对应动作。照此,当虚拟交换机 110 接收到属于相同数据流的后续数据包时,虚拟交换机110 访问流表 130 并且对数据流中每个后续数据包应用相同的动作,从而使属于相同数据流的后续数据包沿着相同的分配路径被转发。
当数据包遍历通过计算机网络 140 时,某些链路变得被高度利用。这可能是由于来自一个主机系统的单个数据流,或者可能是由于 来自多个主机系统的流的组合 ( 对于更多细节,见图 6 和对应的文字 ) 。集中式流调度器 180 检测高度利用的链路并且更新主权重表 190 中对应于高度利用的链路的路径权重 ( 对于更多细节,见图 4 和对应的文字 ) 。例如,如果交换机 144 和 148 之间的链路变得被高度利用,则集中式流调度器180 识别包括该链路的可用路径并且更新它们的对应路径权重。
照此,集中式流调度器 180 识别对应于更新的路径权重的主机并且把更新的路径权重发送到对应的主机 ( 例如,主机 A 100) 。当虚拟交换机 110 从虚拟机 115 、120 或 125 接收是新数据流的一部分的数据包时,虚拟交换机 110 基于更新的路径权重确定哪条路径要分配给新数据流。因此,跨计算机网络 140 中的多条路径动态分配流,从而降低了网络拥塞的可能性。
图 2A 是示出由集中式流调度器生成还管理的主权重表的一个例子的图。集中式流调度器 180 使用主权重表 190 来存储用于源主机和目的地主机的各种路径的表条目。图 2A 示出表 190 包括源主机列 200 、目的地主机列 210 、路径标识符列 220 、链路标识符 225 以及路径权重列 230 。
当集中式流调度器 180 针对主机之间的多种路径选项而配置计算机网络 140时,集中式流调度器 180 把表条目添加到表 190 。如可以看到的,表 190 包括用于主机A 和主机 B 之间的路径的三个表条目,以及用于主机 C 和主机 B 之间的路径的三个表条目。当集中式流调度器 180 检测到计算机网络 140 中高度利用的链路时,集中式流调度器 180( 经列 225 中的链路标识符 ) 识别使用该高度利用的链路的路径,并且相应地更新对应的路径权重。集中式流调度器 180 又把更新的路径权重发送到对应的源主机,使得源主机可以利用更新的路径权重更新它们的本地权重表 ( 对于更多细节,见图 4 和对应的文字 ) 。
图 2B 是示出当选择路径分配给新数据流时主机系统参考的本地权重表的一个例子的图。当源主机 A 的一个虚拟机向驻留在主机 B 155 上的虚拟机发送数据包时,主机 A 100 使用表 135 在三条路径 (AB1 、 AB2 或 AB3) 之间选择。如在图 2B 中可以看到的,表 135 包括目的地主机列 250 、路径标识符列 255 以及路径权重列 260 。当虚拟交换机 110 接收到开始新数据流并且打算送给主机 B 155 上的虚拟机的数据包时,虚拟交换机 110 使用列 260 中的路径权重来选择分配给新数据流的特定路径。图 2B 示出路径 AB1 具有最高权重 .7 ,这指示路径 AB1 是分配给新流的优选路径。照此,虚拟交换机110 把路径 AB1 分配给新数据流并且修改对应于新数据流的每个数据包的头,以便遍历路径 AB1( 对于更多细节,见图 5 和对应的文字 ) 。
图 2C 是示出由主机系统用来识别数据包的分配路径的流表的一个例子的图。当虚拟交换机 110 把路径分配给新数据流时,虚拟交换机 110 向表 130 添加流表条目,该流表条目包括用于匹配数据包的流标识符和对应于该流标识符的动作。流表 130 示出对应于 5 元组的字段 265 至 285 ,在一种实施例中,该 5 元组用作流标识符,包括源 IP地址、目的地 IP 地址、源端口号、目的地端口号以及协议标识符。如本领域技术人员可以认识到的,其它字段可以用来匹配进入的数据包与流表 130 中的规则 ( 匹配字段 ) 。
列 290 示出在进入的数据包的头信息匹配列 265 至 285 中的信息时要执行的动作。图 2C 中所示的例子示出了其中动作是要把目的地 MAC 地址改成路径标识符“ AB1”的实施例,其中 MAC 地址可以是虚拟 MAC 地址。在这种实施例中,集中式流调度器 180之前配置计算机网络 140 的交换机 142-150 ,使得每个交换机都知道如何基于匹配目的地 MAC 地址字段与虚拟 MAC 路径标识符来路由数据包。
图 3 是示出主机系统的虚拟交换机把路径分配给数据包并且相应地修改数据包的头以便遍历分配的路径的一个例子的细节图。主机 A 100 的虚拟机 115 生成数据包300 ,该数据包 300 的目的地是在主机 B 155 上执行的虚拟机。数据包 300 包括头 305和数据 310 。头 305 包括流标识符,在一种实施例中,该流标识符是包括源 IP 地址、目的地 IP 地址、源端口号、目的地端口号和协议标识符的 5 元组信 息。
管理程序 105 接收数据包 300 并且把数据包 300 传递到虚拟交换机 110 。虚拟交换机 110 包括数据平面 315 和控制平面 320 。在一种实施例中,数据平面 315 负责修改作为现有数据流的一部分的数据包的头,而控制平面 320 负责基于可用路径的当前路径权重向新流分配路径。如本领域技术人员可以认识到的,数据平面 315 可以利用快速内核模式逻辑执行数据路径功能,而控制平面 320 可以利用用户模式逻辑执行控制功能。
虚拟交换机 110 的数据平面 315 接收数据包 300 并且确定头 305 的流标识符是否匹配流表 130 中的流标识符。当数据平面 315 识别出匹配时,数据平面 315 修改头 305 ,在一种实施例中,这是通过利用对应于匹配的流标识符条目 (345) 代替现有的字段 ( 目的地 MAC 地址 ) 实现的。例如,数据平面 315 可以通过计算机网络 140 利用计算机网络 140 关联到特定路径的虚拟 MAC 地址代替对应于主机 B 155 的 MAC 地址。数据平面 315 又把修改后的数据包 330 经计算机网络 140 发送到主机 B 155 。
但是,当数据平面 315 没有在流表 130 中定位匹配的流标识符时,这指示数据包 300 是新数据流的第一个数据包,数据平面 315 把数据包 300 传递到控制平面 320。控制平面 320 分析数据包 300 的源和目的地,并且基于源地址和目的地地址定位可用于数据包 300 的多个路径选项。图 3 示出了本地权重表 135 包括把数据包发送到主机B 155 的三个路径选项,这三个路径选项是路径 AB1 、 AB2 和 AB3 。
照此,控制平面 320 基于路径权重选择可用路径之一以分配给数据包 300 的数据流,并且通知数据平面 315 所分配的路径。数据平面 315 又向流表 130 添加包括数据包 300 的流标识符 ( 例如, 5 元组 ) 和对应于分配的路径标识符的动作的表条目。数据平面 315 如上所述地利用新路径标识符修改头 305 并且把修改后的数据包 330 经计算机网络 140 发送到主机 B 155 。由于数据平面 315 向流表 130 添加了与新数据流对应的新条目,因此,当接收到属于该数据流的后续数据包 时,数据平面 315 在流表 130中找到匹配并且执行允许它取得之前分配的路径标识符并且相应地修改后续数据包的头信息的动作,而无需把后续的数据包传递到控制平面 320 进行分析和路径分配。
图 4 是示出由集中式流调度器为了配置计算机网络并且基于链路利用率动态调整路径权重而采取的步骤的一个例子的流程图。集中式流调度在 400 开始,于是在 405 ,集中式流调度器配置在计算机网络 140 中的主机之间可用的多条网络路径。在配置过程期间,集中式流调度器利用对应于多条可用路径的转发信息来配置计算机网络 140 中的交换机。在一种实施例中,每条网络路径 ( 可用路径 ) 都是主计算机系统 ( 例如,在主计算机系统上执行的虚拟机 ) 之间预定义的物理层 ( 层 2) 路径。
在 410 ,集中式流调度器利用源主机信息、目的地主机信息、包括链路——该链路包含路径——的可用路径信息以及初始随机路径权重来加载主权重表 190( 对于更多细节,见图 2A 和对应的文字 ) 。
在 420 ,集中式流调度器识别对应于每个主机 415 的可用路径并且把对应的路径信息 ( 包括初始路径权重 ) 发送到每个主机 415 。每个主机 415 的虚拟交换机 (例如,虚拟交换机 110) 又在它们的对应本地权重表 418( 例如,本地权重表 135) 中加载路径信息。
集中式流调度器监视通过计算机网络 140 的网络流量并且测量链路利用率。集中式流调度器确定计算机网络 140 是否包括任何高度利用的链路,诸如通过比较链路利用率与预定的阈值 ( 决定 440) 。如果没有检测到高度利用的链路,则决定 440 分支到“否”分支,该分支返回去继续监视计算机网络 140 。
相反,如果集中式流调度器检测到高度利用的链路,则决定 440 分支到“是”分支,于是集中式流调度器识别出包括该高度利用的链路的转发路径 (450) 。例如并且参考图 2A ,集中式流调度器可以确定链路“ s35 ”是高度利用的链路并且识别出路径 AB1 、AB2 和 CB3 使用链路 s35 。
在 460 ,集中式流调度器为识别出的转发路径计算路径权重。对 于每条识别出的转发路径,在一种实施例中,集中式流调度器使用以下公式来计算路径权重:
成本 [p] = wlinks *(p 中的 # 链路 )+wcong*(p 中的 # 拥塞链路 ) ;
路径权重 [p] = 1/ 成本 [p]
其中 wlinks 和 wcong 是基于如何积极避免拥塞相对于最少链路数而预定义的权重。在一种实施例中,当 wcong 选择成比 wlinks 高时,拥塞避免优先于减小路径长度。在这种实施例中,可以给更长的路径分配比具有更拥塞链路的更短路径更低的成本。相反,如果wlinks 设置得比 wcong 高,则路径长度最小化比拥塞链路避免权重更高。在实际当中, wlinks和 wcong 权重是由网络管理员基于减少链路个数 ( 跳 ) 和避免拥塞链路之间期望的平衡来配置的。
在一种实施例中,集中式流调度器归一化为非高度利用路径计算出的路径权重并且归一化用于特定源主机 / 目的地主机组合的权重。参考图 2A ,用于主机 A 至主机 B的路径权重是 AB1 = .7 、 AB2 = .2 及 AB3 = .1 ,加起来等于 1 。当集中式流调度器更新用于其中一条路径 ( 例如, AB2) 的路径权重时,集中式流调度器可以调整用于其它两条路径的路径权重,使得三个路径权重之和结果仍为 1 。
在 470 ,集中式流调度器识别对应于更新的路径权重的主机并且把更新的路径权重发送到识别出的主机。主机又利用更新的路径权重更新它们的本地权重表。照此,当主机接收到用于新数据流的数据包时,主机使用更新的路径权重来确定哪条路径要分配给新数据流 ( 对于更多细节,见图 6 和对应的文字 ) 。
集中式流调度器确定是否继续监视计算机网络 140 的链路利用 ( 决定 480) 。如果集中式流调度器应当继续监视计算机网络 140 的链路利用,则决定 480 分支到“是”分支,该分支循坏回去监视链路利用并且相应地更新路径权重。另一方面,如果集中式流调度器应当终止计算机网络监视,则决定 480 分支到“否”分支,于是处理在 490 结束。
图 5 是示出了由虚拟交换机为了识别数据包的路径并且修改数据 包的头以便数据包遍历软件定义的数据中心网络而采取的步骤的一个例子的流程图。数据平面 315处理在 500 开始,于是在 505 ,数据平面接收源自虚拟机的数据包,诸如识别源 IP 地址、源端口号、目的地 IP 地址、目的地端口号以及协议标识符的 5 元组。
在 510 ,数据平面检查流表 130 有没有匹配接收到的数据包的规则。例如,数据平面可以匹配数据包的 5 元组与规定相同 5 元组信息的流表条目。确定在流表 130 中是否识别出匹配规则 ( 决定 515) 。如果流表 130 包括具有匹配规则的流表条目,则决定 515 分支到“是”分支,于是数据平面执行包括在匹配的流表条目中的动作,诸如利用具体的虚拟 MAC 地址修改数据包的目的地 MAC 地址。
另一方面,如果流表 130 不包括包含匹配规则的条目,则决定 515 分支到“否”分支,于是在 520 ,数据平面把数据包传递到控制平面 320 。控制平面处理在 540 开始,于是在 545 ,控制平面从数据平面接收数据包。在 550 ,控制平面分析对应于该数据包的数据流的多个路径选项及其它们在本地权重表 135 中的路径权重,并且基于分析选择用于数据流的路径 (555) 。
在 560 ,控制平面在流表 130 中存储流表条目,该条目包括规则 ( 流标识符信息 ) 和要执行的动作 ( 基于选定的路径的路径标识符重写目的地 MAC 地址 ) 。在 565,控制平面把数据包传递回数据平面,并且确定是否继续处理 ( 决定 570) 。如果控制平面处理应当继续,则决定 570 分支到“是”分支,该分支循环回去等待来自数据平面的更多数据包。这个循环一直继续到控制平面应当终止,在这个时候,决定 570 分支到“否”分支,于是在 575 ,控制平面处理结束。
回过头来参考数据平面,在 525 ,数据平面从控制平面接收数据包,并且如以上所讨论的那样通过修改头中的路径标识符来修改数据包的头。确定数据平面是否应当继续( 决定 530) 。如果数据平面处理应当继续,则决定 530 分支到“是”分支,该分支循环回去从虚拟机接收数据包。这个循环一直继续到数据平面终止,在这个时候,决定 530 分支到“否”分支并且在 535 结束。
图 6 是示出集中式流调度器向利用公共的高度利用的网络链路的两个主机系统发送更新的路径权重的一个例子的图。集中式流调度器 180 管理包括交换机 620 、 625、 630 、 635 、 640 和 650 的软件定义的计算机网络。几个主机使用软件定义的计算机网络,诸如图 6 中所示的主机 A 100 、主机 B 155 、主机 C 600 和主机 D 610 。主机 A100 使用分配的路径 660 向主机 B 155 发送属于特定数据流的数据包。路径 660( 实粗线 ) 遍历通过交换机 620 、 625 、 630 、 650 ,并且到达主机 B 155 。主机 D 610 使用分配的路径 665 发送属于特定数据流的数据包给主机 C 600 。路径 665( 虚粗线 )遍历通过交换机 635 、 625 、 630 ,并且到达主机 C 600 。
集中式流调度器 180 监视软件定义的计算机网络的链路利用率并且确定交换机625 和 630 之间的链路是高度利用链路。照此,集中式流调度器 180 识别利用高度利用链路的路径 ( 例如,路径 660 和 665) ,并且相应地更新路径权重。集中式流调度器 180又把路径权重更新 680 和 690 分别发送到主机 A 100 和主机 D 610 。因此,主机 A100 和主机 D 610 可以为新流选择不使用交换机 625 和 630 之间的高度利用链路的不同路径。
图 7 说明了信息处理系统 700 ,这是能够执行本文所述的计算操作的计算机系统的简化例子。信息处理系统 700 包括耦合到处理器接口总线 712 的一个或多个处理器710 。处理器接口总线 712 把处理器 710 连接到也被称为存储器控制器集线器 (MCH)的北桥 715 。北桥 715 连接到系统存储器 720 并且为处理器 710 提供访问系统存储器的方式。图形控制器 725 也连接到北桥 715 。在一种实施例中, PCI Express 总线 718把北桥 715 连接到图形控制器 725 。图形控制器 725 连接到显示设备 730 ,诸如计算机监视器。
北桥 715 和南桥 735 利用总线 719 彼此连接。在一种实施例中,总线是在北桥715 和南桥 735 之间在每个方向上以高速传输数据的直接媒体接口 (DMI) 总线。在另一种实施例中,外围组件互连 (PCI) 总线连接北桥和南桥。南桥 735 ,也称为 I/O 控制器集线器 (ICH) ,是一般而言实现以比北桥所提供的能力更低的速度操作的能力的芯片。南桥 735 通常提供用来连接各种部件的各种总线。这些总线包括,例如, PCI 和 PCIExpress 总线、 ISA 总线、系统管理总线 (SMBus 或 SMB) 和 / 或低引脚数 (LPC) 总线。 LPC 总线常常连接低带宽设备,诸如引导 ROM 796 和“传统” I/O 设备 ( 例如“超I/O ”芯片 ) 。“传统” I/O 设备 (798) 可以包括,例如,串行和并行端口、键盘、鼠标,和/ 或软盘控制器。 LPC 总线还把南桥 735 连接到可信平台模块 (TPM)795 。南桥 735 中常常包括的其它部件包括直接存储器访问 (DMA) 控制器、可编程中断控制器 (PIC) 以及利用总线 784 把南桥 735 连接到诸如硬盘驱动器的非易失性存储设备 785 的存储设备控制器。
ExpressCard 755 是把热插拔设备连接到信息处理设备的插槽。 ExpressCard755 既支持 PCI Express 又支持 USB 连接性,因为它既利用通用串行总线 (USB) 又利用 PCI Express 总线连接到南桥 735 。南桥 735 包括向连接到 USB 的设备提供 USB连接性的 USB 控制器 740 。这些设备包括网络摄像头 ( 照相机 )750 、红外线 (IR) 接收器 748 、键盘和触控板 744 ,以及提供无线个人区域网络 (PAN) 的蓝牙设备 746 。USB 控制器 740 还向其它各种 USB 连接的设备 742 ,诸如鼠标、可移动非易失性存储设备 745 、调制解调器、网卡、 ISDN 连接器、传真机、打印机、 USB 集线器以及许多其它类型的 USB 连接的设备,提供 USB 连接性。虽然可移动非易失性存储设备 745 被示为 USB连接的设备,但是可移动非易失性存储设备 745 可以利用不同的接口,诸如 Firewire 接口等,连接。
无线局域网 (LAN) 设备 775 经 PCI 或 PCI Express 总线 772 连接到南桥735 。 LAN 设备 775 通常实现全都用相同协议在信息处理系统 700 和另一计算机系统或设备之间无线通信的空中 (over-the-air) 调制技术的 IEEE 802.11 标准之一。光学存储设备 790 利用串行 ATA(SATA) 总线 788 连接到南桥 735 。串行 ATA 适配器和设备经高速串行链路通信。串行 ATA 总线还把南桥 735 连接到其它形式的 存储设备,诸如硬盘驱动器。音频电路系统 760 ,诸如声卡,经总线 758 连接到南桥 735 。音频电路系统760 还提供诸如音频线路输入和光学数字音频输入端口 762 、光学数字输出和耳机插孔764 、内部扬声器 766 和内部麦克风 768 的功能性。以太网控制器 770 利用总线,诸如PCI 或 PCI Express 总线,连接到南桥 735 。以太网控制器 770 把信息处理系统 700连接到计算机网络,诸如局域网 (LAN) 、互联网以及其它公共和私有计算机网络。
虽然图 7 示出了一种信息处理系统,但是信息处理系统可以采取许多形式。例如,信息处理系统可以采取台式、服务器、便携式、膝上型、笔记本或其它形式因子的计算机或数据处理系统的形式。此外,信息处理系统可以采取其它形式因子,诸如个人数字助理(PDA) 、游戏设备、 ATM 机、便携式电话设备、通信设备或者包括处理器和存储器的其它设备。
图 7 中所示并在本文中描述为提供安全功能的可信平台模块 (TPM 795) 仅仅是硬件安全模块 (HSM) 的一个例子。因此,本文所描述并要求保护的 TPM 包括任何类型的 HSM ,包括但不限于遵循命名为“可信平台模块 (TPM) 规范版本 1.2 ”的可信计算组(TCG) 标准的硬件安全设备。 TPM 是可以结合到任意数量的信息处理系统,诸如在图 8中略述的那些,当中的硬件安全子系统。
图 8 提供了图 7 中所示的信息处理系统的扩展,以说明本文所描述的方法可以在联网环境中操作的各种各样的种信息处理系统上执行。信息处理系统的类型从小手持式设备,诸如手持式计算机 / 移动电话 810 ,到大型主机系统,诸如大型计算机 870 ,变化。手持式计算机 810 的例子包括个人数字助理 (PDA) 、个人娱乐设备,诸如 MP3 播放器、便携式电视机以及光盘播放器。信息处理系统的其它例子包括笔式或平板计算机 820,膝上型或笔记本计算机 830 ,工作站 840 ,个人计算机系统 850 ,以及服务器 860 。在图 8 中未单独示出的其它类型的信息处理系统由信息处理系统 880 表示。如所示出的,各种信息处理系统可以利用计算机网络 800 联网到一起。可以用 于互连各种信息处理系统的计算机网络的类型包括局域网 (LAN) 、无线局域网 (WLAN) 、互联网、公共交换电话网络 (PSTN) 、其它无线网络,以及可以用来互连信息处理系统的任何其它网络拓扑结构。许多信息处理系统都包括非易失性数据存储,诸如硬驱和 / 或非易失性存储器。图 8 中所示出的有些信息处理系统绘出了单独的非易失性数据存储 ( 服务器 860 使用非易失性数据存储 865 ,大型计算机 870 使用非易失性数据存储 875 ,而信息处理系统 880使用非易失性数据存储 885) 。非易失性数据存储可以是在各种信息处理系统外部的部件或者可以在信息处理系统之一内部。此外,可移动非易失性存储设备 745 可以利用各种技术在两个或更多个信息处理系统之间共享,诸如把可移动非易失性存储设备 745 连接到USB 端口或者信息处理系统的其它连接器。
虽然本公开的特定实施例已经示出并进行了描述,但是对于本领域技术人员来说很显然,基于本文的教导,在不背离本公开及其更广泛方面的情况下可以进行改变和修改。因此,所附权利要求是要在其范围内涵盖所有属于本公开真正主旨与范围的这种改变和修改。此外,应当理解,本公开只能由所附权利要求来定义。本领域技术人员将理解,如果预期具体数量的所介绍权利要求元素,则这种意图将在权利要求中明确地记载,并且在缺少这种记载的情况下就不存在这种限制。对于非限制性例子,为了帮助理解,以下所附权利要求包含使用介绍性短语“至少一个”和“一个或多个”来介绍权利要求元素。但是,即使当同一个权利要求包括介绍性短语“一个或多个”或“只是一个”以及诸如“一个”的不定冠词时,这种短语的使用也不应当认为是暗示由不定冠词“一个”对权利要求元素的介绍把包含这种被介绍权利要求元素的任何特定权利要求限定到只包含一个这种元素的公开;对于定冠词在权利要求中的使用,这也同样适用。

Claims (15)

1.一种用于数据中心网络中自适应调度数据流的方法,包括:
在主计算机系统,从集中式流调度器接收对多个路径权重中的至少一个路径权重的更新,其中所述多个路径权重对应所述主计算机系统和第二计算机系统之间多个可用路径,并且其中所述多个路径权重的每一个基于包括在所述多个可用路径中其对应的一个路径之中的至少一个链路;
在主计算机系统,基于包括在数据包中的选定头信息来识别对应于所述数据包的数据流,所述数据包是由位于所述主计算机系统的第一虚拟机发起的且目的地在位于所述第二计算机系统的第二虚拟机;
在所述主计算机系统,基于接收的路径权重的更新,指定识别出的数据流的多条可用路径的一条路径,其中所述指定的路径对应于经计算机网络从所述主计算机系统到所述第二计算机系统之间的预定义物理层路径;及
在所述主计算机系统,通过用对应于所述路径标识符的虚拟MAC地址替换所述数据包的头字段中的MAC目的地地址来修改所述数据包;
经所述计算机网络把修改后的数据包发送到所述第二虚拟机。
2.如权利要求1所述的方法,其中所述主计算机系统包括虚拟交换机,所述方法还包括:
由包括在所述虚拟交换机中的控制平面创建包括流标识符和路径标识符的流表条目,其中所述流标识符对应于所述选定头信息并且所述路径标识符对应于分配的路径;
其中所述修改是由包括在所述虚拟交换机中的数据平面进行的。
3.如权利要求2所述的方法,其中所述流标识符包括所述选定头信息,所述选定头信息包括源IP地址、目的地IP地址、源端口号、目的地端口号以及协议标识符。
4.如权利要求2所述的方法,其中所述数据包被包括在对应于所述识别出的数据流的多个数据包中,所述方法还包括:
在所述虚拟交换机接收不同数据包,所述不同数据包被包括在所述多个数据包中;
由所述数据平面确定包括在所述不同数据包中的不同头信息匹配所述流表条目中的流标识符。
5.如权利要求1所述的方法,其中集中式流调度器向所述主计算机系统提供所述多个路径权重,所述方法还包括:
由所述集中式流调度器监视所述计算机网络中所包括的多个网络设备之间的多个链路利用率;
由所述集中式流调度器检测所述多个链路利用率中的至少一个超出阈值;
由所述集中式流调度器识别包括对应于检测到的链路利用率的链路的一条或多条网络路径;及
由所述集中式流调度器为识别出的一条或多条网络路径中的每一条创建更新的路径权重。
6.如权利要求5所述的方法,其中,对于所述识别出的一条或多条网络路径中的每一条,所述方法还包括:
由所述集中式流调度器确定包括在所述识别出的网络路径中的链路个数;
由所述集中式流调度器确定包括在所述识别出的网络路径中的拥塞链路的个数;及
由所述集中式流调度器基于所述链路个数和所述拥塞链路的个数来计算所述更新的路径权重。
7.如权利要求5所述的方法,还包括:
由所述集中式流调度器识别使用所述识别出的网络路径中的一条或多条的一个或多个主计算机系统,其包括所述主计算机系统;及
由所述集中式流调度器把一个或多个更新的路径权重发送到所述识别出的一个或多个主计算机系统,其中所述多条可用路径中的至少一条匹配所述识别出的一条或多条网络路径中的至少一条。
8.如权利要求1所述的方法,其中所述计算机网络是软件定义的数据中心网络。
9.一种用于数据中心网络中自适应调度数据流的信息处理系统,包括:
一个或多个处理器;
耦合到所述处理器中的至少一个的存储器;
能够让所述处理器中的至少一个访问的虚拟交换机;及
存储在所述存储器中的一组计算机程序指令,被所述处理器中的至少一个执行以执行以下动作:
从集中式流调度器接收对多个路径权重中的至少一个路径权重的更新,其中所述多个路径权重对应主计算机系统和第二计算机系统之间多个可用路径,并且其中所述多个路径权重的每一个基于包括在所述多个可用路径中其对应的一个路径之中的至少一个链路;
基于包括在数据包中的选定头信息来识别对应于所述数据包的数据流,所述数据包是由位于所述主计算机系统的第一虚拟机发起的且目的地在位于所述第二计算机系统的第二虚拟机;
基于接收的路径权重的更新,指定识别出的数据流的多条可用路径的一条路径,其中所述指定的路径对应于经计算机网络从所述主计算机系统到所述第二计算机系统之间的预定义物理层路径;
通过用对应于所述路径标识符的虚拟MAC地址替换所述数据包的头字段中的MAC目的地地址来修改所述数据包;及
经所述计算机网络把修改后的数据包发送到所述第二虚拟机。
10.如权利要求9所述的信息处理系统,其中所述虚拟交换机执行包括以下的附加动作:
由包括在所述虚拟交换机中的控制平面创建包括流标识符和路径标识符的流表条目,其中所述流标识符对应于所述选定头信息并且所述路径标识符对应于分配的路径;
其中所述修改是有所述虚拟交换机中的数据平面进行。
11.如权利要求10所述的信息处理系统,其中所述流标识符包括所述选定头信息,所述选定头信息包括源IP地址、目的地IP地址、源端口号、目的地端口号以及协议标识符。
12.如权利要求10所述的信息处理系统,其中所述数据包被包括在对应于所述识别出的数据流的多个数据包中,所述虚拟交换机执行包括以下的附加动作:
接收不同数据包,所述不同数据包被包括在所述多个数据包中;
由所述数据平面确定包括在所述不同数据包中的不同头信息匹配所述流表条目中的流标识符。
13.如权利要求9所述的信息处理系统,其中集中式流调度器向所述信息处理系统提供所述多个路径权重,所述集中式流调度器执行包括以下的附加动作:
监视所述计算机网络中所包括的多个网络设备之间的多个链路利用率;
检测所述多个链路利用率中的至少一个超出阈值;
识别包括对应于检测到的链路利用率的链路的一条或多条网络路径;及
为识别出的一条或多条网络路径中的每一条创建更新的路径权重。
14.如权利要求13所述的信息处理系统,其中,对于所述识别出的一条或多条网络路径中的每一条,所述集中式流调度器执行包括以下的附加动作:
确定包括在所述识别出的网络路径中的链路个数;
确定包括在所述识别出的网络路径中的拥塞链路的个数;及
基于所述链路个数和所述拥塞链路的个数来计算所述更新的路径权重。
15.如权利要求13所述的信息处理系统,其中所述集中式流调度器执行包括以下的附加动作:
识别使用所述识别出的网络路径中的一条或多条的一个或多个主计算机系统,其包括所述信息处理系统;及
把一个或多个更新的路径权重发送到所述识别出的一个或多个主计算机系统,其中所述多条可用路径中的至少一条匹配所述识别出的一条或多条网络路径中的至少一条。
CN201410612341.4A 2013-11-05 2014-11-04 数据中心网络中自适应调度数据流的方法和系统 Active CN104618264B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/072,065 2013-11-05
US14/072,065 US9634938B2 (en) 2013-11-05 2013-11-05 Adaptive scheduling of data flows in data center networks for efficient resource utilization

Publications (2)

Publication Number Publication Date
CN104618264A CN104618264A (zh) 2015-05-13
CN104618264B true CN104618264B (zh) 2018-01-12

Family

ID=53006953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410612341.4A Active CN104618264B (zh) 2013-11-05 2014-11-04 数据中心网络中自适应调度数据流的方法和系统

Country Status (2)

Country Link
US (1) US9634938B2 (zh)
CN (1) CN104618264B (zh)

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286047B1 (en) 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
US10116558B2 (en) * 2014-01-24 2018-10-30 Fiber Mountain, Inc. Packet switch using physical layer fiber pathways
US9344364B2 (en) * 2014-03-31 2016-05-17 Metaswitch Networks Ltd. Data center networks
US9559950B2 (en) * 2014-03-31 2017-01-31 Tigera, Inc. Data center networks
US9813258B2 (en) 2014-03-31 2017-11-07 Tigera, Inc. Data center networks
US10360071B1 (en) * 2014-04-11 2019-07-23 Amazon Technologies, Inc. Computing resource market
US9774537B2 (en) 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US11722367B2 (en) 2014-09-30 2023-08-08 Nicira, Inc. Method and apparatus for providing a service with a plurality of service nodes
US10516568B2 (en) 2014-09-30 2019-12-24 Nicira, Inc. Controller driven reconfiguration of a multi-layered application or service model
US9954775B2 (en) * 2014-11-25 2018-04-24 Electronics And Telecommunications Research Institute Software-defined network (SDN) system using host abstraction, and method for implementing the same
US20160294700A1 (en) * 2015-03-30 2016-10-06 Alcatel-Lucent Usa, Inc. Online route computation and traffic engineering with segment routing
US10594743B2 (en) 2015-04-03 2020-03-17 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9800497B2 (en) 2015-05-27 2017-10-24 Cisco Technology, Inc. Operations, administration and management (OAM) in overlay data center environments
US10089099B2 (en) 2015-06-05 2018-10-02 Cisco Technology, Inc. Automatic software upgrade
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10033766B2 (en) 2015-06-05 2018-07-24 Cisco Technology, Inc. Policy-driven compliance
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
CN105228210B (zh) * 2015-08-25 2017-05-24 努比亚技术有限公司 多通道路由方法及装置
US9794222B2 (en) * 2015-08-28 2017-10-17 Nicira, Inc. Stateful processing for stateless forwarding element
US9894188B2 (en) 2015-08-28 2018-02-13 Nicira, Inc. Packet data restoration for flow-based forwarding element
US10154062B2 (en) * 2015-09-25 2018-12-11 Nxp Usa, Inc. Rule lookup using predictive tuples based rule lookup cache in the data plane
US10320691B1 (en) 2016-01-30 2019-06-11 Innovium, Inc. Visibility packets
US10447578B1 (en) 2016-03-02 2019-10-15 Innovium, Inc. Redistribution policy engine
US9985890B2 (en) 2016-03-14 2018-05-29 International Business Machines Corporation Identifying a local congestion control algorithm of a virtual machine
US10171357B2 (en) 2016-05-27 2019-01-01 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10931629B2 (en) 2016-05-27 2021-02-23 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10045252B2 (en) * 2016-06-02 2018-08-07 International Business Machines Corporation Virtual switch-based congestion control for multiple TCP flows
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10432532B2 (en) * 2016-07-12 2019-10-01 Cisco Technology, Inc. Dynamically pinning micro-service to uplink port
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
CN106254273A (zh) * 2016-08-09 2016-12-21 清华大学深圳研究生院 一种数据中心网络流的调度方法和系统
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US11075847B1 (en) 2017-01-16 2021-07-27 Innovium, Inc. Visibility sampling
US10735339B1 (en) 2017-01-16 2020-08-04 Innovium, Inc. Intelligent packet queues with efficient delay tracking
US10623308B2 (en) * 2017-02-17 2020-04-14 Dell Products L.P. Flow routing system
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
CA3072795A1 (en) * 2017-05-31 2018-12-06 Entrust Datacard Corporation Cryptographic object management across multiple remote sites
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10601704B2 (en) * 2017-07-31 2020-03-24 Cisco Technology, Inc. Asymmetric routing minimization
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US10805181B2 (en) 2017-10-29 2020-10-13 Nicira, Inc. Service operation chaining
US10708229B2 (en) 2017-11-15 2020-07-07 Nicira, Inc. Packet induced revalidation of connection tracker
US10757077B2 (en) * 2017-11-15 2020-08-25 Nicira, Inc. Stateful connection policy filtering
US11012420B2 (en) 2017-11-15 2021-05-18 Nicira, Inc. Third-party service chaining using packet encapsulation in a flow-based forwarding element
CN108173782A (zh) * 2017-12-26 2018-06-15 北京星河星云信息技术有限公司 虚拟私有云中传输数据流的方法、装置及存储介质
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US11765046B1 (en) 2018-01-11 2023-09-19 Cisco Technology, Inc. Endpoint cluster assignment and query generation
TWI670984B (zh) * 2018-01-18 2019-09-01 瑞昱半導體股份有限公司 網路通訊裝置、無線基地台以及無線中繼器
US10873593B2 (en) 2018-01-25 2020-12-22 Cisco Technology, Inc. Mechanism for identifying differences between network snapshots
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10917438B2 (en) 2018-01-25 2021-02-09 Cisco Technology, Inc. Secure publishing for policy updates
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US11296960B2 (en) 2018-03-08 2022-04-05 Nicira, Inc. Monitoring distributed applications
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
CN108733490A (zh) * 2018-05-14 2018-11-02 上海交通大学 一种基于资源共享自适应配置的GPU虚拟化QoS控制系统及方法
US12014208B2 (en) * 2018-06-29 2024-06-18 Advanced Micro Devices, Inc. Techniques for reducing serialization in divergent control flow
US11042397B2 (en) 2019-02-22 2021-06-22 Vmware, Inc. Providing services with guest VM mobility
US11748150B2 (en) * 2019-05-14 2023-09-05 Microsoft Technology Licensing, Llc System and method for blocking path detection
US11176157B2 (en) * 2019-07-23 2021-11-16 Vmware, Inc. Using keys to aggregate flows at appliance
US11340931B2 (en) 2019-07-23 2022-05-24 Vmware, Inc. Recommendation generation based on selection of selectable elements of visual representation
US11398987B2 (en) 2019-07-23 2022-07-26 Vmware, Inc. Host-based flow aggregation
US11349876B2 (en) 2019-07-23 2022-05-31 Vmware, Inc. Security policy recommendation generation
US11188570B2 (en) 2019-07-23 2021-11-30 Vmware, Inc. Using keys to aggregate flow attributes at host
US11436075B2 (en) 2019-07-23 2022-09-06 Vmware, Inc. Offloading anomaly detection from server to host
US11140090B2 (en) 2019-07-23 2021-10-05 Vmware, Inc. Analyzing flow group attributes using configuration tags
US11288256B2 (en) 2019-07-23 2022-03-29 Vmware, Inc. Dynamically providing keys to host for flow aggregation
US11743135B2 (en) 2019-07-23 2023-08-29 Vmware, Inc. Presenting data regarding grouped flows
WO2021026740A1 (zh) * 2019-08-12 2021-02-18 华为技术有限公司 流量均衡方法、网络设备及电子设备
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11321213B2 (en) 2020-01-16 2022-05-03 Vmware, Inc. Correlation key used to correlate flow and con text data
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11095552B1 (en) * 2020-01-31 2021-08-17 Avago Technologies International Sales Pte. Limited Weighted cost multipath packet processing
US11929987B1 (en) * 2020-02-25 2024-03-12 Juniper Networks, Inc. Preserving packet flow information across bump-in-the-wire firewalls
US11368387B2 (en) 2020-04-06 2022-06-21 Vmware, Inc. Using router as service node through logical service plane
US11621904B1 (en) 2020-11-06 2023-04-04 Innovium, Inc. Path telemetry data collection
US11784932B2 (en) 2020-11-06 2023-10-10 Innovium, Inc. Delay-based automatic queue management and tail drop
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11991187B2 (en) 2021-01-22 2024-05-21 VMware LLC Security threat detection based on network flow analysis
US11785032B2 (en) 2021-01-22 2023-10-10 Vmware, Inc. Security threat detection based on network flow analysis
US11831667B2 (en) 2021-07-09 2023-11-28 Vmware, Inc. Identification of time-ordered sets of connections to identify threats to a datacenter
US11997120B2 (en) 2021-07-09 2024-05-28 VMware LLC Detecting threats to datacenter based on analysis of anomalous events
US11792151B2 (en) 2021-10-21 2023-10-17 Vmware, Inc. Detection of threats based on responses to name resolution requests
US12015591B2 (en) 2021-12-06 2024-06-18 VMware LLC Reuse of groups in security policy

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102907055A (zh) * 2010-03-26 2013-01-30 思杰系统有限公司 用于在多核装置上进行链路负载平衡的系统和方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE308184T1 (de) 2001-08-28 2005-11-15 Verfahren und vorrichtung zum optimieren von elastischendatenströmen in einem mehrweg-netz für verkehrsanfragen
JP4740897B2 (ja) * 2007-05-24 2011-08-03 株式会社日立製作所 仮想ネットワーク構成方法及びネットワークシステム
US20120182865A1 (en) 2009-02-06 2012-07-19 Vpisystems, Inc. Systems, Methods, and Apparatuses for Managing the Flow of Traffic in Data Networks
US8098584B2 (en) 2009-08-07 2012-01-17 Microsoft Corporation Optimization of traffic routing for data center services
US8553562B2 (en) 2010-09-08 2013-10-08 Telefonaktiebolaget L M Ericsson (Publ) Automated traffic engineering for multi-protocol label switching (MPLS) with link utilization as feedback into the tie-breaking mechanism
US8676980B2 (en) * 2011-03-22 2014-03-18 Cisco Technology, Inc. Distributed load balancer in a virtual machine environment
US9015823B2 (en) * 2011-11-15 2015-04-21 Nicira, Inc. Firewalls in logical networks
US8964735B2 (en) * 2012-05-18 2015-02-24 Rackspace Us, Inc. Translating media access control (MAC) addresses in a network hierarchy
JP5974665B2 (ja) * 2012-06-22 2016-08-23 富士通株式会社 情報処理システム、中継装置、情報処理装置および情報処理方法
US9282164B2 (en) * 2013-03-15 2016-03-08 Cisco Technology, Inc. Application hints for network action
US9374302B2 (en) * 2013-04-26 2016-06-21 Brocade Communications Systems, Inc. Distributed methodology for peer-to-peer transmission of stateful packet flows
US9521028B2 (en) * 2013-06-07 2016-12-13 Alcatel Lucent Method and apparatus for providing software defined network flow distribution
US20150078152A1 (en) * 2013-09-13 2015-03-19 Microsoft Corporation Virtual network routing
US9882805B2 (en) * 2013-09-30 2018-01-30 Vmware, Inc. Dynamic path selection policy for multipathing in a virtualized environment
US10063458B2 (en) * 2013-10-13 2018-08-28 Nicira, Inc. Asymmetric connection with external networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102907055A (zh) * 2010-03-26 2013-01-30 思杰系统有限公司 用于在多核装置上进行链路负载平衡的系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OpenFlow based control for Re-routing with Differentiated flows in Data Center Networks;Kanagavelu, R.; Mingjie, L.N.; Khin Mi Mi et al.;《Networks(ICON),2012 18th IEEE International Conference on》;20121214;摘要、第I-III部分,图1-4 *

Also Published As

Publication number Publication date
US9634938B2 (en) 2017-04-25
CN104618264A (zh) 2015-05-13
US20150124608A1 (en) 2015-05-07

Similar Documents

Publication Publication Date Title
CN104618264B (zh) 数据中心网络中自适应调度数据流的方法和系统
CN104995880B (zh) 虚拟联网系统中的量化拥塞通知的方法和系统
CN104104620B (zh) 用于按优先级进行业务流处理的方法和系统
Rabbani et al. On tackling virtual data center embedding problem
WO2020258920A1 (zh) 一种网络切片资源管理方法及设备
CN103238138B (zh) 用于迁移逻辑分区的方法、装置和系统
EP2710471B1 (en) Method and apparatus for providing end-to-end privacy for distributed computations
CN104683257B (zh) 对进入流量执行流量负载平衡的方法和装置
CN103023827B (zh) 一种虚拟化数据中心的数据转发方法及其实现设备
Aujla et al. Adaptflow: Adaptive flow forwarding scheme for software-defined industrial networks
EP3375141A1 (en) Systems and methods for distributed network-aware service placement
CN104320350A (zh) 用于提供基于信用的流控制的方法及系统
CN103346981A (zh) 虚拟交换方法、相关装置和计算机系统
CN104335535A (zh) 使用生成树和网络交换元件资源在网络中路由信息流的方法、装置及系统
CN105379206B (zh) 网络中的报文处理方法、转发设备和报文处理系统
CN105993009A (zh) 通过非透明桥向PCIe集群中的计算资源传送MSI-X中断的方法和装置
WO2017046740A1 (en) Systems and methods for decentralized service placement in a resource pool
CN103455363B (zh) 一种虚拟机的指令处理方法、装置及物理主机
CN103731377B (zh) 处理报文的方法与设备
CN104247341B (zh) 分布式交换机及其多播树层次结构的动态优化方法
CN107846313A (zh) 一种网络服务模板生成的方法及网络设备
US20180197110A1 (en) Metrics to Train Machine Learning Predictor for NoC Construction
CN109474467A (zh) 网络自动化管理方法、装置、存储介质及电子设备
Zhang et al. TCAM space-efficient routing in a software defined network
CN109218383A (zh) 虚拟网络功能负载平衡器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant