用于使用与执行虚拟化应用关联的指纹的服务保障的技术的制作方法

文档序号:15736628发布日期:2018-10-23 21:35阅读:166来源:国知局

本文描述的示例一般涉及与由虚拟机所执行的一个或更多应用关联的监控行为。



背景技术:

称为网络功能虚拟化(NFV)的相对新的技术近年来正迅速演进。在一些示例中,NFV基础设施对大数据中心或电信提供商正变得愈加重要,以允许可被解聚和/或定位于多种多样地理位置的至少一些计算资源的汇集。在NFV基础设施的示例虚拟化环境中,主机计算系统可主控多个虚拟机(VM)。所述多个VM可单独执行一个或更多虚拟网络功能(VNF)或与所述一个或更多VNF关联的应用。由一个或更多VM所执行的给定VNF可履行之前可已使用专用硬件装置来实现的功能(例如防火墙(firewalling)、网络地址翻译等)。还有,虚拟化网络环境也能够向最终用户提供各种各样的新应用和/或服务。例如,其中单个计算应用被包装到专用虚拟计算节点(例如容器(container)和VM)的部署随着Docker®和其它类似虚拟化技术的成熟而正赢得广泛的接受度。

附图说明

图1例证了示例系统。

图2例证了监控后台进程(daemon)的示例输入/输出方案。

图3例证了监控后台进程的示例框图。

图4例证了示例过程。

图5例证了设备的示例框图。

图6例证了逻辑流程的示例。

图7例证了存储介质的示例。

图8例证了计算平台的示例框图。

具体实施方式

在NFV基础设施的示例虚拟化环境中,计算系统可主控多个VM。所述多个VM可单独执行一个或更多VNF。在一些示例中,由主机计算平台的操作系统(OS)所实现的管理程序或虚拟机管理器(VMM)可向VM分配计算资源,包含但不限于中央处理单元(CPU)、CPU核、存储器、存储装置或连网资源。由现今的NFV类型基础设施中的VM所执行的应用可能失败,布置成管理VM的管理程序/VMM可能失败,和/或分配给VM的CPU/核可能失败。当前,可能要求人为干预来通过经由在连网或遥测级别的应用的行为的外部分析来推断故障的原因来解决故障。

电信使用模型可具有NFV类型基础设施,并且具有99.999%(5个9)正常运行时间的要求。99.999%正常运行时间要求允许VM在一整年中停机或不操作不多于5.26分钟。用于解决故障的人为干预可能对于每年仅几分钟的停机时间是不可行的。因此,可要求自动解决方案以满足99.999%正常运行时间要求。自动解决方案的当前软件方案可能不能够检测到故障的所有情况,并且还可涉及用于检测软件故障的软件与服务保障中间件的直接探测、以及用于检测硬件故障的计算资源的附加分配。对于由物理计算资源(例如CPU/核)所支持的VM所执行的VNF,可增加在自动解决方案的尝试中的进一步复杂性,因为这些VNF可能没有对这些支持的物理计算资源中的故障的可视性。相对于这些挑战,需要本文描述的示例。

图1例证了示例系统100。在一些示例中,系统100包含多个虚拟机(VM),诸如VM 110-1至110-N,其中如用于VM 110-1至110-N以及下文的系统100的其它元素的“N”指的是大于2的任何正整数。VM 110-1至110-N可由VM管理器(VMM)或管理程序诸如VMM 120来管理或控制。VM 110-1至110-N可由计算资源(诸如但不限于CPU/核130-1、130-2、130-3或130-4以及存储器140)所支持。

在一些示例中,包含CPU/核130-1至130-4以及存储器140的计算资源可以是布置为支持可单独执行一个或更多虚拟网络功能(VNF)应用的虚拟元素(诸如VM 110-1至110-N)的NFV基础设施的一部分的物理元素。例如,VM 110-1、110-2和VM 110-N可分别执行VNF app 112-1、112-2和112-N。根据一些示例,VNF app 112-1、112-2或112-N可履行功能、任务或服务,其可包含但不限于防火墙服务、域名服务(DNS)、高速缓存服务或网络地址转换(NAT)服务。

根据一些示例,VM 110-1至110-N可分别包含促进由VM 110-1至110-N来执行相应VNF app 112-1至112-N的访客操作系统(OS)116-1至116-N。访客OS 116-1至116-N在硬件虚拟化的示例中可被表示为OS内核加系统库和服务,或者在可(例如由容器)共享访客OS内核的应用堆栈虚拟化的示例中可只是系统库和服务。还有,VM 110-1至110-N可包含相应存储器映射代理114-1至114-N,其用于执行将分配到给定VM的存储器140的部分的主机物理地址(HPA)连接到由给定VM所执行的一个或更多VNF应用所使用的虚拟或线性访客存储器地址(GPA)的存储器映射。例如,在处理或处置工作负荷时,VM 110-1的存储器映射代理114-1可将被分配给VM 110-1以用于执行VNF app 112-1的存储器140处的HPA映射到由VNF app 122-1所使用的GPA。如下面进一步描述的,存储器映射可在由VM正执行的一个或更多VNF应用处理工作负荷时促进与那些一个或更多VNF应用的行为关联的样本指纹。

在一些示例中,监控后台进程160可由系统100的CPU/核来执行,所述CPU/核与包含在供应或分配给VM 110-1至110-N的计算资源中的CPU/核130-1至130-4分开。尽管在一些示例中,监控后台进程160可由分配给VM 110-1至110-N的相同CPU/核来执行。还有,监控后台进程160可在与系统100的其它元素相同或不同的计算平台上,并且如此,CPU/核130-N还可被分别定位于相同或不同的计算平台上。如图1中所示,用于执行监控后台进程160的单独CPU/核被示出为CPU/核130-N。如下面更详细描述的,监控后台进程160可包含用于接收数据和/或性能监控中断(PMI)以确定对于由VM 110-1至110-N所执行的VNF app 110-1至110-N所处理的目标工作负荷的样本指纹的逻辑和/或特征。监控后台进程116的逻辑和/或特征随后可将样本指纹与关联于相应行为模型的相应指纹参考进行比较,以确定与正常和/或预期行为的偏差。

根据一些示例,如图1中所示,CPU/核130-1至130-4各自可具有用于保存相应调试存储142-1至142-4的存储器140的一部分。对于这些示例,CPU/核可被编程以将微架构或计算事件存储在被布置成保存调试存储142-1至142-4的存储器140的专用部分中。在VM 110-1至110-N执行相应VNF app 112-1至112-N(在这些VNF app处理相应工作负荷时)时,计算事件可被关联于由CPU/核130-1至130-4在支持这些VM时所展现的行为。计算事件可经由各种事件追踪技术(包含但不限于基于精确事件的采样(PEBS)、处理器追踪(PT)、分支目标存储(BTS)或嵌入式追踪微单元(ETM))来标记或跟踪。PEBS、PT或BTS事件追踪技术可被关联于基于Intel®的微处理器架构,并且ETM可被关联于基于ARM®的微处理器架构。然而,示例不仅局限于这些类型的微处理器架构以及关联的事件追踪技术。上面提到的示例事件追踪技术可跟踪或监控由CPU/核所展现的微架构或计算事件,诸如但不限于,指令退役、分支未中(miss)预测、高速缓存未中、转换后备缓冲器(TLB)未中或其它类型的微架构或计算事件。

