CN110633170A - 本地化服务恢复 - Google Patents

本地化服务恢复 Download PDF

Info

Publication number
CN110633170A
CN110633170A CN201910428618.0A CN201910428618A CN110633170A CN 110633170 A CN110633170 A CN 110633170A CN 201910428618 A CN201910428618 A CN 201910428618A CN 110633170 A CN110633170 A CN 110633170A
Authority
CN
China
Prior art keywords
recovery
controller
failure
platform
hardware
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.)
Pending
Application number
CN201910428618.0A
Other languages
English (en)
Inventor
M·塔汉
J·J·布朗
E·沃尔什
T·维罗尔
R·布朗
E·L·福莱
S·贾殷
P·曼根
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN110633170A publication Critical patent/CN110633170A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • 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/45554Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
    • 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
    • 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
    • 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/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • 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/40Arrangements 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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/45575Starting, stopping, suspending or resuming 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/45587Isolation or security of 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/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/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)

Abstract

在一个示例中公开了一种计算装置,包括:包括硬件平台的本地平台;管理接口,其用于将本地平台通信地耦合到管理控制器;虚拟化基础结构,其用于在硬件平台上操作并提供本地虚拟化功能;以及恢复控制器,其用于在硬件平台上操作,并且被配置为:经由管理接口从管理控制器接收恢复策略,恢复策略包括用于处理虚拟化功能中的故障的信息;检测本地虚拟化功能中的故障;并且响应于检测到故障而实现恢复动作。

Description

