CN109324869B - 在数据中心中的虚拟网络功能分配 - Google Patents

在数据中心中的虚拟网络功能分配 Download PDF

Info

Publication number
CN109324869B
CN109324869B CN201810858503.0A CN201810858503A CN109324869B CN 109324869 B CN109324869 B CN 109324869B CN 201810858503 A CN201810858503 A CN 201810858503A CN 109324869 B CN109324869 B CN 109324869B
Authority
CN
China
Prior art keywords
data center
vnf
vnfs
units
assignment
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
CN201810858503.0A
Other languages
English (en)
Other versions
CN109324869A (zh
Inventor
M·G·加尔韦斯
I·A·佩雷斯
J·M·A·费尔南德斯
D·S·埃尔瓦达
J·M·洛佩斯
J·G·洛佩斯
R·S·希龙
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN109324869A publication Critical patent/CN109324869A/zh
Application granted granted Critical
Publication of CN109324869B publication Critical patent/CN109324869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了在数据中心中的虚拟网络功能分配。公开了用于在数据中心中分配虚拟网络功能(VNF)的示例计算系统。在本文公开的示例包括处理单元、计算模块和分配模块。计算模块被配置为基于数据中心的状态和包括多个VNF的VNF目录来确定与数据中心中的数据中心单元相对应的消耗系数;并且基于所确定的消耗系数来开发分配模型。分配模块被配置为基于分配模型在数据中心中分配多个VNF中的第一VNF。

Description

在数据中心中的虚拟网络功能分配
技术领域
本公开涉及计算机网络领域,更具体地,涉及在数据中心中的虚拟网络功能分配。
背景技术
虚拟化是一种使得能够经由硬件设备上的软件来执行多个应用的技术。其可以指的是表现得像具有操作系统的硬件的虚拟机的创建并且允许应用在其中被执行。一些企业可以使用诸如数据中心中的服务器之类的硬件来通过分配在其中的多个虚拟机来执行应用。照此,在数据中心的服务器中分配多个虚拟机可以向企业提供关键价值,因为可以以更有效的方式使用硬件计算资源。
发明内容
本公开提供了一种用于在数据中心中分配虚拟网络功能VNF的计算系统,所述计算系统包括:处理单元;计算模块,被配置为:基于所述数据中心的状态和包括多个VNF的VNF目录,确定与所述数据中心中的数据中心单元相对应的消耗系数;并且
响应于确定的消耗系数,开发分配模型;以及分配模块,被配置为基于所述分配模型在所述数据中心中分配所述多个VNF中的第一VNF。
本公开还提供了一种用于在数据中心中分配虚拟网络功能VNF的方法,所述方法接收VNF目录和一组分配规则,其中,所述VNF目录指示多个VNF,所述方法进一步包括:通过查询数据中心数据库来检查所述数据中心的当前状态;基于所述VNF目录、所述一组分配规则和所述数据中心的当前状态来定义消耗系数;基于所述VNF目录、所述一组分配规则、所述消耗系数和所述数据中心的当前状态来确定分配模型;接收所述多个VNF中的第一VNF;并且基于所述分配模型来在数据中心单元中分配所述第一VNF,其中,所述数据中心单元是所述数据中心的一部分。
本公开还提供了一种非暂时性机器可读介质,所述非暂时性机器可读介质存储由物理处理器可执行的机器可读指令,其中,所述介质接收虚拟网络功能VNF目录、一组分配规则,其中,所述VNF目录中的每个VNF包括一个或多个虚拟机VM;所述物理处理器使所述处理器用于:通过查询数据中心数据库来检查所述数据中心的当前状态;基于所述VNF目录和所述一组分配规则来定义一个或多个亲和组;基于所述亲和组和所述数据中心的当前状态来定义消耗系数;基于所述一组分配规则、所述消耗系数和所述数据中心的当前状态来确定对所述亲和组和多个数据中心单元进行匹配的分配模型,其中,所述多个数据中心单元形成所述数据中心;接收第一VNF,其中,所述第一VNF包括一个或多个第一VM;并且基于所述分配模型在所述多个数据中心单元中的数据中心单元中分配所述一个或多个第一VM。
附图说明
关于结合附图所采取的以下详细描述可以更全面地理解本申请,其中,相同附图标记通篇指的是类似部分,并且其中:
图1是图示出用于在数据中心中分配虚拟网络功能的计算系统的示例的框图。
图2是图示出用于使用安装模块和更新模块在数据中心中分配虚拟网络功能的计算系统的示例的框图。
图3是图示出虚拟网络功能目录的示例的框图。
图4是用于在数据中心中分配虚拟网络功能的示例方法的流程图。
图5是用于在数据中心中分配虚拟网络功能的另一种示例方法的流程图。
图6是图示出用于在数据中心中分配虚拟网络功能的计算系统的示例的框图。
具体实施方式
以下描述涉及本公开的各个示例。在本文公开的示例不应当被解释或以另外方式使用为限制包括权利要求的本公开的范围。此外,以下描述具有较宽的应用,并且任何示例的讨论仅仅意欲时为了描述该示例,并且并不意图指示包括权利要求的本公开的范围受限于该示例。在以上描述中,阐述了许多详情以提供在本文公开的示例的理解。然而,那些本领域技术人员将理解,可以在没有这些详情的情况下实践示例。尽管已经公开了有限数量的示例,但那些本领域技术人员将理解从其进行的许多修改和变化。所附权利要求旨在覆盖落入示例的范围内的此类修改和变化。贯穿本公开,术语“一”意图表示特定要素中的至少一个。此外,如在本文所使用的,术语“包括”意指包括但不限于、术语“包括有”意指包括但不限于。术语“基于”意指至少部分地基于。
虚拟化是一种使得能够经由硬件设备上的软件来执行多个应用的技术。其可以指的是表现得像具有操作系统的真实硬件的虚拟机的创建并且允许应用在其中被执行。一些企业可以使用诸如数据中心中的服务器之类的硬件来通过分配在其中的多个虚拟机来执行应用。因此,在数据中心的服务器中分配多个虚拟机可以向企业提供关键价值,因为可以以更有效的方式使用硬件计算资源。
虚拟网络功能(VNF)是一种应用信息技术(IT)中的自动化和虚拟化技术以将网络中的当前网络功能从专用硬件移动到通用IT基础设施的技术。VNF可以包括互相协调可以实施网络的功能的一个或多个虚拟机(VM)和虚拟网络。与使用云技术的IT应用相比,VNF技术可以向IT系统提供灵活性。
在数据中心中分配VM时,存在挑战。数据中心包括数据中心单元(例如,服务器),这些中的每一个提供计算资源,诸如:核(C)、随机存取存储器(RAM)(R)、硬盘(D)、非易失性存储器(NVM)、带宽(BW),等等。在示例中,数据中心可以包括三个服务器(例如,S1、S2,和S3),其中,每个服务器提供其自己的计算资源(例如,S1提供C1、R1、D1、NVM1,和BW1;S2提供C2、R2、D2、NVM2,和BW2;并且S3提供C3、R3、D3、NVM3,和BW3)。另一方面,VM消耗计算资源,诸如:核(C)、随机存取存储器(RAM)(R)、硬盘(D)、非易失性存储器(NVM)、带宽(BW),等等。取决于VM的需求,不能在同一服务器上分配一些VM,而必须在同一服务器上分配其他VM。这增添了数据中心中的VM分配的额外的复杂度,同时也最大化所使用的计算资源。
作为先前的挑战的说明性示例,数据中心包括每个均具有1000GB硬盘的两个数据中心单元(S1和S2)。三个VM需要被分配(VM1、VM2,和VM3);VM1仅仅要求硬盘的5GB、VM2要求硬盘的700GB,并且VM3要求硬盘的350GB。在第一方案中,不存在限制,因此能够在S1中分配VM1和VM2,填充1000GB中的705GB,并且能够在S2中分配VM3,填充1000GB中的350GB。在第二方案中,存在限制,VM1来自一个客户,并且VM2和VM3来自不同的客户,因此增添需要在与VM2和VM3不同的数据中心单元中分配VM1的约束。在第二方案中,可以在S1中分配VM1,填充1000GB中的5GB(995GB空闲);然后可以在S2中分配VM2,填充1000GB中的700GB(300GB空闲);并且既不能在S1(VM1和VM3不能被一起分配的约束)中也不能在S2(没够足够硬盘空闲空间)中分配VM3。因此,即使在系统中存在1200GB空闲,也不能分配仅仅要求350GB的系统VM3,因此要求至少350GB的硬盘的第三数据中心单元(S3)。先前示例是说明性的,因此仅仅包括一个变量(D),然而,如前所提及,数据中心单元和VM可以提供并且要求多个计算资源(例如,C、R、D、NVM、BW),因此增添更高复杂度。
本公开的一个示例提供通过减少服务器的空闲资源来用于在数据中心中高效地分配VNF的计算系统。计算系统包括处理单元、计算模块,以及分配模块。计算模块被配置为基于数据中心的状态和包括多个VNF的VNF目录来确定与数据中心中的数据中心单元相对应的消耗系数;并且基于所确定的消耗系数来开发分配模型。分配模块被配置为基于分配模型在数据中心中分配多个VNF中的第一VNF。
本公开的另一个示例提供用于在数据中心中分配VNF的方法。所公开的方法通过查询数据中心数据库来检查数据中心的当前状态。该方法进一步基于VNF目录、一组分配规则,以及数据中心的当前状态来定义消耗系数。该方法基于VNF目录、一组分配规则、消耗系数,以及数据中心的当前状态来确定分配模型。该方法还接收多个VNF中的第一VNF并且基于分配模型在数据中心单元中分配第一VNF,其中,数据中心单元是数据中心的一部分。
现在参考附图,图1是图示出用于在数据中心中分配虚拟网络功能的计算系统的示例的框图。计算系统100可以包括一个或多个处理单元,诸如CPU、片上系统(SoC)、单个处理器,等等。然而,为了清晰目的,一个或多个处理单元在下文可以被称为“处理单元”。计算节点100包括处理单元110、计算模块122,以及分配模块124。计算系统100连接到多个VNF150、VNF目录170,以及数据中心140。数据中心140可以包括一个或多个数据中心单元(例如,服务器)。计算模块122,和分配模块124可以是硬件和编程的任何组合以实施在本文描述的模块的功能。在本文描述的示例中,可以以许多不同的方式实施硬件和编程的此类组合。例如,模块的编程可以是存储在至少一个非暂时性机器可读存储介质上的处理器可执行的指令,并且用于模块的硬件可以包括至少一个处理器来执行那些指令。在本文描述的一些示例中,可以通过硬件和编程的组合来共同地实施多个模块,如上所述。在其他的示例中,可以以电子电路的形式至少部分地实施计算模块122和分配模块124的功能。
计算系统100接收VNF目录170(例如请参见图3中描述的VNF目录370),其是以相继次序向计算系统100指示进来的VNF的文件。被VNF目录170确认的接下来进来的VNF将在下文被称为“第一VNF”。第一VNF包括将被分配在数据中心140中的一个或多个VM。
数据中心140包括一个或多个数据中心单元(例如,服务器)。计算系统100可以具有访问数据中心140(例如请参见图2中的数据中心数据库230)的实际状态的机制。数据中心的状态指示数据中心140内的数据中心单元的可用的计算资源。数据中心状态的示例被示出在表格1中。
Figure GDA0003455336610000041
Figure GDA0003455336610000051
表格1:示出每个DC单元中的可用资源的数据中心状态的示例
在表格1示例中,系统100确认数据中心170的可用的计算资源状态。数据中心170包括第一数据中心单元(S1)、第二数据中心单元(S2)、直到第N数据中心单元(S_N),其中,N是正整数。表格1示例包括核、RAM、HD、NVM,和带宽作为计算资源,然而,可以使用不同的数量和/或任何其他类型的计算资源。在公开的示例中,S1具有以下可用的计算资源:1个核、RAM的200GB、HD的1000GB、NVM的300GB,以及带宽的450Gbit/s;S2具有以下可用的计算资源:3个核、RAM的500GB、HD的5000GB、NVM的0GB,以及带宽的600Gbit/s;S3具有以下可用的计算资源:0个核、RAM的125GB、HD的750GB、NVM的800GB,以及带宽的100Gbit/s;直到S_N具有以下可用的计算资源:2的核、RAM的0GB、HD的4500GB、NVM的1250GB,以及带宽的600Gbit/s。在该示例中,S2没有可用的NVM、S3没有可用的核,并且S_N没有可用的RAM。
计算模块122基于数据中心的状态(例如,表格1)和VNF目录170(例如请参见图3中的VNF目录370)来确定用于每个数据库单元和第一VNF的消耗系数。消耗系数可以指示能够多少次将进来的VNF放置在数据库单元中。例如,S1中的消耗系数3可以指示能够将VNF三次放置在S1中,或,换句话说,指示S1至少具有VNF可以消耗的计算资源三倍的可用资源。在表格2中示出消耗系数的示例。
S1 S2 S3 ... S_N
VNF 1 1 3 0 ... 2
VNF 2 5 1 19 ... 0
VNF 3 0 5 3 ... 8
... ... ... ... ... ...
VNF_N 8 0 7 ... 3
表格2:关于VNF1-N和S1-N的消耗系数的示例
在表格2中示出消耗系数确定示例。VNF1能够被一次放置在S1中、三次放置在S2中、其不能被放置在S3中,并且两次放置在S_N中;VNF2能够被五次放置在S1中、一次放置在S2中、十九次放置在S3中,并且不能被放置在S_N中;VNF3不能被放置在S1中、能够五次被放置在S2中、三次被放置在S3中,并且八次被放置在S_N中;并且VNF_N能够八次被放置在S1中、不能被放置在S2中、七次被放置在S3中,并且三次被放置在S_N中。
即使在表格2中公开的示例计算VNF在数据中心单元上的消耗系数,但本公开的另一个实施例计算每个VNF的每一个VM在数据中心单元上的消耗系数。
计算模块122可以进一步基于消耗系数确定来开发分配模型。一旦由计算系统100接收到进来的VNF和/或VM,分配模型就可以指示在哪个数据中心单元中分配进来的VNF和/或VM。在本公开的一个实施例中,进来的VNF/VM被选择为被存储在具有较高的消耗系数的数据中心单元中(例如,在表格2示例中,VNF 1将被放置在S2中,因为S2具有消耗系数3——数据中心单元当中最大的)。在本公开的另一个示例中,选择一旦VNF/VM被分配在其中,就消耗VNF/VM的较小数量的分配的数据中心单元。术语“消耗”可以被理解为数据库单元状态,其中,将来的VNF/VM可能因为不可用的计算资源原因而不被分配在其中。
分配模块124被配置为基于由计算模块122构造的分配模型来在数据中心中分配多个VNF中的每个VNF。在另一个实施例中,分配模块124基于由计算模块122构造的分配模型来在数据中心中分配来自多个VNF中的每个VNF的每个VM。
图2是图示出用于使用安装模块和更新模块在数据中心中分配虚拟网络功能的计算系统的示例的框图。计算系统200可以包括一个或多个处理单元,诸如CPU、片上系统(SoC)、单个处理器,等等。然而,为了清晰目的,一个或多个处理单元在下文可以被称为“处理单元”。计算节点100包括处理单元210、计算模块222、分配模块224、安装模块226,以及更新模块224。处理单元210、计算模块222,以及分配模块224可以与图1中的处理单元110、计算模块122,以及分配模块124相同或类似。计算系统200可以连接到多个VNF 250、VNF目录270、一组分配规则280、数据中心数据库230,和数据中心240。多个VNF 250、VNF目录270,以及数据中心240可以与图1中的多个VNF 150、VNF目录170,以及数据中心140相同或类似。数据中心240可以包括一个或多个数据中心单元(例如,服务器)。计算模块222、分配模块224、安装模块226,和更新模块228可以是硬件和编程的任何组合以实施在本文描述的模块的功能。在本文描述的示例中,可以以许多不同的方式实施硬件和编程的此类组合。例如,模块的编程可以是存储在至少一个非暂时性机器可读存储介质上的处理器可执行的指令,并且用于模块的硬件可以包括至少一个处理器来执行那些指令。在本文描述的一些示例中,可以通过硬件和编程的组合来共同地实施多个模块,如上所述。在其他的示例中,可以以电子电路的形式至少部分地实施计算模块222、分配模块224、安装模块226,和更新模块228的功能。
计算系统200接收VNF目录270(例如请参见图3中描述的VNF目录370),其是以相继次序向计算系统200指示进来的VNF的文件。被VNF目录270确认的接下来进来的VNF将在下文被称为“第一VNF”。第一VNF包括将被分配在数据中心240中的一个或多个VM。
如上所述,每个VNF包括一个或多个VM。一个或多个VM可以要求基于一组分配规则280被分配在数据中心240中。一组分配规则280可以包括对分配模型的约束。分配规则的一些示例是:亲和性规则、反亲和性规则、服务器排除规则,和服务器更新规则,或其组合。亲和性规则定义VNF和VM之间的关系,例如,VM1和VM2可以/必须被存储在同一服务器中,或VNF1和VNF2可以/必须在同一机架中;亲和性规则可以不仅仅适用于服务器或机架,而且也适用于诸如VIM、区、数据中心等等的其他资源。反亲和性规则定义VNF和VM之间的反关系,例如,VM1和VM2不可以/绝不可被存储在同一服务器中,或VNF1和VNF2不可以/绝不可被存储在同一机架中;反亲和性规则可以不仅仅适用于服务器或机架,而且也适用于诸如VIM、区、数据中心等等的其他资源。服务器排除规则定义VNF和VM之间的关系,例如,服务器(S1)可以仅仅分配来自特定VNF(VNF1)的VM;在特定客户拥有数据中心中的服务器并且不想与任何其他客户共享其的情况下,可以使用服务器排除规则;服务器排除规则可以不仅仅适用于服务器,而且也适用于诸如VIM、机架、区、数据中心等等的其他资源。服务器更新规则定义其他规则之间的关系,例如,服务器(S1)能够分配VM1或VM2任一,因此转化成更新规则,其陈述一旦已经分配了VM1,不能再分配VM2;并且一旦已经分配了VM2,不能再分配VM1。即使本公开集中于亲和性规则、反亲和性规则、服务器排除规则,和服务器更新规则;一组分配规则280可以包括任何其他规则或任何其他规则与先前提及的规则的组合。
数据中心240包括一个或多个数据中心单元(例如,服务器)。计算系统100可以进一步包括数据中心数据库230,其包含数据中心单元的状态。数据中心的状态指示数据中心240内的数据中心单元的可用的计算资源。在表格1中示出了数据中心单元的状态的示例。
在接收第一VNF之前由计算系统200确认一组分配规则280和VNF目录270。在本公开的一个示例中,计算模块222基于以相继次序包含进来的VNF和VM的VNF目录270和亲和性规则和/或反亲和性规则来定义亲和组、反亲和组或其组合。亲和组指示符合一组分配规则280中的亲和性规则的(基于VNF目录270被确认的)进来的VNF中的那些VNF/VM,因此指哪些拿VNF/VM非得被存储在数据中心240中的同一数据库单元中。相反,反亲和组指示符合一组分配规则280中的反亲和性规则的(基于VNF目录270被确认的)进来的VNF中的那些VNF/VM,因此指示哪个VNF/VM不可以/绝不可被存储在同一数据库单元中。
计算模块222可以进一步基于数据中心240的状态(例如,表格1)、VNF目录270(例如请参见图3中的VNF目录370),和一组分配规则(例如,亲和性规则/组、反亲和性规则/组,等等)来确定用于每个数据库单元和第一VNF的消耗系数。消耗系数可以指示考虑反亲和组(A-AG)能够多少次将亲和组(AG)放置在数据库单元中。例如,S1中的消耗系数3可以指示能够将第一亲和组三次放置在S1中,或,换句话说,指示S1至少具有第一亲和组可以消耗的计算资源三倍的可用资源。在表格3中示出消耗系数的示例。
Figure GDA0003455336610000081
表格3:关于AG1-N和S1-N的消耗系数的示例
在表格3中示出消耗系数确定示例。AG1不能与AG8或AG52被放置在同一数据库单元(S1-S_N)中;AG1能够一次被放置在S1中,其不能被放置在S2中,并且三次被放置在S_N中;AG2不能与AG_N被放置在同一数据库单元(S1-S_N)中;AG2不能被放置在S1中,其能够六次被放置在S2中,并且其不能被放置在S_N中。AG3没有任何反亲和性;AG1能够四次被放置在S1中、两次被放置在S2中,并且十一次被放置在S_N中。直到不能与AG2或AG69被放置在同一数据库单元(S1-S_N)中的AG_N;AG_N能够三次被放置在S1中、九次并且五次被放置在S_N中。
计算模块222可以进一步基于消耗系数确定来开发分配模型。一旦由计算系统200接收到每个亲和组,分配模型就可以指示在哪个数据中心单元中分配每个亲和组。在本公开的一个实施例中,进来亲和组(其VFN/VM)被选择为被存储在具有较高的消耗系数的数据中心单元中(例如,在表格3示例中,AG1将被放置在S_N中,因为S_N具有消耗系数3——数据中心单元当中最大的)。在本公开的另一个示例中,选择一数据中心单元,一旦亲和组(例如,AG1)被分配在该数据中心单元中,就消耗对其他亲和组的较小数量的数据中心单元的分配。术语“消耗”可以被理解为数据库单元状态,其中,将来的进来的亲和组可能因为一组分配规则280上的不可用的计算资源原因而不被分配在其中。
分配模型的一个示例可以是将亲和组与数据中心240内的多个数据库单元匹配的分配矩阵。在表格4中示出分配矩阵的一个示例。
AG S1 S2 S3 ... S_N
AG1 - - X ... -
AG2 - - - ... X
AG3 X - ... -
... ... ... ... ... ...
AG_M - X - ... -
表格4:关于AG1-N和S1-N的分配矩阵的示例
在表格4中示出分配矩阵的示例,其将多个亲和组(AG1-AG_M)的分配与数据中心(例如,数据中心240)中的多个数据库单元(S1-S_N)匹配;其中,N和M是正整数。表格4中的分配矩阵确定可以在S3中分配AG1、可以在S_N中分配AG2、可以在S1中分配AG3,并且可以在S2中分配AG_M。
分配模块224被配置为基于由计算模块222构造的分配模型来在数据中心240中分配每个亲和组。在另一个实施例中,分配模块224被配置为基于由计算模块222构造的分配模型来在数据中心240中分配多个VNF中的每个VNF。在另一个实施例中,分配模块224被配置为基于由计算模块222构造的分配模型来在数据中心240中分配来自多个VNF中的每个VNF的每个VM。
安装模块226被配置为基于由计算模块222构造的分配模型来在数据中心240中安装每个亲和组。在另一个实施例中,安装模块226被配置为基于由计算模块222构造的分配模型来在数据中心240中安装多个VNF中的每个VNF。在本公开的另一个实施例中,安装模块226被配置为基于由计算模块222构造的分配模型来在数据中心240中安装来自多个VNF中的每个VNF的每个VM。
更新模块228被配置为在数据中心240中安装亲和组的情况下更新分配模型和数据中心数据库230。在另一个实施例中,更新模块228被配置为在数据中心240中安装多个VNF中的VNF的情况下更新分配模型和数据中心数据库230。在本公开的另一个实施例中,更新模块228被配置为在数据中心240中安装来自多个VNF中的每个VNF的每个VM的情况下更新分配模型和数据中心数据库230。
图3是图示出虚拟网络功能目录的示例的框图。VNF目录370可以是以相继次序包含针对计算系统(例如,图1中的计算系统100,以及图2的计算系统200)的进来的VNF信息的文件。VNF目录370可以与图1中的VNF目录170和图2中的VNF目录270相同或类似。
VNF目录370是包含第一VNF_A 375A、第二VNF_B 375B、第三VNF_C 375C,直到第NVNF_N 375N的文件,其中,N是正整数。VNF目录370也可以包含哪些VM在VNF中的信息。VNF目录370可以包含,第一VNF_A 375A包含单个VM:VM_A1 375A1。VNF目录370也可以包含,第二VNF_B 375B包含四个VM:VM_B1375B1、VM_B2 375B2、VM_B3 375B3,和VM_B4 375B4。VNF目录370包含:第二VNF_C 375C包含三个VM:VM_C1 375C1、VM_C2 375C2,和VM_C3 375C3。VNF目录370也可以包含,第N VNF_N 375N包含M个VM:VM_N1 375N1、VM_N2375N2,直到VM_NM375NM,其中,M是正整数。
图4是用于在数据中心中分配虚拟网络功能的示例方法的流程图。可以通过诸如CPU、SoC、单个处理器等等的一个或多个处理单元来执行方法400。为了清晰目的,至少一个处理单元在下文可以被称为“一处理器”或“该处理器”。方法400接收VNF目录,和一组分配规则,其中,VNF目录指示多个VNF。VNF目录和一组分配规则可以与图1中的VNF目录170,或者图2中的VNF目录270和一组分配规则280相同或类似。对于每一个进来的VNF执行方法400,然而,为了清晰目的并且没有限制本公开的范围的目标,公开了仅仅一个进来的VNF(例如,多个VNF中的第一VNF)的执行。可以例如通过图1中的系统100来实施方法400。也可以例如通过图2中的系统200来实施方法400。例如能够以存储在计算系统的存储器上的机器可读指令(例如,图6中的系统600的指令641-646的实施)的形式、以电子电路的形式或者另一种适当的形式实施方法400以及在本文描述的数个方法。方法400包括将被执行的多个框。
在框410,系统(例如,图1中的计算系统100,以及图2中的计算系统200)通过查询数据中心数据库(例如,图2中的数据中心数据库230)来检查数据中心(例如,图2中的数据中心240)的当前状态。
在框420,系统基于VNF目录(例如,图2中的VNF目录270)、一组分配规则(例如,图2中的一组分配规则280),以及数据中心的当前状态来定义消耗系数。
在框430,系统基于VNF目录、一组分配规则,和数据中心的当前状态来确定分配模型。
在框440,系统接收多个VNF(例如,图1中的多个VNF 150)中的第一VNF。
在框450,系统基于分配模型来在数据中心单元中分配第一VNF,其中,数据中心单元是数据中心的一部分。
图5是用于在数据中心中分配虚拟网络功能的另一种示例方法的流程图。可以通过诸如CPU、SoC、单个处理器等等的一个或多个处理单元来执行方法500。为了清晰目的,至少一个处理单元在下文可以被称为“一处理器”或“该处理器”。方法500接收VNF目录,和一组分配规则,其中,VNF目录指示多个VNF。VNF目录和一组分配规则可以与图1中的VNF目录170,或者图2中的VNF目录270和一组分配规则280相同或类似。对于每一个进来的VNF执行方法400,然而,为了清晰目的并且没有限制本公开的范围的目标,公开了仅仅一个进来的VNF(例如,多个VNF中的第一VNF)的执行。可以例如通过图1中的系统100来实施方法500。也可以例如通过图2中的系统200来实施方法500。例如能够以存储在计算系统的存储器上的机器可读指令(例如,图6中的系统600的指令641-646的实施)的形式、以电子电路的形式或者另一种适当的形式实施方法500以及在本文描述的数个方法。方法500包括将被执行的多个框。
在框511中,计算模块510可以通过查询数据中心数据库(例如,图2中的数据中心数据库230)来检查数据中心(例如,图2中的数据中心240)状态。在框512中,计算模块510可以接收一组分配规则(例如,图2中的一组分配规则280)。在框513中,计算模块510可以接收VNF目录(例如,图2中的VNF目录270)。可以并行地或者以相继次序执行框511-513。
一旦计算模块510接收一组分配规则和VNF目录,计算模块可以在框514定义亲和组、在框515定义反亲和组、在框516定义数据中心排除规则,并且在框517定义数据中心单元更新规则。
一旦计算模块510检查了数据库状态(框511),并且定义的亲和组(框514)和反亲和组(框515);计算模块510可以在框518定义每个亲和组的消耗系数。
一旦计算模块510已经定义了每个亲和组的消耗系数(框518),定义了数据中心单元排除规则(框516),并且定义了数据中心单元更新规则(框517);计算模块510在框519可以定义对亲和组和数据中心单元进行匹配的分配模型(例如,表格4的分配矩阵)。
一旦计算模块510已经定义了分配模型,分配模块在框521可以接下一VNF并且基于在先的计算来从所接收的VNF中选择(框522)亲和组。在框523,分配模块520可以选择下一亲和组,并且基于分配模型、排除规则和更新规则来确定(框524)可用的数据库单元。然后在判定框525检查是否存在可用的数据中心单元(例如,图2中的数据中心240中的可用的服务器)。如果存在不可用的数据中心单元(判定框525的“否”分支),安装模块530可以确定存在溢出并且不可以在数据中心中分配亲和组(和其VM)。如果存在可用的数据中心单元(判定框525的“是”分支),则分配模块520可以执行判定框526。
在判定框526,分配模块520可以检查是否存在分配亲和组(在框523中选择的亲和组)的多于一个可用的数据中心单元。如果存在分配亲和组的单个可用的数据中心单元(判定框526的“否”分支),在框532中,安装模块530可以在所选择的数据中心单元中安装亲和组内的VM。在存在分配亲和组的多于一个可用的数据中心单元(判定框526的“是”分支)的情况下,在框533中,安装模块530可以在数据中心单元中安装消耗较小的数量的数据中心单元的亲和组内的VM。
在通过安装模块530在数据中心单元中安装VM(框532或533)之后,更新模块540可以利用安装信息更新(框541)分配模型和数据中心数据库。一旦更新模块540更新了模型和数据中心矩阵(框541),分配模块520就可以通过检查在VNF(在框521中接收的VNF)中是否存在更多个亲和组来执行判定框527。如果在VNF中存在更多个亲和组(判定框527的“是”分支),分配模块520可以选择(框523)下一亲和组并且可以继续上述方法。如果在VNF中不再有亲和组(判定框527的“否”分支),分配模块520可以等待并且接收(框521)下一VNF并且可以继续上述方法。
图6是图示出用于在数据中心中分配虚拟网络功能的计算系统的示例的框图。图6描述包括物理处理器620和非暂时型机器可读存储介质640的系统600。处理器620可以是微控制器、微处理器、中央处理单元(CPU)核、专用集成电路(ASIC)、现场可编程门阵列(FPGA),和/或类似物。机器可读存储介质640可以存储可以由处理器620执行的指令641-646或利用其被编码以执行在本文描述的功能。系统600硬件可以与图1的系统100中的硬件相同或类似。系统600硬件可以与图2的系统200中的硬件相同或类似。系统1200可以使用图4的方法400。系统600可以使用图5的方法500。系统600可以连接到VNF目录660。VNF目录660可以与来自图3的VNF目录370相同或类似。系统600可以进一步连接到一组分配规则680。一组分配规则680可以与图2中的一组分配规则280相同或类似。系统600可以进一步连接到数据中心数据库690,其包含数据中心695中的数据中心单元的状态信息。数据中心数据库690和数据中心695可以与图1中的数据中心140,或者图2中的数据中心数据库230和数据中心240相同或与其类似。
在示例中,指令641-646,和/或其他指令能够是能够由处理器620执行的用于实施在本文描述的功能的安装数据包的一部分。在此种情况中,非暂时性机器可读存储介质640可以是由计算设备维持的诸如CD、DVD,或闪存设备或存储器之类的便携式介质,从该便携式介质能够对安装数据包进行下载和安装。在另一个示例中,程序指令可以是已经安装在非暂时性机器可读存储介质640中的应用(一个或多个)的一部分。
非暂时性机器可读存储介质640可以是电子、磁性、光学,或包含或存储系统600可访问的可执行数据的其他物理存储设备。因此,非暂时性机器可读存储介质640例如可以是随机存取存储器(RAM)、电可擦可编程只读存储器(EEPROM)、存储设备、光盘,等等。非暂时性机器可读存储介质640不包含暂时传播的信号。非暂时性机器可读存储介质640可以被分配在系统600中和/或与系统600进行通信的任何其他设备中。
在图6的示例中,当指令641被处理器620执行时,使处理器620通过查询数据中心数据库690来检查数据中心695的当前状态。
系统600可以另外包括指令642,当指令642被处理器620执行时,使处理器620基于VNF目录660和一组分配规则680来定义一个或多个亲和组。
系统600可以另外包括指令643,当指令643被处理器620执行时,使处理器620基于亲和组和数据中心695的当前状态来定义消耗系数。
系统600可以另外包括指令644,当指令644被处理器620执行时,使处理器620基于一组分配规则680、消耗系数,和数据中心695的当前状态来确定将亲和组与多个数据中心单元匹配的分配模型。
系统600可以另外包括指令645,当指令645被处理器620执行时,使处理器620接收第一VNF,其中,第一VNF包括一个或多个第一VM。
系统600可以另外包括指令646,当指令646被处理器620执行时,使处理器620基于分配模型来在多个数据中心单元中的数据中心单元中分配一个或多个第一VM。
系统600可以另外包括附加指令,当该附加指令被处理器620执行时,使处理器620在数据中心单元中安装第一VNF。
系统600可以另外包括附加指令,当该附加指令被处理器620执行时,使处理器620更新分配模型。
系统600可以另外包括附加指令,当该附加指令被处理器620执行时,使处理器620更新数据中心数据库690。
可以通过硬件或与硬件结合的软件来实施以上示例。例如,可以通过物理处理器来实施在本文描述的各种方法、处理和功能模块(术语处理器将被宽泛地解释为包括CPU、处理模块、ASIC、逻辑模块,或可编程门阵列,等等)。处理、方法和功能模块可以全部都由单个处理器来执行或者被分离在若干处理器之间;在本公开或权利要求中对“处理器”的引用因此应当被解释为意指“至少一个处理器”。处理、方法和功能模块被实施为可由至少一个处理器、至少一个处理器的硬件逻辑电路,或其组合所执行的机器可读指令。
本公开的示例中的附图是一些示例。应当注意到,过程的一些单元和功能不一定对实施本公开是必要的。单元可以被组合为一个单元或进一步划分为多个子单元。在本文已经描述和说明的是本公开与一些其变化一起的示例。作为说明来阐述在本文使用的术语、描述和图。许多变化在意图由所附权利要求和它们的等同物所限定的本公开的精神和范围内是可能的。

Claims (20)

1.一种用于在数据中心中分配虚拟网络功能VNF的计算系统,所述计算系统包括:
处理单元;
计算模块,在操作中:
基于所述数据中心的状态、包括多个VNF的VNF目录、以及包括所述数据中心中的所述多个VNF的强制和首选空间关系的一组分配规则,确定与所述数据中心中的多个数据中心单元中的可用资源相对应的多个消耗系数;并且
响应于确定的多个消耗系数,开发分配模型,所述分配模型指示所述多个VNF中的第一VNF将被分配到的特定数据中心单元;
分配模块,在操作中:
基于所述分配模型将所述多个VNF中的第一VNF分配到所述特定数据中心单元中,其中对于所述第一VNF内能够被分配在所述多个数据中心单元中的若干数据中心单元中的VNF实体,所述分配模型被配置为将消耗较少数目的数据中心单元且根据所述一组分配规则的所述VNF实体分配在所述若干数据中心单元中的一个或多个数据中心单元中;以及
所述计算模块响应于所述第一VNF到所述特定数据中心单元的所述分配,以确定对应于所述特定数据中心单元的更新的消耗系数。
2.根据权利要求1所述的系统,其中,所述多个VNF中的每个VNF包括将被分配到所述数据中心中的一个或多个虚拟机VM。
3.根据权利要求1所述的系统,其中,所述计算模块确定用于所述数据中心中的每个数据中心单元的消耗系数。
4.根据权利要求1所述的系统,其中,所述计算模块进一步基于所述一组分配规则来确定与所述数据中心中的服务器相对应的消耗系数。
5.根据权利要求4所述的系统,其中,所述一组分配规则还包括亲和性规则、反亲和性规则、服务器排除规则、服务器更新规则或其组合中的至少一个。
6.根据权利要求5所述的系统,其中,所述多个VNF中的每个VNF包括一个或多个VM,其中,所述计算模块进一步基于所述VNF目录以及亲和性规则和反亲和性规则中的至少一个来定义亲和组、反亲和组或其组合,其中所述亲和组和所述反亲和组定义所述多个VNF与所述一个或多个VM中的相关的一个,其中所述计算模块还定义每个亲和组的消耗系数。
7.根据权利要求6所述的系统,其中,所述分配模型是对所述亲和组和所述多个数据中心单元进行匹配的分配矩阵,其中,所述数据中心单元是形成所述数据中心的实体。
8.根据权利要求1所述的系统,其中,所述数据中心包括多个数据中心单元,其中,每个数据中心单元包括一个或多个类型的可用资源,其中,所述一个或多个可用资源包括核、随机存取存储器RAM、硬盘HD、非易失性存储器NVM、带宽或其组合中的至少一个。
9.根据权利要求1所述的系统,其中,能够在多于一个数据中心单元中分配所述第一VNF内的VNF实体,所述分配模块进一步在所述数据中心单元中安装消耗较小数量的数据中心单元的所述VNF,其中,所述数据中心单元是形成所述数据中心的实体。
10.根据权利要求1所述的系统,进一步包括安装模块,所述安装模块被配置为基于预分配模型在所述数据中心中安装多个进来的VNF中的所述第一VNF。
11.根据权利要求10所述的系统,进一步包括更新模块,所述更新模块被配置为随着在所述数据中心中安装所述多个VNF中的所述第一VNF,更新所述分配模型和所述数据中心数据库。
12.一种用于在数据中心中分配虚拟网络功能VNF的方法,所述方法包括:
接收VNF目录和一组分配规则,其中,所述VNF目录指示多个VNF并且所述一组分配规则包括所述数据中心中的所述多个VNF的强制和首选空间关系;
通过查询数据中心数据库来检查所述数据中心的当前状态;
基于所述VNF目录、所述一组分配规则和所述数据中心的当前状态来定义所述数据中心中的多个数据中心单元的多个消耗系数,所述多个消耗系数指示所述多个数据中心单元的资源可用性;
基于所述VNF目录、所述一组分配规则、所述消耗系数和所述数据中心的当前状态来确定分配模型,所述分配模型指示所述多个VNF到所述多个数据中心单元的分配;
接收所述多个VNF中的第一VNF;
基于所述分配模型来将所述第一VNF分配到所述数据中心单元中,其中对于所述第一VNF内能够被分配在所述多个数据中心单元中的若干数据中心单元中的VNF实体,所述分配模型被配置为将消耗较少数目的数据中心单元且根据所述一组分配规则的所述VNF实体分配在所述若干数据中心单元中的一个或多个数据中心单元中;以及
响应于所述第一VNF到所述数据中心单元的分配,确定针对所述数据中心单元的更新的消耗系数。
13.根据权利要求12所述的方法,其中,所述多个VNF中的每个VNF包括将被分配在所述数据中心中的一个或多个虚拟机VM。
14.根据权利要求12所述的方法,其中,所述一组分配规则还包括亲和性规则、反亲和性规则、服务器排除规则、服务器更新规则或其组合中的至少一个。
15.根据权利要求14所述的方法,其中,多个进来的VNF中的每个VNF包括一个或多个VM,所述方法进一步包括基于亲和性规则和反亲和性规则中的至少一个以及所述VNF目录来定义亲和组、反亲和组或其组合,其中计算模块还定义每个亲和组的消耗系数。
16.根据权利要求15所述的方法,其中,所述分配模型是对所述亲和组和多个数据中心单元进行匹配的分配矩阵,其中,所述数据中心单元是形成所述数据中心的实体。
17.根据权利要求12所述的方法,其中,能够在多于一个数据中心单元中分配所述第一VNF内的VNF实体,所述方法进一步在所述数据中心单元中安装消耗较小数量的数据中心单元的所述VNF。
18.根据权利要求12所述的方法,其中,能够在单个数据中心单元中分配所述第一VNF内的VNF实体,所述方法进一步在所述数据中心单元中安装所述VNF。
19.根据权利要求12所述的方法,进一步包括:
在所述数据中心单元中安装所述第一VNF;
更新所述分配模型;并且
更新所述数据中心数据库。
20.一种非暂时性机器可读介质,所述非暂时性机器可读介质存储由物理处理器可执行的机器可读指令,其中,所述介质接收虚拟网络功能VNF目录、一组分配规则,其中,所述VNF目录中的多个VNF中的每个VNF包括一个或多个虚拟机VM;所述指令使所述处理器用于:
通过查询数据中心数据库来检查数据中心的当前状态;
基于所述VNF目录和所述一组分配规则来定义一个或多个亲和组,所述一个或多个亲和组定义所述数据中心中的所述多个VNF与所述一个或多个VM的强制和首选空间关系;
基于所述亲和组和所述数据中心的当前状态来定义所述数据中心中的多个数据中心单元中的每个数据中心单元的消耗系数,每个消耗系数指示所述多个数据中心单元中的一个数据中心单元的资源可用性;
基于所述一组分配规则、每个确定的消耗系数和所述数据中心的当前状态来确定对所述一个或多个VM和所述多个数据中心单元进行匹配的分配模型;
接收第一VNF,其中,所述第一VNF包括一个或多个第一VM;
基于所述分配模型将所述一个或多个第一VM分配到所述多个数据中心单元中的选择的数据中心单元中,其中对于所述第一VNF内能够被分配在所述多个数据中心单元中的若干数据中心单元中的VNF实体,所述分配模型被配置为将消耗较少数目的数据中心单元且在所述一个或多个亲和组中的所述VNF实体分配在所述若干数据中心单元中的一个或多个数据中心单元中;以及
确定针对所述选择的数据中心单元的更新的消耗系数,以反映所述一个或多个第一VM到所述选择的数据中心单元的分配。
CN201810858503.0A 2017-07-31 2018-07-31 在数据中心中的虚拟网络功能分配 Active CN109324869B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/665,022 2017-07-31
US15/665,022 US10768963B2 (en) 2017-07-31 2017-07-31 Virtual network functions allocation in a datacenter based on extinction factor

Publications (2)

Publication Number Publication Date
CN109324869A CN109324869A (zh) 2019-02-12
CN109324869B true CN109324869B (zh) 2022-03-04

Family

ID=63244396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810858503.0A Active CN109324869B (zh) 2017-07-31 2018-07-31 在数据中心中的虚拟网络功能分配

Country Status (3)

Country Link
US (2) US10768963B2 (zh)
EP (1) EP3438826B1 (zh)
CN (1) CN109324869B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111542809A (zh) * 2017-10-17 2020-08-14 瑞典爱立信有限公司 管理虚拟网络功能

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832219B2 (en) * 2011-03-01 2014-09-09 Red Hat, Inc. Generating optimized resource consumption periods for multiple users on combined basis
EP2707795A1 (en) * 2011-05-13 2014-03-19 Telefonaktiebolaget LM Ericsson (PUBL) Allocation of virtual machines in datacenters
US8782242B2 (en) 2011-10-13 2014-07-15 Vmware, Inc. Software application placement using computing resource containers
US9301026B2 (en) * 2011-11-01 2016-03-29 Plexxi Inc. Affinity modeling in a data center network
CN102710432B (zh) * 2012-04-27 2015-04-15 北京云杉世纪网络科技有限公司 云计算数据中心中的虚拟网络管理系统及方法
US9973375B2 (en) * 2013-04-22 2018-05-15 Cisco Technology, Inc. App store portal providing point-and-click deployment of third-party virtualized network functions
EP2849064B1 (en) * 2013-09-13 2016-12-14 NTT DOCOMO, Inc. Method and apparatus for network virtualization
US9485323B1 (en) * 2013-09-23 2016-11-01 Amazon Technologies, Inc. Managing pooled client-premise resources via provider-defined interfaces
US9936047B2 (en) * 2013-10-17 2018-04-03 Ciena Corporation Method and apparatus for provisioning virtual network functions from a network service provider
US9806979B1 (en) * 2013-12-19 2017-10-31 Amdocs Software Systems Limited System, method, and computer program for optimizing a chain of virtual network functions in a network based on network function virtualization (NFV)
US9853869B1 (en) * 2015-01-27 2017-12-26 Amdocs Software Systems Limited System, method, and computer program for automatically instructing a virtual network function (VNF) to operate in accordance with one of a plurality of function definitions
US9813335B2 (en) * 2014-08-05 2017-11-07 Amdocs Software Systems Limited System, method, and computer program for augmenting a physical system utilizing a network function virtualization orchestrator (NFV-O)
EP2940582A1 (en) * 2014-04-30 2015-11-04 DoCoMo Communications Laboratories Europe GmbH Automated configuration of virtual infrastructure manager access for the virtual network function manager
US11307884B2 (en) 2014-07-16 2022-04-19 Vmware, Inc. Adaptive resource management of a cluster of host computers using predicted data
CN104202264B (zh) * 2014-07-31 2019-05-10 华为技术有限公司 云化数据中心网络的承载资源分配方法、装置及系统
KR102241358B1 (ko) * 2014-08-07 2021-04-16 애플 인크. 가상화된 네트워크 기능 관리
US9979602B1 (en) * 2014-08-25 2018-05-22 Cisco Technology, Inc. Network function virtualization infrastructure pod in a network environment
US10951480B2 (en) * 2014-09-25 2021-03-16 Apple Inc. Network functions virtualization
EP3002914B1 (en) * 2014-10-01 2018-09-05 Huawei Technologies Co., Ltd. A network entity for programmably arranging an intermediate node for serving communications between a source node and a target node
US9594649B2 (en) 2014-10-13 2017-03-14 At&T Intellectual Property I, L.P. Network virtualization policy management system
CN105830394B (zh) * 2014-11-27 2019-05-21 华为技术有限公司 虚拟网络策略的配置方法、系统及其虚拟网元和网管系统
US10356169B1 (en) * 2014-12-23 2019-07-16 EMC IP Holding Company LLC Virtual content delivery network
EP3040860A1 (en) 2014-12-29 2016-07-06 NTT DoCoMo, Inc. Resource management in cloud systems
US9716626B1 (en) * 2015-01-29 2017-07-25 Amdocs Software Systems Limited System, method, and computer program for adding a new network element to a network function virtualization based (NFV-based) communication network
US9733987B2 (en) * 2015-02-20 2017-08-15 Intel Corporation Techniques to dynamically allocate resources of configurable computing resources
US10489177B2 (en) 2015-02-23 2019-11-26 Red Hat Israel, Ltd. Resource reconciliation in a virtualized computer system
US10243879B2 (en) * 2015-03-13 2019-03-26 Microsoft Technology Licensing, Llc Intelligent placement within a data center
US10110481B2 (en) * 2015-05-19 2018-10-23 Cisco Technology, Inc. Virtual network functions with high availability in public clouds
US9716755B2 (en) * 2015-05-26 2017-07-25 Pure Storage, Inc. Providing cloud storage array services by a local storage array in a data center
US9846589B2 (en) 2015-06-04 2017-12-19 Cisco Technology, Inc. Virtual machine placement optimization with generalized organizational scenarios
CN105049499B (zh) * 2015-07-01 2018-08-24 南京邮电大学 一种基于多立方体映射的网络功能虚拟化资源分配方法
US10187324B2 (en) * 2015-08-10 2019-01-22 Futurewei Technologies, Inc. System and method for resource management
US10223140B2 (en) * 2015-08-25 2019-03-05 Futurewei Technologies, Inc. System and method for network function virtualization resource management
US10348517B2 (en) * 2015-10-09 2019-07-09 Openet Telecom Ltd. System and method for enabling service lifecycle based policy, licensing, and charging in a network function virtualization ecosystem
US10768995B2 (en) * 2015-10-23 2020-09-08 Telefonaktiebolaget Lm Ericsson (Publ) Allocating host for instances with anti affinity rule with adaptable sharing to allow instances associated with different failure domains to share surviving hosts
US10419530B2 (en) * 2015-11-02 2019-09-17 Telefonaktiebolaget Lm Ericsson (Publ) System and methods for intelligent service function placement and autoscale based on machine learning
WO2017125161A1 (en) 2016-01-21 2017-07-27 Hewlett Packard Enterprise Development Lp Resource allocation
US9954758B2 (en) * 2016-02-17 2018-04-24 Dell Products L.P. Virtual network function resource allocation and management system
EP3402131B1 (en) * 2016-03-02 2021-05-26 Huawei Technologies Co., Ltd. Resource configuration method, virtualized network function manager and network element management system
US10057112B2 (en) * 2016-03-24 2018-08-21 Ca, Inc. Fault detection of service chains in a SDN/NFV network environment
US9967136B2 (en) * 2016-03-28 2018-05-08 Dell Products L.P. System and method for policy-based smart placement for network function virtualization
US10491688B2 (en) * 2016-04-29 2019-11-26 Hewlett Packard Enterprise Development Lp Virtualized network function placements
EP3465458B1 (en) * 2016-05-26 2023-10-25 Netfoundry Inc. Mobile overlay virtual enterprise network and virtual internet for enterprises
US10361915B2 (en) * 2016-09-30 2019-07-23 International Business Machines Corporation System, method and computer program product for network function optimization based on locality and function type
US10469359B2 (en) * 2016-11-03 2019-11-05 Futurewei Technologies, Inc. Global resource orchestration system for network function virtualization
US20180191607A1 (en) * 2016-12-29 2018-07-05 Juniper Networks, Inc. Network service application and customer-aware virtualized network function placement
US20180288101A1 (en) * 2017-03-29 2018-10-04 Hewlett Packard Enterprise Development Lp Verifying that usage of virtual network function (vnf) by a plurality of compute nodes comply with allowed usage rights
US10514951B2 (en) * 2017-05-04 2019-12-24 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a stateless, deterministic scheduler and work discovery system with interruption recovery
US11010205B2 (en) * 2017-05-30 2021-05-18 Hewlett Packard Enterprise Development Lp Virtual network function resource allocation
US11909603B2 (en) * 2017-12-01 2024-02-20 Cisco Technology, Inc. Priority based resource management in a network functions virtualization (NFV) environment

Also Published As

Publication number Publication date
EP3438826B1 (en) 2022-08-31
EP3438826A1 (en) 2019-02-06
US10768963B2 (en) 2020-09-08
US20190034216A1 (en) 2019-01-31
CN109324869A (zh) 2019-02-12
US20200371831A1 (en) 2020-11-26
US11669358B2 (en) 2023-06-06

Similar Documents

Publication Publication Date Title
US20220147403A1 (en) Reducing overlay network overhead across container hosts
US10599484B2 (en) Weighted stealing of resources
US10108458B2 (en) System and method for scheduling jobs in distributed datacenters
CN107968810B (zh) 一种服务器集群的资源调度方法、装置和系统
CN103649910A (zh) 虚拟机放置
US11175948B2 (en) Grouping of tasks for distribution among processing entities
JP5121936B2 (ja) リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法
US10310884B2 (en) Virtual machine placement in a heterogeneous data center
US11651470B2 (en) Scheduling jobs on graphical processing units
CN104516769A (zh) 动态逻辑分区的验证
US9218198B2 (en) Method and system for specifying the layout of computer system resources
CN112748867A (zh) 用于存储管理的方法、电子设备以及计算机程序产品
CN112997156A (zh) 用于电子设计自动化操作的计算资源的动态分配
CN109324869B (zh) 在数据中心中的虚拟网络功能分配
CN114338694B (zh) 一站式云数据中心服务器调度方法及系统
CN108664324B (zh) 云服务实例分配的更新日志
US20200174885A1 (en) Write-balanced parity assignment within a cluster
US10628061B2 (en) Systems and methods for rebalancing striped information across multiple storage devices
CN112346861A (zh) 资源分配方法、装置、设备和超融合系统
US11016685B2 (en) Method and defragmentation module for defragmenting resources
US10942758B2 (en) Migrating virtual host bus adaptors between sets of host bus adaptors of a target device in order to reallocate bandwidth to enable virtual machine migration
US11855908B2 (en) Resource allocation in cloud computing systems
KR102248978B1 (ko) 다수 사용자의 분산 기계학습에서 평균 지연 속도 절감을 위한 자원 할당 방법 및 장치
CN112384898B (zh) 使用初始分布的快速、低存储器、一致哈希
US10412193B2 (en) Usage-aware standby service in a grid environment

Legal Events

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