根据一些示例,调试存储142-1至142-4可经由来自相应CPU/核130-1至130-4的相应数据流133-1至133-4将微架构或计算事件存储成CPU特定格式。CPU特定格式可包含微架构或计算机事件标识符(ID)以及特定微架构或计算机事件发生的地址(典型是执行的指令或操作的数据的HPA)。CPU特定格式可被描绘为[事件ID,地址]元组,其中“事件ID”表示计算或微架构事件的类型,并且“地址”表示与计算或微架构事件关联的HPA。例如,由CPU/核130-1所存储到调试存储142-1的元组[L1-miss,OxFA803911]可在由CPU/核130-1用作L1高速缓存(未示出)的存储器中的HPA位置OxFA803911标识高速缓存级别1(L1)未中。

在一些示例中,CPU/核130-1至130-4可发出PMI,并将那些PMI路由到中断控制器150。对于这些示例,PMI可经由图1中所示的PMI流132-1至132-4而被路由到中断控制器150。可基于超过用于存储与存储到相应调试存储142-1至142-4的计算或微架构事件关联的数据的容量阈限,将PMI从CPU/核130-1至130-4路由到中断控制器150。在一些示例中,中断控制器150随后可将接收的PMI转发到正经由PMI流152来执行监控后台进程160的CPU 130-N。尽管中断控制器150被示出为系统100的单独元素,但在一些示例中,中断控制器150可以是CPU/核130-1至130-4的内部逻辑的一部分(例如位于相同管芯或芯片上),并且可充当被编程以将PMI从CPU/核130-1至130-4重定向到执行监控后台进程160的CPU/核130-N的应用可编程中断控制器(APIC)。在图1中示出将中断控制器150描绘为单独元素,以简化将由CPU/核130-1至130-4所生成的PMI重定向到CPU/核130-N的这个过程。

根据一些示例,调试存储142-1至142-4可配置成保存PEBS缓冲器。对于这些示例,由CPU/核130-1至130-4经由PEBS技术所采集或收集的追踪事件数据(例如高速缓存未中)可经由相应数据流133-1至133-4而被存储到调试存储141-1至142-4。可对于在调试存储142-1至142-4中保存的每个PEBS缓冲器来设置PEBS中断阈限,如果满足或超过PEBS中断阈限,则触发PMI。可将PMI从在其调试存储中具有满足或超过PEBS中断阈限的PEBS缓冲器的CPU/核来路由到中断控制器150,并且随后可将PMI转发到CPU/核130-N。这种将PMI路由到中断控制器150以便转发到执行监控后台进程160的CPU/核130-N使得系统100的其它CPU/核能够执行监控职责,并使供应以支持VM执行VNF应用的CPU/核解除负担。

在一些示例中,PEBS中断阈限可以是在PEBS索引(未示出)中所保存的字段,其用于规定触发PMI的阈限值并通知监控后台进程160 PEBS缓冲器几乎是满的。此字段可(例如由监控后台进程160)用表示阈限记录的存储在PEBS缓冲器中的PEBS记录的第一字节的线性地址来编程。对于这些示例,给定CPU/核可促使PEBS记录被写到PEBS缓冲器,并随后可更新PEBS索引。如果PEBS索引达到此字段的阈限值,则给定CPU/核将生成PMI,并将这个PMI路由到中断控制器150。中断控制器150随后会将PMI转发到执行监控后台进程160的CPU/核130-N,以指示给定CPU/核的PEBS缓冲器几乎是满的。

根据一些示例,监控后台进程160可订阅来自VMM 120的通知。这些通知可经由数据流103来路由,并且可包含VM/CPU上下文数据。对于这些示例,VM/CPU上下文数据可指示已指派或分配了什么CPU/核来支持给定VM。VM/CPU上下文数据可被包含在包含[时间戳,VM ID,CPU/核ID]的元组中,这意味着在时间中的特定时刻,具有标识符“VM ID”的VM由具有标识符“CPU/核ID”的CPU/核来支持以便执行一个或更多VNF应用。其它类型的VM/CPU上下文数据可包含但不限于由给定VM正在执行什么活动过程。例如,由所述一个或更多VNF应用正在处理什么类型的工作负荷。

在一些示例中,响应于从CPU/核130-1至130-4接收的PMI,监控后台进程160可经由数据流107从调试存储142-1、142-2、142-3或142-4来读或请求事件追踪数据。例如,监控后台进程160可响应于从中断控制器150所转发的PMI(如上面所提到的基于这些PEBS缓冲器几乎是满的),从在调试存储142-1、142-2、142-3或142-4中保存的PEBS缓冲器来读或请求信息。

根据一些示例,存储器映射数据或通知可从存储器映射代理114-1、114-2或114-N被路由到监控后台进程160,以提供有关分配给相应VM 110-1至110-N的存储器140的HPA如何映射到由相应VNF app 112-1至112-N处理工作负荷所使用的虚拟或线性GPA的信息。例如,如图1中所示,来自在VM 110-1处的存储器映射代理114-1的存储器映射数据可经由数据流101而被路由到监控后台进程160,以指示用于VNF app 112-1处理工作负荷的GPA到HPA映射。

在一些示例中,CPU/核130-1至130-N和存储器140可由一个或更多主机计算平台来主控,所述主机计算平台可包含但不限于:服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、迷你计算机、主框架计算机、超级计算机、网络设施、web设施、分布式计算系统、多处理器系统、基于处理器的系统、或它们的组合。

在一些示例中,CPU/核130-1到130N可单独或共同表示各种商业上可得到的处理器,包含而不限于:AMD® Athlon®、Duron®和Opteron®处理器;ARM®应用、嵌入式和安全处理器;IBM®和Motorola® DragonBall®和PowerPC®处理器;IBM和Sony®单元处理器;Intel® Atom®、Celeron®、Core (2) Duo®、Core i3、Core i5、Core i7、Itanium®、Pentium®、Xeon®或Xeon Phi®处理器;以及类似处理器。

根据一些示例,存储器140可由可包含各种类型的易失性和/或非易失性存储器的一个或更多存储器装置或管芯构成。所述一个或更多存储器装置或管芯可包含各种类型的易失性和/或非易失性存储器。易失性存储器可包含但不限于:随机存取存储器(RAM)、动态RAM(D-RAM)、双倍数据速率同步动态RAM (DDR SDRAM)、静态随机存取存储器(SRAM)、晶闸管RAM (T-RAM)或零电容器RAM (Z-RAM)。非易失性存储器可包含但不限于非易失性类型的存储器,诸如可以是字节或块可寻址的三维(3-D)交叉点存储器。字节或块可寻址的非易失性类型的存储器还可包含但不限于:使用硫属相变材料(例如硫属玻璃)的存储器、多阈限级别NAND闪速存储器、NOR闪速存储器、单级别或多级别相变存储器(PCM)、阻性存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、结合了忆阻器技术的磁阻随机存取存储器(MRAM)、自旋转移扭矩MRAM(STT-MRAM)、或任何以上存储器的组合、或者其它非易失性存储器类型。

图2例证了示例输入/输出方案200。在一些示例中,如图2中所示,方案200包含监控后台进程160的输入/输出。对于这些示例,行为模型数据201、事件追踪数据202、VM/CPU上下文数据204、存储器映射数据206和PMI 208可包含由监控后台进程160所接收的各种类型的输入。同时,裁决数据210(如下面进一步描述的)可以是由监控后台进程160所生成的输出的一种类型。到监控后台进程160的各种类型的输入(诸如事件追踪数据202、VM/CPU上下文数据204、存储器映射数据206或PMI 208)中的至少一些可通过执行监控后台进程160的CPU/核来路由。例如,如之前对于图1所提到的,各种数据或PMI流可通过CPU/核130-N来路由以到达监控后台进程160。