本地化服务恢复
技术领域
本公开一般涉及数据中心和网络计算的领域,并且更具体地但非排他地,涉及用于提供本地化服务恢复(localized service resiliency)的系统和方法。
背景技术
在一些现代数据中心中,设备或装置的功能可以不与特定的、固定硬件配置相关联。相反,处理、存储器、存储和加速器功能在某些情况下可以从不同位置聚合以形成虚拟“复合节点”。现代网络可以包括托管大量通用硬件服务器设备的数据中心,所述硬件服务器设备包含在例如服务器机架中,并由管理程序控制。每个硬件设备可以运行虚拟设备的一个或多个实例,例如工作负载服务器或虚拟桌面。
附图说明
当结合附图阅读时,从以下详细描述中可以最好地理解本公开。需要强调的是,根据工业中的标准实践,各种特征不一定按比例绘制,并且仅用于说明目的。在明确地或隐含地示出比例的情况下,它仅提供一个说明性示例。在其他实施例中,为了清楚起见,可以任意增加或减少各种特征的尺寸。
图1是根据本说明书的一个或多个示例的没有本地化服务恢复的网络功能虚拟化(NFV)管理和编排的框图。
图2是根据本说明书的一个或多个示例的在没有本地化恢复服务的情况下提供服务恢复的流程图。
图3是根据本说明书的一个或多个示例的具有本地NFV恢复控制器的本地平台的框图。
图4a和图4b是根据本说明书的一个或多个示例的响应于硬件/可靠性、可用性和可服务性(RAS)/存储故障或虚拟资源故障而提供本地化NFV恢复的方法的流程图。
图5是根据本说明书的一个或多个示例的响应于虚拟交换故障而提供本地化恢复服务的流程图。
图6是根据本说明书的一个或多个示例的响应于平台管理连通性故障而提供本地化恢复服务的流程图。
图7是根据本说明书的一个或多个示例的硬件依赖图的框图。
图8是根据本说明书的一个或多个示例的托管在硬件依赖图上的虚拟网络功能的框图。
图9、图10a和图10b是根据本说明书的一个或多个示例的根据硬件依赖图采取的恢复动作的示例。
图11是根据本申请的一个或多个示例的具有网络连通性的数据中心的选择的组件的框图。
图12是根据本说明书的一个或多个示例的终端用户计算设备的选择的组件的框图。
图13是根据本说明书的一个或多个示例的软件定义网络(SDN)的框图。
图14是根据本说明书的一个或多个示例的NFV架构的框图。
图15是根据本说明书的一个或多个示例的计算平台的组件的框图。
具体实施方式
以下公开内容提供了用于实现本公开的不同特征的许多不同实施例或示例。以下描述组件和布置的具体示例以简化本公开。当然,这些仅仅是示例,而不是旨在限制性的。此外,本公开可以在各种示例中重复附图标记和/或字母。该重复是为了简单和清楚的目的,并且本身并不表示所讨论的各种实施例和/或配置之间的关系。不同的实施例可以具有不同的优点,并且任何实施例都不一定需要特定的优点。
当代数据中心或电信后端可以采用诸如软件定义网络(SDN)和网络功能虚拟化(NFV)之类的技术来提供数据中心的灵活性、可缩放性和恢复性。使用SDN和NFV,可以动态分配和缩放可用的硬件资源,以提供优化的网络平台。随着网络需求的变化,并且随着工作负载的变化,可以根据当前需求动态分配节点(例如,负载均衡器、防火墙、防病毒服务、深度分组检测(DPI)服务、路由器以及其他网络功能)。如果需求增加,可以分配更多资源,而如果需求下降,可以减少资源以节省电力和运营成本。
根据当代计算架构的分布式特性,管理和编排(MANO)系统可能不与其控制的节点在本地共同定位。例如,爱尔兰都柏林的数据中心可能根据加利福尼亚州旧金山的管理控制台提供的网络功能虚拟化基础结构(NFVI)定义提供网络服务。只要连通性保持鲁棒,世界上一部分中的节点由世界上另一部分中的管理系统控制就不会出问题。
然而,在严重的情况下,可以从其管理控制台切断本地数据中心。在这种情况下,本地平台可能不具有为在破坏持续时可能遇到错误的本地虚拟网络功能(VNF)提供恢复的方法。例如,在旧金山管理控制台管理都柏林数据中心的前一种情况下,任何一个地方的自然灾害都可能导致数据中心与管理控制台断开连接。如果自然灾害发生在数据中心区域,这可能会更成问题,因为可能期望该数据中心在自然灾害期间提供某些紧急服务。例如,某些司法管辖区合法地要求电信提供商维持指定的正常运行时间,并且即使在自然灾害的情况下也提供持久的紧急通信服务。如果数据中心无法访问管理控制台,则VNF中的错误可能会导致服务中断,这是不可接受的。更糟糕的是,面对如此自然灾害,本地数据中心遇到错误的可能性增加,因为某些设备可能会中断或损坏。因此,这个数据中心能够保持恢复更为重要。此外,在某些极端情况下,故障节点可能会开始“抖动”。当故障节点即使在其不再正常运行后仍继续尝试操作时,也会发生抖动。此故障节点可能会继续在其入口接口上接收分组,错误地处理这些分组,然后在其出口接口上发送垃圾。然后,这些垃圾可以传播到网络,并且在严重的情况下,单个失败的、抖动节点可以关闭整个网络。
因此,有利的是在本地硬件平台上提供本地恢复控制器,本地硬件平台可以根据从管理系统接收的恢复策略或其他指令来处理恢复功能。拥有本地恢复控制器不仅可以在发生灾难性灾难时提供恢复,而且即使在普通节点失败的情况下,本地化恢复控制器也可以比远程管理控制台更快地响应失败。
本说明书的本地恢复控制器使用多域感知恢复控制器在本地平台上最大化基于NFV的服务的可用性,以自动恢复平台上的服务,即使在管理系统不可用时也是如此。这里描述的恢复服务可以使用从管理系统接收的预加载的恢复策略。
这使得本地平台能够基于对针对NFV服务的本地物理域资源、虚拟资源和最佳恢复方法的了解来自动应用即时校正本地动作。有利地,本地恢复控制器可以具有可用本地资源的更详细或更直接的视图,并且因此,在一些情况下,本地恢复控制器能够定制恢复策略以在本地平台上最佳地工作。由于基于NFV的平台出现故障,本地恢复服务可以使中断时间和收入损失最小化。本地化的恢复服务还可以帮助确保符合针对服务正常运行时间的管辖要求,包括在自然灾害的事件中。
作为说明,典型的移动数据服务可能在一年中经历大约五次中断或服务恶化,这意味着每隔一个月大约一次。总体而言,尽管有几家运营商努力减少和计划此类中断,但这些中断可能会导致数十亿美元的收入损失。
平均电信服务提供商可以花费其年度收入的1.5%到5%修复网络问题。作为非限制性示例,这种中断的主要驱动因素包括拥塞、物理链路失败、过载和网络设备失败。如上所述,服务提供商通常可以采用MANO,其使用管理栈结合分析和能量管理系统(EMS)来检测和校正硬件问题。服务提供商还可以使用定制的专有代理,其可以在Big Iron装置或原始设计制造商(ODM)平台上使用,以帮助检测和校正硬件问题。此外,云服务提供商(CSP)可以使用专用硬件和软件解决方案来提供恢复。
然而,MANO可能无法检测和关联物理和虚拟故障。MANO和其他现有本地平台控制器可能无法将物理域和虚拟域成功关联到适当的故障和资源域以触发校正操作。
此外,远程MANO可能不足以响应以满足延迟需求。例如,电信装置可以具有回复恢复方案,该方案要求在10毫秒到最多1秒之间恢复服务。当平台中出现新的故障域时,破坏这些恢复时间可能需要新颖的方法,包括管理程序、虚拟交换机和虚拟资源。
一些现有解决方案也不提供特定于服务的恢复。本地平台控制器可能未配置有特定于由在平台上部署的VNF提供的服务的恢复策略。
在管理中断期间提供生存性也是有利的。如果管理系统(例如MANO)失败,则可能需要继续提供最佳可能服务,直到中央管理恢复为止。如果未能超越服务的最低本地标准,或在失去与MANO的连通性期间继续提供恢复,可能会导致服务提供商受到处罚,或者监管机构组织未能满足广告可用性和速度基准的行动。
可缩放性也是一个问题。一些现有的NFV系统可能缺乏可缩放的恢复,以提供最佳的本地动作来处理在自然灾害或拒绝服务攻击期间可能发生的广泛故障的风暴。可缩放性问题可能适用于多个单一平台,如传统系统和分解系统,如机架扩展架构(RSA)和机架扩展设计(RSD)。
上面讨论的定制专有代理还可能缺乏在平台上运行的虚拟域的视图,以及这些硬件失败如何影响在平台上运行的VNF。
此外,虽然云服务已经提供了尝试解决这些问题的解决方案,但它们至少在某些情况下无法满足核心电信基础结构的运营商级要求,例如“五个九”(通常定义为99.999%)可靠性。
在本说明书的示例中,本地恢复服务由本地恢复控制器提供。本地恢复控制器操作管理接口以通信地耦合到管理系统,例如操作支持系统、业务支持系统(BSS)、MANO或类似物,以接收恢复策略或其他类似指令。本地恢复控制器在平台上预加载恢复策略,并且因此准备处理物理故障、虚拟故障和连通性故障,可以针对每个VNF唯一地标识这些故障。如果发生故障,恢复控制器会基于针对NFV服务的本地物理域资源、虚拟资源和最佳可用恢复方法来自动地应用即时校正本地操作。然后,恢复控制器可以操作管理接口以向管理系统通知所采取的恢复动作。注意,通知可以经由管理接口上的单向消息,其中单向消息是可以接收但不需要来自管理控制器的确认或响应的消息。有利地,如果丢失与管理控制器的连通性,则该单向消息本身不会成为瓶颈。
本说明书的恢复控制还区分故障域并提供用于处理管理连通性、虚拟交换机连通性、物理资源失败和虚拟资源失败的策略。恢复控制器还可以识别虚拟资源行为、拒绝服务行为和过程行为,并且可以在没有管理干预的情况下减轻这些行为。
此外,本说明书的恢复控制器可以检查恢复动作的结果,并确定恢复动作是否成功。如果恢复操作不成功,则本地恢复控制器可以在管理接口上向管理控制器通知单向消息,然后可以将受影响的服务置于故障保护模式。作为示例,将受影响的服务或节点置于故障保护模式可以包括禁用受影响节点的一个或多个出口端口(硬件出口端口或虚拟出口端口),以确保该节点不能开始抖动并且负面地影响网络中的其他节点。
诸如由英特尔或类似设备提供的硬件平台的当代计算平台可以包括用于监视设备性能和做出关于资源供应的决定的能力。例如,在诸如可以由CSP提供的大型数据中心中,硬件平台可以包括具有计算资源的机架式服务器,所述计算资源诸如处理器、存储器、存储池、加速器和其他类似资源。
作为非限制性示例,如在本说明书中使用的,处理器包括具有指令集的任何可编程逻辑设备。处理器可以是实际的或虚拟的、本地的或远程的,或任何其他配置。作为非限制性示例,处理器可以包括
Figure BDA0002068267380000061
处理器(例如,CoreTM
Figure BDA0002068267380000063
x86或其他)。处理器还可以包括竞争处理器,例如AMD(例如,Kx系列x86等,或Athlon、Opteron或Epyc系列Xeon等)、ARM处理器或IBM PowerPC和Power指令集架构(ISA)处理器,以仅举几例。
如本文所使用的,“云计算”包括网络连接的计算资源和技术,其使得能够普遍(通常是全球)访问数据、资源和/或技术。云资源通常特征在于很大的灵活性以根据当前工作负载和需求来动态分配资源。这可以例如经由虚拟化来实现,其中诸如硬件、存储和网络的资源经由软件抽象层被提供给虚拟机(VM)。
如在本公开中使用的,VM是计算设备内的隔离分区,其允许操作系统和独立于包含它的设备上的其他程序的其他应用的使用。容器化是一种提供系统资源的方法,其中网络功能的实例在“容器”中提供,这些容器彼此分离,但是共享底层操作系统、存储器和驱动器资源。VM、容器以及类似物可以统称为“访客”系统。
现在将更具体地参考所附的附图来描述用于提供本地化服务恢复的系统和方法。应当注意,在整个附图中,可以重复某些附图标记以指示特定设备或块在附图中完全或基本一致。然而,这并不意味着暗示所公开的各种实施例之间的任何特定关系。在某些示例中,一类元素可以通过特定的附图标记(“小部件10”)来引用,而该类的各个种类或示例可以通过带连字符的数字(“第一特定小部件10-1”和“第二特定小部件10-2”)指代。
图1是根据本说明书的一个或多个示例的没有本地化服务恢复的网络功能虚拟化(NFV)管理和编排的框图。
图1的框图示出了可以根据现有或已知方法发生的管理和编排。请注意,本说明书的本地恢复服务不一定取代现有的管理基础结构,而是可以通过提供本地化的恢复服务来补充该基础结构,这些本地化的恢复服务可以比远程恢复服务以更少的延迟操作,并且可以继续操作,即使在管理接口失败的事件中。
在图1的示例中,NFV 118在包括硬件资源136的本地节点上运行。作为说明性和非限制性示例,硬件资源136可以包括计算硬件140、存储硬件144和网络硬件148。硬件资源136操作虚拟化层132,虚拟化层132然后向NFVI 118提供虚拟资源130。虚拟资源130可以包括虚拟计算120、虚拟存储124和虚拟网络128。使用这些虚拟资源130,NFVI 118可以实例化一个或多个虚拟机,所述虚拟机可根据网络需求提供一个或多个VNF。
NFVI 118可以提供VNF架构114。作为非限制性示例,VNF架构114可以包括多个EMS112。这些EMS可以包括,即EMS 1 112-1、EMS 2 112-2和EMS 3 112-3。VNF架构114还可以提供多个VNF 116,在该示例中即VNF 1 116-1、VNF 2 116-2和VNF 3 116-3。
NFVI 118可以由虚拟化基础结构管理器150管理。注意,虽然虚拟化基础结构管理器150在该示例中被示为NFV MANO 180的一部分,但虚拟化基础结构管理器150可能不一定与NFV MANO 180的其余部分共同定位。相反,虚拟化基础结构管理器150可以是提供本地化基础结构管理的本地软件服务。相反,VNF管理器154和编排器160在某些情况下可以是NFVMANO 180的远程资源。这里还示出了操作支持系统/业务支持系统(OSS/BSS)104,其可以将服务、VNF和基础结构描述108提供给NFV MANO 180。
出于本说明书的目的,OSS/BSS 104和NFV MANO 180可以被联合考虑为管理系统,并且NFVI 118经由管理接口通信地耦合到管理系统。作为非限制性示例,该管理接口可以是专用硬件管理接口、以太网或其他网络连接,或允许NFVI 118与管理系统通信的任何其他数据或通信接口。
管理系统可以具有若干职责,包括MANO和NFV MANO,并且在该示例中被分解为三个功能块。
编排器160负责新网络服务和VNF封装的入门。根据本说明书的示例,编排器160还可以处理网络服务生命周期管理、全局资源管理以及NFVI资源请求的验证和授权。
VNF管理器154可以负责监督VNF实例的生命周期管理、协调和调整用于配置的角色以及NFVI和企业网络管理系统(E/NMS)之间的事件报告。
虚拟化基础结构管理器(VIM)150可以负责控制和管理NFVI计算、存储和网络资源。
如上所述,当NFVI 118不能经由管理接口到达管理系统时可能发生困难。此外,即使当NFVI 118可以经由管理接口到达管理系统时,对故障的响应也可能相对较慢。
例如,图1中示出了错误流程。在操作1,在NFVI 118内发生故障。在该示例中,故障被示为网络硬件148的失败,但是故障可以是任何故障,包括在硬件资源136、虚拟资源130内或在任何VNF 116内。
NFVI 118向虚拟化基础结构管理器150通知故障。在操作2,虚拟化基础结构管理器150向VNF管理器154查询对操作1中识别的故障的解决方案。
在操作3,VNF管理器154向编排器160查询针对故障的解决方案。
在操作4,编排器160查询其内部恢复策略以识别针对遇到的故障的解决方案。然后,编排器160向VNF管理器154提供解决方案。
作用于由编排器160提供的恢复策略的VNF管理器154然后在VNF架构114上操作以实现恢复动作以减轻该问题。
图2是根据本说明书的一个或多个示例的在没有本地化恢复服务的情况下提供服务恢复的流程图。
方法200示出了当本地恢复服务不可用时可以在图1的图示中提供的远程恢复。
在框204中,VNF正在提供VNF服务。
然而,VNF可能遇到问题。例如,VNF可以具有特定的可靠性、可用性和可服务性(RAS)目标。RAS目标可以包括,例如,在时间窗口内产生正确输出的要求,在时间窗口内操作一定时间百分比的要求,以及修复或维护的简单性或速度。在框208中,例如,这可以是硬件故障、RAS故障或连通性故障。可替换地,在框212中,VNF可能遇到虚拟资源/虚拟交换机/虚拟网络/虚拟计算或存储故障。
然后,块216和220的操作在管理系统上进行,管理系统可以远离本地系统。
在框216中,NFVI通知管理和分析系统。
在框220中,管理系统识别用于缓解问题的优选恢复动作,然后指示本地平台基于服务类型和故障严重性采取校正动作。
在框224中,可以恢复VNF服务。在页面连接器1上,返回到框204,VNF然后可以继续提供其服务。
图3是根据本说明书的一个或多个示例的具有本地NFV恢复控制器的本地平台的框图。
在图3的示例中,本地平台300包括硬件平台304,诸如网络,计算的物理资源和存储资源308,诸如虚拟网络、计算和存储资源之类的虚拟资源312、VNF 316以及虚拟交换机(VSwitch)318。另外,提供遥测代理380。遥测代理380收集关于本地平台300的遥测和故障信息,并向恢复控制器320提供遥测。
作为非限制性示例,本地平台300的遥测可以包括关于硬件和/或软件失败、带宽、拥塞、RAS因素、正常运行时间、停机时间、启动时间、瓶颈、资源的超额订购、资源的取消订阅或在应用恢复政策时可能有价值的任何其他相关因素的信息。
本地平台300还经由NFV恢复控制器320提供NFV恢复服务。
NFV恢复控制器320是本地恢复控制器,其可以包括,作为非限制性示例,用于在硬件平台304上操作的软件、可以在专用协处理器、固件或硬件设备(诸如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其他专用硬件模块)上操作的软件。在一些示例中,可以在集成电路或片上系统(SoC)中提供本地平台300的全部或部分,在这种情况下,NFV恢复控制器320可以被提供为专用知识产权(IP)块。
在本公开的一些实施例中,恢复控制器可以在中央处理单元(CPU)复合体上的软件中、在创新引擎(IE)、
Figure BDA0002068267380000102
管理引擎(ME)、FPGA、ASIC或专用硬件IP块上实现。
CPU复合体之外的硬件实现具有一些优点,包括恢复控制器与软件故障隔离,并且恢复控制器受到保护,以免受可能停止CPU的不可恢复的机器检查架构(MCA)事件的影响。在恢复控制器320在操作核心上以软件实现的情况下,可以采取其他步骤来保护恢复控制器320免受软件故障的影响。这些包括将恢复控制器320置于高度特权的程序特权环中,或者甚至将其置于独立地或在主操作系统软件外部操作的软件中,作为非限制性示例。
在恢复控制器320在CPU复合体中实例化的情况下,可恢复控制器可以处理可恢复的MCA事件。但是,为了防止“3次攻击”或不可恢复的MCA事件,可以使用非复杂的恢复控制器。
可恢复的MCA事件的示例包括,作为非限制性示例:
a.处理器RAS特征包括纠错码(ECC)和奇偶校验、CDCM、
Figure BDA0002068267380000104
Figure BDA0002068267380000103
快速路径互连(QPI)修复、校正机器检查中断(CMCI)和CPU热添加。
b.存储器RAS特征包括存储器需求、动态随机存取存储器(DRAM)、单设备数据校正(SDDC)、存储器镜像、可缩放存储器互连(SMI)可靠性和故障双列直插式存储器模块(DIMM)。
c.其他,包括坏页面、缓存错误、输入/输出(I/O)错误和热事件。
d.PCIe规范中定义的RAS功能。
e.可在大多数Linux发行版中使用的高级错误报告(AER)和高级错误报告和恢复(AERR)。
此外,在一些情况下,硬件平台304可以包括一个或多个核,并且NFV恢复控制器320可以包括到核架构中的钩子,诸如核心中的微码,其被专门设计用于处理NFV恢复控制器320的功能。
NFV恢复控制器320可以被配置为扫描本地平台300的硬件以建立硬件拓扑连接图。图7中示出了硬件拓扑连接图的图示。NFV恢复控制器320可以从VNF 316和vSwitch 318接收遥测和故障数据。它还可以从物理资源308和虚拟资源312接收遥测和故障数据。来自管理系统340,NFV恢复控制器320可以接收恢复策略,以及VNF描述符和网络服务描述符。在适当的时候,NFV恢复控制器320可以经由管理接口342与管理系统340通信。在一些情况下,与管理接口342上的管理系统340的通信可以包括单向通信,意味着可以接收但不需要来自管理系统340的确认和响应的通信。在经由管理接口342与管理系统340的连通性不确定的情况下,这种单向通信可能是重要的,允许恢复控制器320向管理系统340提供通知,同时防止这些通信成为瓶颈。因为恢复控制器320等待可能会或可能不会出现的响应。
作为说明性示例,NFV恢复控制器320接收、存储和执行以下内容:
a.来自管理系统的针对在平台上运行的VNF的放置策略。这允许NFV恢复控制器320将虚拟域元素添加到在其硬件扫描期间建立的硬件图。
b.NFVI管理政策。
c.VNF生命周期管理政策。
d.经由管理接口342从管理系统推送到其的恢复策略。
e.经由管理接口342从管理系统(例如集中式MANO)推送的其他管理策略。
f.如果策略应用程序由于某种原因失败,则向中央管理系统发出信号,使得MANO可以根据需要调整策略。注意,这种信号可以是单向通信。
NFV恢复控制器320还可以针对多个故障域物理资源、虚拟资源、虚拟交换和管理接口(不管与管理系统340的连通性)执行本地校正动作。此校正动作可能包括从拒绝服务攻击和软件故障中恢复。
有利地,本地NFV恢复控制器320在更好地满足要求的时间帧(包括电信正常运行时间要求)内提供失败的立即补救或管理策略的应用。因此,通过快速应用VNF管理策略可以最大限度地减少服务停机时间。当运营商希望将OSS/BSS的各个方面外包到云域时,这变得更加有利。请注意,许多关键任务电信服务要求故障检测和在10到50毫秒的范围内的校正时间。当恢复控制驻留在场外时,这可能很难实现。
在管理系统340失败或到管理系统340的连接失败的情况下,可以避免完全网络失败,因为受管理的网络元件可以根据恢复控制器320继续利用适当的策略和动作来操作。如果主MANO失败,本地平台300也可以利用辅助或备用MANO接口来配置。
这还实现平台上的服务特定的故障保护行为。当NFV恢复控制器320采取恢复动作时,例如在VNF 316上,它可以检查结果以确保动作成功。如果动作不成功,则恢复控制器320可以将VNF 316置于故障保护模式,其可以包括禁用一个或多个出口端口以确保VNF316不将垃圾分组喷出(spew)到网络并且可能使其他节点关闭。这可以通过将平台和服务置于良好的可恢复状态来防止下游聊天并实现更快的系统恢复。
NFV恢复控制器320还可以被配置为从诸如网络失败或管理电源失败之类的事件中存活或恢复。
在网络失败的事件中,可以通过由网络接口卡(NIC)提供的遥测和故障来通知恢复控制器320,如图3中在框308和框320之间所示。恢复控制器320然后可以采取由管理系统340先前提供的网络失败策略定义的动作。例如,网络失败恢复动作可以是切换网络端口并允许辅助端口充当管理接口342。
在电源失败恢复的事件中,可以通过在恢复时读取操作系统(OS)系统日志来向恢复控制器320通知意外关闭。此日志可以包含停电时的崩溃指示或意外关闭状态指示。然后,恢复控制器320可以采取经由管理接口342由管理系统340先前提供的NFVI电源失败恢复策略所定义的动作。
注意,在各种实施例中,管理系统340和恢复控制器320可以具有不同的职责。
管理系统340可以与针对标准VNF的模板一起工作,并且向用户给予用于从现有的NFVI资源中挑选和选择以部署他们的平台或元素的能力。管理系统340向恢复控制器320通知VNF部署和生命周期变化(例如,从平台添加或移除的VNF)。
管理系统340还选择和部署恢复策略、VNF策略和NFVI策略,并且经由管理接口342将这些策略提供给恢复控制器320。可以选择这些以匹配在本地平台300上选择和部署的VNF的服务等级协议(SLA)。
恢复控制器320负责生成和维护拓扑硬件依赖图。NFVI恢复控制器320经由管理接口342接收并存储由管理系统340提供的恢复策略、VNF策略和NFVI策略,并将硬件资源与作为管理系统生命周期管理的一部分部署的VNF相关联。恢复控制器320连续监视本地平台300上的故障域。在检测到故障域中的一个中的故障时,恢复控制器320触发针对相关联的VNF的相关联的恢复策略动作。
在与NFVI域(例如,vSwitch或管理接口)相关联的故障的情况下,恢复控制器320触发针对该故障域的相关联的NFVI恢复策略。
图4a和图4b是根据本说明书的一个或多个示例的响应于硬件/可靠性、可用性和可服务性(RAS)/存储故障或虚拟资源故障而提供本地化NFV恢复的方法的流程图。
从框404开始,VNF根据其指定的网络功能提供服务。
在框408中,VNF遇到硬件、RAS或存储故障。可替换地,在页面连接器1至图4b之后,VNF可能遇到虚拟资源故障,例如虚拟计算或存储故障。
在框408的硬件故障的路径之后,在框412中,恢复控制器识别与硬件故障相关联的VNF。
在框416中,恢复控制器基于例如VNF标识、针对VNF的NFVI、故障类型和故障的严重性来触发针对VNF的恢复策略动作。
在框420中,恢复控制器采取恢复动作。在一些实施例中,这可以包括根据需要来重新启动VNF。
在框424中,恢复控制器向管理系统通知所采取的恢复动作。如先前附图中所描述的,这可以是单向消息,其确保通知本身不会成为瓶颈。在判定框428中,恢复控制器确定尝试的恢复动作是否已成功修复VNF。如果修复成功,则返回到框404,VNF继续提供其服务。
返回到框428,如果修复不成功,则在框490,恢复控制器可以采取VNF特定的故障保护动作。这可以包括,例如,将VNF置于故障保护模式,在故障保护模式中一个或多个出口端口被禁用,从而防止下游抖动。在框424中,VNF处于故障保护模式并且该方法完成。
返回到页面连接器1,在图4b中,VNF遇到虚拟资源故障,例如虚拟计算或虚拟存储故障。
在框448中,恢复控制器识别相关联的VNF。
在框452中,恢复控制器基于例如如在NFVI中定义的VNF标识、故障类型和故障严重性来触发针对VNF的恢复策略动作。
在框456中,恢复控制器采取恢复动作。必要时,这可能包括重新启动VNF。在块460中,恢复控制器向管理系统通知恢复动作。这可以通过单向消息来完成。然后,控制然后到页面连接器2,返回到框424。在框424,向管理系统通知恢复动作,恢复动作也可以通过单向消息传送。在判定框428中,恢复控制器确定动作是否成功。如果动作成功,则在框404,VNF继续提供其服务。
如果恢复动作不成功,则在框490,恢复控制器采取VNF特定的故障保护动作。这可能包括禁用出口端口以避免下游抖动。
在框494中,VNF处于故障保护模式并且该方法完成。
图5是根据本说明书的一个或多个示例的响应于虚拟交换故障来提供本地化恢复服务的流程图。
在框504中,vSwitch正在提供其虚拟交换服务。在框508中,vSwitch遇到虚拟交换故障。
在框512中,响应于虚拟交换故障,恢复控制器触发针对vSwitch的恢复策略动作。这可能取决于vSwitch的标识、故障类型和故障严重性。
在框516中,恢复控制器采取恢复动作,其可以包括在必要时重新启动vSwitch。
在框520中,恢复控制器向管理系统通知恢复动作。如在先前的示例中,这可以包括单向消息。
在判定框528中,恢复控制器确定恢复动作是否成功。如果恢复动作成功,则在框504,vSwitch继续提供其虚拟交换服务。
在框528中,如果恢复动作不成功,则在框532中,恢复控制器采用vSwitch特定的故障保护动作。这可以包括禁用vSwitch的入口或出口端口,还可以包括将vSwitch标记为不可用,使得系统中的节点不会尝试使用vSwitch。在块594中,vSwitch处于故障保护模式,并且该方法完成。
图6是根据本说明书的一个或多个示例的响应于平台管理连通性故障而提供本地化恢复服务的流程图。
在框604中,恢复控制器具有到平台管理系统或其他管理系统的良好管理接口连接。
在框608中,恢复控制器经历平台管理连通性故障。
在框612中,连接性故障触发针对平台管理接口的恢复策略动作。这可能取决于故障类型和故障严重性。
在框616中,恢复控制器响应于失败而采取恢复动作。必要时,这可能包括端口切换或其他端口重新配置以重新获得与管理系统的连通性。
在框620中,恢复控制器尝试向管理系统通知恢复动作。和以前一样,这可能是单向消息。在这个实例中,使用单向消息特别有用,因为识别的故障在管理接口本身中。因此,如果系统等待来自管理系统的确认或响应,则在这种情况下通知成为瓶颈存在更高的危险。
在框624中,恢复控制器确定其是否已成功地与平台管理系统重新连接。如果重新连接成功,则在框604中,连接平台管理系统。
如果重新连接不成功,则在框628中,恢复控制器可以采取管理接口特定的故障保护动作。这可以包括禁用端口,或者简单地返回到自治本地模式,其中恢复控制器根据接收的最后管理策略继续管理VNF,直到与管理系统重新建立连通性。
在框694中,管理接口处于故障保护模式,并且该方法完成。
图7是根据本说明书的一个或多个示例的硬件依赖图的框图。在一些示例中,硬件依赖图700可以由恢复控制器(例如图3的恢复控制器320)生成。
硬件依赖图700以根节点702开始,根节点702可以例如表示诸如图3的本地平台300之类的本地平台。根702可以被划分为两个或更多个非均匀存储器存取(NUMA)节点704,这种情况特别是NUMA节点0和NUMA节点1。NUMA架构可以为每个处理器提供例如单独的存储器,如果多个处理器同时尝试访问单个存储器地址这可以帮助改善可能发生的性能损失。
每个NUMA节点704可以被划分为多个组件,诸如DIMM 708、PCIe设备712、CPU 716和最后一级高速缓存(LLC)720。
例如,NUMA节点0包括存储存储体DIMM 0至DIMM N,以及PCIe设备x。NUMA节点0还包括多个CPU,即CPU 0到CPU N。CPU 0到CPU N可以共享LLC 0。注意,虽然在NUMA节点0中示出了单个PCIe设备712,即PCIe设备x,但这是仅作为非限制性和说明性示例,并且可以在适合于该实施例的任何NUMA节点704上提供多个PCIe设备。
NUMA节点1包括CPU N+1到CPU M,其共享LLC N。NUMA节点1还包括PCIe设备y,以及存储存储体DIMM N+1到DIMM M。
硬件依赖图700允许恢复控制器300(图3)跟踪哪些硬件设备彼此依赖。这可以使恢复控制器跟踪硬件故障。
图8是根据本说明书的一个或多个示例的托管在硬件依赖图上的虚拟网络功能的框图。
图8示出了可以通过还绘制哪些VNF 804托管在哪些硬件平台上来扩展硬件依赖图700。例如,在图8的示例中,VNF 1托管在CPU 0上,并且还被分配了PCIe设备x。
类似地,VNF 2托管在CPU M上,并且被分配PCIe设备y。
注意,在该示例中,每个VNF 804托管在单个CPU 716上,并且被分配单个PCIe设备712,但是这仅是非限制性和说明性示例。在许多情况下,多个VNF可以托管在单个CPU上,而在其他情况下,VNF可以被分配多个CPU。此外,VNF 804在0和平台支持的最大数量的PCIe设备之间可以具有任意数量的PCIe设备712。
还应注意,硬件依赖图700上的某些硬件元件的图示是非限制性和说明性示例。硬件依赖图700上的某些硬件元件的图示并不意味着所有这些元件都需要存在于每个硬件平台中,并且还应该理解,一些平台还将托管其他硬件元件,例如加速器、协处理器、以及可经由其他总线类型连接的外围设备。
作为说明,VNF 1可以是虚拟防火墙,而VNF 2可以是虚拟路由器。
在正常操作条件下,VNF 1和VNF 2的状态都是“绿色”。每个VNF绑定到硬件平台上的插槽。例如,这两个VNF可以经由两个插槽之间的
Figure BDA0002068267380000162
Figure BDA0002068267380000161
快速路径互连(QPI)链路传递信息。如图8所示,托管在本地硬件平台上的恢复控制器820(例如,在与根702相同的逻辑级别)可以经由管理接口与诸如MANO的管理系统通信,并且还可以具有本地遥测接口,用于与本地遥测代理832通信。
硬件依赖图700可用于解决检测和关联物理和虚拟故障的问题。例如,CPU M和CPU0之间的QPI失败可能导致两个VNF 804之间的带宽减半。这导致状态“红色”,从而导致警告。从MANO中心的角度来看,它似乎只是VNF性能的下降。MANO可能无法将硬件QPI失败与VNF性能下降或SLA违规相关联。但是,恢复控制器820可以经由遥测代理830接收关于QPI链路的失败的信息。因此,恢复控制器820可以利用对硬件拓扑的详细视图或洞察来解决该问题,包括将虚拟域(即,VNF 804)映射到它们运行在其上的特定硬件。恢复控制器820还经由管理系统提供给它的NFVI策略来理解什么是健康平台以及什么不是健康平台。
可以将在平台上实例化的针对VNF 804的VNF放置策略从管理系统推送到恢复控制器820。传递到恢复控制器820的策略的另一部分可以包括VNF监视参数。作为非限制性示例:
monitoring_parameter:{
Name:{presence:required,value:CPU-utilization,},
Value:{presence:required,
Action:[60,down,CPU_Low,Scale_Down_Action],
Action:[85,up,CPU_High,Scale_Up_Action]
}
}
特定策略的应用在图9、图10a和图10b中示出。
图9、图10a和图10b是根据本说明书的一个或多个示例的根据硬件依赖图采取的恢复动作的示例。
转到图9,示出了恢复控制器820可以使用硬件依赖性图700来解决特定硬件失败。在这种情况下,CPU 0所依赖的DIMM N变坏。这可能包括DIMM的完全失败,或性能下降,例如特定存储器块的失败或其他部分失败。DIMM N的失败导致NUMA节点0的失败。这继而影响VNF 1的性能,在该示例中VNF 1是虚拟防火墙。
因为恢复控制器820可以访问针对VNF 1的放置需求和生命周期管理策略,所以它能够将失败隔离到NUMA节点0。恢复控制器820还可以知道硬件平台的容量,并且可以确定将VNF 1切换到NUMA节点1是可行的。有利地,恢复控制器820能够在针对VNF 1发生任何明显的性能影响之前将VNF 1迁移到NUMA节点1。
图10a和图10b示出了根据本说明书的一个或多个示例的放大动作的示例。当恢复控制器820识别出VNF 1已经超过CPU 0上的CPU使用的阈值时,可以发生图10a和图10b的放大动作。具体地,恢复控制器820确定CPU 0以90%的容量运行。恢复控制器820先前经由管理接口接收管理策略。管理策略指定当CPU超过85%利用率时,恢复控制器820将采取放大动作。因此,如图10b所示,恢复控制器820将CPU 0和CPU N分配给VNF 1。因为VNF 1现在具有分配给它的两个CPU,所以每个CPU仅使用45%。请注意,管理策略还指定利用率低于60%的CPU未得到充分利用。但是,恢复策略820包括足够的智能来确定尽管两个CPU未充分利用45%,但是解除分配CPU中的一个将导致剩余的CPU过度使用90%。因此,恢复控制器820不为VNF 1解除分配CPU。然而,恢复控制器820可以确定一个或两个CPU具有足够的剩余容量以使它们可以托管一些其他VNF或其他虚拟功能。特别是,可以在任一CPU上额外托管轻量级VNF,这允许两个CPU实现最佳利用。
图11是根据本说明书的一个或多个示例的具有到CSP 1102的网络1100的连通性的数据中心的选择的组件的框图。根据本说明书的教导,本文公开的网络1100的实施例可以被适配或配置为提供用于提供本地化服务恢复的方法。作为非限制性示例,CSP 1102可以是传统的企业数据中心、企业“私有云”或“公共云”,其提供诸如基础结构即服务(IaaS)、平台即服务(PaaS)的服务,或软件即服务(SaaS)之类的服务。在一些情况下,CSP 1102可以代替云服务或者除了云服务之外还提供高性能计算(HPC)平台或服务。实际上,虽然没有明确相同,但HPC集群(“超级计算机”)可以在结构上类似于云数据中心,并且除非明确指出,否则本说明书的教导可以应用于任一种。
CSP 1102可以提供一些数量的工作负载集群1118,其可以是各个服务器、刀片服务器、机架式服务器或任何其他合适的服务器拓扑的集群。在该说明性示例中,示出了两个工作负载集群1118-1和1118-2,每个工作负载集群在机架1148中提供机架装配服务器1146。
在该图示中,工作负载集群1118被示为符合机架单元(“U”)标准的模块化工作负载集群,其中可以构建19英寸宽的标准机架以容纳42个单元(42U),每个高1.75英寸,深约36英寸。在这种情况下,诸如处理器、存储器、存储装置、加速器和交换机之类的计算资源可以适合从1到42的多个机架单元。
每个服务器1146可以托管独立操作系统并提供服务器功能,或者服务器可以被虚拟化,在这种情况下,它们可以在虚拟机管理器(VMM)、管理程序和/或编排器的控制下,以及可以托管一个或多个虚拟机、虚拟服务器或虚拟装置。这些服务器机架可以并置在单个数据中心中,或者可以位于不同的地理数据中心中。取决于合同协议,一些服务器1146可以专门用于某些企业客户或租户,而其他服务器或租户可以共享。
数据中心中的各种设备可以经由交换结构1170彼此连接,交换结构1170可以包括一个或多个高速路由和/或交换设备。交换结构1170可以提供“南北”业务(例如,往返于广域网(WAN)(例如,互联网)的业务)和“东西向”业务(例如,跨数据中心的业务)。从历史上看,南北业务占网络业务的大部分,但随着网络服务变得越来越复杂和分布,东西向交通量也在增加。在许多数据中心,东西向交通现在占据了大部分业务。
此外,随着每个服务器1146的能力增加,业务量可能进一步增加。例如,每个服务器1146可以提供多个处理器插槽,每个插槽容纳具有四到八个核的处理器,以及用于核的足够存储器。因此,每个服务器可以托管多个VM,每个VM生成其自己的业务。
为了适应数据中心中的大量业务,可以提供高性能的交换结构1170。在该示例中,交换结构1170被示为“扁平”网络,其中每个服务器1146可以直接连接到架顶式(ToR)交换机1120(例如,“星形”配置),并且每个ToR交换机1120可以耦合到核心交换机1130。这种双层扁平网络架构仅作为说明性示例示出。在其他示例中,可以使用其他架构,通过非限制性示例,例如基于“Clos”架构的三层星形或叶脊(也称为“胖树”拓扑)、中心辐射拓扑、网状拓扑、环形拓扑,或者三维网格拓扑。
结构本身可以由任何合适的互连提供。例如,每个服务器1146可以包括
Figure BDA0002068267380000201
主机结构接口(HFI)、NIC、主机通道适配器(HCA)或其他主机接口。为了简单和统一,这些可以在整个说明书中称为“主机结构接口”(HFI),其应该广义地解释为将主机通信地耦合到数据中心结构的接口。HFI可以经由互连或总线(例如,PCI、PCIe等)耦合到一个或多个主机处理器。在一些情况下,该互连总线以及其他“本地”互连(例如,核心到核心的超级路径互连)可以被认为是结构1170的一部分。在其他实施例中,超级路径互连(UPI)或其他本地一致性互连可以被视为处理器复合体的安全域的一部分,因此不是结构的一部分。
互连技术可以由单个互连或混合互连提供,例如其中PCIe提供片上通信、1Gb或10Gb铜以太网提供到ToR交换机1120的相对短的连接,并且光缆提供到核心交换机1130的相对较长的连接。作为非限制性示例,可以在数据中心中找到的互连技术包括
Figure BDA0002068267380000202
Omni-PathTM架构(OPA)、TrueScaleTM、UPI(以前称为QPI或KTI)、光纤通道、以太网,通过以太网的光纤通道(FCoE)、InfiniBand、PCI、PCIe或光纤,仅举几例。结构可以是高速缓存一致性和存储器一致性、高速缓存非一致性和存储器非一致性,或者是一致性和非一致性互连的混合。某些互连对于某些目的或功能比其他互连更受欢迎,并且为本申请选择适当的结构是本领域技术人员的惯用手段。例如,OPA和Infiniband通常用于HPC应用,而以太网和光纤通道在云数据中心中更受欢迎。但这些示例明显是非限制性的,并且随着数据中心的发展,结构技术也在不断发展。
注意,虽然本文通过说明的方式提供了诸如OPA的高端结构,但更一般地,结构1170可以是用于特定应用的任何合适的互连或总线。在某些情况下,这可能包括传统互连,如局域网(LAN)、令牌环网络、同步光网络(SONET)、异步传输模式(ATM)网络、无线网络,如WiFi和蓝牙、“普通老式电话系统“(POTS)互连或类似的。还明确地预期,在将来,将出现新的网络技术以补充或替换这里列出的那些中的一些,并且任何这样的未来网络拓扑和技术可以是或形成结构1170的一部分。
在某些实施例中,结构1170可以在各种“层”上提供通信服务,如最初在开放系统互连(OSI)七层网络模型中概述的那样。在当代实践中,严格遵循OSI模型。一般而言,第1层和第2层通常称为“以太网”层(尽管在某些数据中心或超级计算机中,以太网可能会被更新的技术取代或补充)。层3和4通常被称为传输控制协议/互联网协议(TCP/IP)层(其可以进一步细分为TCP和IP层)。层5-7可以被称为“应用层”。这些层定义被公开为有用的框架,但是旨在是非限制性的。
图12是根据本说明书的一个或多个示例的终端用户计算设备1200的选择的组件的框图。根据本说明书的教导,本文公开的计算设备1200的实施例可以被适配或配置为提供用于提供本地化服务恢复的方法。如上所述,计算设备1200可以适当地提供云服务、HPC、电信服务、企业数据中心服务或受益于计算设备1200的任何其他计算服务。
在该示例中,提供结构1270以互连计算设备1200的各个方面。结构1270可以与图11的结构1170相同,或者可以是不同的结构。如上所述,结构1270可以通过任何合适的互连技术提供。在此示例中,
Figure BDA0002068267380000211
Figure BDA0002068267380000212
Omni-PathTM用作说明性和非限制性示例。
如图所示,计算设备1200包括形成多个节点的多个逻辑元件。应该理解,每个节点可以由物理服务器、一组服务器或其他硬件提供。每个服务器可以根据其应用适当地运行一个或多个虚拟机。
节点0 1208是包括处理器插槽0和处理器插槽1的处理节点。处理器可以是例如具有多个核的
Figure BDA0002068267380000213
XeonTM处理器,例如4或8个核。节点01208可以被配置为提供网络或工作负载功能,例如通过托管多个虚拟机或虚拟装置。
处理器插槽0和处理器插槽1之间的板载通信可以由板载上行链路1278提供。这可以在两个处理器插槽之间提供非常高速、短长度的互连,使得在节点0 1208上运行的虚拟机可以以非常高的速度彼此通信。为了促进该通信,可以在节点0 1208上供应虚拟交换机(vSwitch),其可以被认为是结构1270的一部分。
节点0 1208经由HFI 1272连接到结构1270。HFI 1272可以连接到Omni-PathTM结构。在一些示例中,可以隧道化与结构1270的通信,例如通过在Omni-PathTM上提供UPI隧道。
因为计算设备1200可以以分布式方式提供许多功能,其在前几代中被提供在板载上,所以可以提供高性能的HFI 1272。HFI 1272可以以每秒多吉比特的速度操作,并且在一些情况下可以与节点0 1208紧密耦合。例如,在一些实施例中,针对HFI 1272的逻辑与片上系统上的处理器直接集成。这在HFI 1272和处理器插槽之间提供了非常高速的通信,而不需要中间总线设备,这可能在结构中引入额外的延迟。然而,这并不意味着要排除在传统总线上提供HFI 1272的实施例。相反,明确地预期在一些示例中,可以在总线上提供HFI1272,所述总线例如PCIe总线,其是提供比传统PCI更高速度的PCI的序列化版本。在整个计算设备1200中,各种节点可以提供不同类型的HFI 1272,例如板载HFI和插入式HFI。还应注意,SoC中的某些块可以作为IP块提供,其可以作为模块化单元“掉落”到集成电路中。因此,在某些情况下,HFI 1272可以从这样的IP块得出。
注意,在“网络是设备”方式中,节点0 1208可以提供有限的或非板载存储器或存储。相反,节点0 1208可以主要依赖于分布式服务,例如存储器服务器和网络化的存储服务器。在板上,节点0 1208可以仅提供足够的存储器和存储来引导设备并使其与结构1270通信。由于当代数据中心的非常高的速度,这种分布式架构是可能的,并且可能是有利的,因为没有需要为每个节点过度供应资源。相反,可以在多个节点之间动态地供应大型高速或专用存储器池,使得每个节点可以访问大量资源,但是当该特定节点不需要它们时,这些资源不会闲置。
在该示例中,节点1存储器服务器1204和节点2存储服务器1210提供节点0 1208的操作存储器和存储能力。例如,存储器服务器节点1 1204可以提供远程直接存储器存取(RDMA),由此节点0 1208可以以直接存储器存取方式经由结构1270存取节点1 1204上的存储器资源,类似于它将如何访问其自己的板载存储器。由存储器服务器1204提供的存储器可以是传统存储器,例如双数据速率类型3(DDR3)、DRAM,其是易失性的,或者可以是更奇特类型的存储器,诸如像
Figure BDA0002068267380000221
3DCrosspointTM(3DXP)的持久快速存储器(PFM),其以类似DRAM的速度操作,但是非易失性的。
类似地,可以提供存储服务器节点2 1210,而不是为节点0 1208提供板载硬盘。存储服务器1210可以提供联网的磁盘群(NBOD)、PFM、独立磁盘的冗余阵列(RAID)、独立节点的冗余阵列(RAIN)、网络附加存储(NAS)、光学存储装置、磁带驱动器或其他非易失性存储器解决方案。
因此,在执行其指定功能时,节点0 1208可以从存储器服务器1204访问存储器并将结果存储在由存储服务器1210提供的存储装置上。这些设备中的每一个经由HFI 1272耦合到结构1270,其提供使这些技术成为可能的快速通信。
作为进一步说明,还描绘了节点3 1206。节点3 1206还包括HFI 1272,以及通过上行链路内部连接的两个处理器插槽。然而,与节点0 1208不同,节点3 1206包括其自己的板载存储器1222和存储装置1250。因此,节点31206可以被配置为主要在板上执行其功能,并且可以不需要依赖于存储器服务器1204和存储服务器1210。然而,在适当的情况下,节点31206可以用类似于节点0 1208的分布式资源来补充其自己的板载存储器1222和存储装置1250。
计算设备1200还可以包括加速器1230。这些可以提供各种加速功能,包括用于诸如分组处理、加密、解密、压缩、解压缩、网络安全或数据中心中的其他加速功能的功能的硬件或协处理器加速。在一些示例中,加速器1230可以包括深度学习加速器,其可以直接连接到诸如节点0 1208或节点3 1206的节点中的一个或多个核。作为非限制性示例,这种加速器的示例可以包括
Figure BDA0002068267380000231
QuickData技术(QDT)、
Figure BDA0002068267380000232
QuickAssist技术(QAT)、
Figure BDA0002068267380000233
直接高速缓存访问(DCA)、
Figure BDA0002068267380000234
扩展消息信号中断(MSI-X)、
Figure BDA0002068267380000235
接收端合并(RSC)和其他加速技术。
在其他实施例中,还可以提供加速器作为ASIC、FPGA、协处理器、图形处理单元(GPU)、数字信号处理器(DSP)或其他处理实体,其可以可选地被调谐或配置为提供加速器功能。
这里公开的各种组件的基本构建块可以被称为“逻辑元件”。逻辑元件可以包括硬件(包括例如软件可编程处理器、ASIC或FPGA)、外部硬件(数字、模拟或混合信号)、软件、往复软件、服务、驱动器、接口、组件、模块、算法、传感器、组件、固件、微代码、可编程逻辑或可以协调以实现逻辑操作的对象。此外,一些逻辑元件由有形的、非暂时性计算机可读介质提供,其上存储有用于指示处理器执行特定任务的可执行指令。作为非限制性示例,这种非暂时性介质可以包括例如硬盘、固态存储器或磁盘、只读存储器(ROM)、PFM(例如,
Figure BDA0002068267380000236
3DCrosspointTM)、外部存储装置、RAID、RAIN、NAS、光存储、磁带驱动器、备份系统、云存储或前述的任何组合。这种介质还可以包括编程到FPGA中的指令,或者在ASIC或处理器上的硬件中编码的指令。
图13是根据本说明书的一个或多个示例的软件定义网络1300的框图。根据本说明书的教导,本文公开的软件定义网络1300的实施例可以被适配或配置为提供用于提供本地化服务恢复的方法。在软件定义网络(SDN)中,可以使用单个配置实用程序(通常是图形界面或浏览器界面)来高级管理网络资源,而对网络细节的人工干预非常少。SDN可以提供与控制平面分离的数据平面,以将管理功能与数据功能分开。SDN的另一个好处是它们可能基于开放标准,从而提供系统之间的可移植性,并减轻供应商锁定问题。
SDN 1300由SDN控制器1310控制,SDN控制器1310可以包括例如VM控制器1312、存储控制器1314和网络控制器1316。在其他实施例中也可以提供其他SDN控制器功能,而不是每个实施例都需要具有前述元件。SDN控制器1310提供编排层1320。编排层可以采用开放式编排协议,例如OpenStack云操作系统。
编排层1320可以包括各种插件组件,其可以用作用于控制数据中心资源的接口。这些插件可以通过一组标准化和开放的API与编排层1320交互,从而使不同的供应商能够提供不同的插件。在许多情况下,数据中心资源都可以经由编排层1320提供的单个图形界面进行管理。例如,OpenStack目前提供名为“Horizon”的仪表板,它提供了一个单一的界面,使管理员能够完全配置和管理数据中心。
在一些实施例中,编排层1320提供北向API,其上可以实例化各种应用或功能,诸如这里示出的应用1324-1-1324-N。每个应用1324可以在分离的虚拟网络设备或容器上提供(在本文中统称为“网络设备”)。应用1324可以被配置为执行各种网络功能,例如,通过非限制性示例,负载平衡、防火墙、DPI、DNS、防病毒或任何其他合适的网络功能。网络设备1330之间以及从网络设备1330到主机设备1340的特定互连布置可以由特定网络配置和需求来确定。因此,图13的具体配置应当被理解为仅是说明性示例。
编排层可以提供通信协议,在一些实施例中包括OpenFlow。OpenFlow将网络智能集中到SDN控制器(例如SDN控制器1310)中。使用OpenFlow,交换机和路由器不需要使用先前的数据交换协议来了解网络拓扑和其他环境因素。这些拓扑数据在网络中的所有交换机和路由器当中进行复制,并且每个都维护转发表。相反,OpenFlow控制器(其可以是例如网络控制器1316的功能)提供集中式网络管理,其将网络状态维持在中央存储库中。然后,网络控制器1316可以在网络拓扑演进或改变时更新转发表,为每个交换机或路由器生成转发表,并在必要时将它们推送到网络设备。这实现了控制平面和数据平面的分离。各个网络设备可以通过添加OpenFlow填充层来实现OpenFlow API,该OpenFlow填充层将OpenFlow API函数调用转换为针对交换机或路由器的本机函数调用。
注意,虽然该图示出了单个SDN控制器1310,但是在大型数据中心中,编排控制器可以控制多个分布式SDN控制器。在一些实施例中,SDN控制器和编排器可以彼此通信以经由边带(例如,单独的低速以太网连接)保持同步和状态信息。
图14是根据本说明书的一个或多个示例的网络功能虚拟化(NFV)基础结构1400的框图。根据本说明书的教导,本文公开的NFV基础结构1400的实施例可以被适配或配置为提供用于提供本地化服务恢复的方法。NFV是网络虚拟化的一个方面,通常被认为是不同的,但仍然可以与SDN互操作。例如,虚拟网络功能(VNF)可以在SDN部署的数据平面内操作。NFV最初被设想为一种用于为电信服务提供减少的资本支出(Capex)和运营费用(Opex)的方法。NFV的一个特性是在虚拟化环境中使用在商品化的产品和技术(COTS)硬件上运行的虚拟设备替换专有的、专用硬件设备。除了Capex和Opex节省外,NFV还提供了更灵活,以及更具适应性的网络。随着网络负载的变化,可以供应(“旋转”)或移除(“旋转”)VNF以满足网络需求。例如,在高负载时,可以旋转更多负载均衡器VNF以将业务分配给更多工作负载服务器(其本身可以是虚拟机)。在遇到更多可疑业务的情况下,可能需要额外的防火墙或DPI装置。
由于NFV最初是作为电信特征,因此许多NFV实例专注于电信。但是,NFV不仅限于电信服务。从广义上讲,NFV包括在网络功能虚拟化基础结构(NFVI)(例如,NFVI 400)中运行的一个或多个VNF。通常,VNF是与工作负载服务器或其他节点分开的内联服务功能。这些VNF可以链接在一起成为服务链,该服务链可以由虚拟子网络定义,并且可以包括提供幕后工作的网络服务(例如,安全性、日志记录、计费以及类似物)的串行串。
与SDN类似,NFV是网络虚拟化的子集。因此,可以代替图13的网络或者除了图13的网络之外,定义图14所示的网络。换句话说,网络的某些部分可以依赖于SDN,而其他部分(或相同的部分)可以依赖于SDN。NFV。
在图14的示例中,NFV编排器1401管理在NFVI 1400上运行的多个VNF 1412。NFV需要非平凡的资源管理,诸如在每个VNF的适当数量的实例当中分配非常大的计算资源池,管理VNF之间的连接,确定要分配的每个VNF的实例数,以及管理存储器、存储装置和网络连接。这可能需要复杂的软件管理,从而使NFV编排器1401成为有价值的系统资源。注意,NFV编排器1401可以提供基于浏览器或图形的配置界面,并且在一些实施例中可以与SDN编排功能集成。
注意,NFV编排器1401本身可以被虚拟化(而不是专用硬件装置)。NFV编排器1401可以集成在现有SDN系统内,其中操作支持系统(OSS)管理SDN。这可以与云资源管理系统(例如,OpenStack)交互以提供NFV编排。NFVI 1400可以包括硬件、软件和其他基础结构以使VNF能够运行。这可以包括硬件平台1402,一个或多个VM 1404可以在硬件平台1402上运行。例如,在该示例中,硬件平台1402-1运行VM 1404-1和1404-2。硬件平台1402-2运行VM1404-3和1404-4。每个硬件平台可以包括管理程序1420、VMM或类似功能,其可以包括并在本机(裸机)操作系统上运行,该操作系统可以是最小的以便消耗非常少的资源。
硬件平台1402可以是或包括机架或若干个刀片服务器或插槽服务器(包括例如处理器、存储器和存储装置)、一个或多个数据中心、分布在一个或多个地理位置的其他硬件资源、硬件交换机或网络接口。NFVI 1400还可以包括使得管理程序能够运行并由NFV编排器1401管理的软件架构。
在NFVI 1400上运行的是多个VM 1404,在该示例中,每个VM是提供虚拟服务装置的VNF。该示例中的每个VM 1404包括数据平面开发工具包(DVDK)的实例、虚拟操作系统1408和提供VNF 1412的应用。
作为非限制性和说明性示例,虚拟化网络功能可以包括防火墙、入侵检测系统、负载均衡器、路由器、会话边界控制器、DPI服务、网络地址转换(NAT)模块或者调用安全关联。
图14的图示示出了已经在NFVI 1400内供应并存在多个VNF 1404。该图不一定示出VNF与较大网络之间的任何关系,或NFVI 1400可以采用的分组流。
所示的数据平面开发工具包(DPDK)实例1416提供一组高度优化的库,用于跨虚拟交换机(vSwitch)1422进行通信。与VM 1404类似,vSwitch 1422由管理程序1420供应和分配。管理程序使用网络接口将硬件平台连接到数据中心结构(例如,HFI)。该HFI可以由在硬件平台1402上运行的所有VM 1404共享。因此,可以分配vSwitch以在VM 1404之间切换业务。vSwitch可以是纯软件vSwitch(例如,共享存储器vSwitch),其可以被优化以使得数据不在存储器位置之间移动,而是数据可以保持在一个位置,并且指针可以在VM 1404之间传递以模拟在vSwitch的入口和出口端口之间移动的数据。vSwitch还可以包括硬件驱动器(例如,切换业务但连接到虚拟端口而不是物理端口的硬件网络接口IP块)。在该图示中,示出了分布式vSwitch 1422,其中vSwitch 1422在两个或更多个物理硬件平台1402之间共享。
图15是根据本说明书的一个或多个示例的计算平台1502A的组件的框图。根据本说明书的教导,本文公开的计算平台1502A的实施例可以被适配或配置为提供用于提供本地化服务恢复的方法。在所描绘的实施例中,平台1502A、1502B和1502C以及数据中心管理平台1506和数据分析引擎1504经由网络1508互连。在其他实施例中,计算机系统可包括任何合适数量的(即,一个或多个)平台。在一些实施例中(例如,当计算机系统仅包括单个平台时),系统管理平台1506的全部或一部分可以包括在平台1502上。平台1502可以包括平台逻辑1510,其具有一个或多个CPU 1512、存储器1514(其可以包括任何数量的不同模块)、芯片组1516、通信接口1518、以及用于执行管理程序1520的任何其他合适的硬件和/或软件或能够执行与在平台1502上运行的应用相关联的工作负载的其他操作系统。在一些实施例中,平台1502可以用作调用这些应用的一个或多个访客系统1522的主机平台。平台1502A可以表示任何合适的计算环境,诸如HPC环境、数据中心、通信服务提供商基础结构(例如,演进分组核心的一个或多个部分)、存储器计算环境、车辆(例如,汽车或飞机)的计算系统、物联网环境、工业控制系统、其他计算环境或其组合。
在本公开的各种实施例中,监视多个硬件资源(例如,核心和非核)的累积的应力和/或累积的应力率,并且计算机平台1502A的实体(例如,系统管理平台1506、管理程序1520或其他操作系统)可以分配平台逻辑1510的硬件资源以根据压力信息执行工作负载。在一些实施例中,自诊断能力可以与应力监视组合以更准确地确定硬件资源的健康状况。每个平台1502可以包括平台逻辑1510。平台逻辑1510包括一个或多个CPU 1512、存储器1514、一个或多个芯片组1516和通信接口1528以及启用平台1502的功能的其他逻辑。尽管示出了三个平台,计算机平台1502A可以与任何合适数量的平台互连。在各种实施例中,平台1502可以驻留在电路板上,该电路板安装在机箱、机架或其他合适的结构中,所述其他合适的结构包括通过网络1508耦合在一起的多个平台(其可以包括例如机架或背板开关)。
CPU 1512每个可包括任何合适数量的处理器核和支持逻辑(例如,非核)。核可以通过驻留在CPU 1512和/或芯片组1516上的一个或多个控制器彼此耦合、耦合到存储器1514、至少一个芯片组1516和/或通信接口1518。在特定实施例中,CPU 1512实施在插槽内,插槽永久地或可移除地连接到平台1502A。尽管示出了四个CPU,但是平台1502可以包括任何合适数量的CPU。
存储器1514可包括任何形式的易失性或非易失性存储器,包括但不限于磁性介质(例如,一个或多个磁带驱动器)、光学介质、随机存取存储器(RAM)、ROM、闪存、可移动介质或任何其他合适的本地或远程存储器组件或多个组件。存储器1514可以用于平台1502A的短期、中期和/或长期存储。存储器1514可以存储平台逻辑1510使用的任何合适的数据或信息,包括嵌入在计算机可读介质中的软件,和/或并入在硬件中或以其他方式(例如,固件)存储的编码逻辑。存储器1514可以存储由CPU 1512的核使用的数据。在一些实施例中,存储器1514还可以包括用于指令的存储,所述指令可以由CPU 1512的核或其他处理元件(例如,驻留在芯片组1516上的逻辑)执行以提供与可管理性引擎1526或平台逻辑1510的其他组件相关联的功能。平台1502还可以包括一个或多个芯片组1516,其包括用于支持CPU 1512的操作的任何合适的逻辑。在各种实施例中,芯片组1516可以驻留在与CPU 1512相同的管芯或封装,或者在一个或多个不同的管芯或封装上。每个芯片组可以支持任何合适数量的CPU1512。芯片组1516还可以包括一个或多个控制器,以将平台逻辑1510的其他组件(例如,通信接口1518或存储器1514)耦合到一个或多个CPU。在所描绘的实施例中,每个芯片组1516还包括可管理性引擎1526。可管理性引擎1526可以包括用于支持芯片组1516的操作的任何合适的逻辑。在特定实施例中,可管理性引擎1526(也可以称为
Figure BDA0002068267380000291
创新引擎)能够从芯片组1516、由芯片组1516管理的CPU 1512和/或存储器1514、平台逻辑1510的其他组件和/或平台逻辑1510的组件之间的各种连接收集实时遥测数据。在各种实施例中,收集的遥测分组包括本文描述的应力信息。
在各种实施例中,可管理性引擎1526作为带外异步计算代理操作,其能够与平台逻辑1510的各种元件接口以收集遥测数据而对CPU 1512上的运行进程没有或具有最小的中断。例如,可管理性引擎1526可以包括芯片组1516上的专用处理元件(例如,处理器、控制器或其他逻辑),其提供可管理性引擎1526的功能(例如,通过执行软件指令),从而节省用于与平台逻辑1510执行的工作负载相关联的操作的CPU 1512的处理周期。此外,针对可管理性引擎1526的专用逻辑可以相对于CPU 1512异步操作,并且可以收集至少一些遥测数据而不增加CPU上的负载。
可管理性引擎1526可以处理其收集的遥测数据(这里将提供应力信息的处理的具体示例)。在各种实施例中,可管理性引擎1526将其收集的数据和/或其处理的结果报告给计算机系统中的其他元件,例如一个或多个管理程序1520或其他操作系统和/或系统管理软件(其可以在任何合适的逻辑上运行,任何合适的逻辑例如系统管理平台1506)。在特定实施例中,可以在用于报告遥测数据的正常间隔之前报告诸如累积过量应力的核心的关键事件(例如,可以在检测时立即发送通知)。
另外,可管理性引擎1526可以包括可编程代码,其可配置为设置特定芯片组1516将管理哪些CPU 1512和/或将收集哪些遥测数据。
芯片组1516还各自包括通信接口1528。通信接口1528可以用于芯片组1516与一个或多个I/O设备、一个或多个网络1508和/或耦合到网络1508的一个或多个设备(例如,系统管理平台1506)之间的信令和/或数据的通信。例如,通信接口1528可用于发送和接收网络业务,例如数据分组。在特定实施例中,通信接口1528包括一个或多个物理网络接口控制器(NIC),也称为网络接口卡或网络适配器。NIC可以包括用于使用任何合适的物理层和数据链路层标准进行通信的电子电路,所述标准例如是以太网(例如,如IEEE 802.3标准所定义)、光纤通道、InfiniBand、Wi-Fi或其他合适的标准。NIC可以包括可以耦合到电缆(例如,以太网电缆)的一个或多个物理端口。NIC可以实现芯片组1516的任何合适元件(例如,可管理性引擎1526或交换机1530)与耦合到网络1508的另一设备之间的通信。在各种实施例中,NIC可以与芯片组(即,可以与芯片组逻辑的其余部分相同的集成电路或电路板)集成或者可以在机电耦合到芯片组的不同集成电路或电路板上。
在特定实施例中,通信接口1528可以允许与可管理性引擎1526执行的管理和监视功能相关联的数据通信(例如,在可管理性引擎1526和数据中心管理平台1506之间)。在各种实施例中,可管理性引擎1526可以利用通信接口1528的元件(例如,一个或多个NIC)来报告遥测数据(例如,报告给系统管理平台1506),以便保留通信接口1518的NIC的使用,用于与平台逻辑1510执行的工作负载相关联的操作。
交换机1530可以耦合到通信接口1528的各种端口(例如,由NIC提供),并且可以在这些端口和芯片组1516的各种组件(例如,耦合到CPU 1512的一个或多个快速外围组件互连(PCIe)通道)之间切换数据。开关1530可以是物理或虚拟(即软件)开关。
平台逻辑1510可以包括附加通信接口1518。类似于通信接口1528,通信接口1518可以用于平台逻辑1510与一个或多个网络1508和耦合到网络1508的一个或多个设备之间的信令和/或数据的通信。例如,通信接口1518可用于发送和接收网络业务,例如数据分组。在特定实施例中,通信接口1518包括一个或多个物理NIC。这些NIC可以实现平台逻辑1510的任何合适元件(例如,CPU 1512或存储器1514)与耦合到网络1508的另一设备(例如,通过一个或多个网络耦合到网络1508的其他平台或远程计算设备的元件)之间的通信。
平台逻辑1510可以接收并执行任何合适类型的工作负载。工作负载可以包括用于利用平台逻辑1510的一个或多个资源(例如,一个或多个核或相关联的逻辑)的任何请求。例如,工作负载可以包括用于实例化软件组件(例如,I/O设备驱动器1524或访客系统1522)的请求;用于处理从虚拟机1532或平台1502A外部的设备(例如耦合到网络1508的网络节点)接收的网络分组的请求;用于执行与访客系统1522、在平台1502A上运行的应用、管理程序1520或在平台1502A上运行的其他操作系统相关联的进程或线程的请求;或其他合适的处理请求。
虚拟机1532可以用其自己的专用硬件模拟计算机系统。虚拟机1532可以在管理程序1520之上运行访客操作系统。平台逻辑1510的组件(例如,CPU 1512、存储器1514、芯片组1516和通信接口1518)可以被虚拟化,使得它对于访客操作系统呈现为虚拟机1532具有其自己的专用组件。
虚拟机1532可以包括虚拟化NIC(vNIC),其由虚拟机用作其网络接口。可以为vNIC分配媒体访问控制(MAC)地址或其他标识符,从而允许多个虚拟机1532在网络中可单独寻址。
VNF 1534可以包括功能构建块的软件实现,其具有可以部署在虚拟化基础结构中的定义的接口和行为。在特定实施例中,VNF 1534可以包括一个或多个虚拟机1532,其共同提供特定功能(例如,WAN优化、虚拟专用网络(VPN)终止、防火墙操作、负载平衡操作、安全功能等)。在平台逻辑1510上运行的VNF 1534可以提供与通过专用硬件实现的传统网络组件相同的功能。例如,VNF 1534可以包括用于执行任何合适的NFV工作负载的组件,诸如虚拟化演进分组核心(vEPC)组件、移动性管理实体、第三代合作伙伴计划(3GPP)控制和数据平面组件等。
SFC 1536是一组VNF 1534,其被组织为链以执行一系列操作,例如网络分组处理操作。服务功能链接可以提供用于定义在网络中拼接在一起以创建服务链的网络服务(例如防火墙、负载平衡器)的有序列表的能力。
管理程序1520(也称为虚拟机监视器)可以包括用于创建和运行访客系统1522的逻辑。管理程序1520可以呈现由具有虚拟操作平台的虚拟机运行的访客操作系统(即,它看起来像是虚拟机,当该虚拟机实际合并到单个硬件平台上时,该虚拟机在不同的物理节点上运行)并通过平台逻辑1510管理访客操作系统的执行。可以通过软件虚拟化或通过硬件辅助资源来提供管理程序1520的服务,所述硬件辅助资源需要最少软件干预,或两者兼而有之。可以由管理程序1520管理各种访客操作系统的多个实例。每个平台1502可以具有管理程序1520的单独实例。
管理程序1520可以是本机或裸机管理程序,其直接在平台逻辑1510上运行以控制平台逻辑并管理访客操作系统。可替换地,管理程序1520可以是在主机操作系统上运行的宿主管理程序,并从主机操作系统中提取访客操作系统。管理程序1520可以包括虚拟交换机1538,其可以向访客系统1522的虚拟机提供虚拟交换和/或路由功能。虚拟交换机1538可以包括将虚拟机1532的vNIC彼此耦合的逻辑交换结构,因此创建虚拟网络,虚拟机可以通过该虚拟网络相互通信。
虚拟交换机1538可以包括使用平台逻辑1510的组件执行的软件元素。在各种实施例中,管理程序1520可以与任何合适的实体(例如,SDN控制器)通信,这可以使管理程序1520响应于平台1502中的变化条件(例如,虚拟机1532的添加或删除或可以实现增强平台的性能的优化的识别)重新配置虚拟交换机1538的参数。
管理程序1520还可以包括资源分配逻辑1544,其可以包括用于基于遥测数据(其可以包括压力信息)确定平台资源的分配的逻辑。资源分配逻辑1544还可以包括用于与平台1502A的平台逻辑1510实体的各种组件(例如,平台逻辑1510的组件)通信以实现这种优化的逻辑。
任何合适的逻辑可以做出这些优化决策中的一个或多个。例如,系统管理平台1506;管理程序1520或其他操作系统的资源分配逻辑1544;或者计算机平台1502A的其他逻辑可以能够做出这样的决定。在各种实施例中,系统管理平台1506可以从多个平台1502接收遥测数据并管理跨多个平台1502的工作负载放置。系统管理平台1506可以与管理程序1520(例如,以带外方式)或各种平台1502的其他操作系统通信以用于实现由系统管理平台指导的工作负载放置。
平台逻辑1510的元件可以以任何合适的方式耦合在一起。例如,总线可以将任何组件耦合在一起。总线可以包括任何已知的互连,例如多点总线、网状互连、环形互连、点对点互连、串行互连、并行总线、一致性(例如,高速缓存一致性)总线、分层协议架构、差分总线或射发收发器逻辑(GTL)总线。
如在本说明书中使用的,高速缓存一致性是在多个高速缓存之间提供统一共享和映射的存储器架构。例如,高速缓存可以映射到相同的地址空间。如果两个不同的高速缓存在共享地址空间中缓存了相同的地址,则一致性代理提供逻辑(硬件和/或软件)以确保共享资源的兼容性和统一性。例如,如果两个缓存已缓存相同的地址,则当存储在该地址中的值在一个高速缓存中更新时,一致性代理会确保将更改传播到另一个高速缓存。例如,可以经由“窥探”来维持一致性,其中每个高速缓存监视每个其他高速缓存的地址线,并检测更新。还可以经由基于目录的系统维护高速缓存一致性,其中共享数据被放置在维持一致性的共享目录中。一些分布式共享存储器架构还可以提供一致性,例如通过模拟前述机制。
一致性可以是基于“窥探”或目录的。在窥探协议中,可以经由写无效来维持一致性,其中窥探对第二高速缓存中的相同地址的写入的第一高速缓存使其自己的副本无效。如果程序试图从第一个高速缓存中读取值,则强制从存储器中读取。可替换地,在写更新中,第一高速缓存窥探对第二高速缓存的写入,并且高速缓存控制器(可包括一致性代理)将数据复制出来并更新第一高速缓存中的副本。
作为非限制性示例,当前高速缓存一致性模型包括MSI(修改的、共享的、无效的)、MESI(修改的、独占的、共享的、无效的)、MOSI(修改的、拥有的、共享的、无效的)、MOESI(修改的、拥有的、独占的、共享的、无效的)、MERSI(修改的、独占的、只读或近期、共享的、无效的)、MESIF(修改的、独占的、共享的、无效的、转发的)、一次写入、Synapse、Berkeley、Firefly和Dragon协议。此外,ARM处理器可以使用高级微控制器总线架构(AMBA)(包括AMBA4ACE)来提供片上系统(SoC)或其他地方的高速缓存一致性。
计算机平台1502A的元件可以以任何合适的方式耦合在一起,例如通过一个或多个网络1508。网络1508可以是使用一个或多个合适的联网协议操作的任何合适的网络或一个或多个网络的组合。网络可以表示用于接收和发送通过通信系统传播的信息的分组的一系列节点、点和互连通信路径。例如,网络可以包括一个或多个防火墙、路由器、交换机、安全装置、防病毒服务器或其他有用的网络设备。
前述概述了本文公开的主题的一个或多个实施例的特征。提供这些实施例是为了使本领域普通技术人员(PHOSITA)能够更好地理解本公开的各个方面。可以参考某些易于理解的术语以及基础技术和/或标准而不进行详细描述。预计PHOSITA将拥有或获得足以实施本说明书教导的那些技术和标准中的背景知识或信息。
PHOSITA将意识到,他们可以容易地使用本公开作为设计或修改其他过程、结构或变型的基础,以实现相同的目的和/或实现本文介绍的实施例的相同优点。PHOSITA还将认识到,这样的等同构造不脱离本公开的精神和范围,并且在不脱离本公开的精神和范围的情况下,它们可以在本文中进行各种改变、替换和变更。
在前面的描述中,一些或所有实施例的某些方面比实施所附权利要求所严格必要的更详细地描述。出于提供所公开实施例的上下文和说明的目的,仅通过非限制性示例提供这些细节。不应该理解这些细节是必需的,并且不应该将这些细节“读入”为权利要求作为限制。该短语可以指“实施例”或“多个实施例”。这些短语和对实施例的任何其他参考应该被广义地理解为指代一个或多个实施例的任何组合。此外,在特定“实施例”中公开的若干特征也可以分布在多个实施例中。例如,如果在“实施例”中公开了特征1和2,则实施例A可以具有特征1但缺少特征2,而实施例B可以具有特征2但缺少特征1。
本说明书可以以框图格式提供说明,其中某些特征在单独的框中公开。应广义地理解这些以公开各种特征如何互操作,但并不意味着暗示这些特征必须体现在单独的硬件或软件中。此外,在单个块公开同一块中的多于一个特征的情况下,那些特征不一定必须体现在相同的硬件和/或软件中。例如,在某些情况下计算机“存储器”可以在多级高速缓存或本地存储器、主存储器、电池支持的易失性存储器和各种形式的持久存储器(例如,硬盘、存储服务器、光学磁盘、磁带或类似设备)之间分布或映射。在某些实施例中,可以省略或合并一些组件。在一般意义上,图中描绘的布置在其表示中可以更符合逻辑,而物理架构可以包括这些元素的各种排列、组合和/或混合。可以使用无数可能的设计配置来实现本文概述的操作目标。因此,相关联的基础结构具有无数的替代安排、设计选择、设备可能性、硬件配置、软件实现和设备选项。
这里可以参考计算机可读介质,其可以是有形和非暂时性计算机可读介质。如在本说明书和整个权利要求中所使用的,“计算机可读介质”应该被理解为包括相同或不同类型的一个或多个计算机可读介质。作为非限制性示例,计算机可读介质可以包括光学驱动器(例如,CD/DVD/蓝光)、硬盘驱动器、固态驱动器、闪存或其他非易失性介质。计算机可读介质还可以包括诸如ROM、FPGA或ASIC之类的介质,其被配置为执行期望的指令、用于编程FPGA或ASIC以执行期望指令的存储指令、可以在硬件中集成到其他电路的IP块、或者直接编码在硬件或者处理器(例如,微处理器、DSP、微控制器)上的微码的指令,或者在适当的并且基于特定需要的情况下直接编码在任何其他合适的组件、设备、元件或对象上的微码的指令。这里的非暂时性存储介质明确地旨在包括被配置为提供所公开的操作或使处理器执行所公开的操作的任何非暂时性专用或可编程硬件。
在整个说明书和权利要求中,各种元件可以“通信地”、“电气地”、“机械地”或以其他方式“耦合”到彼此。这种耦合可以是直接的、点对点耦合,或者可以包括中间设备。例如,两个设备可以经由便于通信的控制器彼此通信地耦合。设备可以经由诸如信号增强器、分压器或缓冲器的中间设备彼此电耦合。机械耦合的设备可以间接地机械耦合。
本文公开的任何“模块”或“引擎”可以指代或包括软件、软件栈、硬件、固件和/或软件的组合,被配置为执行引擎或模块的功能的电路,或者如上所述的任何计算机可读介质。在适当的情况下,这些模块或引擎可以在硬件平台上提供或与硬件平台结合提供,该硬件平台可以包括硬件计算资源,诸如处理器、存储器、存储装置、互连、网络和网络接口、加速器或其他合适的硬件。这样的硬件平台可以作为单个单片设备提供(例如,在PC形状因子中),或者功能中的一些或部分被分布(例如,高端数据中心中的“复合节点”,其中计算、存储器、存储装置和其他资源可以是动态分配的,并且不需要彼此是本地的)。
这里可以公开流程图、信号流程图或示出以特定顺序执行的操作的其他图示。除非另有明确说明,或者除非在特定上下文中要求,否则该顺序应被理解为仅是非限制性示例。此外,在示出一个操作跟随另一个操作的情况下,也可能发生其他干预操作,这些操作可能是相关的或不相关的。一些操作也可以同时或并行执行。在操作被称为“基于”或“根据”另一项目或操作的情况下,这应该被理解为暗示该操作至少部分地基于或至少部分地根据其他项目或操作。这不应被解释为暗示操作仅基于或完全基于项目或操作,或仅根据或完全根据项目或操作。
本文公开的任何硬件元件的全部或部分可以容易地在包括CPU封装的SoC中提供。SoC表示将计算机或其他电子系统的组件集成到单个芯片中的集成电路(IC)。因此,例如,可以在SoC中全部或部分地提供客户端设备或服务器设备。SoC可以包含数字、模拟、混合信号和射频功能,所有这些功能都可以在单个芯片衬底上提供。其他实施例可以包括多芯片模块(MCM),其中多个芯片位于单个电子封装内并且被配置为通过电子封装彼此紧密地相互作用。
在一般意义上,任何适当配置的电路或处理器可以执行与数据相关联的任何类型的指令以实现本文详述的操作。本文公开的任何处理器可以将元素或制品(例如,数据)从一个状态或事物变换为另一个状态或事物。此外,基于特定需求和实现,可以在任何数据库、寄存器、表、高速缓存、队列、控制列表或存储结构中提供被跟踪、发送、接收或存储在处理器中的信息,所有这些都可以是在任何合适的时间范围内引用。本文公开的任何存储器或存储元件应视为适当地包含在广义术语“存储器”和“存储装置”内。
实现本文描述的功能的全部或部分的计算机程序逻辑以各种形式体现,包括但不限于源代码形式、计算机可执行形式、机器指令或微代码、可编程硬件和各种中间形式(例如,由汇编器、编译器、链接器或定位器生成的格式单)。在示例中,源代码包括以各种编程语言实现的一系列计算机程序指令,诸如目标代码、汇编语言或用于与各种操作系统或操作环境一起使用的诸如OpenCL、FORTRAN、C、C++、JAVA或HTML之类的高级语言,或者使用Spice、Verilog和VHDL等硬件描述语言。源代码可以定义和使用各种数据结构和通信消息。源代码可以是计算机可执行形式(例如,经由解释器),或者源代码可以被转换(例如,经由翻译器、汇编器或编译器)成计算机可执行形式,或者转换成中间形式,例如作为字节码。在适当的情况下,前述任何一个都可以用于构建或描述适当的分立或集成电路,无论是顺序的、组合的、状态机还是其他的。
在一个示例实施例中,附图的任何数量的电路可以在相关联的电子设备的板上实现。该板可以是通用电路板,其可以保持电子设备的内部电子系统的各种组件,并且还提供用于其他外围设备的连接器。基于特定配置需求、处理需求和计算设计,任何合适的处理器和存储器可以适当地耦合到板。注意,利用本文提供的众多示例,可以根据两个、三个、四个或更多个电子组件来描述交互。然而,这仅出于清楚和示例的目的而进行。应当意识到,可以以任何合适的方式合并或重新配置系统。沿着类似的设计替代方案,附图中的任何所示组件、模块和元件可以以各种可能的配置组合,所有这些配置都在本说明书的宽范围内。
本领域技术人员可以确定许多其他改变、替换、变化、改变和修改,并且本公开旨在涵盖落入所附权利要求书范围内的所有这样的改变、替换、变化、改变和修改。为了协助美国专利商标局(USPTO)以及本申请中发布的任何专利的任何读者在解释所附权利要求时,申请人希望注意到申请人:(a)不打算任何所附权利要求援引35USC第6(6)段除非在特定用途中特别使用“用于......的模块”或“用于......的步骤”,否则同一部分(AIA之后)的第112条(前AIA)或(F)段(如同AIA之后)一样存在。以及(b)并不意图通过说明书中的任何陈述以任何未在所附权利要求中明确反映的方式限制本公开。
示例实现
通过举例说明提供以下实施例。
示例1包括一种计算装置,包括:包括硬件平台的本地平台;管理接口,用于将本地平台通信地耦合到管理控制器;虚拟化基础结构,用于在硬件平台上操作并提供本地虚拟化功能;以及恢复控制器,用于在硬件平台上操作,并且被配置为:经由管理接口从管理控制器接收恢复策略,恢复策略包括用于处理虚拟化功能中的故障的信息;检测本地虚拟化功能中的故障;并且响应于检测到故障而实现恢复动作。
示例2包括示例1的计算装置,其中,恢复控制器还被配置为经由管理接口上的单向消息向管理控制器通知恢复动作,其中,单向消息是如下消息,可以接收该消息但不要求来自管理控制器的确认或响应。
示例3包括示例1的计算装置,其中,恢复控制器还被配置为检测恢复动作的失败,并将虚拟化资源置于故障保护模式。
示例4包括示例3的计算装置,其中故障保护模式包括禁用或隔离本地平台的一个或多个出口端口或虚拟化功能的一个或多个出口端口。
示例5包括示例1的计算装置,其中,恢复控制器还被配置为生成并维护拓扑硬件依赖图。
示例6包括示例5的计算装置,其中,恢复控制器还被配置为将硬件平台的硬件资源与虚拟化功能相关联。
示例7包括示例6的计算装置,其中,恢复控制器还被配置为连续监视硬件平台上的故障域。
示例8包括示例5的计算装置,其中,恢复控制器还被配置为根据硬件依赖图来定制恢复策略。
示例9包括示例1的计算设备,其中,恢复策略包括虚拟网络功能(VNF)策略和网络功能虚拟化基础结构(NFVI)策略。
示例10包括示例1的计算装置,其中,虚拟化功能是虚拟网络功能(VNF),并且故障是虚拟化资源的失败。
示例11包括示例1的计算装置,其中,虚拟化功能是虚拟网络功能(VNF),并且故障是硬件平台上的本地化硬件元件的失败。
示例12包括示例1的计算装置,其中虚拟化功能是虚拟网络功能(VNF),并且故障是到管理控制器的连通性失败。
示例13包括示例1的计算装置,其中,虚拟化功能是虚拟交换机(vSwitch)。
示例14包括示例1的计算装置,其中恢复控制器与软件故障隔离。
示例15包括示例1-14中任一示例的计算装置,其中,恢复控制器包括被配置为在硬件平台上操作的软件。
示例16包括示例1-14中任一示例的计算装置,其中,恢复控制器包括被配置为在硬件平台的协处理器上操作的软件。
示例17包括示例1-14中任一示例的计算装置,其中恢复控制器包括专用集成电路(ASIC)。
示例18包括示例1-14中任一示例的计算装置,其中恢复控制器包括现场可编程门阵列(FPGA)。
示例19包括示例1-14中任一个的计算装置,其中恢复控制器包括知识产权(IP)块。
示例20包括示例1-14中任一示例的计算装置,其中,恢复控制器包括到核心架构中的微代码钩子。
示例21包括一种恢复控制器,包括:管理接口,其用于将本地平台通信地耦合到管理控制器;虚拟化基础结构接口,其用于通信地耦合到本地虚拟化功能;以及逻辑,其用于:经由管理接口从管理控制器接收恢复策略,恢复策略包括用于处理虚拟化功能中的故障的信息;检测本地虚拟化功能中的故障;并且响应于检测到故障而实现恢复动作。
示例22包括示例21的恢复控制器,其中,逻辑还用于经由管理接口上的单向消息向管理控制器通知恢复动作,其中,单向消息是如下消息,可以接收该消息但不要求管理控制器的确认或响应。
示例23包括示例21的恢复控制器,其中该逻辑还用于检测恢复动作的失败,并将虚拟化资源置于故障保护模式。
示例24包括示例23的恢复控制器,其中故障保护模式包括禁用或隔离本地平台的一个或多个出口端口或虚拟化功能的一个或多个出口端口。
示例25包括示例21的恢复控制器,其中该逻辑还用于生成和维护拓扑硬件依赖图。
示例26包括示例25的恢复控制器,其中该逻辑还用于将本地硬件平台的硬件资源与虚拟化功能相关联。
示例27包括示例26的恢复控制器,其中该逻辑还用于连续监视硬件平台上的故障域。
示例28包括示例25的恢复控制器,其中该逻辑还用于根据硬件依赖图来定制恢复策略。
示例29包括示例21的恢复控制器,其中恢复策略包括虚拟网络功能(VNF)策略和网络功能虚拟化基础结构(NFVI)策略。
示例30包括示例21的恢复控制器,其中虚拟化功能是虚拟网络功能(VNF),并且故障是虚拟化资源的失败。
示例31包括示例21的恢复控制器,其中,虚拟化功能是虚拟网络功能(VNF),并且故障是本地硬件平台上的硬件元件的失败。
示例32包括示例21的恢复控制器,其中虚拟化功能是虚拟网络功能(VNF),并且故障是到管理控制器的连通性失败。
示例33包括示例21的恢复控制器,其中虚拟化功能是虚拟交换机(vSwitch)。
示例34包括示例21的恢复控制器,其中恢复控制器与本地平台的软件故障隔离。
示例35包括一种计算装置,该计算装置包括被配置为提供示例21-34中任一示例的恢复控制器的软件。
示例36包括一种计算装置,该计算装置包括协处理器,该协处理器被配置为提供示例21-34中任一示例的恢复控制器。
示例37包括一种专用集成电路(ASIC),其包括示例21-34中任一个的恢复控制器。
示例38包括一种现场可编程门阵列(FPGA),其包括示例21-34中任一示例的恢复控制器。
示例39包括一种知识产权(IP)块,其包括示例21-34中任一个的恢复控制器。
示例40包括示例21-24中任一示例的恢复控制器,其包括到核心架构中的微代码钩。
示例41包括一种在计算装置上提供本地恢复控制的方法,包括:经由管理控制器接口通信地耦合到管理控制器;经由虚拟化基础结构接口通信方式耦合到本地虚拟化功能;经由管理接口从管理控制器接收恢复策略,恢复策略包括用于处理虚拟化功能中的故障的信息;检测本地虚拟化功能中的故障;并响应于检测到故障而采取恢复动作。
示例42包括示例41的方法,还包括经由管理接口上的单向消息向管理控制器通知恢复动作,其中,单向消息是如下的消息,可以接收该消息但不需要来自管理控制器的确认或响应。
示例43包括示例41的方法,还包括检测恢复动作的失败,以及将虚拟化资源置于故障保护模式。
示例44包括示例41的方法,其中故障保护模式包括禁用或隔离本地平台的一个或多个出口端口或虚拟化功能的一个或多个出口端口。
示例45包括示例41的方法,还包括生成和维护拓扑硬件依赖图。
示例46包括示例45的方法,还包括将本地硬件平台的硬件资源与虚拟化功能相关联。
示例47包括示例46的方法,还包括连续监视硬件平台上的故障域。
示例48包括示例45的方法,还包括根据硬件依赖图来定制恢复策略。
示例49包括示例48的方法,其中恢复策略包括虚拟网络功能(VNF)策略和网络功能虚拟化基础结构(NFVI)策略。
示例50包括示例41的方法,其中虚拟化功能是虚拟网络功能(VNF),并且故障是虚拟化资源的失败。
示例51包括示例41的方法,其中虚拟化功能是虚拟网络功能(VNF),并且故障是本地硬件平台上的硬件元件的失败。
示例52包括示例41的方法,其中虚拟化功能是虚拟网络功能(VNF),并且故障是到管理控制器的连通性失败。
示例53包括示例41的方法,其中虚拟化功能是虚拟交换机(vSwitch)。
示例54包括示例41的方法,其中恢复控制器与本地平台的软件故障隔离。
示例55包括一种恢复控制器,其被配置为提供示例41-54中任一示例的方法。
示例56包括一种装置,包括用于执行示例41-54中任一示例的方法的单元。
示例57包括示例56的装置,其中该单元包括恢复控制器。
示例58包括示例56的装置,其中恢复控制器包括协处理器。
示例59包括示例56的装置,其中恢复控制器包括专用集成电路(ASIC)。
示例60包括示例56的装置,其中恢复控制器包括现场可编程门阵列(FPGA)。
示例61包括示例56的装置,其中恢复控制器包括知识产权(IP)块。
示例62包括示例56的装置,其中恢复控制器包括处理器和存储器。
示例63包括示例62的装置,其中存储器包括机器可读指令,其在被执行时使得装置执行示例41-54中任一示例的方法。
示例64包括至少一个计算机可读介质,其包括指令,所述指令在被执行时实现如示例41-63中任一示例所示的方法或实现如示例41-63中任一示例所示的装置。

