CN104618264A - 为了高效资源利用而在数据中心网络中自适应调度数据流的方法和系统 - Google Patents

为了高效资源利用而在数据中心网络中自适应调度数据流的方法和系统 Download PDF

Info

Publication number
CN104618264A
CN104618264A CN201410612341.4A CN201410612341A CN104618264A CN 104618264 A CN104618264 A CN 104618264A CN 201410612341 A CN201410612341 A CN 201410612341A CN 104618264 A CN104618264 A CN 104618264A
Authority
CN
China
Prior art keywords
path
network
packet
link
destination
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.)
Granted
Application number
CN201410612341.4A
Other languages
English (en)
Other versions
CN104618264B (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是示出由集中式流调度器管理的主权重表(masterweighting table)的一个例子的图;
图2B是示出当选择路径分配给新数据流时主机系统参考的本地权重表(local weighting table)的一个例子的图;
图2C是示出由主机系统用来识别数据包的分配路径的流表(flowtable)的一个例子的图;
图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和主机B155之间发送数据包的多个交换机142-150。在一种实施例中,集中式流调度器180配置交换机142-150,使得多条网络路径可以让主机A 100用于向主机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的一个虚拟机向驻留在主机B155上的虚拟机发送数据包时,主机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是示出主机系统的虚拟交换机把路径分配给数据包并且相应地修改数据包的头以便遍历分配的路径的一个例子的细节图。主机A100的虚拟机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地址代替对应于主机B155的MAC地址。数据平面315又把修改后的数据包330经计算机网络140发送到主机B 155。
但是,当数据平面315没有在流表130中定位匹配的流标识符时,这指示数据包300是新数据流的第一个数据包,数据平面315把数据包300传递到控制平面320。控制平面320分析数据包300的源和目的地,并且基于源地址和目的地地址定位可用于数据包300的多个路径选项。图3示出了本地权重表135包括把数据包发送到主机B155的三个路径选项,这三个路径选项是路径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。主机A 100使用分配的路径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。因此,主机A 100和主机D 610可以为新流选择不使用交换机625和630之间的高度利用链路的不同路径。
图7说明了信息处理系统700,这是能够执行本文所述的计算操作的计算机系统的简化例子。信息处理系统700包括耦合到处理器接口总线712的一个或多个处理器710。处理器接口总线712把处理器710连接到也被称为存储器控制器集线器(MCH)的北桥715。北桥715连接到系统存储器720并且为处理器710提供访问系统存储器的方式。图形控制器725也连接到北桥715。在一种实施例中,PCIExpress总线718把北桥715连接到图形控制器725。图形控制器725连接到显示设备730,诸如计算机监视器。
北桥715和南桥735利用总线719彼此连接。在一种实施例中,总线是在北桥715和南桥735之间在每个方向上以高速传输数据的直接媒体接口(DMI)总线。在另一种实施例中,外围组件互连(PCI)总线连接北桥和南桥。南桥735,也称为I/O控制器集线器(ICH),是一般而言实现以比北桥所提供的能力更低的速度操作的能力的芯片。南桥735通常提供用来连接各种部件的各种总线。这些总线包括,例如,PCI和PCI Express总线、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是把热插拔设备连接到信息处理设备的插槽。ExpressCard 755既支持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.一种方法,包括:
在主计算机系统,基于包括在数据包中的选定头信息来识别对应于所述数据包的数据流,所述数据包是由第一虚拟机发起的且目的地在第二虚拟机;
在所述主计算机系统,分析能够分配给识别出的数据流的多条可用路径的多个路径权重;及
基于所述分析把所述多条可用路径中的一条分配给所述识别出的数据流,其中分配的路径对应于经计算机网络从所述第一虚拟机到所述第二虚拟机的预定义物理层路径。
2.如权利要求1所述的方法,其中所述主计算机系统包括虚拟交换机,所述方法还包括:
由包括在所述虚拟交换机中的控制平面创建包括流标识符和路径标识符的流表条目,其中所述流标识符对应于所述选定头信息并且所述路径标识符对应于所述分配的路径;
由包括在所述虚拟交换机中的数据平面通过用对应于所述路径标识符的虚拟MAC地址替换所述数据包的头字段中的MAC目的地地址来修改所述数据包;及
经所述计算机网络把修改后的数据包发送到所述目的地虚拟机。
3.如权利要求2所述的方法,其中所述流标识符包括所述选定头信息,所述选定头信息包括源IP地址、目的地IP地址、源端口号、目的地端口号以及协议标识符。
4.如权利要求2所述的方法,其中所述数据包被包括在对应于所述识别出的数据流的多个数据包中,所述方法还包括:
在所述虚拟交换机接收不同数据包,所述不同数据包被包括在所述多个数据包中;
由所述数据平面确定包括在所述不同数据包中的不同头信息匹配所述流表条目中的流标识符;
通过用对应于所述路径标识符的虚拟MAC地址替换所述不同数据包的不同头字段中的不同MAC目的地地址,由所述数据平面修改所述不同数据包;及
经所述计算机网络把修改后的不同数据包发送到所述目的地虚拟机。
5.如权利要求1所述的方法,其中集中式流调度器向所述主计算机系统提供所述多个路径权重,所述方法还包括:
由所述集中式流调度器监视所述计算机网络中所包括的多个网络设备之间的多个链路利用率;
由所述集中式流调度器检测所述多个链路利用率中的至少一个超出阈值;
由所述集中式流调度器识别包括对应于检测到的链路利用率的链路的一条或多条网络路径;及
由所述集中式流调度器为识别出的一条或多条网络路径中的每一条创建更新的路径权重。
6.如权利要求5所述的方法,其中,对于所述识别出的一条或多条网络路径中的每一条,所述方法还包括:
由所述集中式流调度器确定包括在所述识别出的网络路径中的链路个数;
由所述集中式流调度器确定包括在所述识别出的网络路径中的拥塞链路的个数;及
由所述集中式流调度器基于所述链路个数和所述拥塞链路的个数来计算所述更新的路径权重。
7.如权利要求5所述的方法,还包括:
由所述集中式流调度器识别使用所述识别出的网络路径中的一条或多条的一个或多个主计算机系统,其包括所述主计算机系统;及
由所述集中式流调度器把一个或多个更新的路径权重发送到所述识别出的一个或多个主计算机系统,其中所述多条可用路径中的至少一条匹配所述识别出的一条或多条网络路径中的至少一条。
8.如权利要求1所述的方法,其中所述计算机网络是软件定义的数据中心网络。
9.一种信息处理系统,包括:
一个或多个处理器;
耦合到所述处理器中的至少一个的存储器;
能够让所述处理器中的至少一个访问的虚拟交换机;及
存储在所述存储器中的一组计算机程序指令,被所述处理器中的至少一个执行以执行以下动作:
基于包括在数据包中的选定头信息来识别对应于所述数据包的数据流,所述数据包是由第一虚拟机发起的且目的地在第二虚拟机;
分析能够分配给识别出的数据流的多条可用路径的多个路径权重;及
基于所述分析把所述多条可用路径中的一条分配给所述识别出的数据流,其中分配的路径对应于经计算机网络从所述第一虚拟机到所述第二虚拟机的预定义物理层路径。
10.如权利要求9所述的信息处理系统,其中所述虚拟交换机执行包括以下的附加动作:
由包括在所述虚拟交换机中的控制平面创建包括流标识符和路径标识符的流表条目,其中所述流标识符对应于所述选定头信息并且所述路径标识符对应于所述分配的路径;
由包括在所述虚拟交换机中的数据平面通过用对应于所述路径标识符的虚拟MAC地址替换所述数据包的头字段中的MAC目的地地址来修改所述数据包;及
经所述计算机网络把修改后的数据包发送到所述目的地虚拟机。
11.如权利要求10所述的信息处理系统,其中所述流标识符包括所述选定头信息,所述选定头信息包括源IP地址、目的地IP地址、源端口号、目的地端口号以及协议标识符。
12.如权利要求10所述的信息处理系统,其中所述数据包被包括在对应于所述识别出的数据流的多个数据包中,所述虚拟交换机执行包括以下的附加动作:
接收不同数据包,所述不同数据包被包括在所述多个数据包中;
由所述数据平面确定包括在所述不同数据包中的不同头信息匹配所述流表条目中的流标识符;
通过用对应于所述路径标识符的虚拟MAC地址替换所述不同数据包的不同头字段中的不同MAC目的地地址,由所述数据平面修改所述不同数据包;及
经所述计算机网络把修改后的不同数据包发送到所述目的地虚拟机。
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 true CN104618264A (zh) 2015-05-13
CN104618264B 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108173782A (zh) * 2017-12-26 2018-06-15 北京星河星云信息技术有限公司 虚拟私有云中传输数据流的方法、装置及存储介质
CN113206783A (zh) * 2020-01-31 2021-08-03 安华高科技股份有限公司 用于加权成本多路径包处理的方法和装置

Families Citing this family (98)

* 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
US9813258B2 (en) 2014-03-31 2017-11-07 Tigera, Inc. Data center networks
US9559950B2 (en) * 2014-03-31 2017-01-31 Tigera, Inc. Data center networks
US9344364B2 (en) * 2014-03-31 2016-05-17 Metaswitch Networks Ltd. Data center networks
US10360071B1 (en) * 2014-04-11 2019-07-23 Amazon Technologies, Inc. Computing resource market
US10257095B2 (en) 2014-09-30 2019-04-09 Nicira, Inc. Dynamically adjusting load balancing
US9935827B2 (en) 2014-09-30 2018-04-03 Nicira, Inc. Method and apparatus for distributing load among a plurality of service nodes
US10225137B2 (en) 2014-09-30 2019-03-05 Nicira, Inc. Service node selection by an inline service switch
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
US10609091B2 (en) 2015-04-03 2020-03-31 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
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10033766B2 (en) 2015-06-05 2018-07-24 Cisco Technology, Inc. Policy-driven compliance
US10089099B2 (en) 2015-06-05 2018-10-02 Cisco Technology, Inc. Automatic software upgrade
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
CN105228210B (zh) * 2015-08-25 2017-05-24 努比亚技术有限公司 多通道路由方法及装置
US9894188B2 (en) 2015-08-28 2018-02-13 Nicira, Inc. Packet data restoration for flow-based forwarding element
US9794222B2 (en) * 2015-08-28 2017-10-17 Nicira, Inc. Stateful processing for stateless 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
US10541946B1 (en) 2016-01-30 2020-01-21 Innovium, Inc. Programmable visibility engines
US10355981B1 (en) * 2016-03-02 2019-07-16 Innovium, Inc. Sliding windows
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
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
CN110663218B (zh) 2017-05-31 2022-12-16 恩图鲁斯特咨询卡有限公司 加密对象管理方法和加密对象管理系统
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
US10797966B2 (en) 2017-10-29 2020-10-06 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
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 瑞昱半導體股份有限公司 網路通訊裝置、無線基地台以及無線中繼器
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US10873593B2 (en) 2018-01-25 2020-12-22 Cisco Technology, Inc. Mechanism for identifying differences between network snapshots
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10917438B2 (en) 2018-01-25 2021-02-09 Cisco Technology, Inc. Secure publishing for policy updates
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
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控制系统及方法
US20200004585A1 (en) * 2018-06-29 2020-01-02 Advanced Micro Devices, Inc. Techniques for reducing serialization in divergent control flow
US10929171B2 (en) 2019-02-22 2021-02-23 Vmware, Inc. Distributed forwarding for performing service chain operations
US11748150B2 (en) * 2019-05-14 2023-09-05 Microsoft Technology Licensing, Llc System and method for blocking path detection
US11398987B2 (en) 2019-07-23 2022-07-26 Vmware, Inc. Host-based flow aggregation
US11743135B2 (en) 2019-07-23 2023-08-29 Vmware, Inc. Presenting data regarding grouped flows
US11288256B2 (en) 2019-07-23 2022-03-29 Vmware, Inc. Dynamically providing keys to host for flow aggregation
US11140090B2 (en) 2019-07-23 2021-10-05 Vmware, Inc. Analyzing flow group attributes using configuration tags
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
US11340931B2 (en) 2019-07-23 2022-05-24 Vmware, Inc. Recommendation generation based on selection of selectable elements of visual representation
US11176157B2 (en) * 2019-07-23 2021-11-16 Vmware, Inc. Using keys to aggregate flows at appliance
US11436075B2 (en) 2019-07-23 2022-09-06 Vmware, Inc. Offloading anomaly detection from server to host
WO2021026740A1 (zh) * 2019-08-12 2021-02-18 华为技术有限公司 流量均衡方法、网络设备及电子设备
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
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
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11929987B1 (en) * 2020-02-25 2024-03-12 Juniper Networks, Inc. Preserving packet flow information across bump-in-the-wire firewalls
US11743172B2 (en) 2020-04-06 2023-08-29 Vmware, Inc. Using multiple transport mechanisms to provide services at the edge of a network
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
US11785032B2 (en) 2021-01-22 2023-10-10 Vmware, Inc. Security threat detection based on network flow analysis
US11991187B2 (en) 2021-01-22 2024-05-21 VMware LLC Security threat detection based on network flow analysis
US11997120B2 (en) 2021-07-09 2024-05-28 VMware LLC Detecting threats to datacenter based on analysis of anomalous events
US11831667B2 (en) 2021-07-09 2023-11-28 Vmware, Inc. Identification of time-ordered sets of connections to identify threats to a datacenter
US11792151B2 (en) 2021-10-21 2023-10-17 Vmware, Inc. Detection of threats based on responses to name resolution requests

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120246637A1 (en) * 2011-03-22 2012-09-27 Cisco Technology, Inc. Distributed load balancer in a virtual machine environment
CN102907055A (zh) * 2010-03-26 2013-01-30 思杰系统有限公司 用于在多核装置上进行链路负载平衡的系统和方法
US20130125230A1 (en) * 2011-11-15 2013-05-16 Nicira, Inc. Firewalls in logical networks

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60206942T2 (de) 2001-08-28 2006-07-27 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren und vorrichtung zum optimieren von elastischen datenströ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
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102907055A (zh) * 2010-03-26 2013-01-30 思杰系统有限公司 用于在多核装置上进行链路负载平衡的系统和方法
US20120246637A1 (en) * 2011-03-22 2012-09-27 Cisco Technology, Inc. Distributed load balancer in a virtual machine environment
US20130125230A1 (en) * 2011-11-15 2013-05-16 Nicira, Inc. Firewalls in logical networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KANAGAVELU, R.; MINGJIE, L.N.; KHIN MI MI ET AL.: "OpenFlow based control for Re-routing with Differentiated flows in Data Center Networks", 《NETWORKS(ICON),2012 18TH IEEE INTERNATIONAL CONFERENCE ON》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108173782A (zh) * 2017-12-26 2018-06-15 北京星河星云信息技术有限公司 虚拟私有云中传输数据流的方法、装置及存储介质
CN113206783A (zh) * 2020-01-31 2021-08-03 安华高科技股份有限公司 用于加权成本多路径包处理的方法和装置
CN113206783B (zh) * 2020-01-31 2024-04-23 安华高科技股份有限公司 用于加权成本多路径包处理的方法和装置

Also Published As

Publication number Publication date
CN104618264B (zh) 2018-01-12
US9634938B2 (en) 2017-04-25
US20150124608A1 (en) 2015-05-07

Similar Documents

Publication Publication Date Title
CN104618264A (zh) 为了高效资源利用而在数据中心网络中自适应调度数据流的方法和系统
US11088944B2 (en) Serverless packet processing service with isolated virtual network integration
Rabbani et al. On tackling virtual data center embedding problem
Hu et al. A survey on software-defined network and openflow: From concept to implementation
CN103843302B (zh) 有状态环境中的网络适配器硬件状态迁移发现
US8855116B2 (en) Virtual local area network state processing in a layer 2 ethernet switch
CN105052078B (zh) 扩展来自外部服务的路由规则
CN105657081B (zh) 提供dhcp服务的方法、装置及系统
WO2017113201A1 (zh) 一种网络服务的生命周期管理方法及设备
Wang et al. Towards network-aware service composition in the cloud
CN107222324B (zh) 网络服务的业务配置方法和装置
CN103931140A (zh) 虚拟化网络的分布式地址解析服务
CN104104620A (zh) 用于按优先级进行业务流处理的方法和系统
CN105978817B (zh) 用于传输数据的方法、存储器和网络适配器
CN102845035A (zh) 在虚拟环境中识别目的地的方法
US11444840B2 (en) Virtualized networking application and infrastructure
US10616141B2 (en) Large scale fabric attached architecture
WO2019174000A1 (zh) 用于业务管理的方法和装置
CN103455363B (zh) 一种虚拟机的指令处理方法、装置及物理主机
US20220150154A1 (en) Automatically managing a mesh network based on dynamically self-configuring node devices
EP3218805B1 (en) Method and system for model-driven, affinity-based, network functions
CN103516633A (zh) 用于在分布式交换机中提供服务的方法和装置
US10896476B2 (en) Repository of integration description of hardware intellectual property for NoC construction and SoC integration
JP2016116184A (ja) 網監視装置および仮想ネットワーク管理方法
CN112583615A (zh) Vnf实例化方法、nfvo、vim、vnfm及系统

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