根据一些示例,行为模型数据201的输入可从系统100的管理实体(未示出)被接收,或者可在发起监控后台进程160时被加载。对于这些示例,输入到监控后台进程160的行为模型数据201可包含基于要由在VM 110-1至110-N所执行的VNF应用所处理的目标工作负荷(例如NAT或DNS工作负荷)的一个或更多参考指纹。在行为模型数据201中所包含的参考指纹可反映VNF应用的预期行为。例如,由给定VM所执行的VNF应用在处理一段时间上的目标工作负荷时所生成的预期数量和类型的微架构或计算事件(例如指令退役、分支未中预测、高速缓存未中、TLB未中等)可以是在行为模型数据201中所包含的参考指纹。

在一些示例中,监控后台进程160可包含用于从事件追踪数据202、VM/CPU上下文数据204、存储器映射数据206和PMI 208来采集信息的逻辑和/或特征,并且可处理此数据以生成与由处理一段给定时间(例如几分钟或小时)上的实际运行时间工作负荷的给定VM所执行的一个或更多VNF应用关联的样本指纹。如下面进一步描述的,监控后台进程160的逻辑和/或特征可将由VNF应用正在处理的目标工作负荷的参考指纹与样本指纹比较,以确定与正常和/或预期操作的偏差。裁决数据210可包含那个比较是否指示VNF应用以及关联的VM、CPU/核或存储器正如所预期地操作的到管理实体的指示。根据一些示例,如果与正常和/或预期操作的偏差高于阈限,则裁决数据210可包含可能问题需要由管理实体来解决的到管理实体的指示。在其它示例中,监控后台进程160可包含用于如果与正常和/或预期操作的所确定偏差相对小或者在偏差的可接受范围内的话则进一步分析所述偏差的逻辑和/或特征。对于这些其它示例,相对小的偏差(例如与正常/预期偏差相关联的)可以是可接受的,并且裁决数据210可指示没有问题需要由管理实体来解决。还有,对于这些其它示例,监控后台进程160可包含用于基于样本指纹来调整参考指纹以更新行为模型以便将来比较所更新的参考指纹与后来的样本指纹的逻辑和/或特征。备选地,监控后台进程160可引起对于可具有更多计算能力以为了将来比较来更新行为模型的监控后台进程160是远程的由逻辑和/或特征所进行的对参考指纹的调整。

图3例证了监控后台进程160的示例框图。在一些示例中,如图3中示出的监控后台进程160包含事件读循环逻辑310、指纹逻辑320、报告逻辑330、代码分析逻辑340或模型更新逻辑350。对于这些示例,具有虚线的图3的元素可表示由监控后台进程160的逻辑和/或特征所接收或采集的数据、和/或用于保存由监控后台进程160的逻辑和/或特征所接收或采集的数据的结构(例如存储到存储器140或远程保存/存储到主控监控后台进程160的计算平台)。例如,VM上下文缓冲器360可保存由事件读循环逻辑310所接收或采集的数据,诸如从事件追踪/PMI数据302或从VM上下文/CPU数据所采集或接收的数据。VM上下文缓冲器360还可保存模型364和状态信息366。

根据一些示例,来自对于在处理工作负荷时给定VM执行的一个或更多VNF应用的事件追踪/PMI数据302和VM上下文CPU数据304的微架构或计算事件可由事件读循环逻辑310来采集或读,并被组合。组合的数据可被添加到VM上下文缓冲器360的VM事件追踪数据362。对于这些示例,VM上下文缓冲器360可被分配到给定VM或对给定VM是特定的。模型364可包含具有基于相应一个或更多目标工作负荷的指纹参考的给定VM的一个或更多行为模型。还有,给定VM的内部处理状态通过状态信息366来维持。模型364可被本地存储在主控监控后台进程160的相同计算平台,或者可从位于监控后台进程160的主控计算平台远程的不同计算平台检索。

在一些示例中,如图3中所示,指纹逻辑320可包含预处理特征322和比较特征324。对于这些示例,预处理特征322可能能够处理从VM事件追踪数据362所获得的信息以生成样本指纹。考虑从状态信息366所获得和/或在VM事件追踪数据362中所指示的给定VM的内部处理状态,比较特征324可能能够比较样本指纹与从模型364所获得的参考指纹。

根据一些示例,比较特征324可基于样本指纹与参考指纹的比较来生成偏差值。偏差值可指示样本指纹与参考指纹的偏差量。例如,在样本指纹中观测到多少高速缓存未中或TLB未中相对参考指纹中的高速缓存未中或TLB未中的数量的偏差值可由比较特征324来生成。可对于参考指纹与样本指纹之间的距离的测量来归一化偏差值。例如,参考指纹可表示对于代码地址的每个范围的不同类型的计算指令执行的频率。当归一化偏差值时,代码分析逻辑340可使用具有最多计算指令的示例五十代码(fifty code)范围,并随后测量样本指纹与参考指纹之间在50维空间(50-dimensional space)中的距离。

在一些示例中,比较特征324可使用其它方法来比较样本指纹与参考指纹。这些其它方法可包含但不限于使用人工智能/机器学习方法,诸如模糊逻辑、人工神经网络、或其它类型的类似人工智能/机器学习方法。这些其它方法可能够实现比直接比较偏差值更复杂的比较方案,并且可允许复杂特征提取和图案检测。

根据一些示例,当使用偏差值方法论时,如果由比较特征324所生成的偏差值高于阈限,则报告逻辑330可向管理实体指示可能问题需要由管理实体来解决。这种类型的指示可只是可能难题存在并需要被进一步调查的告警。

在一些示例中,如果由比较特征324所生成的偏差值高于阈限,则代码分析逻辑340可在确定是否让报告逻辑330发送告警或报告之前执行附加分析。对于这些示例,进一步分析关于高于阈限的偏差值是不正常的(例如由安全威胁和/或服务性能风险所引起的)还是正常的(例如在VM的给定内部处理状态的预期偏差内)。当参考指纹不包含在行为模型创建期间所看到的计算行为时,阈限偏差准则或值可等于和/或超过偏差值。备选地,当由正在监控的给定VM所执行的一个或更多VNF应用访问是安全攻击的症状的某一关键系统函数(function)时,阈限偏差准则或值可等于和/或超过偏差分数。服务性能风险可以是这样的风险:VNF应用中的一个或更多VNF应用正失灵或正展示失灵即将来临的迹象,使得与VNF关联的服务存在达到不可接受的性能级别的风险。

根据一些示例,失灵可能由于一个或更多CPU/核开始出故障或物理存储器故障引起。代码分析逻辑340可使用各种各样的数据分析技术(可包含但不限于二进制转换、仿真、各种试探法、标签匹配)来确定偏差是否由服务性能风险所引起,并确定偏差对于执行可能或可能未正失灵的一个或更多VNF应用的VM的给定内部处理状态是否是正常的或预期的。报告逻辑330可将指示服务性能风险的分析的结果报告给管理实体以便进一步行动。换言之,如果所述分析指示了样本指纹指示用于在处理工作负荷时VM执行所述一个或更多VNF应用的操作是不正常的,则服务性能风险的报告可由报告逻辑330来发送到管理实体。

在一些示例中,如果代码分析逻辑340确定样本指纹指示操作对于执行所述一个或更多VNF应用的给定VM是正常的,则模型更新逻辑350可更新给定VM的至少一个行为模型,并将该更新的行为模型存储在模型364中。对于这些示例,更新的行为模型可基于VM事件追踪数据362中的信息,所述信息由事件读循环逻辑310来读或采集,随后由指纹逻辑320的预处理特征322来用于生成样本指纹。换言之,样本指纹变成更新的行为模型中的参考指纹以便与后来生成的样本指纹进行比较。尽管模型更新逻辑350在图3中被示出为是监控后台进程160的一部分,但在备选示例中,模型更新逻辑350可与主控监控后台进程160的计算平台和/或支持监控后台进程160的CPU/核分开来定位,或者远程来定位。对于这些备选示例,更新行为模型对于监控后台进程可能是极度计算密集的,并且因此模型更新逻辑350可能需要专用CPU/核和/或专用远程计算平台以便更新行为模型。