Claims (25)

1.一种计算装置,包括:
本地平台,其包括硬件平台;
管理接口,其用于将所述本地平台通信地耦合到管理控制器;
虚拟化基础结构,其用于在所述硬件平台上操作并且提供本地虚拟化功能;以及
恢复控制器,其用于在所述硬件平台上操作,并且被配置为:
经由所述管理接口从所述管理控制器接收恢复策略,所述恢复策略包括用于处理所述虚拟化功能中的故障的信息;
检测所述本地虚拟化功能中的故障;以及
响应于检测到所述故障而实现恢复动作。
2.如权利要求1所述的计算装置,其中,所述恢复控制器还被配置为经由所述管理接口上的单向消息向所述管理控制器通知所述恢复动作,其中,所述单向消息是如下的消息,能够接收所述消息,但是不需要来自所述管理控制器的确认或响应。
3.如权利要求1所述的计算装置,其中,所述恢复控制器还被配置为检测所述恢复动作的故障,并且将虚拟化资源置于故障保护模式。
4.如权利要求3所述的计算装置,其中,所述故障保护模式包括禁用或隔离所述本地平台的一个或多个出口端口或所述虚拟化功能的一个或多个出口端口。
5.如权利要求1所述的计算装置,其中,所述恢复控制器还被配置为生成并且维护拓扑硬件依赖图。
6.如权利要求5所述的计算装置,其中,所述恢复控制器还被配置为将所述硬件平台的硬件资源与所述虚拟化功能相关联。
7.如权利要求6所述的计算装置,其中,所述恢复控制器还被配置为连续监视所述硬件平台上的故障域。
8.如权利要求5所述的计算装置,其中,所述恢复控制器还被配置为根据硬件依赖图来定制所述恢复策略。
9.如权利要求1所述的计算装置,其中,所述恢复策略包括虚拟网络功能(VNF)策略和网络功能虚拟化基础结构(NFVI)策略。
10.如权利要求1所述的计算装置,其中,所述虚拟化功能是虚拟网络功能(VNF),并且所述故障是虚拟化资源的失败。
11.如权利要求1所述的计算装置,其中,所述虚拟化功能是虚拟网络功能(VNF),并且所述故障是所述硬件平台上的本地化硬件元件的失败。
12.如权利要求1所述的计算装置,其中,所述虚拟化功能是虚拟网络功能(VNF),并且所述故障是到所述管理控制器的连通性的失败。
13.如权利要求1所述的计算装置,其中,所述虚拟化功能是虚拟交换机(vSwitch)。
14.如权利要求1所述的计算装置,其中,所述恢复控制器与软件故障隔离。
15.如权利要求1-14中任一项所述的计算装置,其中,所述恢复控制器包括被配置为在所述硬件平台上操作的软件。
16.如权利要求1-14中任一项所述的计算装置,其中,所述恢复控制器包括被配置为在所述硬件平台的协处理器上操作的软件。
17.如权利要求1-14中任一项所述的计算装置,其中,所述恢复控制器包括专用集成电路(ASIC)。
18.如权利要求1-14中任一项所述的计算装置,其中,所述恢复控制器包括现场可编程门阵列(FPGA)。
19.如权利要求1-14中任一项所述的计算装置,其中,所述恢复控制器包括知识产权(IP)块。
20.如权利要求1-14中任一项所述的计算装置,其中,所述恢复控制器包括到核架构中的微代码钩子。
21.一种恢复控制器,包括:
管理接口,其用于将本地平台通信地耦合到管理控制器;
虚拟化基础结构接口,其用于通信地耦合到本地虚拟化功能;以及
逻辑,其用于:
经由所述管理接口从所述管理控制器接收恢复策略,所述恢复策略包括用于处理所述虚拟化功能中的故障的信息;
检测所述本地虚拟化功能中的故障;以及
响应于检测到所述故障而实现恢复动作。
22.如权利要求21所述的恢复控制器,其中,所述逻辑还用于经由所述管理接口上的单向消息来向所述管理控制器通知所述恢复动作,其中,所述单向消息是如下的消息,能够接收所述消息,但不要求来自所述管理控制器的确认或响应。
23.如权利要求21所述的恢复控制器,其中,所述逻辑还用于检测所述恢复动作的失败,并且用于将虚拟化资源置于故障保护模式。
24.如权利要求23所述的恢复控制器,其中,所述故障保护模式包括禁用或隔离所述本地平台的一个或多个出口端口或所述虚拟化功能的一个或多个出口端口。
25.如权利要求21所述的恢复控制器,其中,所述逻辑还用于生成并且维护拓扑硬件依赖图。
CN201910428618.0A 2018-06-22 2019-05-22 本地化服务恢复 Pending CN110633170A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/015,247 US10666497B2 (en) 2018-06-22 2018-06-22 Localized service resiliency
US16/015,247 2018-06-22

