CN105531970B - 用于在网络中部署工作负荷的方法和*** - Google Patents
用于在网络中部署工作负荷的方法和*** Download PDFInfo
- Publication number
- CN105531970B CN105531970B CN201480050110.7A CN201480050110A CN105531970B CN 105531970 B CN105531970 B CN 105531970B CN 201480050110 A CN201480050110 A CN 201480050110A CN 105531970 B CN105531970 B CN 105531970B
- Authority
- CN
- China
- Prior art keywords
- network
- work load
- workload
- current work
- new workload
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
在一个实施例中,一种***包括被配置为与网络中的多个网络设备中的每个进行通信的交换机控制器,该交换机控制器包括处理器和与该处理器集成和/或能够由该处理器执行的逻辑,该逻辑被配置为:接收在网络中实例化新的工作负荷或移动当前工作负荷的请求;确定与该新的或当前的工作负荷相关联的吞吐量;以及基于与该新的或当前的工作负荷相关联的吞吐量来选择最佳位置以在网络中放置该新的工作负荷或移动该当前工作负荷。根据另一个实施例,一种方法包括在交换机控制器处接收实例化或移动工作负荷的请求;确定与该工作负荷相关联的吞吐量;以及基于与该工作负荷相关联的吞吐量来选择最佳位置以放置或移动该工作负荷。
Description
技术领域
本发明涉及数据中心基础结构,并且更特别地,本发明涉及尤其在软件定义网络(SDN)中的实时考量全局网络拥塞的工作负荷部署。
背景技术
对SDN控制器的常见实践手段是使用OpenFlow协议来控制和维持逻辑OpenFlow域或者其中包含多个交换机的交换机集群。然而,任何其他协议可以用来控制和维持这些域。由于工作负荷是跨越域来部署或移动的,因此在对部署工作负荷的最佳地点进行决策时考量服务器利用方面和特性。然而,即使在考量网络利用的情况下,其仍受限于与服务器上的可用输入/输出(I/O)相比每个工作负荷所需的I/O的总量。此局域化考量会导致非预期的后果,其中网络的某些部分会由于关于在哪部署工作负荷的可见性不足而变得拥塞。
发明内容
在一个实施例中,一种***包括配置为与网络中的多个网络设备中的每个进行通信的交换机控制器,该交换机控制器包括处理器和与该处理器集成和/或能够由该处理器执行的逻辑,该逻辑被配置为:接收在网络中实例化新的工作负荷或移动当前工作负荷的请求;确定与该新的或当前的工作负荷相关联的吞吐量;以及基于与该新的或当前的工作负荷相关联的吞吐量来选择最佳位置以在该网络中放置该新的工作负荷或移动该当前工作负荷。
在另一个实施例中,一种用于在网络中部署工作负荷的计算机程序产品,该计算机程序产品包括具有随其一起被体现的程序代码的计算机可读存储介质,该程序代码能够由处理器读取/执行以:使用该处理器接收在网络中实例化新的工作负荷或移动当前工作负荷的请求;确定与该新的或当前的工作负荷相关联的吞吐量;以及基于与该新的或当前的工作负荷相关联的吞吐量来选择最佳位置以在该网络中放置该新的工作负荷或移动该当前工作负荷。
根据另一个实施例,一种用于在网络中部署工作负荷的方法,包括:在交换机控制器处接收在网络中实例化新的工作负荷或移动当前工作负荷的请求;确定与该新的或当前的工作负荷相关联的吞吐量;以及基于与该新的或当前的工作负荷相关联的吞吐量来选择最佳位置以放置新的工作负荷或移动当前工作负荷。
本发明的其他方面和实施例将根据下列详细描述而变得显而易见,当结合附图理解时,下列详细描述通过示例的方式说明本发明的原理。
附图说明
图1说明根据一个实施例的网络架构。
图2示出根据一个实施例的可以与图1的服务器和/或客户端相关联的代表性硬件环境。
图3是根据一个实施例的虚拟化数据中心的简化图。
图4是根据一个实施例的软件定义网络(SDN)的简化图。
图5是根据一个实施例的方法的流程图。
具体实施方式
出于说明本发明的一般原理的目的进行下列描述,并且该描述并非意在限制本文中要求的发明性概念。此外,本文中所述的特定特征可以结合其他所描述的特征以各种可能的组合和排列中的每种来使用。
除非本文另外具体定义,否则所有术语被赋予其最广泛的可能解读,包括从说明书暗示的含义,以及本领域技术人员所理解和/或如词典、专著等中定义的含义。
还必须注意的是,如说明书和所附权利要求中使用的,除非另外指定,否则单数形式“一”、“一个”和“这个”包括复数个所指物。
为了确定在诸如软件定义网络(SDN)之类的网络中一个或多个工作负荷的最佳放置,该一个或多个工作负荷的放置将对网络的整体性能的影响可被考量,并且可用来确定工作负荷的放置。这些工作负荷可以表示新的虚拟机(VM)的实例化或正由服务器上的现有的VM执行的任务的扩展。可以使用连接至SDN中的每个交换机的SDN控制器进行此考量,该SDN控制实体网状架构并且通过由各种服务器中的虚拟化平台代管的虚拟交换机执行网络虚拟化。以此方式,可以确定和解释工作负荷的放置对网络中的拥塞的影响,从而提供比当前采用的方法更好的性能。
在一个一般实施例中,一种***包括配置为与网络中的多个网络设备中的每个进行通信的交换机控制器,该交换机控制器包括处理器和与该处理器集成和/或能够由该处理器执行的逻辑,该逻辑被配置为:接收在网络中实例化新的工作负荷或移动当前工作负荷的请求;确定与该新的或当前的工作负荷相关联的吞吐量;以及基于与该新的或当前的工作负荷相关联的吞吐量来选择最佳位置以在该网络中放置该新的工作负荷或移动该当前工作负荷。
在另一个一般实施例中,一种用于在网络中部署工作负荷的计算机程序产品,该计算机程序产品包括具有随其一起被体现的程序代码的计算机可读存储介质,该程序代码能够由处理器读取/执行以:使用该处理器接收在网络中实例化新的工作负荷或移动当前工作负荷的请求;确定与该新的或当前的工作负荷相关联的吞吐量;以及基于与该新的或当前的工作负荷相关联的吞吐量来选择最佳位置以在该网络中放置该新的工作负荷或移动该当前工作负荷。
根据另一个一般实施例,一种用于在网络中部署工作负荷的方法,包括:在交换机控制器处接收在网络中实例化新的工作负荷或移动当前工作负荷的请求;确定与该新的或当前的工作负荷相关联的吞吐量;以及基于与该新的或当前的工作负荷相关联的吞吐量来选择最佳位置以放置该新的工作负荷或移动当前工作负荷。
如本领域技术人员将了解的,本发明的各方面可以体现为***、方法或计算机程序产品。因此,本发明的各方面可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施例的形式,该组合软件和硬件方面的实施例在本文中都可以通称为“逻辑”、“电路”、“模块”或“***”。此外,本发明的各方面可以采用在一个或多个计算机可读介质中体现的计算机程序产品的形式,该一个或多个计算机可读介质具有体现于其上的计算机可读程序代码。
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或非暂态计算机可读存储介质。非暂态计算机可读存储介质可以是(例如,但不限于)电、磁、光学、电磁、半导体或红外线的***、装置或设备或前述各者的任何合适的组合。非暂态计算机可读存储介质的更具体的示例(非穷尽列表)包括下列各项:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存存储器)、便携式光盘只读存储器(CD-ROM)、蓝光盘只读存储器(BD-ROM)、光学存储设备、磁存储设备或者前述各者的任何合适的组合。在此文档的上下文中,非暂态计算机可读存储介质可以是能够含有或存储供指令执行***、装置或设备使用或结合指令执行***、装置或设备使用的程序或应用的任何有形介质。
计算机可读信号介质可以包括在基带中或者作为载波的一部分的其中体现有计算机可读程序代码的被传播的数据信号。这种被传播的信号可以采用多种形式中的任何一种,包括(但不限于)电磁、光学或其任何合适的组合。计算机可读信号介质可以是任何计算机可读介质,该计算机可读介质不是非暂态计算机可读存储介质,并且可以传达、传播或输送供指令执行***、装置或设备使用或结合指令执行***、装置或设备使用的程序,诸如具有一个或多个电线的电连接、光纤等。
在计算机可读介质上体现的程序代码可以使用任何适当的介质来传送,包括(但不限于)无线、有线、光纤线缆、射频(RF)等或前述各者的任何合适的组合。
可以以一种或多种编程语言的任何组合编写用于执行本发明的各方面的操作的计算机程序代码,所述一种或多种编程语言包括诸如Java、Smalltalk、C++等的面向对象的编程语言,以及诸如“C”编程语言或类似的编程语言的传统过程性编程语言。程序代码可以完全在用户的计算机上执行,部分地在用户的计算机上执行,作为独立软件包执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一情景中,远程计算机或服务器可以通过包括局域网(LAN)、存储区域网(SAN)和/或广域网(WAN)、任何虚拟网络的任何类型的网络连接至用户的计算机,或者可以例如使用互联网服务提供商(ISP)通过互联网进行到外部计算机的连接。
在本文中参考根据本发明的各种实施例的方法、装置(***)和计算机程序产品的流程图图示和/或方框图来描述本发明的各方面。应理解的是,流程图图示和/或方框图的每个方框,以及流程图图示和/或方框图中的方框的组合可以通过计算机程序指令来实施。可以将这些计算机程序指令提供给通用计算机、专用计算机或者其他可编程数据处理装置的处理器来产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创造用于实施在流程图和/或方框图的一个或多个方框中指定的功能/动作的构件。
这些计算机程序指令还可以存储在计算机可读介质中,所述计算机程序指令可以指引计算机、其他可编程数据处理装置或其他设备以特定方式起作用,使得存储在计算机可读介质中的指令产生制品,该制品包括实施在流程图和/或方框图的一个或多个方框中指定的功能/动作的指令。
计算机程序指令还可以被载入到计算机、其他可编程数据处理装置或其他设备上,以使一系列操作步骤在计算机、其他可编程装置或其他设备上被执行以产生计算机实施的处理,使得在计算机或其他可编程装置上执行的指令提供用于实施在流程图和/或方框图的一个或多个方框中指定的功能/动作的处理。
图1说明根据一个实施例的网络架构100。如图1中所示,提供多个远程网络102,包括第一远程网络104和第二远程网络106。网关101可以被耦接在远程网络102与邻近网络108之间。在本网络架构100的上下文中,网络104、106可以分别采用任何形式,包括(但不限于)LAN、VLAN、诸如互联网的WAN、公共交换电话网(PSTN)、内部电话网等。
在使用中,网关101充当从远程网络102到邻近网络108的入口点。因而,网关101可以用作:路由器,其能够指引到达网关101处的给定数据分组;以及交换机,其为给定分组供应在网关101中和在网管101外的实际路径。
进一步被包括的是耦接至邻近网络108并且可经由网关101从远程网络102访问的至少一个数据服务器114。应当注意的是,数据服务器114可以包括任何类型的计算设备/群件(groupware)。耦接至每个数据服务器114的是多个用户设备116。这种用户设备116可以包括桌面计算机、膝上型计算机、手持计算机、打印机和/或任何其他类型的包含逻辑的设备。应当注意的是,在一些实施例中,用户设备111还可以直接耦接至网络中的任何一个。
例如传真机、打印机、扫描仪、硬盘驱动、联网的和/或本地的存储单元或***等的外设120或一系列外设120可以耦接至网络104、106、108中的一个或多个。应当注意的是,数据库和/或附加的部件可以与耦接至网络104、106、108的任何类型的网络元件一起被利用或者集成到该网络元件中。在本描述的上下文中,网络元件可以指网络的任何部件。
根据一些途径,本文中描述的方法和***可以利用虚拟***和/或模拟一个或多个其他***的***来实施和/或被实施于其上,所述模拟一个或多个其他***的***诸如模拟IBM z/OS环境的UNIX***、虚拟地代管MICROSOFT WINDOWS环境的UNIX***、模拟IBMz/OS环境的MICROSOFT WINDOWS***等。在一些实施例中,此虚拟化和/或模拟可以通过VMWARE软件的使用来增强。
在更多途径中,一个或多个网络104、106、108可以表示通常被称作“云”的***集群。在云计算中,将诸如处理能力、外设、软件、数据、服务器等的共享资源以按需关系提供至云中的任何***,从而允许跨越许多计算***对服务进行的访问和分布。如现有技术已知的,云计算通常涉及在云中操作的***之间的互联网连接,但是也可以使用连接这些***的其他技术。
图2示出根据一个实施例的与图1的用户设备116和/或服务器114相关联的代表性硬件环境。图2说明根据若干实施例的工作站的典型硬件配置,该工作站具有诸如微处理器的中央处理单元(CPU)210和经由可属于不同类型的一个或多个总线212互连的许多其他单元,所述一个或多个总线212诸如局域总线、并行总线、串行总线等。
图2中所示的工作站包括:随机存取存储器(RAM)214;只读存储器(ROM)216;用于将诸如盘存储单元220的***设备连接至该一个或多个总线212的I/O适配器218;用于将键盘224、鼠标226、扬声器228、麦克风232和/或诸如触摸屏、数字相机(未示出)等的其他用户接口设备连接至该一个或多个总线212的用户接口适配器222;用于将该工作站连接至通信网络235(例如,数据处理网络)的通信适配器234;以及用于将该一个或多个总线212连接至显示设备238的显示适配器236。
工作站可以具有驻留在其上的操作***,诸如MICROSOFT WINDOWS操作***(OS)、MAC OS、UNIX OS等。将了解的是,优选实施例还可以在不同于所提及的平台和操作***的平台和操作***上实施。可以使用JAVA、XML、C和/或C++语言或其他编程语言连同面向对象的编程方法来编写优选实施例。可以使用已经变得越来越多地被用以开发复杂应用的面向对象编程(OOP)。
现在参考图3,根据一个实施例示出覆盖(overlay)网络300的概念图。覆盖网络可以利用任何覆盖技术、标准或协议,诸如虚拟可扩展局域网(VXLAN)、分布式覆盖虚拟以太网(DOVE)、使用通用路由封装的网络虚拟化(NVGRE)等。
为了虚拟化网络服务,不同于在设备之间简单地提供网状架构通信路径(连接性),服务可以随着其移动通过网关314而被呈现在分组上,网关314对于在非虚拟网络312与虚拟网络A 304和虚拟网络B 306之间移动的分组提供路由和转发。该一个或多个虚拟网络304、306存在于实体(真实)网络基础结构302内。如本领域技术人员会知道的,网络基础结构302可以包括通常与网络基础结构相关联和/或在网络基础结构中使用的任何部件、硬件、软件和/或功能,包括(但不限于)交换机、连接器、导线、电路、线缆、服务器、主机、存储介质、操作***、应用、端口、I/O等。此网络基础结构302支持可以是传统网络的至少一个非虚拟网络312。
每个虚拟网络304、306可以使用任何数目的虚拟机(VM)308、310。在一个实施例中,虚拟网络A 304包括一个或多个VM 308,并且虚拟网络B 306包括一个或多个VM 310。如图3中所示,VM 308、310并未由虚拟网络304、306共享,而是替代地在任何给定时间排他性地被包含在仅一个虚拟网络304、306中。
根据一个实施例,覆盖网络300可以包括与一个或多个分布式线卡(DLC)互连的一个或多个信元交换域可缩放网状架构部件(SFC)。
通过具有“扁平(flat)交换机”架构,该多个VM可以容易且高效地跨越该架构移动数据。通常,在一个子网到另一个子网、互联网协议(IP)子网到IP子网等之间,VM非常难以跨越层3(L3)域移动。但是如果在非常大的层2(L2)域中,架构类似于大的扁平交换机,则随后VM在其试图跨越该架构移动数据时得到辅助。
图4示出根据一个实施例的包括交换机域或集群402的SDN***400的简化拓扑图。交换机集群402包括多个交换机404a、404b……404n,每个交换机404a、404b……404n被连接至集群402中的至少一个其他交换机404a、404b……404n。显式示出的交换机(交换机404a、404b、404c、404d、404e、404f、404g和404h)仅用于示例性的目的,因为多于或少于那些显式示出的交换机的交换机404a、404b……404n可以存在于交换机集群402中。诸如SDN控制器的L3感知交换机控制器406直接地或经由一个或多个附加的连接和/或设备连接至交换机集群402中的每个交换机404a、404b……404n。另外,一些交换机404a、404b……404n连接至在交换机集群402外部的一个或多个其他的虚拟设备或实体设备。例如,交换机404a连接至虚拟交换机(vSwitch)410a,交换机404f连接至路由器408,交换机404c连接至非覆盖L2vSwitch 412和vSwitch 410c等。当然,如本领域技术人员应将理解的,这些连接仅用于示例性的目的,并且可以调节连接的任何配置、交换机集群402中的交换机404a、404b……404n的数目和关于***400的任何其他细节以适合其将被用于的无论何种安装的需求。
***400还具有在交换机集群402外侧的若干设备,诸如经由路由器408连接至交换机集群402的主机F 416和经由交换机404d连接至交换机集群402的非虚拟化主机E 414等。还能够连接至交换机集群402的是由实体服务器418d支持的非覆盖L2虚拟交换机412。此服务器还可以代管VM 420。
示出四个服务器418a、418b、418c、418d代管多个VM 420,每个服务器418a、418b、418c、418d具有代管VM 420的虚拟化平台或管理程序(诸如Hyper-V、KVM、Virtual Box、VMware Workstation等)。此外,在覆盖网络(覆盖网络422或424)中具有VM 420的三个服务器418a、418b、418c还分别包括可能能够或可能不能够在覆盖网络中通信的交换机410a、410b、410c。各种服务器418a、418b、418c、418d上被代管的VM 420可以被包含在诸如覆盖网络1或2(分别为422或424)之类的一个或多个覆盖网络中。在覆盖网络之中如何分割VM 420是可以在实施***400和根据需求和期望调整时选择的设计考量。此外,服务器418d具有不能够在任何覆盖网络422、424中通信的非覆盖L2vSwitch 412。
连接至交换机集群402的各种设备(例如,路由器408、服务器418a、主机F 416等)的数目仅用于示例性的目的,并且不对可以连接至交换机集群402的设备的数目进行限制。
将***400中的每个设备(无论实施为实体设备或虚拟设备,并且不管其是以硬件、软件还是其组合来实施)描述为具有互联网协议(IP)地址和/或介质访问控制(MAC)地址。
现在参考图4描述本文中使用的概念中的一些概念。交换机集群420中的交换机404a、404b……404n中的每个能够理解来自交换机控制器406的命令,并且与交换机控制器406交换信息。为了实施此布置,每个交换机404a、404b……404n可以遵守OpenFlow标准/协议,或者本领域中已知的某个其他合适的架构或协议。此外,交换机控制器406还能够根据所选择的协议进行通信,以便与交换机集群402中的每个交换机404a、404b……404n交换信息。
当交换机集群402包括充当具有到外部设备的多个接口的单个实体的相邻OpenFlow交换机的集合时,其可以被称为OpenFlow集群。此外,交换机控制器406能够从集群402中的每个交换机获得历史使用、统计、性能数据和其他有用的信息,从而允许交换机控制器406确定工作负荷的放置将如何影响集群402。
为了启用对工作负荷放置的此确定性的途径,***400的实体构造中的每个网络设备(诸如交换机404a、404b……404n,服务器418a、418b、418c、418d,主机414、416,路由器408等)被配置为产生、记录和/或传送统计。可以将这些统计传送至交换机控制器406用于分析。
统计可以包括放置工作负荷中的任何有用的信息,诸如网络设备的延时、当前吞吐量(平均或实时,其中平均值发生在例如10秒、1分钟、1小时、1天、1周等的某个时段内)、网络设备的总容量、网络设备的可用容量(平均或实时)等。这些统计可以基于每个端口(诸如,基于每个出端口或基于每个入端口)、基于每个路径等来记录。在一个途径中,如何记录统计可以至少部分地基于网络设备如何实施排队和统计记录。因此,每个网络设备可以记录不同的统计或者以不同的方式记录并且存储该统计。
根据这些统计,交换机控制器406被配置为确定附加的工作负荷(诸如服务器418a、418b、418c、418d上的新VM 420)的放置将如何影响***400。交换机控制器406被配置为在其中实例化新的工作负荷或者对现有的工作负荷(VM)扩展任务之前了解构造的性能特性时使用从每个网络设备收集的统计中的一些或全部。
统计可以对于每个网络设备基于每个端口来记录并且跨越整个构造(来自所有网络设备的所有端口,以内聚形式被映射用于其评估)合计来记录。例如,交换机控制器406可以被配置为确定附加的工作负荷是否将使预期的端口或交换机404a、404b……404n至少就延时和吞吐量而言合计达到其最大的操作阈值。
为了进行此确定,交换机控制器406可以建立能够至少表示实体构造内的每个网络设备上的每个端口的延时和吞吐量的结构(construct)。在一个实施例中,此结构可以采用路径信息的表格、数据库或其他合适的可视化的形式。根据一个实施例,用于该数据的结构可以采用下表1的形式,表1表示用于图4中所示的设备的示例性数据。
交换机 | 端口 | 延时 | 当前吞吐量 | 总容量 | 可用容量 |
404a | P1 | 600ns | 5.5Gb/s | 6.0Gb/s | 0.5Gb/s |
404b | P7 | 700ns | 7.0Gb/s | 10.0Gb/s | 3.0Gb/s |
404g | P9 | 500ns | 1.1Gb/s | 10.0Gb/s | 8.9Gb/s |
表1:用于网络设备信息的表示的示例性结构
在另一个实施例中,交换机控制器406可以利用表示通过构造的每个路径(包括通过构造的任何一组冗余路径)的结构,使得能够关于工作负荷在沿路径的某处的添加至少针对延时和吞吐量分析在任意两个器件之间的路径。
在一个实施例中,在每个服务器418a、418b、418c、418d的vSwitch 410a、410b、410c中,基于每个VM 420(每个工作负荷)记录每个vSwitch 410a、410b、410c最频繁地与之通信的端点连同每个vSwitch 410a、410b、410c与其通信的速率。可以将该端点记录为IP地址、MAC地址或者根据端点的任何其他合适的识别特性来记录。
例如,如果vSwitch 410a最频繁地与非覆盖L2vSwitch 412通信,则记录来自vSwitch 410a的、在到非覆盖L2vSwitch 412的通信路径中使用的端口连同在非覆盖L2vSwitch 412处的入端口和两个vSwitch的吞吐量和延时。
还可以存储每个VM统计作为交换机控制器406中或别处(其可由交换机控制器406访问)的每个VM 420的简档的一部分,以在稍后时间帮助进行关于在哪部署新的工作负荷的决策。这可以在实时数据不可用时使用,或者用作可以被并入关于在哪部署新的工作负荷的决策中的次要计算。此信息可以针对特定工作负荷(在此情况下,工作负荷可以是服务器418b上的VM 420)正在最频繁地与之通信、诸如在下表2中所示的结构中的工作负荷(例如,VM)中的每个来被记录。
服务器 | 工作负荷 | 地址 | 吞吐量 |
418a | VM1.1 | MAC M1.1 | 0.3Gb/s |
VM1.2 | MAC M1.2 | 0.1Gb/s | |
418c | VM2.1 | MAC M2.1 | 1.1Gb/s |
VM2.2 | MAC M2.2 | 0.7Gb/s | |
VM2.3 | MAC M2.3 | 0.4Gb/s |
表2:用于最常见的工作负荷通信信息的表示的示例性结构
根据一个实施例,交换机控制器406可以周期性地或者响应于识别某个事件、改变或情况,轮询虚拟化层vSwitch 410a、410b、410c和/或各种实体交换机404a、404b……404n两者,以便收集这些统计。在另一个实施例中,在无需交换机控制器406请求此信息的情况下,各种vSwitch 410a、410b、410c和/或实体交换机404a、404b……404n可以将此信息传送给交换机控制器406。在另一个实施例中,轮询和非请求传输两者都可用以将这些统计提供给交换机控制器406。
在一些途径中,***400还可以包括工作负荷管理器426,诸如来自Openstack、V-center等的工作负荷管理器。此工作负荷管理器426可以在交换机控制器406上操作或者独立于其进行操作。当新的工作负荷将要被部署或移动时,工作负荷管理器426可以基于针对构造性能的局部最佳化准则或者基于针对构造的性能、延时、吞吐量等的任何期望的算法将对服务器418a、418b、418c、418d候选者的选择提供给交换机控制器406。
在另一个实施例中,交换机控制器406可以在无工作负荷管理器426的辅助的情况下进行此确定。交换机控制器406被配置为利用VM/工作负荷统计来对VM最频繁地与之通信的端点计算一个或多个路径(用于在需要冗余路径的***中使用),并且对VM能够被部署在其上的每个候选者服务器进行此步骤。对于每个路径,交换机控制器406使用路径信息和其能够访问的已经从实体交换机404a、404b……404n聚集的每个交换机和/或每个端口统计计算新的工作负荷依次使用每个交换机的反响或影响。
基于这些计算,交换机控制器406确定哪个服务器418a、418b、418c、418d放置引起最小拥塞(和/或***400中的最佳整体延时),并且因此是用于放置新的工作负荷的理想服务器。
当使用工作负荷管理器426时,此信息被返回给工作负荷管理器426以便适当地部署或移动工作负荷。
在一个示例中,可以假设***400中的网络设备的一些特性。在此示例中,可以假设交换机404a、404b和404g具有如下表3中所示的列出的端口、吞吐量和延时。为此示例起见,假设每个端口是10Gb/s的端口。另外,还假设一些历史要求,其中新的工作负荷将按3.0Gb/s的吞吐量要求与服务器418a上的VM中的至少一个进行通信,由于其被假设为对于该新的工作负荷的最频繁的通信伙伴。
交换机 | 端口 | 延时 | 使用的吞吐量 |
404a | P1 | 600ns | 5.5Gb/s |
P2 | 550ns | 4.7Gb/s | |
P3 | 600ns | 8.3Gb/s | |
404b | P4 | 400ns | 2.1Gb/s |
P5 | 650ns | 6.0Gb/s | |
P6 | 800ns | 5.5Gb/s | |
P7 | 700ns | 7.0Gb/s | |
404g | P8 | 450ns | 2.0Gb/s |
P9 | 500ns | 1.1Gb/s | |
P10 | 300ns | 3.7Gb/s | |
404c | P11 | 600ns | 4.3Gb/s |
P12 | 700ns | 4.1Gb/s | |
P13 | 450ns | 9.0Gb/s | |
P14 | 650ns | 3.5Gb/s |
表3:示例***换机信息
借助这些示例性统计,可以确定在哪个服务器418a、418b、418c、418d上放置新的工作负荷(VM 420)将更好。在此示例中,必须确定每个可能的位置连同在最频繁的通信伙伴(服务器418a和418b上的VM 420)与正在被分析的可能的位置之间的每个路径。为简洁起见,将只示出少量这种计算,但是这种计算将对于每个可能的位置(在服务器418a、418b、418c、418d中的任何一个上)进行重复。
如果将新的工作负荷(假设为3.0Gb/s)放置在服务器418b上,则到最频繁的通信伙伴(服务器418a)的路径将是P4-P7-P2-P1、P4-P6-P8-P10-P3-P1、P4-P5-P13-P12-P9-P10-P3-P1等。现在检查最短路径,其中在该新的工作负荷的放置之后使用的吞吐量在每个端口之后的圆括号中示出(超过10的数字指示该工作负荷的放置将在***400中引起拥塞):P4(5.1)-P7(10.0)-P2(7.7)-P1(8.5)。根据此计算,路径P4-P7-P2-P1将能够处理该新的工作负荷在服务器418b上的放置,但是一个端口将达到最高极限并且不能提供任何另外的带宽。
相比之下,另一个计算指示相反的情况。具体地,对于新的工作负荷在服务器418c上的放置,并且采用最短路径,该计算将导致下列路径:P14(6.5)-P13(12)-P5(9)-P7(10.0)-P2(7.7)-P1(8.5)。显然,端口P13将超过阈值10Gb/s,并且将导致拥塞。这是不希望的,并且因此将不会选择此路径;此外,如果在服务器418c与服务器418a之间没有其他路径能够处理该工作负荷的吞吐量要求,则该工作负荷不应被放置在服务器418c上。
对于每个可能的位置(考量对于新的工作负荷的路径或流量的任何延时要求)和在放置位置与最频繁的通信伙伴之间的每个可能路径重复这些计算。
对于示例性的延时计算,假设新的工作负荷需要小于2500ns的延时。对于上述路径,其中在圆括号中指示每个端口处的延时:P14(650)-P13(450)-P5(650)-P7(700)-P2(550)-P1(600),此路径的总延时是3600ns,大于能容许的2500ns。由于此路径不满足新的工作负荷的延时要求,因此它也不会是期望的。
当然,如果没有路径同时达到对于新的工作负荷的吞吐量和延时(若有)要求两者,则可以选择提供最佳性能的路径(以及与其相关联的位置)用于该新的工作负荷的放置。
现在参考图5,根据一个实施例示出用于在网络中部署工作负荷的方法500。在各种实施例中,可以根据本发明在图1至图4等中描述的任一环境中执行方法500。当然,多于或少于图5中具体描述的操作的操作可以被包含在方法500中,如本领域技术人员在阅读本描述后将理解的。
可以通过操作环境的任何合适的部件进行方法500的每一步骤。例如,在一个实施例中,方法500可以由域部分地执行或全部地执行,该域包括多个交换机、由一个或多个服务器代管的一个或多个vSwitch、服务器、交换机、交换机控制器(诸如SDN控制器、OpenFlow控制器等)、处理器(例如,CPU、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等)、一个或多个网络接口卡(NIC)、一个或多个虚拟NIC、一个或多个虚拟化平台或者网络***或集群的任何其他合适的设备或部件。
在操作502中,在交换机控制器处接收在网络中实例化新的工作负荷或移动当前工作负荷的请求。此请求可以通过交换机控制器、工作负荷管理器或某个其他网络设备、用户、服务器、主机等产生。
在操作504中,确定与该新的或当前的工作负荷相关联的吞吐量。吞吐量是该新的或当前的工作负荷一旦被实例化或移动则将对于其产生的流量所需的带宽量的表示。
在操作506中,基于与该新的或当前的工作负荷相关联的吞吐量来选择最佳位置以放置该新的工作负荷或移动该当前工作负荷。在一个实施例中,此选择可以包括:对于网络中的该新的或当前的工作负荷确定一个或多个最频繁的通信伙伴;确定实例化该新的工作负荷或移动该当前工作负荷的多个可能的位置;确定在每个可能的位置与该一个或多个最频繁的通信伙伴之间的多个可能的路径;以及确定该个可能的路径中的哪些可能的路径能够处理与该新的或当前的工作负荷相关联的吞吐量。
该一个或多个最频繁的通信伙伴可以是网络中的任何网络设备,诸如服务器上的VM、主机、服务器等。能够处理新的工作负荷(VM)的任何服务器或主机被包含在该多个可能的位置中,包括正提供该一个或多个最频繁的通信伙伴的服务器或主机。
另外,在每个可能的位置与该一个或多个最频繁的通信伙伴之间,存在其中可以发送流量的多个可能的路径。确定这些路径中的每个在每个可能的位置与该一个或多个最频繁的通信伙伴之间。
在另一个实施例中,基于与该新的或当前的工作负荷相关联的吞吐量来选择最佳位置以放置该新的工作负荷或移动该当前工作负荷可以进一步包括从能够处理该吞吐量的该多个可能的路径中确定具有一个或多个最短路径的可能位置,以及将与该一个或多个最短路径相关联的该可能位置选择为最佳位置。最短路径是本领域技术人员理解的概念,并且由于在网络中的任何两个设备之间可能存在多于一个这样的最短路径,因此考量每个这样的路径。
在再一个实施例中,方法500可以进一步包括确定与该新的工作负荷或该当前工作负荷相关联的延时。在此实施例中,确定该多个可能路径中的哪些可能路径能够处理与该新的或当前的工作负荷相关联的吞吐量可以进一步包括确定该多个可能路径中的哪些可能路径能够提供与该新的工作负荷或该当前工作负荷相关联的延时。此外在此实施例中,选择最佳位置以放置该新的工作负荷或移动该当前工作负荷可以进一步基于与该新的工作负荷或该当前工作负荷相关联的延时。
方法500还可以包括从网络中的每个端口接收统计,该统计至少描述与网络中的每个端口相关联的吞吐量。除吞吐量之外,对于每个端口的延时也可以被包含在统计中。此外,吞吐量可以是当前(实时)吞吐量或在某个时段内平均的平均吞吐量。
方法500可以以任何期望的设置、机器、设备或装置来实施。在一个这样的实施例中,***可以包括网络,该网络包括多个网络设备(诸如交换机、路由器、服务器上的vSwitch等)和与该多个网络设备中的每个进行通信的交换机控制器。交换机控制器包括处理器(诸如CPU、ASIC、FPGA、微处理器等)或者与处理器集成和/或能够由处理器执行的逻辑(硬件、软件或其组合)。在此实施例中,逻辑可以被配置为执行方法500中的一些或全部。
根据另一个实施例,用于在网络中部署工作负荷的计算机程序产品可以包括具有随其一起被体现的程序代码的计算机可读存储介质。在此实施例中,该程序代码可以由处理器读取/执行来执行方法500中的一些或全部。
尽管上面已经描述了各种实施例,应当理解的是,它们只是通过示例而非限制的方式来呈现。因此,本发明的实施例的广度和范围不应受上述示例性实施例中的任何一个限制,而应当仅根据下列权利要求和其等价物来限定。
Claims (17)
1.一种用于在网络中部署工作负荷的***,包括:
交换机控制器,被配置为与网络中的多个网络设备中的每个进行通信,所述交换机控制器包括处理器和与所述处理器集成和/或能够由所述处理器执行的逻辑,所述逻辑被配置为:
接收在网络中实例化新的工作负荷或移动当前工作负荷的请求;
确定与所述新的工作负荷或所述当前工作负荷相关联的吞吐量;以及
基于与所述新的工作负荷或所述当前工作负荷相关联的吞吐量来选择最佳位置以在所述网络中放置所述新的工作负荷或移动所述当前工作负荷;
其中被配置为基于与所述新的工作负荷或所述当前工作负荷相关联的吞吐量来选择最佳位置以放置所述新的工作负荷或移动所述当前工作负荷的逻辑被配置为:
对于所述网络中的所述新的工作负荷或所述当前工作负荷确定一个或多个最频繁的通信伙伴;
确定实例化所述新的工作负荷或移动所述当前工作负荷的多个可能位置;
确定在每个可能位置与所述一个或多个最频繁的通信伙伴之间的多个可能路径;以及
确定所述多个可能路径中的哪些可能路径能够处理与所述新的工作负荷或所述当前工作负荷相关联的吞吐量。
2.如权利要求1所述的***,其中被配置为基于与所述新的工作负荷或所述当前工作负荷相关联的吞吐量来选择最佳位置以放置所述新的工作负荷或移动所述当前工作负荷的逻辑进一步被配置为:
从能够处理所述吞吐量的所述多个可能路径中确定具有一个或多个最短路径的可能位置;以及
将与所述一个或多个最短路径相关联的可能位置选择为所述最佳位置。
3.如权利要求2所述的***,其中所述逻辑进一步被配置为确定与所述新的工作负荷或所述当前工作负荷相关联的延时,其中被配置为确定所述多个可能路径中的哪些可能路径能够处理与所述新的工作负荷或所述当前工作负荷相关联的吞吐量的逻辑进一步被配置为:确定所述多个可能路径中的哪些可能路径能够提供与所述新的工作负荷或所述当前工作负荷相关联的延时,并且其中被配置为选择最佳位置以放置所述新的工作负荷或移动所述当前工作负荷的逻辑进一步基于与所述新的工作负荷或所述当前工作负荷相关联的延时。
4.如权利要求1所述的***,其中所述逻辑进一步被配置为从所述网络中的每个端口接收统计,所述统计至少描述与所述网络中的每个端口相关联的吞吐量。
5.如权利要求4所述的***,其中所述统计进一步描述所述网络中的每个端口的延时。
6.如权利要求4所述的***,其中所述吞吐量是当前吞吐量和平均吞吐量中的一个。
7.一种用于在网络中部署工作负荷的计算机可读存储介质,存储有计算机程序代码,所述程序代码能够由处理器读取/执行以:
使用所述处理器接收在网络中实例化新的工作负荷或移动当前工作负荷的请求;
确定与所述新的工作负荷或所述当前工作负荷相关联的吞吐量;以及
基于与所述新的工作负荷或所述当前工作负荷相关联的吞吐量来选择最佳位置以在所述网络中放置所述新的工作负荷或移动所述当前工作负荷;
其中能够由所述处理器读取/执行以基于与所述新的工作负荷或所述当前工作负荷相关联的吞吐量来选择最佳位置以放置所述新的工作负荷或移动所述当前工作负荷的程序代码被配置为:
对于所述网络中的所述新的工作负荷或所述当前工作负荷确定一个或多个最频繁的通信伙伴;
确定实例化所述新的工作负荷或移动所述当前工作负荷的多个可能位置;
确定在每个可能位置与所述一个或多个最频繁的通信伙伴之间的多个可能路径;以及
确定所述多个可能路径中的哪些可能路径能够处理与所述新的工作负荷或所述当前工作负荷相关联的吞吐量。
8.如权利要求7所述的计算机可读存储介质,其中能够由所述处理器读取/执行以基于与所述新的工作负荷或所述当前工作负荷相关联的吞吐量来选择最佳位置以放置所述新的工作负荷或移动所述当前工作负荷的程序代码进一步被配置为:
从能够处理所述吞吐量的所述多个可能路径中确定具有一个或多个最短路径的可能位置;以及
将与所述一个或多个最短路径相关联的可能位置选择为所述最佳位置。
9.如权利要求8所述的计算机可读存储介质,其中所述程序代码进一步能够由所述处理器读取/执行以确定与所述新的工作负荷或所述当前工作负荷相关联的延时,其中能够由所述处理器读取/执行以确定所述多个可能路径中的哪些可能路径能够处理与所述新的工作负荷或所述当前工作负荷相关联的吞吐量的程序代码进一步被配置为:确定所述多个可能路径中的哪些可能路径能够提供与所述新的工作负荷或所述当前工作负荷相关联的延时,并且其中能够由所述处理器读取/执行来选择最佳位置以放置所述新的工作负荷或移动所述当前工作负荷的程序代码进一步基于与所述新的工作负荷或所述当前工作负荷相关联的延时。
10.如权利要求7所述的计算机可读存储介质,其中能够由所述处理器读取/执行的程序代码进一步被配置为从所述网络中的每个端口接收统计,所述统计至少描述与所述网络中的每个端口相关联的吞吐量。
11.如权利要求10所述的计算机可读存储介质,其中所述统计进一步描述所述网络中的每个端口的延时。
12.如权利要求10所述的计算机可读存储介质,其中所述吞吐量是当前吞吐量和平均吞吐量中的一个。
13.一种用于在网络中部署工作负荷的方法,所述方法包括:
在交换机控制器处接收在网络中实例化新的工作负荷或移动当前工作负荷的请求;
确定与所述新的工作负荷或所述当前工作负荷相关联的吞吐量;以及
基于与所述新的工作负荷或所述当前工作负荷相关联的吞吐量来选择最佳位置以放置所述新的工作负荷或移动所述当前工作负荷;
其中基于与所述新的工作负荷或所述当前工作负荷相关联的吞吐量来选择最佳位置以放置所述新的工作负荷或移动所述当前工作负荷包括:
对于所述网络中的所述新的工作负荷或所述当前工作负荷确定一个或多个最频繁的通信伙伴;
确定实例化所述新的工作负荷或移动所述当前工作负荷的多个可能位置;
确定在每个可能位置与所述一个或多个最频繁的通信伙伴之间的多个可能路径;以及
确定所述多个可能路径中的哪些可能路径能够处理与所述新的工作负荷或所述当前工作负荷相关联的吞吐量。
14.如权利要求13所述的方法,其中基于与所述新的工作负荷或所述当前工作负荷相关联的吞吐量来选择最佳位置以放置所述新的工作负荷或移动所述当前工作负荷进一步包括:
从能够处理所述吞吐量的所述多个可能路径中确定具有一个或多个最短路径的可能位置;以及
将与所述一个或多个最短路径相关联的可能位置选择为所述最佳位置。
15.如权利要求14所述的方法,进一步包括确定与所述新的工作负荷或所述当前工作负荷相关联的延时,其中确定所述多个可能路径中的哪些可能路径能够处理与所述新的工作负荷或所述当前工作负荷相关联的吞吐量进一步包括:确定所述多个可能路径中的哪些可能路径能够提供与所述新的工作负荷或所述当前工作负荷相关联的延时,并且其中选择最佳位置以放置所述新的工作负荷或移动所述当前工作负荷进一步基于与所述新的工作负荷或所述当前工作负荷相关联的延时。
16.如权利要求13所述的方法,进一步包括从所述网络中的每个端口接收统计,所述统计至少描述与所述网络中的每个端口相关联的吞吐量。
17.如权利要求16所述的方法,其中所述统计进一步描述所述网络中的每个端口的延时,并且其中所述吞吐量是当前吞吐量和平均吞吐量中的一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/024,497 | 2013-09-11 | ||
US14/024,497 US9307018B2 (en) | 2013-09-11 | 2013-09-11 | Workload deployment with real-time consideration of global network congestion |
PCT/CN2014/086273 WO2015035920A1 (en) | 2013-09-11 | 2014-09-11 | Workload deployment with real-time consideration of global network congestion |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105531970A CN105531970A (zh) | 2016-04-27 |
CN105531970B true CN105531970B (zh) | 2018-12-14 |
Family
ID=52626663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480050110.7A Active CN105531970B (zh) | 2013-09-11 | 2014-09-11 | 用于在网络中部署工作负荷的方法和*** |
Country Status (4)
Country | Link |
---|---|
US (2) | US9307018B2 (zh) |
CN (1) | CN105531970B (zh) |
TW (1) | TW201524162A (zh) |
WO (1) | WO2015035920A1 (zh) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8743885B2 (en) | 2011-05-03 | 2014-06-03 | Cisco Technology, Inc. | Mobile service routing in a network environment |
US9407540B2 (en) | 2013-09-06 | 2016-08-02 | Cisco Technology, Inc. | Distributed service chaining in a network environment |
US9794379B2 (en) | 2013-04-26 | 2017-10-17 | Cisco Technology, Inc. | High-efficiency service chaining with agentless service nodes |
US9307018B2 (en) | 2013-09-11 | 2016-04-05 | International Business Machines Corporation | Workload deployment with real-time consideration of global network congestion |
US9491094B2 (en) * | 2013-09-25 | 2016-11-08 | Cisco Techonology, Inc. | Path optimization in distributed service chains in a network environment |
US9300585B2 (en) | 2013-11-15 | 2016-03-29 | Cisco Technology, Inc. | Shortening of service paths in service chains in a communications network |
US9436263B2 (en) * | 2014-02-21 | 2016-09-06 | Qualcomm Incorporated | Systems and methods for power optimization using throughput feedback |
US9379931B2 (en) | 2014-05-16 | 2016-06-28 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
US9479443B2 (en) | 2014-05-16 | 2016-10-25 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
US10417025B2 (en) | 2014-11-18 | 2019-09-17 | Cisco Technology, Inc. | System and method to chain distributed applications in a network environment |
USRE48131E1 (en) | 2014-12-11 | 2020-07-28 | Cisco Technology, Inc. | Metadata augmentation in a service function chain |
US9660909B2 (en) | 2014-12-11 | 2017-05-23 | Cisco Technology, Inc. | Network service header metadata for load balancing |
US9762402B2 (en) | 2015-05-20 | 2017-09-12 | Cisco Technology, Inc. | System and method to facilitate the assignment of service functions for service chains in a network environment |
US9756121B2 (en) | 2015-06-24 | 2017-09-05 | International Business Machines Corporation | Optimizing routing and load balancing in an SDN-enabled cloud during enterprise data center migration |
TWI556599B (zh) * | 2015-06-30 | 2016-11-01 | 財團法人工業技術研究院 | 網路控制方法及網路控制器 |
US9825850B2 (en) | 2015-06-30 | 2017-11-21 | Industrial Technology Research Institute | Network controlling method and network controller |
CN106470116B (zh) * | 2015-08-20 | 2019-06-25 | ***通信集团公司 | 一种网络故障检测与恢复方法及装置 |
US9781037B2 (en) | 2015-09-15 | 2017-10-03 | Cisco Technology, Inc. | Method and apparatus for advanced statistics collection |
US10003519B2 (en) * | 2015-11-13 | 2018-06-19 | Nanning Fugui Precision Industrial Co., Ltd. | Data delivery method based on software defined networking and software defined networking controller using the method |
US10063468B2 (en) | 2016-01-15 | 2018-08-28 | Cisco Technology, Inc. | Leaking routes in a service chain |
US11044203B2 (en) | 2016-01-19 | 2021-06-22 | Cisco Technology, Inc. | System and method for hosting mobile packet core and value-added services using a software defined network and service chains |
US10187306B2 (en) | 2016-03-24 | 2019-01-22 | Cisco Technology, Inc. | System and method for improved service chaining |
US10931793B2 (en) | 2016-04-26 | 2021-02-23 | Cisco Technology, Inc. | System and method for automated rendering of service chaining |
CN106027293B (zh) * | 2016-05-16 | 2019-01-22 | 重庆邮电大学 | 一种基于指定时延的sdn控制器生存性部署方法 |
US10419550B2 (en) | 2016-07-06 | 2019-09-17 | Cisco Technology, Inc. | Automatic service function validation in a virtual network environment |
US10218616B2 (en) | 2016-07-21 | 2019-02-26 | Cisco Technology, Inc. | Link selection for communication with a service function cluster |
US10320664B2 (en) | 2016-07-21 | 2019-06-11 | Cisco Technology, Inc. | Cloud overlay for operations administration and management |
US10334334B2 (en) | 2016-07-22 | 2019-06-25 | Intel Corporation | Storage sled and techniques for a data center |
US10225270B2 (en) | 2016-08-02 | 2019-03-05 | Cisco Technology, Inc. | Steering of cloned traffic in a service function chain |
US10218593B2 (en) | 2016-08-23 | 2019-02-26 | Cisco Technology, Inc. | Identifying sources of packet drops in a service function chain environment |
US10225187B2 (en) | 2017-03-22 | 2019-03-05 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
US10257033B2 (en) | 2017-04-12 | 2019-04-09 | Cisco Technology, Inc. | Virtualized network functions and service chaining in serverless computing infrastructure |
US10884807B2 (en) | 2017-04-12 | 2021-01-05 | Cisco Technology, Inc. | Serverless computing and task scheduling |
US10333855B2 (en) | 2017-04-19 | 2019-06-25 | Cisco Technology, Inc. | Latency reduction in service function paths |
US10554689B2 (en) | 2017-04-28 | 2020-02-04 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
US10735275B2 (en) | 2017-06-16 | 2020-08-04 | Cisco Technology, Inc. | Releasing and retaining resources for use in a NFV environment |
US10798187B2 (en) | 2017-06-19 | 2020-10-06 | Cisco Technology, Inc. | Secure service chaining |
US10397271B2 (en) | 2017-07-11 | 2019-08-27 | Cisco Technology, Inc. | Distributed denial of service mitigation for web conferencing |
US10673698B2 (en) | 2017-07-21 | 2020-06-02 | Cisco Technology, Inc. | Service function chain optimization using live testing |
US11063856B2 (en) | 2017-08-24 | 2021-07-13 | Cisco Technology, Inc. | Virtual network function monitoring in a network function virtualization deployment |
US10791065B2 (en) | 2017-09-19 | 2020-09-29 | Cisco Technology, Inc. | Systems and methods for providing container attributes as part of OAM techniques |
US11018981B2 (en) | 2017-10-13 | 2021-05-25 | Cisco Technology, Inc. | System and method for replication container performance and policy validation using real time network traffic |
US10447601B2 (en) | 2017-10-20 | 2019-10-15 | Hewlett Packard Enterprise Development Lp | Leaf-to-spine uplink bandwidth advertisement to leaf-connected servers |
US10541893B2 (en) | 2017-10-25 | 2020-01-21 | Cisco Technology, Inc. | System and method for obtaining micro-service telemetry data |
US10691488B2 (en) | 2017-12-01 | 2020-06-23 | International Business Machines Corporation | Allocating jobs to virtual machines in a computing environment |
US10666612B2 (en) | 2018-06-06 | 2020-05-26 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
CN111490907B (zh) * | 2019-01-25 | 2021-10-15 | 华为技术有限公司 | 一种确定vxlan网络性能参数的方法及装置 |
US11303524B2 (en) | 2019-02-04 | 2022-04-12 | Hewlett Packard Enterprise Development Lp | Network bandwidth configuration |
US10897423B2 (en) * | 2019-05-14 | 2021-01-19 | Vmware, Inc. | Congestion avoidance in a slice-based network |
US11012288B2 (en) | 2019-05-14 | 2021-05-18 | Vmware, Inc. | Congestion avoidance in a slice-based network |
US11588733B2 (en) | 2019-05-14 | 2023-02-21 | Vmware, Inc. | Slice-based routing |
US10892994B2 (en) | 2019-05-14 | 2021-01-12 | Vmware, Inc. | Quality of service in virtual service networks |
US11159609B2 (en) * | 2020-03-27 | 2021-10-26 | Intel Corporation | Method, system and product to implement deterministic on-boarding and scheduling of virtualized workloads for edge computing |
CN113810286B (zh) * | 2021-09-07 | 2023-05-02 | 曙光信息产业(北京)有限公司 | 计算机网络***及路由方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102550004A (zh) * | 2009-09-30 | 2012-07-04 | 阿尔卡特朗讯公司 | 企业网络中分配的云资源的动态负载平衡和调配 |
CN102546379A (zh) * | 2010-12-27 | 2012-07-04 | ***通信集团公司 | 一种虚拟化资源调度的方法及虚拟化资源调度*** |
CN103023799A (zh) * | 2011-09-27 | 2013-04-03 | 日电(中国)有限公司 | 用于虚拟机迁移的中央控制器和虚拟机迁移方法 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000019680A2 (en) * | 1998-09-17 | 2000-04-06 | Tod Mcnamara | System and method for network flow optimization using traffic classes |
US7996839B2 (en) * | 2003-07-16 | 2011-08-09 | Hewlett-Packard Development Company, L.P. | Heterogeneous processor core systems for improved throughput |
US7257811B2 (en) | 2004-05-11 | 2007-08-14 | International Business Machines Corporation | System, method and program to migrate a virtual machine |
US9015324B2 (en) * | 2005-03-16 | 2015-04-21 | Adaptive Computing Enterprises, Inc. | System and method of brokering cloud computing resources |
US7426616B2 (en) * | 2006-08-22 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Method for determining a recovery schedule |
DE102006057427A1 (de) * | 2006-12-06 | 2008-06-12 | Robert Bosch Gmbh | Zielführungsverfahren und Anordnung zur Durchführung eines solchen sowie ein entsprechendes Computerprogramm und ein entsprechendes prozessorlesbares Speichermedium |
US8230203B2 (en) | 2007-03-30 | 2012-07-24 | Intel Corporation | Detecting spin loops in a virtual machine environment |
JP4835499B2 (ja) * | 2007-04-18 | 2011-12-14 | 株式会社日立製作所 | 異システム間ハンドオフ方法および無線通信端末 |
US8914511B1 (en) | 2009-06-26 | 2014-12-16 | VMTurbo, Inc. | Managing resources in virtualization systems |
US8301746B2 (en) | 2010-01-26 | 2012-10-30 | International Business Machines Corporation | Method and system for abstracting non-functional requirements based deployment of virtual machines |
US20110191094A1 (en) * | 2010-01-29 | 2011-08-04 | John Michael Quernermoen | System and method to evaluate and size relative system performance |
US20120054731A1 (en) * | 2010-08-24 | 2012-03-01 | International Business Machines Corporation | Method, System and Computer Programs to Assist Migration to a Cloud Computing Environment |
US8909786B2 (en) * | 2010-08-26 | 2014-12-09 | Futurewei Technologies, Inc. | Method and system for cross-stratum optimization in application-transport networks |
US8677004B2 (en) * | 2010-09-10 | 2014-03-18 | International Business Machines Corporation | Migration of logical partitions between two devices |
US20120124194A1 (en) * | 2010-11-14 | 2012-05-17 | Caroline Jacqueline Shouraboura | Method and Apparatus for Efficiently Managing Network Distance between Physical Computers in a Computing Cloud |
US8645545B2 (en) * | 2010-11-24 | 2014-02-04 | International Business Machines Corporation | Balancing the loads of servers in a server farm based on an angle between two vectors |
US8521922B2 (en) * | 2011-01-10 | 2013-08-27 | International Business Machines Corporation | Input/output (I/O) path selection based on workload types |
US8370496B1 (en) | 2011-03-31 | 2013-02-05 | Amazon Technologies, Inc. | Reducing average link bandwidth in an oversubscribed environment |
US9037723B2 (en) * | 2011-05-31 | 2015-05-19 | Red Hat, Inc. | Triggering workload movement based on policy stack having multiple selectable inputs |
US10013281B2 (en) * | 2011-06-29 | 2018-07-03 | Microsoft Technology Licensing, Llc | Controlling network utilization |
US9311159B2 (en) * | 2011-10-31 | 2016-04-12 | At&T Intellectual Property I, L.P. | Systems, methods, and articles of manufacture to provide cloud resource orchestration |
TWM434977U (en) | 2012-04-10 | 2012-08-01 | Zheng-Yan Peng | Appended network storage system that supports cloud service |
US8825867B2 (en) * | 2012-05-04 | 2014-09-02 | Telefonaktiebolaget L M Ericsson (Publ) | Two level packet distribution with stateless first level packet distribution to a group of servers and stateful second level packet distribution to a server within the group |
US9396008B2 (en) * | 2012-07-13 | 2016-07-19 | Ca, Inc. | System and method for continuous optimization of computing systems with automated assignment of virtual machines and physical machines to hosts |
US9135076B2 (en) * | 2012-09-28 | 2015-09-15 | Caplan Software Development S.R.L. | Automated capacity aware provisioning |
US8838535B2 (en) * | 2012-10-05 | 2014-09-16 | Oracle International Corporation | Providing services across systems that manage distributed replicas |
US20140337834A1 (en) * | 2013-05-08 | 2014-11-13 | Amazon Technologies, Inc. | User-Influenced Placement of Virtual Machine Instances |
CN104168197A (zh) * | 2013-05-16 | 2014-11-26 | 宇宙互联有限公司 | 传输管理装置、***及方法 |
CN104168196A (zh) * | 2013-05-16 | 2014-11-26 | 宇宙互联有限公司 | 传输管理装置、***及方法 |
US9557792B1 (en) * | 2013-05-31 | 2017-01-31 | Amazon Technologies, Inc. | Datacenter power management optimizations |
CN104426682A (zh) * | 2013-08-19 | 2015-03-18 | 宇宙互联有限公司 | 上网控制装置、***及方法 |
US9307018B2 (en) | 2013-09-11 | 2016-04-05 | International Business Machines Corporation | Workload deployment with real-time consideration of global network congestion |
-
2013
- 2013-09-11 US US14/024,497 patent/US9307018B2/en active Active
-
2014
- 2014-07-11 TW TW103124055A patent/TW201524162A/zh unknown
- 2014-09-11 WO PCT/CN2014/086273 patent/WO2015035920A1/en active Application Filing
- 2014-09-11 CN CN201480050110.7A patent/CN105531970B/zh active Active
-
2016
- 2016-02-25 US US15/054,085 patent/US9749402B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102550004A (zh) * | 2009-09-30 | 2012-07-04 | 阿尔卡特朗讯公司 | 企业网络中分配的云资源的动态负载平衡和调配 |
CN102546379A (zh) * | 2010-12-27 | 2012-07-04 | ***通信集团公司 | 一种虚拟化资源调度的方法及虚拟化资源调度*** |
CN103023799A (zh) * | 2011-09-27 | 2013-04-03 | 日电(中国)有限公司 | 用于虚拟机迁移的中央控制器和虚拟机迁移方法 |
Also Published As
Publication number | Publication date |
---|---|
US9307018B2 (en) | 2016-04-05 |
US9749402B2 (en) | 2017-08-29 |
CN105531970A (zh) | 2016-04-27 |
TW201524162A (zh) | 2015-06-16 |
US20150074276A1 (en) | 2015-03-12 |
WO2015035920A1 (en) | 2015-03-19 |
US20160182622A1 (en) | 2016-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105531970B (zh) | 用于在网络中部署工作负荷的方法和*** | |
US9756121B2 (en) | Optimizing routing and load balancing in an SDN-enabled cloud during enterprise data center migration | |
US9686146B2 (en) | Reconfiguring interrelationships between components of virtual computing networks | |
CN104521199B (zh) | 用于分布式虚拟交换机的适应性方法、装置以及设备 | |
US9088503B2 (en) | Multi-tenant information processing system, management server, and configuration management method | |
US7962587B2 (en) | Method and system for enforcing resource constraints for virtual machines across migration | |
US9602335B2 (en) | Independent network interfaces for virtual network environments | |
EP2849064B1 (en) | Method and apparatus for network virtualization | |
US9584369B2 (en) | Methods of representing software defined networking-based multiple layer network topology views | |
CN106533890B (zh) | 一种报文处理方法、装置及*** | |
EP3934206B1 (en) | Scalable control plane for telemetry data collection within a distributed computing system | |
EP3783835A1 (en) | Vendor agnostic profile-based modeling of service access endpoints in a multitenant environment | |
US10616141B2 (en) | Large scale fabric attached architecture | |
CN102195803B (zh) | 数据通信方法和数据通信*** | |
CN104584484A (zh) | 提供基于策略的数据中心网络自动化的***和方法 | |
CN103369027A (zh) | 混合云环境中的位置感知虚拟服务配备 | |
CN107251486A (zh) | 一种扩展联动的方法、装置及*** | |
JP2015156168A (ja) | データセンタのリソース配分システム及びデータセンタのリソース配分方法 | |
CN108345490B (zh) | 一种nfv中部署虚拟机的方法和*** | |
CN113612688A (zh) | 分布式软件定义网络控制***及其构建方法 | |
US10462072B2 (en) | System and method for scaling multiclouds in a hybrid cloud architecture | |
CN103516628B (zh) | 一种实现网络策略更新的方法、装置及*** | |
US10810033B2 (en) | Propagating external route changes into a cloud network | |
CN108206838B (zh) | 一种负载均衡***、方法及装置 | |
US12021743B1 (en) | Software-defined multi-network-segment gateways for scalable routing of traffic between customer-premise network segments and cloud-based virtual networks |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211209 Address after: USA New York Patentee after: Qindarui Co. Address before: USA New York Patentee before: International Business Machines Corp. |
|
TR01 | Transfer of patent right |