根据一些示例,对于执行处理工作负荷的所述一个或更多VNF应用的给定VM的行为模型可不被包含在模型364中。对于这些示例,监控后台进程160可在学习阶段中。对于这个学习阶段,预处理特征322可生成样本指纹,并且比较特征324可向模型更新逻辑350指示使用样本指纹并将样本指纹添加到模型364来生成新行为模型。随后比较特征324可基于这个新行为模型来比较后来的样本指纹。

图4例证了示例过程400。在一些示例中,过程400可用于在由VM正在执行的一个或更多VNF应用处理一段时间上的工作负荷时用于采集与那些一个或更多VNF应用的行为关联的样本指纹的信息的监控后台进程的逻辑和/或特征。对于这些示例,如图3中所示的监控后台进程160的元素可涉及过程400。监控后台进程160的这些元素可包含但不限于事件追踪/PMI数据302、VM上下文/CPU数据304、事件读循环逻辑310、VM上下文缓冲器360、指纹逻辑320、代码分析逻辑340、模型更新逻辑350或报告逻辑330。进一步地,图1中示出的系统100的元素和如图2中所示出的示例方案200也可涉及过程400。然而,示例过程400不限于使用图3中示出的监控后台进程160的元素、图1中示出的系统100的元素、或图2中示出的示例方案200的实现。

开始于过程4.1,事件读循环逻辑310可对于VM(诸如图1中示出的VM 110-1)来读或采集事件/PMI数据。在一些示例中,可从事件追踪/PMI数据302中采集或读事件/PMI数据。当CM 110-1在VNF app 112-1中的一个或更多VNF app处理一段时间上的工作负荷时执行这些VNF应用时,事件追踪/PMI数据302可包含经由事件追踪数据202和/或PMI 208来接收的计算事件或微架构。

移动到过程4.2,事件读循环逻辑310可对于VM 110-1来读或采集上下文数据。在一些示例中,上下文数据可从VM上下文/CPU数据304中被采集。VM上下文/CPU数据可包含CPU/核130-1至130-4之中的什么CPU/核已被指派或分配以支持VM 110-1以及其它关联的信息(例如时间戳和标识符)。VM上下文/CPU数据可经由如图2中所示的VM/CPU上下文数据204来接收。

移动到过程4.3,事件读循环逻辑310可促使采集的或读的事件/PMI数据和上下文数据被存储到VM上下文缓冲器360。根据一些示例,VM上下文缓冲器360可对VM 110-1是特定的,并且事件/PMI和上下文数据可被存储到VM事件追踪数据362,如图3中所指示的。

移动到过程4.4,事件读循环逻辑310可向指纹逻辑320通知数据已被存储到VM上下文缓冲器360。

移动到过程4.5,指纹逻辑320的预处理特征322可从VM事件追踪数据362中采集数据以预处理所述数据来生成样本指纹。

移动到过程4.6,考虑从状态信息所获得的或在VM事件追踪数据362中所指示的VM 110-1的内部处理状态,指纹逻辑320的比较特征324可将由预处理特征322所生成的样本指纹与从模型364所获得的参考指纹相比较。在一些示例中,比较特征324可基于样本指纹与参考指纹的比较来生成偏差值。

移动到过程4.7A,如果偏差值小于阈限偏差值,则指纹逻辑320可向事件读循环逻辑310指示读或采集附加数据以便生成后来的样本指纹,如上面对于过程4.1至4.5所描述的。

移动到过程4.7B,如果偏差值大于阈限偏差值,则指纹逻辑320可向代码分析逻辑340指示需要附加分析。

移动到过程4.8B,代码分析逻辑340可对超过阈限偏差值是正常还是不正常来进行进一步分析。

移动到过程4.9B1,如果代码分析逻辑340确定超过阈限偏差值是由于VM 110-1在执行VNF app 112-1时的正常操作引起,则VM 110-1的行为模型需要更新。

移动到过程4.10B1,模型更新逻辑350可更新VM 110-1的行为模型,使得后来的样本指纹与更新的行为模型的比较不要求对于什么被视为正常操作的进一步分析。

移动到过程4.9B2,如果代码分析逻辑340确定超过阈限偏差值不正常,则需要报告VM 110-1在执行VNF app 112-1时的不正常操作。

移动到过程4.10B2,报告逻辑330可向管理实体发送报告以报告VM 110-1在执行VNF app 112-1时的采样的或监控的行为指示不正常的行为。在一些示例中,报告可指示服务性能风险是否涉及不正常行为。

图5例证了设备500的示例框图。尽管在图5中示出的设备500在某一拓扑中具有有限数量的元素,但可领会到,设备500在替换拓扑中可包含如对于给定实现所期望的更多或更少的元素。

根据一些示例,设备500可由电路520来支持。对于这些示例,电路520可以在处理器、处理器电路、CPU、或计算系统的CPU的核(例如图1中所示的CPU/核130-N)处。对于这些示例,所述处理器、处理器电路、CPU、或CPU的核可支持监控后台进程,诸如图1-3中示出的监控后台进程160。电路520可被布置成执行一个或更多软件或固件实现的模块、组件或逻辑522-a(模块、组件或逻辑在此上下文中可被互换使用)。值得注意的是,本文所使用的“a”和“b”和“c”以及类似的标志符旨在是表示任何正整数的变量。从而例如,如果实现设置了a=5的值,则模块、组件或逻辑522-a的软件或固件的全集可包含逻辑522-1、522-2、522-3、522-4或522-5。所呈现的示例不限于此上下文中,并且通篇使用的不同变量可表示相同或不同的整数值。还有,“逻辑”、“模块”或“组件”还可包含存储在计算机可读介质中的软件/固件,并且尽管逻辑的类型在图5中示出为分离框,但这不将逻辑的这些类型限制于截然不同的计算机可读介质组件中的存储装置(例如独立存储器等)。

根据一些示例,如上面所提到的,电路520可包含处理器、处理器电路、CPU、或CPU的核。电路520一般可被布置成执行一个或更多软件组件522-a。电路520可以是任何各种商业上可得到的处理器中的所有或至少一部分,包含而不限于:AMD® Athlon®、Duron®和Opteron®处理器;ARM®应用、嵌入式和安全处理器;IBM®和Motorola® DragonBall®和PowerPC®处理器;IBM和Sony®单元处理器;Intel® Atom®、Celeron®、Core (2) Duo®、Core i3、Core i5、Core i7、Itanium®、Pentium®、Xeon®、Xeon Phi®和XScale®处理器;以及类似处理器。根据一些示例,电路520可被配置为专用集成电路(ASIC),并且至少一些逻辑522-a可被实现为ASIC的硬件元素。根据一些示例,电路520可被配置为现场可编程门阵列(FPGA),并且至少一些逻辑522-a可被实现为FPGA的硬件元素。

根据一些示例,设备500可包含事件读循环逻辑522-1。事件读循环逻辑522-1可由电路520来执行以接收在VM执行用于处理一段时间上VNF的工作负荷的一个或更多应用时所采集的计算事件的信息。对于这些示例,事件读循环逻辑522-1可经由VM事件追踪数据505和VM上下文/CPU数据510来接收信息。