Publications (1)

Publication Number Publication Date
CN110633170A true CN110633170A (zh) 2019-12-31

Family

ID=66685351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910428618.0A Pending CN110633170A (zh) 2018-06-22 2019-05-22 本地化服务恢复

Country Status (3)

Country Link
US (1) US10666497B2 (zh)
EP (1) EP3588855A1 (zh)
CN (1) CN110633170A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383452A (zh) * 2021-01-15 2021-02-19 奥特酷智能科技(南京)有限公司 基于dpdk框架的dds数据传输诊断方法及系统

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
US10135789B2 (en) 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US11126533B2 (en) 2017-08-18 2021-09-21 Vmware, Inc. Temporal analysis of a computing environment using event data and component relationship data
US10686625B2 (en) 2017-10-02 2020-06-16 Vmware, Inc. Defining and distributing routes for a virtual network
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US10887156B2 (en) * 2019-01-18 2021-01-05 Vmware, Inc. Self-healing Telco network function virtualization cloud
US10924329B2 (en) * 2019-01-18 2021-02-16 Vmware, Inc. Self-healing Telco network function virtualization cloud
US10917288B2 (en) * 2019-06-25 2021-02-09 Bank Of America Corporation Adaptive edge-shift for enterprise contingency operations
US10999137B2 (en) 2019-08-27 2021-05-04 Vmware, Inc. Providing recommendations for implementing virtual networks
US11044190B2 (en) 2019-10-28 2021-06-22 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11531619B2 (en) * 2019-12-17 2022-12-20 Meta Platforms, Inc. High bandwidth memory system with crossbar switch for dynamically programmable distribution scheme
US11606712B2 (en) 2020-01-24 2023-03-14 Vmware, Inc. Dynamically assigning service classes for a QOS aware network link
US11394624B2 (en) * 2020-02-28 2022-07-19 Hewlett Packard Enterprise Development Lp Systems and methods for unifying service assurance with service fulfillment
US11363124B2 (en) 2020-07-30 2022-06-14 Vmware, Inc. Zero copy socket splicing
US11797368B2 (en) 2022-01-27 2023-10-24 Hewlett Packard Enterprise Development Lp Attributing errors to input/output peripheral drivers
US20210117249A1 (en) * 2020-10-03 2021-04-22 Intel Corporation Infrastructure processing unit
WO2022096100A1 (en) * 2020-11-05 2022-05-12 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatuses for providing a back-up service
US11575591B2 (en) 2020-11-17 2023-02-07 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US20210119878A1 (en) * 2020-12-09 2021-04-22 Intel Corporation Detection and remediation of virtual environment performance issues
US11929903B2 (en) 2020-12-29 2024-03-12 VMware LLC Emulating packet flows to assess network links for SD-WAN
US11522749B2 (en) * 2021-01-11 2022-12-06 Cisco Technology, Inc. Detecting communication pathways affected by session flaps
US11792127B2 (en) 2021-01-18 2023-10-17 Vmware, Inc. Network-aware load balancing
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
CN112968882A (zh) * 2021-02-03 2021-06-15 南京华鹞信息科技有限公司 一种基于网络功能虚拟化的推演多域网络安全策略的系统和方法
EP4075757A1 (en) * 2021-04-14 2022-10-19 Juniper Networks, Inc. A plurality of smart network interface cards on a single compute node
US11381499B1 (en) 2021-05-03 2022-07-05 Vmware, Inc. Routing meshes for facilitating routing through an SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US11489720B1 (en) * 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US20220014423A1 (en) * 2021-09-25 2022-01-13 Intel Corporation Systems, apparatus, and methods for data resiliency in an edge network environment
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904546B1 (en) * 2004-09-27 2011-03-08 Alcatel-Lucent Usa Inc. Managing processes on a network device
US9801137B2 (en) * 2013-10-08 2017-10-24 At&T Intellectual Property I, L.P. Low power sensor network
JP6408602B2 (ja) * 2014-03-24 2018-10-17 華為技術有限公司Huawei Technologies Co.,Ltd. Nfvシステムにおけるサービス実装のための方法および通信ユニット
WO2016090554A1 (en) * 2014-12-09 2016-06-16 Intel Corporation System and method for execution of application code compiled according to two instruction set architectures
US9946614B2 (en) * 2014-12-16 2018-04-17 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for managing faults in a virtual machine network
WO2016161605A1 (zh) 2015-04-09 2016-10-13 华为技术有限公司 基于网络功能虚拟化的故障处理方法和装置
US9904544B2 (en) * 2015-06-08 2018-02-27 Ripple Luxembourg S.A. System and method for determining that results produced from executions of software have not been altered or falsified
CN107409063B (zh) * 2015-08-25 2019-12-24 华为技术有限公司 一种获取vnf信息的方法、装置及系统
US10091113B2 (en) 2015-11-06 2018-10-02 At&T Intellectual Property I, L.P. Network functions virtualization leveraging unified traffic management and real-world event planning
CN105681077B (zh) * 2015-12-31 2019-04-05 华为技术有限公司 故障处理方法、装置及系统
US11003516B2 (en) * 2017-07-24 2021-05-11 At&T Intellectual Property I, L.P. Geographical redundancy and dynamic scaling for virtual network functions
US11128705B2 (en) * 2017-09-15 2021-09-21 Nec Corporation Application function management using NFV MANO system framework
US11382150B2 (en) * 2018-03-26 2022-07-05 Apple Inc. System and method of managing PNF connectivity in a network slice instance

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383452A (zh) * 2021-01-15 2021-02-19 奥特酷智能科技(南京)有限公司 基于dpdk框架的dds数据传输诊断方法及系统
CN112383452B (zh) * 2021-01-15 2021-03-23 奥特酷智能科技(南京)有限公司 基于dpdk框架的dds数据传输诊断方法及系统