在一些示例中,设备500可包含指纹逻辑522-2。指纹逻辑522-2可由电路520来执行以基于包含在由事件读循环逻辑522-1所接收的信息中所采集的计算事件来生成样本指纹。如在下面示例中所描述的,指纹逻辑522-2可基于样本指纹来确定是否促使报告被发送到管理实体以指示对于所述一个或更多应用处理工作负荷的服务性能风险。

根据一些示例,指纹逻辑522-2可比较样本指纹与包含在行为模型中的参考指纹。行为模型可被包含在行为模型515(例如从与电路520耦合的存储器中获得的)中。参考指纹可基于在VM执行用于处理一段时间上VNF的目标工作负荷的所述一个或更多应用时所生成的预期计算事件。对于这些示例,指纹逻辑522-1可基于样本指纹与参考指纹的比较来确定是否促使报告被发送到管理实体以指示服务性能风险。

在一些示例中,指纹逻辑522-2可生成偏差值以指示样本指纹与参考指纹之间的差异,并且随后基于偏差值是否超过阈限偏差值来建立对是否促使报告被发送的判定。

根据一些示例,设备500还可包含报告逻辑522-3。报告逻辑522-4可由电路520来执行以向管理实体发送报告以指示服务性能风险。如上面所提到的,指纹逻辑522-2可促使报告被发送到管理实体。报告可被包含在报告540中,并且可向管理实体指示存在这样的风险:VNF应用中的一个或更多VNF应用失灵或正展示失灵即将来临的迹象,使得与VNF关联的服务存在达到不可接受的性能级别的风险。

在一些示例中,设备500还可包含代码分析逻辑522-4。如果指纹逻辑522-2确定样本指纹与参考指纹的比较的偏差值超过阈限偏差值,则代码分析逻辑522-4可由电路520来执行以提供进一步分析。对于这些示例,代码分析逻辑522-4可确定偏差值超过阈限偏差值是否由于用于一个或更多应用处理VNF的工作负荷的正常操作引起。正常操作可至少部分基于执行一个或更多VNF应用的VM的内部处理状态。VM的内部处理状态可经由状态信息530来获得。如果代码分析逻辑522-2确定偏差值超过阈限偏差值不是由于正常操作引起,则代码分析逻辑522-2可促使报告逻辑522-3向管理实体发送报告以指示服务性能风险。

根据一些示例,设备500还可包含模型更新逻辑522-5。模型更新逻辑522-5可由电路520来执行以更新由指纹逻辑522-2所使用的行为模型。对于这些示例,如果代码分析逻辑522-4确定偏差值超过阈限偏差值是由于正常操作引起的,则模型更新逻辑522-5可引起对行为模型的更新。可基于在VM执行用于处理一段时间上VNF的工作负荷的所述一个或更多应用时所采集的计算事件的所接收信息来更新行为模型。模型更新逻辑522-5可促使更新的行为模型经由更新的行为模型550而被存储在与电路520耦合的存储器中。在其中行为模型在设备500处被更新的示例中,模型更新逻辑522-5可执行与更新行为模型关联的计算任务。在其中对设备500远程更新行为模型的示例中,模型更新逻辑522-5可通过发送在VM执行所述一个或更多应用时所采集的计算事件的所接收信息以供远程模型更新逻辑使用来促使行为模型被更新,并且随后在远程模型更新逻辑被更新之后从其接收更新的行为模型。

设备500的各种组件以及实现设备500的装置或节点可通过各种类型的通信介质来彼此通信地耦合以协调操作。协调可涉及信息的单向或双向交换。例如,组件可以在通信介质上传递的信号的形式来传递信息。信息能被实现为分配给各种信号线的信号。在此类分配中,每个消息都是信号。然而,进一步实施例备选地可采用数据消息。此类数据消息可跨各种连接来发送。示例连接包含并行接口、串行接口、和总线接口。

本文包含的是表示用于执行所公开架构的新颖方面的示例方法论的一组逻辑流程。虽然为了简化解释的目的,本文示出的一个或更多方法论被示出和描述为一系列动作,但本领域那些技术人员将理解并领会到,所述方法论不受动作的顺序所限制。一些动作照此可按不同的顺序和/或与不同于本文示出和描述的动作同时发生。例如,本领域那些技术人员将理解和领会到,方法论备选地能被表示为一系列的相关状态或事件,诸如在状态图中。此外,对于新颖实现,可不要求在方法论中例证的所有动作。

逻辑流程可采用软件、固件和/或硬件来实现。在软件和固件实施例中,逻辑流程可通过存储在至少一个非暂态计算机可读介质或机器可读介质(诸如光、磁或半导体存储装置)上的计算机可执行指令来实现。实施例不限于此上下文中。

图6例证了示例逻辑流程600。逻辑流程600可表示由本文中描述的一个或更多逻辑、特征、或装置(诸如设备600)所执行的一些或所有操作。更具体地说,逻辑流程600可至少由事件读循环逻辑522-1、指纹逻辑522-2、报告逻辑522-3或代码分析逻辑522-4来实现。

根据一些示例,逻辑流程600在框602可接收在VM执行用于处理一段时间上VNF的工作负荷的一个或更多应用时所采集的计算事件的信息。对于这些示例,事件读循环逻辑522-1可接收信息。

在一些示例中,逻辑流程600在框604可基于所采集的计算事件来生成样本指纹。对于这些示例,指纹逻辑522-2可生成样本指纹。

根据一些示例,逻辑流程600在框606可基于样本指纹来确定是否报告对于所述一个或更多应用处理工作负荷的服务性能风险。对于这些示例,指纹逻辑522-2或代码分析逻辑522-4可促使报告逻辑522-3基于之前所提到的各种类型的比较或分析来报告服务性能风险。

图7例证了示例存储介质700。如图7中所示,第一存储介质包含存储介质700。存储介质700可包括制品。在一些示例中,存储介质700可包含任何非暂态计算机可读介质或机器可读介质,诸如光、磁或半导体存储装置。存储介质700可存储各种类型的计算机可执行指令,诸如用于实现逻辑流程600的指令。计算机可读或机器可读存储介质的示例可包含能够存储电子数据的任何有形介质,包含易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写或可重写存储器,等等。计算机可执行指令的示例可包含任何适合类型的代码,诸如源代码、编译的代码、解译的代码、可执行代码、静态代码、动态代码、面向对象的代码、视觉代码、和诸如此类。示例不限于此上下文中。

图8例证了示例计算平台800。在一些示例中,如图8中所示,计算平台800可包含处理组件840、其它平台组件850或通信接口860。

根据一些示例,处理组件840可执行设备500和/或存储介质700的处理操作或逻辑。处理组件840可包含各种硬件元素、软件元素、或两者的组合。硬件元素的示例可包含装置、逻辑装置、组件、处理器、微处理器、电路、处理器电路、电路元素(例如晶体管、电阻器、电容器、电感器、等等)、集成电路、ASIC、可编程逻辑装置(PLD)、数字信号处理器(DSP)、FPGA、存储器单元、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片集、等等。软件元素的示例可包含软件组件、程序、应用、计算机程序、应用程序、装置驱动器、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或它们的任何组合。确定是否使用硬件元素和/或软件元素来实现示例可按照任何数量的因素而改变,所述因素诸如期望的计算速率、功率级别、耐热性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度、以及其它设计或性能约束,如对于给定示例所期望的。

在一些示例中,其它平台组件850可包含公共计算元素、存储器单元、芯片集、控制器、外围设备、接口、振荡器、定时装置、视频卡、音频卡、多媒体输入/输出(I/O)组件(例如数字显示器)、功率供应、等等。存储器单元或存储器装置的示例可包含而不限于采取一个或更多更高速度存储器单元形式的各种类型的计算机可读和机器可读存储介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据速率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、诸如铁电聚合物存储器的聚合物存储器、双向存储器(ovonic memory)、相变或铁电存储器、硅氧化氮氧化硅(SONOS)存储器、磁或光卡、装置阵列(诸如独立盘冗余阵列(RAID)驱动)、固态存储器装置(例如USB存储器)、固态驱动(SSD)、以及适合于存储信息的任何其它类型的介质。

在一些示例中,通信接口860可包含支持通信接口的逻辑和/或特征。对于这些示例,通信接口860可包含根据各种通信协议或标准来操作以在直接或网络通信链路上通信的一个或更多通信接口。直接通信可经由使用在一个或更多工业标准(包含后代和变体)(诸如与PCIe规范关联的那些)中描述的通信协议或标准而发生。网络通信可经由使用通信协议或标准(诸如在由电气与电子工程师协会(IEEE)颁布的一个或更多以太网标准中描述的那些)而发生。例如,由IEEE颁布的一个此类以太网标准可包含但不限于IEEE 802.3-2012,在2012年12月发布的带有冲突检测的载波侦听多路访问(CSMA/CD)访问方法和物理层规范(下文称“IEEE 802.3”规范)。网络通信还可根据一个或更多OpenFlow规范(诸如OpenFlow硬件抽象API规范)而发生。网络通信还可根据Infiniband架构规范而发生。

计算平台800可被实现于服务器或客户端计算装置中。因而,本文描述的计算平台800的功能和/或特定配置可在计算平台800的各种实施例中被包含或省略,如对于服务器或客户端计算装置所适当期望的。

计算平台800的组件和特征可使用分离电路、专用集成电路(ASIC)、逻辑门和/或单芯片架构的任何组合来实现。进一步地,计算平台800的特征可使用微控制器、可编程逻辑阵列和/或微处理器或前述的任何组合在适当恰当之处被实现。注意,硬件、固件和/或软件元素在本文可被共同或单独称为“逻辑”或“电路”。

应领会到,在图8的框图中示出的示范计算平台800可表示许多潜在实现的一个功能上描述的示例。因而,在附图中描绘的块功能的划分、省略或包含并不暗指用于实现这些功能的硬件组件、电路、软件和/或元素在实施例中被必要地划分、省略或包含。

本公开/申请提供了如下的技术方案:

1. 一种设备,包括:

存储器;以及

处理器电路,与所述存储器耦合以执行逻辑,所述逻辑用于:

接收在虚拟机(VM)执行用于处理一段时间上虚拟网络功能(VNF)的工作负荷的一个或更多应用时所采集的计算事件的信息;

基于所采集的计算事件来生成样本指纹;以及

基于所述样本指纹来确定是否报告对于所述一个或更多应用处理所述工作负荷的服务性能风险。

2. 如技术方案1所述的设备,包括用于执行如下操作的所述逻辑:

比较所述样本指纹与被包含于在所述存储器中存储的行为模型中的参考指纹,所述参考指纹基于在所述VM执行用于处理所述VNF的目标工作负荷的所述一个或更多应用时所生成的预期计算事件;以及

基于所述样本指纹与所述参考指纹的所述比较来确定是否报告服务性能风险。

3. 如技术方案2所述的设备,包括用于执行如下操作的所述逻辑:

生成用于指示所述样本指纹与所述参考指纹之间差异的偏差值;以及

基于所述偏差值是否超过阈限偏差值来确定是否报告服务性能风险。

4. 如技术方案3所述的设备,包括用于执行如下操作的所述逻辑:

确定所述偏差值超过所述阈限偏差值;以及

确定所述偏差值超过所述阈限偏差值是否由于用于所述一个或更多应用处理所述VNF的所述工作负荷的正常操作引起。

5. 如技术方案4所述的设备,包括用于执行如下操作的所述逻辑:

如果所述偏差值超过所述阈限偏差值不是由于正常操作引起,则报告所述服务性能风险。

6. 如技术方案4所述的设备,包括用于执行如下操作的所述逻辑:

基于所述偏差值超过所述阈限偏差值是由于正常操作引起的确定而引起对所述行为模型的更新,所述行为模型基于在所述VM执行用于处理所述一段时间上所述VNF的所述工作负荷的所述一个或更多应用时所采集的计算事件的所接收信息来更新;以及

促使所更新的行为模型被存储到所述存储器。

7. 如技术方案1所述的设备,包括用于执行如下操作的所述逻辑:

基于所述存储器不包含包括参考指纹的行为模型来确定不报告服务性能风险;

创建包含所述样本指纹作为所述参考指纹的行为模型;以及

促使所创建的行为模型被存储到所述存储器。

8. 如技术方案1所述的设备,在所述VM执行所述一个或更多应用时所采集的计算事件的所述信息包括在被分配以支持所述VM的中央处理单元(CPU)或核处发生的计算事件,所述计算事件包含指令退役、分支未中预测、高速缓存未中或转换后备缓冲器未中。

9. 如技术方案8所述的设备,包括由被分配以支持所述VM的所述CPU或核经由使用基于精确事件的采样(PEBS)、处理器追踪(PT)、嵌入式追踪微单元(EMT)或分支目标存储(BTS)中的一个或更多所采集的所述计算事件。

10. 如技术方案1所述的设备,所述VNF包括用于提供服务的VNF,所述服务包含防火墙服务、域名服务(DNS)、高速缓存服务、或网络地址转换(NAT)服务。

11. 如技术方案1所述的设备,所述存储器包括易失性存储器或非易失性存储器中的一个或更多。

12. 一种方法,包括:

在处理器电路接收在虚拟机(VM)执行用于处理一段时间上虚拟网络功能(VNF)的工作负荷的一个或更多应用时所采集的计算事件的信息;

基于所采集的计算事件来生成样本指纹;以及

基于所述样本指纹来确定是否报告对于所述一个或更多应用处理所述工作负荷的服务性能风险。

13. 如技术方案12所述的方法,包括:

比较所述样本指纹与被包含在行为模型中的参考指纹,所述参考指纹基于在所述VM执行用于处理所述VNF的目标工作负荷的所述一个或更多应用时所生成的预期计算事件;以及

基于所述样本指纹与所述参考指纹的所述比较来确定是否报告服务性能风险。

14. 如技术方案13所述的方法,包括:

生成用于指示所述样本指纹与所述参考指纹之间差异的偏差值;以及

基于所述偏差值是否超过阈限偏差值来确定是否报告服务性能风险。

15. 如技术方案14所述的方法,包括:

确定所述偏差值超过所述阈限偏差值;

确定所述偏差值超过所述阈限偏差值是否由于用于所述一个或更多应用处理所述VNF的所述工作负荷的正常操作引起;以及

如果所述偏差值超过所述阈限偏差值不是由于正常操作引起,则报告所述服务性能风险。

16. 如技术方案15所述的方法,包括:

基于所述偏差值超过所述阈限偏差值是由于正常操作引起的确定而更新所述行为模型,所述行为模型基于在所述VM执行用于处理所述一段时间上所述VNF的所述工作负荷的所述一个或更多应用时所采集的计算事件的所接收信息来更新。

17. 如技术方案12所述的方法,包括:

基于不具有包含参考指纹的行为模型来确定不报告服务性能风险;

创建包含所述样本指纹作为所述参考指纹的行为模型;以及

存储所创建的行为模型。