Also Published As

Publication number Publication date
US10666497B2 (en) 2020-05-26
US20190394081A1 (en) 2019-12-26
EP3588855A1 (en) 2020-01-01

Similar Documents

Publication Publication Date Title
US10666497B2 (en) Localized service resiliency
US11625335B2 (en) Adaptive address translation caches
Dalton et al. Andromeda: Performance, isolation, and velocity at scale in cloud network virtualization
US11895016B2 (en) Methods and apparatus to configure and manage network resources for use in network-based computing
US10521273B2 (en) Physical partitioning of computing resources for server virtualization
US20230123775A1 (en) Cloud native software-defined network architecture
US20180239725A1 (en) Persistent Remote Direct Memory Access
US8613085B2 (en) Method and system for traffic management via virtual machine migration
US9600380B2 (en) Failure recovery system and method of creating the failure recovery system
US20180357086A1 (en) Container virtual switching
CN110661718A (zh) 基于非随机流簇的路由
CN111903109A (zh) 可超额预订资源分配
US11880287B2 (en) Management of microservices failover
US11095755B2 (en) Telemetry for disaggregated resources
US11005968B2 (en) Fabric support for quality of service
US20230185732A1 (en) Transparent encryption
CN102576309B (zh) 当在运行于相同数据处理系统上的应用程序之间通信时,通过旁路网络栈而在逻辑分区系统中的分区之间的通信
US20220166666A1 (en) Data plane operation in a packet processing device
US11327789B2 (en) Merged input/output operations from a plurality of virtual machines
EP3588856A1 (en) Technologies for hot-swapping a legacy appliance with a network functions virtualization appliance
US20230004414A1 (en) Automated instantiation and management of mobile networks
US20190042456A1 (en) Multibank cache with dynamic cache virtualization
US11561916B2 (en) Processing task deployment in adapter devices and accelerators
Guay et al. Early experiences with live migration of SR-IOV enabled InfiniBand
WO2021216126A1 (en) Device firmware update techniques

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