18. 如技术方案12所述的方法,在所述VM执行所述一个或更多应用时所采集的计算事件的所述信息包括在被分配以支持所述VM的中央处理单元(CPU)或核处发生的计算事件,所述计算事件包含指令退役、分支未中预测、高速缓存未中、或转换后备缓冲器未中。

19. 包括多个指令的至少一种机器可读介质,所述多个指令响应于由系统来执行而促使所述系统:

接收在虚拟机(VM)执行用于处理一段时间上虚拟网络功能(VNF)的工作负荷的一个或更多应用时所采集的计算事件的信息;

基于所采集的计算事件来生成样本指纹;以及

基于所述样本指纹来确定是否报告对于所述一个或更多应用处理所述工作负荷的服务性能风险。

20. 如技术方案19所述的至少一种机器可读介质,包括用于促使所述系统执行如下操作的所述指令:

比较所述样本指纹与被包含在行为模型中的参考指纹,所述参考指纹基于在所述VM执行用于处理所述VNF的目标工作负荷的所述一个或更多应用时所生成的预期计算事件;以及

基于所述样本指纹与所述参考指纹的所述比较来确定是否报告服务性能风险。

21. 如技术方案20所述的至少一种机器可读介质,包括用于促使所述系统执行如下操作的所述指令:

生成用于指示所述样本指纹与所述参考指纹之间差异的偏差值;以及

基于所述偏差值是否超过阈限偏差值来确定是否报告服务性能风险。

22. 如技术方案21所述的至少一种机器可读介质,包括用于促使所述系统执行如下操作的所述指令:

确定所述偏差值超过所述阈限偏差值;

确定所述偏差值超过所述阈限偏差值是否由于用于所述一个或更多应用处理所述VNF的所述工作负荷的正常操作引起;以及

如果所述偏差值超过所述阈限偏差值不是由于正常操作引起,则报告所述服务性能风险。

23. 如技术方案22所述的至少一种机器可读介质,包括用于促使所述系统执行如下操作的所述指令:

基于所述偏差值超过所述阈限偏差值是由于正常操作引起的确定而引起对所述行为模型的更新,所述行为模型基于在所述VM执行用于处理所述一段时间上所述VNF的所述工作负荷的所述一个或更多应用时所采集的计算事件的所接收信息来更新;以及

促使所更新的行为模型被存储到存储器。

24. 如技术方案19所述的至少一种机器可读介质,包括用于促使所述系统执行如下操作的所述指令:

基于不具有包含参考指纹的行为模型来确定不报告服务性能风险;

创建包含所述样本指纹作为所述参考指纹的行为模型;以及

促使所创建的行为模型被存储到存储器。

25. 如技术方案19所述的至少一种机器可读介质,在所述VM执行所述一个或更多应用时所采集的计算事件的所述信息包括在被分配以支持所述VM的中央处理单元(CPU)或核处发生的计算事件,所述计算事件包含指令退役、分支未中预测、高速缓存未中、或转换后备缓冲器未中。

至少一个示例的一个或更多方面可由存储在表示处理器内各种逻辑的至少一个机器可读介质上的表示性指令来实现,所述指令当由机器、计算装置或系统来读时促使所述机器、计算装置或系统制作用于执行本文描述的技术的逻辑。称为“IP核”的此类表示可被存储在有形的机器可读介质上,并被供给各种顾客或制造设施以加载到实际上制备逻辑或处理器的制作机器中。

各种示例可使用硬件元素、软件元素、或两者的组合来实现。在一些示例中,硬件元素可包含装置、组件、处理器、微处理器、电路、电路元素(例如晶体管、电阻器、电容器、电感器、等等)、集成电路、ASIC、PLD、DSP、FPGA、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集、等等。在一些示例中,软件元素可包含软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件界面、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或它们的任何组合。确定是否使用硬件元素和/或软件元素来实现示例可按照任何数量的因素而改变,所述因素诸如期望的计算速率、功率级别、耐热性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度、以及其它设计或性能约束,如对于给定实现所期望的。

一些示例可包含制品或至少一个计算机可读介质。计算机可读介质可包含用于存储逻辑的非暂态存储介质。在一些示例中,非暂态存储介质可包含能够存储电子数据的一个或更多类型的计算机可读存储介质,包含易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写或可重写存储器、等等。在一些示例中,所述逻辑可包含各种软件元素,诸如软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件界面、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或它们的任何组合。

根据一些示例,计算机可读介质可包含用于存储或保存指令的非暂态存储介质,所述指令当由机器、计算装置或系统来执行时促使机器、计算装置或系统执行按照所描述的示例的方法和/或操作。所述指令可包含任何适合类型的代码,诸如源代码、编译的代码、解译的代码、可执行代码、静态代码、动态代码、和诸如此类。所述指令可根据用于指挥机器、计算装置或系统执行某一功能的预定义的计算机语言、方式或句法来实现。所述指令可使用任何适合的高级、低级、面向对象、可视、编译和/或解译的编程语言来实现。

一些示例可使用表述“在一个示例中”或“示例”连同它们的派生词来描述。这些术语意味着,结合该示例来描述的具体特征、结构、或特性被包含于至少一个示例中。在说明书中各处出现的短语“在一个示例中”不必要全都指相同示例。

一些示例可使用表述“耦合”和“连接”连同它们的派生词来描述。这些术语不必要旨在作为彼此的同义词。例如,使用术语“连接”和/或“耦合”的描述可指示两个或更多元素彼此直接物理接触或电接触。然而,术语“耦合”或“耦合于”也可意味着,两个或更多元素彼此不直接接触,但仍彼此协同操作或交互。

以下示例属于本文公开的技术的附加示例。

示例1.一种示例设备包含存储器以及与存储器耦合的处理器电路。对于这些示例,处理电路可执行逻辑。所述逻辑可接收在VM执行用于处理一段时间上VNF的工作负荷的一个或更多应用时所采集的计算事件的信息。所述逻辑还可基于所采集的计算事件来生成样本指纹。所述逻辑还可基于样本指纹来确定是否报告对于一个或更多应用处理工作负荷的服务性能风险。

示例2.示例1所述的设备,所述逻辑还可比较样本指纹与包含于在存储器中所存储的行为模型中的参考指纹。参考指纹可基于在VM执行用于处理一段时间上VNF的目标工作负荷的所述一个或更多应用时所生成的预期计算事件。所述逻辑还可基于样本指纹与参考指纹的比较来确定是否报告服务性能风险。

示例3.示例2所述的设备,所述逻辑还可生成指示样本指纹与参考指纹之间差异的偏差值,所述逻辑还可基于偏差值是否超过阈限偏差值来确定是否报告服务性能风险。

示例4.示例3所述的设备,所述逻辑还可确定偏差值超过阈限偏差值,并确定偏差值超过阈限偏差值是否由于用于一个或更多应用处理VNF的工作负荷的正常操作引起。

示例5.示例4所述的设备,所述逻辑还可:如果偏差值超过阈限偏差值不是由于正常操作引起,则报告服务性能风险。

示例6.示例4所述的设备,所述逻辑还可基于偏差值超过阈限偏差值是由于正常操作引起的确定而引起对行为模型的更新。可基于在VM执行用于处理一段时间上VNF的工作负荷的一个或更多应用时所采集的计算事件的所接收信息来更新行为模型。所述逻辑还可促使更新的行为模型被存储到存储器。

示例7.示例1所述的设备,所述逻辑还可基于存储器不包含包括参考指纹的行为模型来确定不报告服务性能风险。所述逻辑还可创建包含样本指纹作为参考指纹的行为模型,并促使创建的行为模型被存储到存储器。

示例8.示例1所述的设备,在VM执行所述一个或更多应用时所采集的计算事件的信息可包含发生在被分配以支持VM的CPU或核处的计算事件,所述计算事件包含指令退役、分支未中预测、高速缓存未中或转换后备缓冲器未中。

示例9.示例8所述的设备,由被分配以支持VM的CPU或核经由使用PEBS、PT、EMT或BTS中的一个或更多所采集的计算事件。

示例10.示例1所述的设备,VNF可提供服务,所述服务包含防火墙服务、DNS、高速缓存服务、或NAT服务。

示例11.示例1所述的设备,所述存储器可包含易失性存储器或非易失性存储器中的一个或更多。

示例12.示例11所述的设备,易失性存储器可包含RAM、DRAM、DDR SDRAM、SRAM、TRAM或ZRAM。非易失性存储器可包含使用硫属相变材料的相变存储器、闪速存储器、铁电存储器、SONOS存储器、聚合物存储器、铁电聚合物存储器、FeTRAM、FeRAM、双向存储器、纳米线、电EEPROM、相变存储器、忆阻器或STT-MRAM。

示例13.一种示例方法可包含:在处理器电路接收在VM执行用于处理一段时间上VNF的工作负荷的一个或更多应用时所采集的计算事件的信息。所述方法还可包含:基于所采集的计算事件来生成样本指纹。所述方法还可包含:基于样本指纹来确定是否报告对于所述一个或更多应用处理工作负荷的服务性能风险。

示例14.示例13所述的方法还可包含:比较样本指纹与被包含在行为模型中的参考指纹。参考指纹可基于在VM执行用于处理一段时间上VNF的目标工作负荷的所述一个或更多应用时所生成的预期计算事件。所述方法还可包含:基于样本指纹与参考指纹的比较来确定是否报告服务性能风险。

示例15.示例14所述的方法还可包含:生成用于指示样本指纹与参考指纹之间差异的偏差值。所述方法还可包含:基于偏差值是否超过阈限偏差值来确定是否报告服务性能风险。

示例16.示例15所述的方法还可包含:确定偏差值超过阈限偏差值,并确定偏差值超过阈限偏差值是否由于用于所述一个或更多应用处理VNF的工作负荷的正常操作引起。

示例17.示例16所述的方法还可包含:如果偏差值超过阈限偏差值不是由于正常操作引起,则报告服务性能风险。

示例18.示例16所述的方法还可包含:基于偏差值超过阈限偏差值是由于正常操作引起的确定来更新行为模型,所述行为模型基于在VM执行用于处理一段时间上VNF的工作负荷的所述一个或更多应用时所采集的计算事件的所接收信息来更新。

示例19.示例13所述的方法还可包含:基于不具有包含参考指纹的行为模型来确定不报告服务性能风险。所述方法还可包含:创建包含样本指纹作为参考指纹的行为模型,并存储所创建的行为模型。

示例20.示例13所述的方法,在VM执行所述一个或更多应用时所采集的计算事件的信息可包含发生在被分配以支持VM的CPU或核处的计算事件,所述计算事件包含指令退役、分支未中预测、高速缓存未中或转换后备缓冲器未中。

示例21.示例20所述的方法还可包含由被分配以支持VM的CPU或核经由使用PEBS、PT、EMT或BTS中的一个或更多所采集的计算事件。

示例22.示例13所述的方法,VNF可提供防火墙服务、DNS、高速缓存服务、或NAT服务。

示例23.一种示例至少一种机器可读介质可包含多个指令,所述多个指令响应于由系统来执行而可促使所述系统实行根据示例13至22中任一示例的方法。

示例24.一种示例设备可包含用于执行示例13至22中任一示例的方法的部件。

示例25.一种示例至少一种机器可读介质可包含多个指令,所述多个指令响应于由系统来执行而可促使所述系统接收在VM执行用于处理一段时间上VNF的工作负荷的一个或更多应用时所采集的计算事件的信息。所述指令还可促使所述系统基于所采集的计算事件来生成样本指纹。所述指令还可促使所述系统基于样本指纹来确定是否报告对于所述一个或更多应用处理工作负荷的服务性能风险。

示例26.示例25所述的至少一种机器可读介质,所述指令还可促使所述系统比较样本指纹与被包含在行为模型中的参考指纹。参考指纹可基于在VM执行用于处理一段时间上VNF的目标工作负荷的所述一个或更多应用时所生成的预期计算事件。所述指令还可促使所述系统基于样本指纹与参考指纹的比较来确定是否报告服务性能风险。

示例27.示例26所述的至少一种机器可读介质,所述指令还可促使所述系统生成用于指示样本指纹与参考指纹之间差异的偏差值。所述指令还可促使所述系统基于偏差值是否超过阈限偏差值来确定是否报告服务性能风险。

示例28.示例27所述的至少一种机器可读介质,所述指令还可促使所述系统确定偏差值超过阈限偏差值,并确定偏差值超过阈限偏差值是否由于用于所述一个或更多应用处理VNF的工作负荷的正常操作引起。

示例29.示例28所述的至少一种机器可读介质,所述指令还可促使所述系统如果偏差值超过阈限偏差值不是由于正常操作引起,则报告服务性能风险。

示例30.示例28所述的至少一种机器可读介质,所述指令还可促使所述系统基于偏差值超过阈限偏差值是由于正常操作引起的确定而引起对行为模型的更新。可基于在VM执行用于处理一段时间上VNF的工作负荷的所述一个或更多应用时所采集的计算事件的所接收信息来更新行为模型。所述指令还可促使所述系统促使更新的行为模型被存储到存储器。

示例31.示例25所述的至少一种机器可读介质,所述指令还可促使所述系统基于不具有包含参考指纹的行为模型来确定不报告服务性能风险。所述指令还可促使所述系统创建包含样本指纹作为参考指纹的行为模型,并促使创建的行为模型被存储到存储器。

示例32.示例25所述的至少一种机器可读介质,在VM执行所述一个或更多应用时所采集的计算事件的信息可包含发生在被分配以支持VM的CPU或核处的计算事件,所述计算事件包含指令退役、分支未中预测、高速缓存未中或转换后备缓冲器未中。

示例33.示例32所述的至少一种机器可读介质,所述计算事件可由被分配以支持VM的CPU或核经由使用PEBS、PT、EMT或BTS中的一个或更多来采集。

示例34.示例25所述的至少一种机器可读介质,VNF可提供服务,所述服务包含防火墙服务、DNS、高速缓存服务、或NAT服务。

强调的是,提供了本公开的摘要以符合37 C.F.R.节1.72(b),其要求将允许读者快速查明技术公开的性质的摘要。通过理解而主张的是,它将不被用于解译或限制权利要求的范畴或意义。此外,在前述具体实施方式中能看到,为了使本公开流线化的目的,各种特征被一起聚合在单个示例中。本公开的此方法不被解译为反映所要求权利的示例要求比在每个权利要求中所明确阐述的特征更多的特征的意图。相反,如以下权利要求反映,发明的主题在于比单个公开示例的所有特征更少。因此,以下权利要求由此被结合到具体实施方式中,其中每个权利要求都代表它自己作为单独示例。在随附权利要求中,术语“包含”和“在其中”分别被用作相应术语“包括”和“其中”的简明英语等效词。此外,术语“第一”、“第二”、“第三”等等仅仅被用作标注,并未旨在对它们的对象施加数字上的要求。

尽管已采用特定于结构特征和/或方法论动作的语言来描述主题,但要理解的是,在随附权利要求中定义的主题不必要限于上面描述的特定特征或动作。相反,上面描述的特定特征和动作作为实现权利要求的示例形式而被公开。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1