CN110011869B - 控制器装置、方法及计算机可读存储介质 - Google Patents
控制器装置、方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110011869B CN110011869B CN201811429698.3A CN201811429698A CN110011869B CN 110011869 B CN110011869 B CN 110011869B CN 201811429698 A CN201811429698 A CN 201811429698A CN 110011869 B CN110011869 B CN 110011869B
- Authority
- CN
- China
- Prior art keywords
- virtual
- network
- uve
- data
- virtual network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
- H04L41/065—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving logical or physical relationship, e.g. grouping and hierarchies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及控制器装置、方法及计算机可读存储介质。在一个实例中,控制器装置包括一个以上的网络接口,通信式耦接至虚拟网络的一个以上的装置;以及处理器,可被配置为针对所述虚拟网络,确定由所述虚拟网络中的相应装置执行的一组的两个以上的相关处理,经由所述网络接口接收用于所述组的两个以上的相关处理的数据,以及汇总用于所述组的两个以上的相关处理的所述数据以形成用于所述组的两个以上的相关处理的汇总数据。
Description
本申请是申请日为2013年6月6日、申请号为201310224472.0、发明名称为“创建用户可见处理跟踪的可搜索和全局数据库”的专利申请的分案申请,其全部内容结合于此作为参考。
技术领域
本发明总体上涉及计算机网络,更具体地,涉及计算机网络中的故障检测。
背景技术
在通用的云数据中心环境中,存在提供计算和/或存储容量的服务器以运行各种应用程序。例如,数据中心可以包括管理用户(例如数据中心的客户)的应用程序和服务的设备。数据中心可以例如包括基础设施设备的所有管理,诸如联网和存储系统、冗余电源和环境控制。在典型的数据中心中,存储系统和应用程序服务器的云集经由由一个或多个层的物理网络交换机和路由器提供的高速交换机构造而互连。更复杂的数据中心给遍及世界的基础设施提供位于各种物理管理设施中的用户支持设备。
在数据中心或其他大规模分配的复杂系统中,故障和失效是不等同的。故障可以允许系统的依赖故障部件的部件继续操作。然而,失效可以演变成并趋于导致系统的一个或多个部件的未决失效,这有害地影响了系统的操作。
发明内容
一般地,本公开描述了用于从中心位置(例如,通过使用结构可查询(能够SQL)的中心数据库)自动回溯的技术,其中,回溯在故障出现后较长时间发生,从而用于在诸如软件定义网络(SDN)系统的大规模分布式复杂系统中识别可能的故障处理。
本公开还描述了用于在大规模分布式复杂系统中自动识别可能的故障组件的技术。在一些实例中,组件参数的快照被自动重复馈送至预训练分类器,且该分类器指示每个接收的快照是可能属于失效和故障类还是属于非失效/故障类。作为预先措施,调查、重启或下线快照指示高失效或故障可能性的的组件。该技术可被用于诸如数据中心的大规模分布式复杂系统。
在一个实例中,一种方法包括由用于虚拟网络的控制器装置确定由所述虚拟网络中的相应装置执行的一组的两个以上的相关处理;由所述控制器装置接收用于所述组的两个以上的相关处理的数据;以及由所述控制器装置汇总用于所述组的两个以上的相关处理的所述数据以形成用于所述组的两个以上的相关处理的汇总数据。
在另一实例中,控制器装置包括一个以上的网络接口,通信式耦接至虚拟网络的一个以上的装置;以及处理器,可被配置为针对所述虚拟网络,确定由所述虚拟网络中的相应装置执行的一组的两个以上的相关处理,经由所述网络接口接收用于所述组的两个以上的相关处理的数据,以及汇总用于所述组的两个以上的相关处理的所述数据以形成用于所述组的两个以上的相关处理的汇总数据。
在另一实例中,一种计算机可读存储介质,其上存储有指令,所述指令在被执行时,使处理器由用于虚拟网络的控制器装置确定由所述虚拟网络中的相应装置执行的一组的两个以上的相关处理;由所述控制器装置接收用于所述组的两个以上的相关处理的数据;以及由所述控制器装置汇总用于所述组的两个以上的相关处理的所述数据以形成用于所述组的两个以上的相关处理的汇总数据。
附图和以下描述中叙述了一个或多个实例的细节。根据描述和附图以及根据权利要求,其他特征、目的和优势将变得显而易见。
附图说明
图1是示出可实施本文所述技术的实例的一个实例性数据中心的框图。
图2是更详细示出可实施本文所述技术的实例性系统的框图。
图3是示出说明如本文所述的机箱式交换机和TOR交换机的示例性配置的实例系统50的另一框图。
图4是示出用于便于根据本公开的一个或多个实例的一个或多个虚拟网络的操作的虚拟网络控制器的实例性实施的框图。
图5是示出用于便于根据本公开的一个或多个实例的一个或多个虚拟网络的操作的虚拟网络控制器的实例性实施的框图。
图6是可执行用于后续识别可能的故障处理的标记跟踪的方法的更具体的SDN系统的大规模分布式复杂系统的框图。
图7是示出可执行识别可能的故障组件的方法的电信虚拟化子系统的其他细节(例如,层)的框图。
图8是示出如何标记和汇总报告的示意性和信号流图。
图9是示出可用于图8的系统中的处理的流程图。
图10是示出根据本公开的一种或多种技术的用于汇总各处理的数据的实例性计算装置的框图。
图11A是根据本公开中所述技术的可执行识别可能的故障组件的大规模分布式复杂系统的框图。
图11B是示出根据本公开中所述技术的可执行识别可能的故障组件的虚拟化子系统的其他细节的框图。
图12是示出可训练的分类器如何被用于启发式开发根据本文所述技术的用于预测组件失效和/或故障的可能性的分类算法的示意性和信号流图。
图13A和图13B示出了对于根据本文所述技术的系统的操作的实例性模式的流程图。
图14是示出用于执行根据本公开的一个或多个方面的操作的实例性计算装置的框图。
具体实施方式
在软件系统的环境中,故障和失效不是一个并且相同的事情,当失效发生时,经常不容易确定是谁或什么部件出现故障(该受责备),尤其如果失效在故障发生之后很长时间才发现,并且尤其如果故障点可以在大规模分配系统中(诸如在软件定义网络(SDN)系统中)的任何地方。
“故障”的简单示例可以为在执行软件处理的数学处理部分中试图尝试除数为零。理想地,当试图尝试基本数学规则的这种违背并且针对其中尝试这种违背的硬件部件和/或软件部件而本地产生相应的失效日志时,CPU或其他数据处理硬件部件将发送异常标志(exception flag)。此后,当程序调试分析师评估该本地日志时,他/她将辨认出一个或多个执行标记并且将确认尝试了诸如除数为零的简单数学规则违背。
“故障”的稍微更复杂的实例可能是在执行软件处理的数学处理部分中产生超范围结果值。例如,会计采购账户的允许范围可能不少于$5.00,但不多于$1000.00,其中,为此,执行数学操作产生诸如$4.99或$1000.01的结果值,并且该违背没有被硬件装置捕捉。理想地,执行软件将包括结果确认线程(result validation thread),并且当试图尝试非基本数学和特定应用程序规则的这种违背时,后者将发送一个或多个异常标志。此后,可以针对其中试图违背的本地处理的结果确认线程而本地地产生相应的失效日志,当问题调试分析师评估该本地日志时,他/她将辨认出例外标记并且确认尝试了一个或多个特定应用程序规则违背,然后,问题调试分析师可以用公式表示用于避免违背重现的正确代码。
这些简单的实例没有解决当规则违背(或引起的其他故障)步骤在多封装计算机和/或电信环境(诸如在该环境中,很多虚拟机器在诸如软件定义网络(SDN)系统的大规模分配系统之间分别执行很多个分配处理)中发生时将发生什么的问题。在该情况下,即使异常日志存在,由于存在很多个可能性和其中可能存在一个故障表示日志或多个日志的很多个间隔地点(例如,作为间隔数英里的物理服务器),问题调试分析师经常不知道在大规模分配系统中的哪个地方可以看到。此外,由于要花费很长时间认识到问题发生,直到问题分析师回顾地开始对本地例外日志的询问,这些日志中的一些由于给定本地设施下的存储器容量限制可能已经被最近的日志写的过多。
该问题可能在复杂且尺寸很大(就单独部件的数量和/或空间/地理范围而言)的系统中变得特别敏感,其中,这些系统预期是向上的并且尽可能在满容量下运行。这种高度复杂、大尺寸且全部时间运行的系统的实例为软件定义网络(SDN)系统。
SDN系统的实例包括被用于支持网络的操作的所谓的数据中心(例如,云计算中心),该操作包括数据存储、搜索以及检索。一个SDN实例的额外详情如下。简单地,且本介绍所充足的是,SDN系统可以由成千个复杂服务器计算机(被编程为运行多个虚拟机器及其封装处理和子处理)、成千个网络信道以及在数千英里上分配的路由器/交换机组成,其中,用户的期望是这种系统的复杂软件和硬件部件将基于高度可靠和可缩放的基础而保持自由失效和可操作。
应当理解,本文所使用的术语“虚拟”不是指的是抽象的。而其指的是物理装置,其中,基础的硬件和/或软件系统的细节由用户隐藏(封装)和/或基础的其他虚拟系统的细节由用户隐藏。还应当理解,本文中使用的术语“软件”并非指抽象意义上的软件,而是指非抽象的物理实际和非暂时瞬间事情,非暂时瞬间事情不能够数字地控制可配置数字数据处理系统和/或可配置模拟信号处理系统如何操作。
鉴于上文对简单系统中的简单故障/失效之间的差别的介绍性描述,并且鉴于上文对小简单系统和大规模复杂分配系统(执行分别封装在大量虚拟机器中且在宽范围电信系统上跨越通信的成千上百个(如果不是很多的话)处理和子处理)之间的差别的介绍性描述,有利的是具有一种方法和系统,该方法和系统用于自动跟踪从中央位置返回并在失效发生很长时间后的由此在这种大规模分配复杂系统中识别可能失效处理所产生的异常日志。
该发明的技术通常致力于提供从大规模分配复杂系统(诸如软件定义网络(SDN)系统)中的中央位置进行跟踪返回。
在一个实例中,在大规模分配复杂系统中识别可能故障处理的方法包括将该系统子划分为多个层,每个均以具有相同的部件和其中正常执行的相同种类的处理;子分配属于诸如用户可见虚拟网络(a.k.a用户可见VNet或更一般地为用户可见实体-UVE)的多个用户可接入实体的相应一个的系统执行;以及分配每个相应系统层(TRx)、每个相应虚拟和/或物理执行机器(VOPEM)和每个相应处理实例(PIN)的每个相应UVE的独立识别密钥(UVEKey);当本地产生跟踪时,用这种UVE、TRx和PIN识别密钥(例如,UVEKey、TRxKey、PINKey、VMKey、PMKey)的两个或多个标记对应的跟踪日志(trace log);将标记的跟踪传输至中央化数据库并且将这些跟踪存储在其中,该中央化数据库可以通过使用这些识别密钥(UVEKey、TRxKey、PINKey、VMKey、PMKey)的一个或多个而被结构性地询问。
针对每个相应的UVE和层,该方法可以包括识别将相应的UVE密钥与相应的层密钥交叉关联的相应处理报告以及将UVE和层标记报告中继至中央化可询问数据库,其中,该报告可包括诸如存储器失效、电信失效、处理器失效、数据包重发送和/或减少等的定量失效或故障参数。对于每个相应的层,该方法可以包括自动确定其资源的哪个部分由每个相应的UVE使用并且自动确定任何UVE的分配资源由于重复的部件失效(例如,丢失数据包)而是否充足。针对每个相应的UVE和其检测到的部件失效,该方法可以包括将检测的部件失效与相应获取参数快照(snapshot)的一个或多个逻辑地相关联,相应的获取参数快照立即继续相应的部件失效。
该方法还可包括研究可能指出UVE的故障部件和/或层的与失效相关的UVE关联报告。该方法还可以包括采用用于各个层部件和UVE的抢先正确和/或工作周围策略,这些层部件和UVE被确定为基于研究更可能进入失效模式。
图1是示出了可以实施本文中描述的技术的实例中的具有数据中心10的实例网络8。一般地,数据中心10为通过服务提供商网络12耦接至数据中心的客户11提供应用程序和服务的操作环境。数据中心10例如可以管理基础设施设备,诸如网络和存储系统、冗余电源以及环境控制。服务提供商网络12可以耦接至由其他提供商管理的一个或多个网络,并因此形成大规模公共网络基础设施,例如,因特网。
在一些实例中,数据中心10可以表示很多歌地理分配网络数据中心的一个,如图1的实例所示,数据中心10可以是为客户11提供网络服务的设施,客户11可以为诸如公司和政府或个人的聚集实体。例如,网络数据中心管理结果公司和末端用户的web服务。其他示例性服务可以包括数据存储、虚拟私人网络、交通工程、文件服务、数据挖掘、科学或超计算等。在一些实例中,数据中心10可以为个人网络服务器、网络同体或其他网络中心。
在该实例中,数据中心10包括经由由一个或多个层的物理网络交换机和路由器提供的高速交换机结构14所互连的一组存储系统和应用程序服务器(12A-12X0)(本文中,“服务器12”)。交换机结构14由耦接至机箱式交换机18的分配层的一组互连架顶(TOR)交换机16A-16BN(“TOR交换机”16)提供。尽管未示出,数据中心10还可以包括例如一个或多个非边缘交换机、路由器、网络集线器、网关、诸如防火墙、侵入检测和/或侵入阻止装置的安全装置、服务器、计算机终端、台式机、打印机、数据库、诸如蜂窝电话或个人数字助理的无线移动装置、无线接入点、桥接、电缆调制解调器、应用程序加速器或其他网络装置。
在该实例中,TOR交换机16和机箱式交换机18向服务器12提供与IP分配20和服务提供商网路12的冗余(多连接)连接。机箱式交换机18聚集通信量流动并提供TOR交换机16之间的高速连接性。TOR交换机16A和16B可以为提供层2(MAC地址)和/或层3(IP地址)路由和/或交换机功能性的网络装置。TOR交换机16和机箱式交换机18可以均包括能够执行一个或多个软件处理的一个或多个处理器和一个存储器。机箱式交换机18耦接至IP分配20,该IP分配执行层3路由,以使用服务提供商网络18来路由数据中心10和客户11之间的网络流量。
虚拟网路控制器22(“VNC”)提供便于操作根据本发明的一个或多个实例的数据中心10中的一个或多个虚拟网络的逻辑中央化控制器。在一些实例中,虚拟网络控制器22可以响应于从网络管理器24接收到的配置输入进行操作。
根据本发明的技术,虚拟网络控制器22可以被配置为聚集一组两个或多个相关处理的数据,以形成用于该组两个或多个相关处理的聚集数据。特别地,虚拟网络控制器22可以确定由数据中心10的虚拟网络中的相应装置(例如,服务器12)所执行的该组两个或多个相关处理,并接收用于该组两个或多个相关处理的数据。一般地,该组处理可以对应于普通“层”,例如普通网络平台,并且特定组中的每个处理可以基本上相似。通过执行不同装置上的基本相似处理,数据中心10可以提供高可用性并降低失效风险。
更具体地,根据本发明的技术,数据中心10的计算装置和由计算装置执行的处理可以被分为各种层。在每个层中,可以具有一组相关(例如,基本上相似)处理。此外,虚拟网络控制器22可以定义用于各种层的用户可见实体(UVE)。UVE可以定义各个层的用于监控处理的各个数据。例如,UVE可以定义处理的属性以进行检索。虚拟网络控制器22可以在处理的执行期间接收数据输出,并根据UVE,提取由UVE定义的属性的值。虚拟网络控制器22可以进一步聚集该数据。例如,UVE可以定义对应于属性的其中聚集特定类型的数据的方式,诸如添加、联合集合、串联、列表产生等。
虚拟网络控制器22然后可以产生表示一个或多个属性(对应于一层)的该层或聚集值的一个或多个报告。该聚集可以透明底被执行到执行该处理的装置。也就是,执行处理的装置不需要参与该聚集。管理者可以使用产生的报告以诊断数据中心10的虚拟网络的各个方面。例如,报告可以包括表示定量失效、故障参数、存储器失效、电信失效、处理器失效、数据包重发送和/或下降电信失效(dropped telecommunication failure)中的一个或多个的数据。管理者可以通过使用该报告基于报告的内容确定这些条件中的任一个或所有通过重新编程数据中心10的装置、替换数据中心10的装置、添加、替换或去除装置之间的链路、添加或升级数据中心10的一个或多个装置的软件等是否应用或因此起作用。
在一些实例中,虚拟网络控制器22包括分析层,即,作用在通用规则上的中间层。UVE可以根据分析师层定义规则。因此,虚拟网络控制器22可以基本上自动地(即,不需要用户干涉)执行本发明的技术。分析层可以使用UVE的限定以提取来自通信的信息,该通信由执行相应的处理和通信的特定属性(由UVE定义)的聚集值的装置所输出。
以此,虚拟网络控制器22表示被配置为针对虚拟网络确定由虚拟网络中的相应装置执行的一组两个或多个相关处理;接收用于一组两个或多个相关处理的数据以及聚集用于一组两个或多个相关处理的数据以形成用于一组两个或多个相关处理的聚集数据。
图2是进一步详细示出图1的数据中心10的示例性实施的框图。在图2的实例中,数据中心10包括将交换机结构14从物理交换机16,18扩展到软交换机(也称为“虚拟交换机”)30A至30X的覆盖网络(overlay network)。虚拟交换机30动态创建并管理应用用于与应用实例通信的一个或多个虚拟网络34。在一个实例中,虚拟交换机30将虚拟网络执行为覆盖网络,覆盖网络提供由服务器12A至12X(“服务器12”)中正执行应用的一个服务器的物理地址(例如,IP地址)分离(decouple)出应用的虚拟地址的能力。每个虚拟网络30A都可表示虚拟网络交换机实施的服务器12A(其可以是位于一个或多个虚拟网络的边缘的边缘装置),可被配置为促进使用作为网络层协议的层3协议的一个或多个虚拟网络中的多个网络的覆盖。促进使用层3协议的网络覆盖比使用层2协议实质上更容易。可使用各种技术在物理网络上虚拟网络34内或跨虚拟网络34传输数据包。
每个虚拟交换机30可在每个服务器12的管理程序、主机操作系统或其他组件中执行。在某些情况下,任意虚拟交换机30可以存在于校园网接入交换机或Wi-Fi接入点(WAP)中。在图2的实例中,虚拟交换机30在管理程序31(也常称为虚拟机管理器(VMM))内执行,其提供允许多个操作系统在主机服务器12中的一个服务器上同时运行的虚拟化平台。在图2的实例中,虚拟交换机30A管理虚拟网络34,每个虚拟网络提供在管理程序31提供的虚拟化平台顶部执行一个或多个虚拟机(VM)的网络环境。每个VM 36与管理程序31管理的虚拟子网VN0-VN2中的一个相关联。
总的来说,每个VM 36可以是任意类型的软件应用,可分配有虚拟地址以在相应虚拟网络34内使用,在相应虚拟网络34内每个虚拟网络可以是虚拟交换机30A提供的不同虚拟子网。VM 36可以分配有其自身的虚拟层3(L3)IP地址,例如,用于发送和接收通信,而可以不关心其上执行虚拟机的物理服务器12A的IP地址。通过这种方式,“虚拟地址”是不同于下层物理计算机系统(即,图2的实例中的服务器12A)的逻辑地址的应用的地址。
在一个事实中,每个服务器12包括虚拟网络代理(“VN代理”)35A至35X(“VN代理35”),其控制虚拟网络34的上层并调整服务器12内数据包的路由。总的来说,每个VN代理35与虚拟网络控制器22通信,虚拟网络控制器22生成命令控制数据包路由通过数据中心10。VN代理35可作为代理服务器操作,用于控制虚拟机36和虚拟网络控制器22之间的平台消息。例如,VM 36可请求试用期虚拟地址经由VN代理35A发送消息,VN代理35A反过来可以发送消息并请求针对发起第一消息的VM 36的虚拟地址接收的消息的回复。在一些情况下,VM36可调用VN代理35A的应用程序接口呈现的程序或函数调用。
在一个实例中,虚拟网络域内虚拟机36执行的应用实例生成或消耗(consume)的网络数据包,例如,层3(L3)IP数据包或层2(L2)以太网数据包可封装在物理网络传输的另一数据包(例如,另一IP或以太网数据包)中。在虚拟网络中传输的数据包在本文中可被称为“内部数据包”,而物理网络数据包在本文中可被称为“外部数据包”。物理网络数据包内的虚拟网络数据包的封装和/或接封装可在虚拟交换机30内执行,例如在每个服务器12上运行的管理程序或主机操作系统内。作为另一实例,封装和解封装函数可在交换机结构14的边缘的离发起数据包的应用实例一跳的第一跳TOR交换机16执行。该功能在本文中还被称为隧道,可用在数据中心中创建一个或多个覆盖网络。可以使用其他示例性隧道协议,包括GRE上的IP、VxLAN、GRE上的MPLS等。
如上所注意到的,虚拟网络控制器22提供逻辑集中控制器,用于促进数据中心10内一个或多个虚拟网络的操作。例如,虚拟网络控制器22基于例如存储数据中心10的物理网络以及覆盖网络的路由信息的一个或多个路由表来维护路由信息。相似地,交换机16、18和虚拟交换机30维护诸如一个或多个路由和/或转发表的路由信息。在一个示例性实施中,管理程序31的虚拟交换机30A实施每个虚拟网络34的网络转发表(NFT)32。总的来说,每个NFT 32,例如利用一个或多个外部IP地址,存储对应虚拟网络34的转发信息,并识别将数据包转发到何处以及是否按隧道协议封装数据包。
路由信息例如可将数据包关键信息(例如,目的IP信息和从数据包报头选择的其他信息)映射到虚拟交换机30和交换机结构14提供的网络内一个或多个特定的下几跳。在一些情况下,下几跳可以是指定在转发数据包时要对每个数据包执行的一组操作的链接的下一跳,例如可被用于泛洪下几跳和多播复制。在一些情况下,虚拟网络控制器22维护具有表示网络内目的地的叶节点的根树形式的路由信息。美国专利7,184,437提供了详细的利用用于路由解析的示例性路由器,美国专利7,184,437的全部内容通过引用结合于此。
如图2所示,每个虚拟网络34为通过交换机结构14建立的覆盖网络提供用于封装数据包通信37通信架构。通过这种方式,与任意虚拟机36相关联的网络数据包可作为封装数据包通信37经由覆盖网络传输。另外,在图2的实例中,每个虚拟交换机30包括转发表NFT0的默认网络,并提供允许数据包不封装(即根据数据中心10的物理网络的路由规则的非封装数据包通信39)就被转发到虚拟子网的默认路由器。通过这种方式,子网VN0和转发表NFT0的虚拟默认网络提供绕开覆盖网络并向交换机结构14发送非封装数据包通信39的机制。
而且,在发现和初始化覆盖网络期间,以及在失败的链路已经暂停经由覆盖网络通信的情况下,虚拟网络控制器22和虚拟交换机30根据默认网络转发表NFT0使用虚拟子网VN0通信。一旦建立于虚拟网络控制器22的连通性,虚拟网络控制器22便更新其本地路由表,将关于任何失败链路的新信息考虑在内,并引导虚拟交换机30更新它们的本地网络转发表32。例如,虚拟网络控制器22可将命令输出到虚拟网络代理35以更新一个或多个NFT32引导虚拟交换机30改变隧道封装,以便重新路由覆盖网络内的通信,例如,避免失败链路。
当检测到链接失败时,位于失败链路的虚拟网络代理35(例如,VN代理35A)可立刻改变网络数据包的封装以在覆盖网络内改到发送,并通知虚拟网络控制器22该路由改变。虚拟网络控制器22又更新路由信息并且可以向其他虚拟网络代理35公布更新网络转发表32内虚拟网络代理存储的本地路由信息的消息。
图3是示出机箱式交换机和如本文描述的TOR交换机内的路由信息的示例性配置的示例性系统50的另一框图。图3的系统50例如可对应于图1和图2中所示的数据中心10的部分。
在该实例中,可以是图1的任意机箱式交换机18的机箱式交换机52(“CH 52”)分别通过机箱链路60A和机箱链路60B(“机箱链路60”)耦接到架顶式(Top of Rack(TOR))交换机58A至58B(“TOR 58”)。TOR 58还可通过TOR链路62A至62D耦接至服务器50A至50B(“服务器50”)。服务器50可以是任意服务器12(图1)。在此,服务器50与两个TOR 58都通信,并且可以物理存在于任一相关架内。每个TOR 58都与多个网络交换机通信,包括机箱式交换机18A。
机箱式交换机52具有处理器54A,处理器54A与接口通信以与如图所示的网络通信,以及与将存储器(未示出)连接至处理器54A的总线通信。存储器可存储多个软件模块。这些软件模块包括控制网络路由的软件,例如,包含用于操作遵循开放式最短路径优先(OSPF)协议的机箱式交换机的指令的开放式最短路径优先(OSPF)模块。机箱式交换机52维护包含数据包的路由信息的路由表(“RT表”)56A,器描述网络拓扑。路由表56A例如可以是数据包目的地网际协议(IP)地址和对应下一跳(例如,表示为到网络组件的链路)的表。
每个TOR 58均具有各自的处理器58B、58C、与机箱式交换机18A通信的接口和存储器(未示出)。每个存储器包含包括OSPF模块的软件模块和如上所述的路由表56B、56C。
TOR 58和机箱式交换机52可交换指定可用路由的路由信息,例如,通过使用诸如OSPF或IS-IS的链路状态路由协议。TOR58可以被配置为不同路由子网的所有者。例如,TOR58A被配置为子网1的所有者,在图2的实例中子网1为子网10.10.10.0/24,TOR 58B被配置为子网2的所有者,在图2的实例中子网2为子网10.10.11.0/24。作为它们各自子网的所有者,TOR 58本地存储用于它们的子网的各路由器,不需要广告所有路由通知到机箱式交换机18A。
机箱式交换机52基于从TOR 58接收到的路由广告维护路由表(“RT表”)56A,路由表56A包括表示为TOR 58可达的子网。在图2的实例中,RT表56A存储指示去往子网10.10.11.0/24内的地址的流量可在链路60B上转发到TOR 58B,去往子网10.10.10.0/24内的地址的流量可在链路60A上转发到TOR 58A。
在通常的操作中,机箱式交换机18A通过器网络接口接收网际协议(IP)数据包、读取数据包的目的IP地址、在路由表56A上查找这些地址以确定相应的目的组件,并据此转发数据包。例如,如果接收的数据包的目的IP地址为10.10.10.0,即子网TOR 58的地址,则机箱式交换机52路由表指示数据包将经由60A被发送到TOR 58A,机箱式交换机52据此传递数据包,最终转发到特定的一个服务器50。
相似地,每个TOR 58通过其网络接口接收网际协议(IP)数据包、读取数据包的目的IP地址、在路由表56A上查找这些地址以确定相应的目的组件,并根据查找结果转发数据包。
图4是示出促进根据本发明的一个或多个实例的一个或多个虚拟网络的操作的虚拟网络控制器22的示例性实施的框图。虚拟网络控制器22例如可以对应于图1和图2的数据中心10的虚拟网络控制器22。
图4的虚拟网络控制器(VNC)22示出VNC的分布式实施,其中VNC包括多个VNC节点80A至80N(统称为“VNC节点80”)以执行数据中心VNC的功能,包括管理在数据中心内实施的一个或多个虚拟网络的虚拟交换机的操作。每个VNC节点80可表示数据中心的不同服务器,例如图1至图2的任意服务器12,或者可替换地,在例如通过服务供应商网络的边缘路由器或数据中心网络的消费者边缘装置耦接至IP分配的服务器或控制器上。在一些情况下,一些VNC节点80可在同一服务器上作为分离的虚拟机执行。
每个VNC节点80可控制不同的非覆盖的一组数据中心组件,例如服务器、在服务器内执行的各虚拟交换机、与虚拟交换机相关联的各接口、机箱式交换机、TOR交换机和/或通信链路。VNC节点80使用对等链路86与另一个VNC节点80对等以交换分布式数据库的信息,包括分布式数据库82A至82K(统称为“分布式数据库82”)以及路由信息库84A至84N的路由信息(例如,路由)。对等链路86可表示路由协议的对等链路,例如,边界网关协议(BGP)实施,或另一对等协议,VNC节点80通过该对等协议可根据对等关系协调以共享信息。
VNC 22的VNC节点80包括各自的RIB 84,每个RIB具有例如一个或多个路由表,该路由表存储VNC 22控制的数据中心的一个或多个覆盖网络和/或物理网络的路由信息。在一些情况下,RIB 84中的一个,例如RIB 84A,可存储用于数据中心内操作的任意虚拟网络的完整路由表,并通过相应的VNC节点80(例如,VNC节点80A)控制。
总的来说,分布式数据库82通过分布式VNC 22控制的数据中心定义虚拟网络的配置或描述虚拟网络的操作。例如,分布式数据库82可包括描述一个或多个虚拟网络的配置、数据中心服务器的硬件/软件配置和能力、一个或多个虚拟网络和/或下层网络的性能或诊断信息、包括服务器/机箱式交换机/TOR交换机接口和互联链路的下层物理网络的拓扑等的数据库。每个分布式数据库82均可使用例如分布式哈希表(DHT)实施,以便为不同VNC节点22存储的分布式数据库的键/值对提供查找服务。分布式数据库82可是使用VNC节点22的或与VNC节点22关联的计算机可读介质实施/存储。
图5是根据本公开的一个或多个示例示出了用于促进一个或多个虚拟网络的操作的虚拟网络控制器100的实现示例的框图。例如,虚拟网络控制器100可以对应于图1和图2的数据中心10的虚拟网络控制器22或图4的虚拟网络控制器22。
如图5的示例中所示,分配的虚拟网络控制器(VNC)100包括一个或多个虚拟网络控制器(“VNC”)节点102A到102N(统称为“VNC节点102”)。各个VNC节点102可以表示图4的虚拟网络控制器22的任何VNC节点80。VNC节点102根据在网络160上操作的同级协议彼此同级。网络160可以表示图1的交换结构14和/或IP分配20的示例情况。如示例中所示,VNC节点102使用边界网关协议(BGP)实现(同级协议的示例)来彼此同级。由此看来,VNC节点102A和102N可以表示使用同级协议来同级的第一控制器节点装置和第二控制器节点装置。VNC节点102包括相应的网络发现模块114A到114N以发现网络160的网络元素。
VNC节点102对使用同级协议的彼此提供涉及由VNC节点102至少部分地管理的虚拟网络的相应元素的信息。例如,VNC节点102A可以管理作为虚拟网络的虚拟网络交换机的第一组一个或多个服务器。VNC节点102A可以通过BGP 118A将涉及第一组服务器的管理或操作的信息发送到VNC节点102N。由VNC节点102管理的其他元素可以包括例如网络控制器和/或器件、网络基础装置(例如,L2或L3的交换机)、通信链路、防火墙和VNC节点102。因为VNC节点102具有同级关系而不是主从关系,所以可以足够容易地在VNC节点102之间分享信息。此外,可以足够容易地更换VNC节点102的硬件和/或软件,这提供了令人满意的资源可替代性。此外,分配的VNC100可以启用水平可缩放的配置和管理,这可以给予一个或多个虚拟网络的单系统视点。
各个VNC节点102可以包括基本相似/类似的组件以用于进行基本相似/类似的功能,在下文中主要关于VNC节点102A来描述所述功能。VNC节点102A可以包括用于存储涉及由VNC节点102A管理的第一组元素的诊断信息的分析数据库106A。分析数据库106A可以包括可以表示完全整合的分析收集器的水平可缩放网络分析数据库,该完全整合的分析收集器被配置为故障检修、视觉化和分析分配的VNC100和一个或多个虚拟网络。VNC节点102A可以分享涉及VNC节点102A和/或由VNC节点102A管理并且存储在分析数据库106中的第一组元素中的一个以上的至少一些诊断信息,以及接收涉及由其他VNC节点102管理的任何元素的至少一些诊断信息。分析数据库106A可以表示例如分布式哈希表(DHT),或与其他VNC节点102合作以分布方式存储网络元素的诊断信息的任何适合的数据结构。分析数据库106A到106N(统称为,“分析数据库106”)可以至少部分地表示图4的分布式虚拟网络控制器22的一个分布式数据库82。
VNC节点102A可以包括用于存储涉及由VNC节点102A管理的第一组元素的配置信息的配置数据库110A。VNC节点102A的控制平台组件可以使用接口144A将配置信息存储到配置数据库110A,接口114A可以表示元数据访问点的接口(IF-MAP)的协议实现。VNC节点102A可以分享涉及由VNC节点102A管理并且存储在配置数据库110A中的第一组元素(包括,例如VNC节点102A)中的一个或多个的至少一些配置信息,以及接收涉及由其他VNC节点102管理的任何元素的至少一些配置信息。配置数据库110A可以表示例如分布式哈希表(DHT),或与其他VNC节点102合作以分布式的方式来存储网络元素的配置信息的任何适合的数据结构。配置数据库110A到110N(统称为,“配置数据库110”)可以至少部分地表示图4的分布式虚拟网络控制器22的一个分布式数据库82。配置数据库110可以存储图4的相应的RIB84。RIB 84中的部分可以由控制平台VM 112存储从而促进网络发现模块114和BGP 118的操作。
虚拟网络控制器100可以进行由模块130表示的示出的虚拟网络控制器操作中的任何一个或多个,模块130可以包括编制132、用户界面134、VNC全局载荷平衡136和一个或多个应用138。VNC 100执行编制模块132从而通过例如在数据中心服务器中产生/去除虚拟机、调整计算能力、分配网络存储资源和修改连接虚拟网络的虚拟交换机的虚拟拓扑,响应于动态需求环境来促进一个或多个虚拟网络的操作。由VNC100执行的VNC全局载荷平衡136支持在VNC节点102之中的例如分析、配置、通信任务的载荷平衡。应用138可以表示由VNC节点102执行从而例如改变物理和/或虚拟网络的拓扑、增加服务或影响包转发的一个或多个网络应用。在某些情况下,中心化的网络管理系统或其他控制器执行模块130并且使用VNC节点102的北向接口来通信,从而进行编制、配置VNC节点102、进行VNC全局载荷平衡和使VNC节点102执行虚拟网络应用138。
用户界面134包括能够由管理员(或软件代理)使用的接口从而控制VNC节点102的操作。例如,用户界面134可以包括使管理员可以修改例如VNC节点102A的配置数据库110A的方法。可以由提供单点管理的统一的用户界面134来进行由VNC 100操作的一个或多个虚拟网络的管理,这可以减少一个或多个虚拟网络的管理成本。
VNC节点102A可以包括执行控制平台协议从而促进本文中描述的分布式VNC技术的控制平台虚拟机(VM)112A。在某些情况下,控制平台VM 112A可以表示本机处理。在示出的示例中,控制VM 112A执行BGP 118A从而将涉及由VNC节点102A管理的第一组元素的信息提供到例如VNC节点102N的控制平台虚拟机112N。控制平台VM 112A可以使用基于开放标准的协议(例如,基于BGP的L3 VPN)来通过其他控制平台的示例和/或其他第三方网络设备分配关于它的虚拟网络的信息。给出了根据本文中描述的一个或多个方面的基于同级的模型,不同的控制平台示例(例如,控制平台VM 112A到112N的不同示例)可以执行不同的软件版本。在一个或多个方面,例如控制平台VM 112A可以包括一种类型的软件的特定版本,并且控制平台VM 112N可以包括相同类型的软件的不同版本。控制节点装置的同级配置可以使控制平台VM112A到112N使用不同的软件版本。通过相应的VNC节点102执行多个控制平台VM可以防止出现单点故障。
控制平台VM 112A使用在网络160上操作的通信协议来与虚拟网络交换机(例如,示出的由服务器170执行的VM切换交换机174)通信。虚拟网络交换机促进在一个或多个虚拟网络中的覆盖网络。在示出的示例中,控制平台VM 112A使用可扩展通讯和表示协议(XMPP)116A通过XMPP接口150A至少与虚拟网络交换机174通信。虚拟网络路由数据、统计收集、日志和配置信息可以根据XMPP 116A而作为用于在控制平台VM 112A和虚拟网络交换机之间通信的XML文档发送。控制平台VM 112A可以依次将数据路由到其他XMPP服务器(诸如,例如分析VM 104A的分析收集器)或可以代表一个或多个虚拟网络交换机来检索配置信息。控制平台VM 112A还可以执行通信接口144A以便与关联于配置数据库110A的配置虚拟机(VM)108A通信。通信接口144A可以表示IF-MAP接口。例如,服务器170可以表示图1和图2的服务器12或图3的服务器50中的任意的示例情况,而虚拟网络交换机174表示虚拟交换机30并且虚拟网络交换机代理172表示图2的任何虚拟网络代理35。
VNC节点102A还可以包括配置VM108A从而将第一组元件的配置信息存储到配置数据库110A并且管理配置数据库110A。尽管配置VM 108A被描述为虚拟机,但是它在某些方面表示在VNC节点102A的操作系统上执行的本机处理。配置VM 108A和控制平台VM 112A可以使用IF-MAP来通过通信接口144A通信和使用XMPP来通过通信接口146A通信。在某些方面,配置VM 108A可以包括由配置配置数据库110A表示的水平可缩放多租户IF-MAP服务器和基于分布式哈希表(DHT)的IF-MAP数据库。在某些方面,配置VM108A可以包括可以将用户友好等级更高的虚拟网络配置翻译为基于标准的协议配置(例如,BGP L3 VPN配置)的配置翻译器,该基于标准的协议配置可以使用配置数据库110A来存储。通信接口140可以包括与其他网络元素通信的IF-MAP接口。考虑到IF-MAP模式可以动态地更新,IF-MAP的使用可以使虚拟网络配置的存储和管理非常灵活和可扩展。有利地,虚拟网络控制器100的方面对于新应用138可以是灵活的。
VNC节点102A还可以包括分析虚拟机(VM)104A以存储涉及至少由VNC节点102A管理的第一组元素的诊断信息(和/或可见性信息)。控制平台VM和分析VM104可以使用XMPP实现来通过通信接口146A通信。尽管配置VM 104A被描述为虚拟机,但是它在某些方面表示在VNC节点102A的操作系统上执行的本机处理。
分析VM 104A可以包括分析数据库106A,分析数据库106A可以表示存储虚拟网络的可见性数据的分布式数据库(诸如图4的分布式虚拟网络控制器22的一个分布式数据库82)的示例。可见性信息可以描述分布式VNC 100和客户网络的可见性。分析VM 104A的分析数据库106A可以包括在通信接口142A的第一侧(南向)的XMPP接口和在通信接口142A的第二侧(北向)的REST/JASON/XMPP接口。
虚拟网络交换机174可以对于一个或多个端点和/或一个或多个主机实现层3转发和策略执行点。由于从控制平台VM 112A的配置,一个或多个端点或一个和/或一个或多个主机可以被归类为虚拟网络。控制平台VM 112A还可以将各个端点的虚拟到物理映射分配到所有其他端点以作为路由。这些路由可以给出将虚拟IP映射到物理IP的下一跳和使用的封装技术(例如,IPinIP、NVGRE、VXLAN等中的一个)。虚拟网络交换机174对于使用的实际隧道封装可以是不可知的。虚拟网络交换机174还可以捕获感兴趣的层2(L2)的包、广播包和/或例如使用地址解析协议(ARP)、动态主机配置协议(DHCP)、域名服务(DNS)、多点传送(mDNS)等中的一个来实现对于包的代理。
在某些情况下,不同的VNC节点102可以由不同的供应者提供。然而,VNC节点102的同级配置可以使得能够使用由不同供应者提供的不同硬件和/或软件以便实现分布式VNC100的VNC节点102。根据上述技术操作的系统可以将网络拓扑的逻辑视图提供给端主机而不管物理网络拓扑、访问类型和/或位置。分布式VNC 100可以提供在不改变网络的端主机视图的条件下,使网络操作者和/或应用改变拓扑、影响包转发和/或增加服务,以及网络服务(例如,防火墙)的水平缩放的程序化的方法。
根据本公开的技术,虚拟网络控制器100可以被配置为聚合两个以上的相关处理的组的数据,从而形成聚合的两个以上的相关处理的组的数据。特别地,虚拟网络控制器100可以判定两个以上的相关处理的组由网络160的虚拟网络中的相应装置执行,并且接收两个以上的相关处理的组的数据。总体上,处理的组可以对应于共同的“层”(例如共同的网络平台)并且在特定组中的各个处理可以基本相似。通过在不同的装置上执行基本相似的处理,网络160可以提供高可用性并且减少故障的风险。
更具体地,根据本公开的技术,网络160的计算装置和由计算装置执行的处理可以划分在各种层中。在各层内,可以有相关(例如,基本相似)处理的组。此外,虚拟网络控制器100可以定义各种层的用户可见实体(UVE)。UVE可以定义用于监测各种层的处理的各种数据。例如,UVE可以定义待检索的处理的属性。虚拟网络控制器100可以接收在处理的执行期间输出的数据,并且根据UVE来提取由UVE定义的属性的值。虚拟网络控制器100还可以聚合该数据。例如,UVE可以对应于属性来定义聚合某些类型的数据的方式,诸如增加、组上联合(union over set)、串联、列表形成等。
然后,虚拟网络控制器100可以生成指示层和如由对应的UVE定义的对应于该层的聚合的一个或多个属性的值的一个或多个报告。该聚合可以对于执行处理的装置透明地进行。即,执行处理的装置不需要取得聚合中的任何部分。管理员可以使用生成的报告来诊断网络160的虚拟网络的各种方面。例如,报告可以包括指示定量故障、失效参数、存储器故障、电信故障、处理器故障、包重发和/或终止的通信会话中的一个或多个的数据。管理员可以使用报告,基于报告的内容例如通过重编程网络160的装置、替换网络160的装置、增加、替换或去除装置之间的链接、增加或升级网络160的一个或多个装置的软件等来确定这些条件是否相应地应用和作用。
在某些示例中,虚拟网络控制器100包括分析层,该分析层是按照通用规则行动的中间层。UVE可以根据分析层来定义规则。因此,虚拟网络控制器100可以基本自动地操作(即,不受用户干扰),从而进行本公开的技术。分析层可以使用UVE的定义提取来自由执行相应处理的装置输出的通信的信息和对于通信的某些属性的聚合值(如由UVE定义的)。
以这种方式,虚拟网络控制器100表示控制器装置的示例,该控制器装置被配置为对虚拟网络确定由虚拟网络中的相应装置执行的两个以上的相关处理的组并且聚合两个以上的相关处理的组的数据以形成聚合的两个以上的相关处理的组的数据。
图6是大规模分布式复杂系统1000的框图,并且更具体地,是可以应用所公开的概念的软件定义网络(SDN)系统的框图。例如,图6可以表示提供了大量的网络互联服务器(例如,服务器210x、210y,它们可以对应于图1的相应的服务器12)的云实现的数据中心环境,这些网络互联服务器提供计算机和/或存储容量以运行多个不同的用户和/或其他种类的应用程序(例如,程序216,其中这些程序可以包括交互视频游戏支持处理和/或简单文本处理支持处理)。
该环境趋向于根据应用的观点而动态变化。可以希望具有使用户与基础细节隔离并且可以避免对手动干涉的需要的自动等级,从而使物理服务器互联以提供使各种应用能够执行到一个或另一个的满足等级所需要的计算、存储和/或电信能力。
为了能够使基础物理互联结构200(例如物理互联结构200以及物理和/或虚拟机的可缩放的处理)自动和灵敏,存在日益增长的在物理计算机群集之上布置覆盖网络解决方案或虚拟化网络系统的趋势,其中覆盖和/或虚拟化子系统封装和自动管理保持多数物理数据处理资源(例如,服务器210x、210y的资源)的细节、多个物理网络交换机和路由器(例如,交换机206,它可以与诸如图1的架式交换机18和/或TOR交换机16的图1中的IP分配20的装置相对应)以及在图6中由元素204表示的在希望的带宽(BW)上并且以希望的服务质量(QOS)运行的信道(例如,信道202)。
在环境中,多个服务器(例如,服务器210x、210y)中的每一个都可以运行一个或多个应用处理(例如,处理216)和/或客操作系统(其内部没有明确示出)。为了在单个服务器上启用多个客操作系统(也称为虚拟机(VM)215),系统可以利用通常认为是管理程序(诸如ESX、Hyper-V、KVM、Xen等)的虚拟机监测系统。图7的管理程序231表示这样的管理程序的示例。单个的应用(例如,包括在处理支持器件216内执行的处理或线程UVP1)可以需要多个计算机和存储资源的示例,这些计算机和存储资源的示例可以作为多个独立服务器和/或在一个或多个服务器上运行的多个虚拟机由基础提供。为了使应用在它的分布式计算机和存储示例之中和与外部世界分享信息,通常使用电信网络200从而使得该信息能够作为例如携带包得数据信号(217)移动。每当新应用在基础上发起和/或改变时,可以创建和/或改变相应的虚拟网络(例如,VNet207v),从而支持新的/改变的应用和允许所有它的计算机和存储示例彼此和/或与外部世界分享信息。
如本文中使用的,术语“用户可见”应当被理解为指代至少系统的处理间通信层到彼此排他的扇区的用户定义的划分,其中用户假定在用户的调查下的一系列处理的所有处理间通信限于通过划分的扇区中的一个而不是任何其他划分的扇区来发生,并且因此处理交互的调查(例如,为了排除该交互的问题)可以限于调查只发生在相关联的多个扇区中的一个的处理间通信。如本文中使用的术语“用户可见”可以更广泛地理解为不仅指代一个处理间通信扇区,而且还指代处理本身和假定在调查下的处理基于独有地(例如,支持在调查下的处理的专用虚拟机)使用的其他系统资源(还有通信层的关联的和专用的扇区)。因此,在用户的调查下的一系列处理的所有处理间活动可以由用户假定为只限于在用户定义的(UVE)内部发生,并且因此处理行为和交互的调查(例如,为了排除该交互的问题的目的)可以只限于在相关联UVE内部发生的调查操作。可以被认为是UVE的示例是包括专用于应用程序的处理间通信资源并且包括专用于该应用程序的计算机和存储资源的识别的用户应用程序的所有处理。然而,该定义不限于单用户和/或单应用程序。单UVE可以包含专用于一个或多个识别的用户的多个不相关应用的资源,这些识别的用户受到资源(例如,系统通信层的分区部分)实际上专用于所识别的多个应用的合适认证。换言之,更一般地,可以认为UVE表示系统或其资源的操作状态的一些专用(为调查而划分)的方面,其中调查可以在随后为了尝试以某些方式操作、提供、故障排除或分析系统的相应的部分的目的而限于专用方面。在多个示例中,UVE可以排除系统状态和系统资源的那些下级方面,这些下级方面只供内部系统使用、对于在调查下的用户处理是隐藏(封装隔开)并且因此不旨在表示到用户应用的外部世界的系统应用接口的一部分。使所有系统状态和资源(包括下级的那些)对于外部应用可见对于调查应用可能是迷惑并且过多的而非有帮助的。被认为是“用户可见”的系统状态和资源的专用子组可以随时重新评估并且根据相应用户认为的合适来变化。
各个UVE可以与定义文件先关联。定义文件可以规定与UVE相关联的各个属性的聚合类型(例如,相加、串联、列表形成、组上联合等)。聚合器可以使用定义文件的聚合信息。即,与UVE对应的处理不需要使用聚合信息。各个UVE可以在接口定义语言文件中规定。分析层可以使用在接口定义语言文件中定义的额外属性来进行聚合。当UVE被发送到分析层时,消息可以通过聚合层来标记UVE的属性。因此,在分析层执行的装置或处理可以接收与UVE相关联的属性的值以及与UVE相关联的聚合信息的值。以这种方式,这些在分析层的装置或处理可以使用聚合信息来判定怎样聚合该属性的值。以这种方式,可以在没有处理生成主动参与聚合的信息的条件下进行信息的聚合。即,聚合器可以从各种处理接收独立的信息流并且聚合信息,而不需要改变生成待聚合的信息的处理的一部分。
此外,被认为是具体UVE的一部分的系统状态和资源不是每个都必须对于安装在具体UVE内部的应用的相应的一个或多个非管理用户直接可见。而是,相应的计算、存储和电信资源只需要对于彼此可见以便允许相应的用户处理根据在调查下的相应应用和/或应用组的需要来彼此交互。同时,相应的计算、存储和电信资源应当对于不在调查下的外部的其他用户应用的资源不可见;并且能够受到不在调查下的外部的其他用户应用的资源的干扰。如果在给定的应用(或应用组)内出现错误(例如,故障),则预计将只牵连专用于给定应用的“可见的”计算、存储和电信资源并且因此这些是应当被调查的选项。换言之并且简要参考图8,具体的用户实体(例如,UVE(2))可以被概念化为跨多个系统平台(层)垂直切割的专用划分,这些系统平台包括一个或多个系统电信平台(例如,虚拟转发平台)。
在虚拟化的或覆盖网络的环境中,网络边缘从物理网络部件(例如交换机206等(如路由器))扩展至在对应的管理程序(如图7中231)内部或在物理服务器上的主机操作系统(例如210z)内运行的软件交换机(例如图7中的VRouter 232)。被交互应用用来与其相应的进程事件进行通信的这样虚拟化的和/或覆盖网络被动态地创建并由软件交换控制工具(例如,240)进行管理,该软件交换控制工具具有自身的寻址和安全机制,其中后者与物理网络(200)及其寻址机制正交(独立)。可采用多种不同的方法在虚拟网络中和虚拟网络间以及物理网络上传输包(例如217)。
虚拟网络域中由每个独立的应用的事件产生或消耗的网络IP(和/或以太网)包(例如217)被封装在由物理网络传输的其他IP(和/或以太网)包中。这里,虚拟网络包将被称为内包,而物理网络包将被称为外包。在服务器210上运行的管理程序(231)或主机O/S(未示出)中完成物理网络包内的虚拟网络包的封装的和/或解封装的功能。此外,封装和解封装功能还可在第一跳物理网络交换机(例如交换机206之一)、网络路由器等中的网络的边缘处进行。该功能一般被称为隧道(tunneling)并频繁地使用于网络化中以创建覆盖网络。有多种不同的隧道协议用于行业中,其中,不同的协议在另一协议内部进行,例如,通过GRE的IP、通过GRE的VxLAN、MPLS等。
云数据中心网络可组成大规模分布式的复杂系统,因为通过每个服务器具有一个或多个链路,而每个链路具有相应的1Gbps或10Gbps或更高带宽的链路,相互连接的服务器的数量可以非常庞大。为了构成可以相互连接所有这样的链路的网络,操作者一般使用各自具有N个输入(入口)链路×M个输入(出口)链路的多个交换机(或路由器)。这些个体交换机中的每一个可作为具有自身IP地址的IP路由器。多个路由器可被操作地相互耦接以定义路由器或相似的多级路由设置的CLOS网络。
参照图6到7中所示的某些细节,在虚拟化覆盖系统的各个“层”或业务平台中可存在多个不同种类的部件。
这些平台之一是虚拟到物理的转发平台230(图7所示)。其包括所谓的虚拟网络路由器(VNRouter,或多个简单的VRouter 232到239)。这些部件可存在于各个物理服务器(例如,210)的各个管理程序(231)中,或其可存在在所谓架顶交换机(未示出)上,该交换机一般包括在虚拟到物理转发平台230中。当VRouter被放置在管理程序中时,其作为具有连接至虚拟机(VM)的相应虚拟端口和对应于相应服务器210的物理I/O端口的物理端口的软件交换机进行工作。每个VNRouter在其虚拟端口和物理端口之间和/或其虚拟端口之间选择性地路由/交换包。VNRouter可被看作为虚拟网络系统中的数据/转发平台部件。为了支持可扩展的灵活性,在给定管理程序中的某些VRouter(例如,232到235)可被用于服务第一虚拟网络(UV-Vnet(1)),VRouter的另一个子集(例如,236到237)可被用于服务第二虚拟网络(UV-Vnet(2)),而VRouter的另一个子集(例如,238到239)可保持备用以动态地分配至第一和第二用户可见网络(例如,UV-Vnet(1)、UV-Vnet(2))或分配至被动态事件化的其他虚拟网络(Vnet)。
SDN系统1000内的多个层或平台中的另一个被称为控制平台240,其可包括实现各个控制器或控制器进程的多个虚拟机(VMcp-i)。这些一般被配置为在虚拟网络系统内提供动态可扩展控制功能的可水平扩展部件(正如VRouter一般被配置为可水平扩展部件)。控制器分别可操作耦接至VNRouter的相应组,并分别将相应的路由信息分配至其动态可扩展的VNRouter组。在一个示例中,虚拟网络系统的相对尺度大约近似于100个到1000个的VNRouter(例如232)和100个对应的控制器(例如,VNcp1)。
SDN系统1000中的多个层或平台中的另一个被称为配置平台250,其可包括执行相应配置进程的多个虚拟机(VMgp-k)。这些一般被配置为在虚拟网络系统中提供关于相互连接的配置功能和/或其他配置的可水平扩展部件(正如VRouter和控制器一般被配置为可水平扩展部件)。配置控制器分别可操作地耦接至物理网络(200)的相应部分和/或控制平台240的相应部分,并将相应的配置信息信号分别分配至其所控制的对方。
SDN系统1000内的多个层或平台的再一个被称为分析平台280。分析平台280内的部件(例如VMn1)一般负责自动监视和/或自动搜集虚拟网络系统的其他部分的所报告状态。换句话说,分析部件一般负责从系统中的其他全部部件处收集信息以产生系统中整体发生事件的鸟瞰或大型视图。该大型数据信息一般存储在稳定的数据库中。该信息之后可以被用于显示系统的当前状态,来帮助处理排除故障问题,进行系统的历史或实时分析等。
由于SDC系统1000的高可扩展性和可变性,其易于发生多个故障和失效模式。换句话说,由于所涉及部件的尺寸和数量,可能一个或多个将处于故障模式。另一方面,则希望SDN系统1000为其用户(例如,205x、250y、205w、205z)提供持续强健、可靠、高带宽和高质量的服务。所以,处于故障模式的部件需要通过利用每个水平可扩展层中的一般处于备用的空闲部件来进行解决。换句话说,SDN系统1000可以是有灵活性的,并且尽管其部件中的不同部件中发生孤立的故障也可持续以在高容量附近工作。希望避免故障和/或被配置为解决已知或预知故障模式的多种部件包括在相应和不同层或平台中的不同类型的部件,这些层或平台包括转发平台230、控制平台240、配置平台250、甚至是全局分析平台280。
有时,在这种复杂和大型的分布式系统中出现复杂和难以追踪和排除的故障模式。有时,系统管理员(例如206z)需要追踪回个体用户可见域(例如用户可见虚拟网络(Vnet)或其他一般的UVE)中的个体进程(例如UVP1、UVP2、……UCPn)以便确定什么发生故障。
然而,将各个虚拟机和/或物理机中各个进程的个体和本地追踪记录绑定在一起的共同共享搜索关键字、将特定部件层的进程绑定在一起的共同共享搜索关键字、以及将特定进程事件的进程绑定在一起的共同共享搜索关键字可能是不可行的。
根据本公开的一个方面,在追踪记录生成时,每个这样的追踪记录或其他报告自动地被用以下项中的至少一个标记:(a)唯一的用户可见实体(UVE)识别关键字(UVEKey),该识别关键字标识相应的报告(例如,追踪记录)进程所属的对应的专用虚拟网络(Vnet)和/或其他UVE;(b)相应层识别关键字(TRxKey),其标识相应的报告进程所属的对应系统层(TRx,例如,虚拟到物理转发平台);(c)相应的虚拟和/或物理执行机识别关键字(VMKey、PMKey),其标识相应的报告进程所属的对应的虚拟机(VM)和/或物理机(PM);(d)相应进程事件识别关键字(PINKey),其标识相应报告所属的被多次事件化并标识的进程的对应事件PIN;以及(e)相应当前操作状态指示(Op-State),指示与相应的报告相关联的相应UVE、层、VM、PM或其他这样的分层特性的当前操作状态。
之后,被这样标记的进程报告(例如,追踪记录、异常报告等)在被生成至集中式数据库(例如,在全局分析平台中)时或不久之后被自动地转发以使其不由于本地存储器的故障或失效而丢失,并使其可由系统管理员(例如,206z)集中地查询,管理员使用一个或多个附加的标记(例如,UVEKey、TRxKey、VMKey、PMKey、PINKey、层Op-State、其他层Op-State等)作为对集中式数据库(例如,保持在大型分布式系统的全局分析平台中)的被构造的查询的一部分,以确定近期故障的多个近似原因。甚至在故障发生之前也可使用可查询数据库以识别可导致故障的近似故障情况,其中,近似故障的情况被基于数据库中的过去的历史记录确定,该历史记录指示不同层的Op-State中的哪一个与不同的异常报告中的哪一个相组合易于导致进程故障。
更具体地,本文公开的教学可被应用至由多层组成的分布式系统(例如,软件定义的网络(SDN)系统),每层均具有相应的不同的功能。每层可被独立地水平扩展,包括在不同机器上运行的多个进程,其中每个进程关于相应数据的不同事件进行相同的基本操作。层内没有进程可以管理整层。换句话说,进程是对等的,层被设计为不具有导致整个层瘫痪的单个故障点。
出于操作可靠性和系统维护的考虑,本公开赋予系统管理员(“Admin”)可将系统看作为独特用户可访问实体(UVE)的集合。每个UVE具有独层(per-tier)属性,这有助于Admin确认层是否一同正常地工作。但是,单独的UVE不具有任何独进程(per-process)表征。当发生正常操作,Admin无需知道多少进程存在于给定的层中或其个体状态是什么。
然而,系统的实际操作是基于每一层、每一事件发生的。某类复杂问题的调查可能需要对个体进程的执行痕迹进行检查。本公开通过使用追踪中包含的多种UVE、层和/或其他标记数据使Admin能够有效地查询执行痕迹。本公开使Admin方便地将进程执行痕迹与相应UVE相关联。本公开使Admin可编程地获得UVE状态改变和进程执行痕迹并运行自动使Admin可以捕捉和/或预测问题的分析算法,并且/或者启动更多信息的搜集。
根据本公开的一个方面,提供特定的“分析层”,用户可连接至该“分析层”以查看专用UVE和术语相应UVE的大量分布的进程。更具体地,可使用以下结构和方法。
在特定的分析层中,自动为每个UVE定义了一个Op-State对象,其表征该对象的集合操作状态,并包含以下项:
关键字…………(唯一的关键字)
层OP-State列表…………(该UVE的OP状态可被提供在该层)
在某些实例中,不同层中的个体进程不被允许为其进程执行痕迹生成自由形式的文本消息。而是在这种实例中,其被强制自动生成包含以下信息的对象,并向上发送这些对象至分析层。
关键字:(该执行痕迹消息所提到的UVE的关键字)
层Op-State:(用于该UVE的层Op-State,如在该层的该进程上所见)
层Op-State可被认为是属性的列表。属性值可以是:
基础数据类型
结构(包括子属性和/或其他子结构和子容器列表)
保持多项基础数据类型、子结构或子容器的容器。
“层Op-State”模式可基于每个层的每个UVE而不同。当相应的进程发送其进程执行痕迹时,其可选择只填入属性的子集而不是全部。原因在于代码中进程执行痕迹所生成的位置可能不能方便地取得所有属性。
一旦相应的处理报告被中继至集中化分析层,分析处理可如下进行。分析层中不同的进程可负责追踪不同UVE的操作状态,以使分析层可被水平扩展。当分析进程接收到进程执行痕迹对象时,其更新其给定UVE集合状态的视图。该进程执行痕迹对象可作为事件到达,或可从记录中周期性地阅读痕迹对象的分支。
在一个实例中,虚拟网络系统(1000)具有至少3层(除了分析层)。层1是其中具有相应的一个或多个虚拟机并出于示例的原因具有在该层中执行的3个进程(A1、A2和A3)的配置层(图7中的配置平台250)。层2是出于示例的原因具有在该层中执行的对应的5个进程(B1到B5)的控制平台层(240)。层3是出于示例的原因具有在该层中执行的20个进程(C1到C20)的SDN转发层(230)。
现考虑特定的UVE,即多个其他的被标识的UVE(见图7中的207v1到207vn)中的表征具有为UV-VNet(1)的标识的虚拟网络的一个。
该示例性UVE(UV-VNet(1))的层3表征可具有以下属性:
int bytes_received;
list<string>virtual_machine_names;
对应虚拟网络存在于(SDN转发层230中的)进程C1、C4、C10和C15上,每个进程都发送其自身版本的这些属性作为其相应执行痕迹的一部分。例如,某些痕迹报告“bytes_received”的改变。其他痕迹报告元件被添加至或删除出“virtual_machine_names”。相应地,负责被标识虚拟网络(例如,207v1)的分析进程得到这些痕迹。该分析进程保持并更新虚拟网络(例如207v1)的4个不同的层3快照。之后,当分析进程得到用于进程C4的“bytes_received”痕迹,其只需要为进程C4替换“bytes_received”的属性。但当其为进程C4添加或删除“virtual_machine_names”项时,其需要为快照C4添加或删除其“virtual_machine_names”属性。由此对于通常进程操作来说,分析层的工作负荷被最小化。
在进程故障或失效情况期间,某些进程执行痕迹可能丢失。为了减轻这种情况,本方法基于每个UVE对从进程向上发送至分析层的痕迹使用序列号。如果在序列号中存在间隔,则分析层可要求进程中继在该进程上的UVE的整个当前状态。而且,在一个示例中,当UVE从进程中消失时,进程明确地发送痕迹。
Admin和/或其他用户与分析层(280)的之间的交互可包括以下内容:当系统用户要求该UVE的层3状态时,该请求被转发至负责相应虚拟网络(例如,207v1)的分析进程。例如,该分析进程可通过集合进程C1、C4、C10和C15的4条OP-State快照来向用户呈现一个单独的视图。集合方法可涉及这些进程视图间的简单添加(例如,对“bytes_received”),或组合并(例如,对”virtual_machine_names”),或其他操作。分析层可根据要求(当用户或其他程序要求该UVE时)执行这些,或其可提前地或周期性地执行这些。
鉴于上述,可见,提供一种用于实现与一个或多个普通共享搜索密钥(例如UVE密钥、TRx密钥、PIN密钥、VM密钥、PM密钥和/或层操作状态指示器)连接一起的目标的方法,各个跟踪日志和/或其他自动生成的处理报告分散在大规模分布式系统(例如,软件定义网络(SDN)系统1000)中,使得利用特定UVE和/或分层和/或虚拟机和/或层操作状态等的公用性而彼此相关联的那些报告可以逻辑上链接一起,以用于分析目的。通过该方法自动创建的中心化交叉相关的报告可以用于分析复杂故障模式,并且甚至在实际发生故障之前预测特定组件的可能故障,以及然后响应地更换和/或重启可能故障的组件,和/或重新配置资源能力(例如,VM的数量、PM的数量、物理存储器的量等),用于重新配置互连以在稍后的实际故障之前避开可能故障的组件。例如,该预测能力可以允许系统操作者系统地使系统的相应部件承转在非高峰时段期间,并且在实际故障之前将可能故障的组件更换和/或维修,由此将整个系统可能故障的影响最小化。
根据本发明,提供一种用于全局向下分析至处理水平、大规模分布式系统的组件并且识别这种大规模分布式复杂系统中可能故障的组件的方法。该方法包括以下步骤中的一个或多个:
(a)将系统再细分为多个分层(例如,230、240、250、250、280),每个分层的特征在于在该分层内具有相似的组件(例如,虚拟路由器);
(b)将系统操作再细分成多个用户可见实体(UVE;例如,虚拟网络或虚拟网207),每个用户可见实体的特征在于具有各自的处理以及专用于服务各个UVE的需求的其他资源;
(c)对于每个独立的UVE和分层,识别与相应的UVE密钥和相应的分层密钥交叉相关的各自的处理报告,其中报告可以包括定量故障或出错参数,诸如存储器故障、电信故障、处理器故障、数据包重新发送和/或丢弃等,以及将UVE以及分层贴签报告中继至能够查询的中心数据库;
(d)对于本地生成的每个单独的处理报告,自动地用包括UVE密钥的一个或多个链接密钥对报告进行贴签;
(e)对于每个单独的分层,自动地确定其资源的哪部分被各个UVE中的每一个使用,并且自动地确定任何UVE的所分配资源是否由于重复的组件故障而变得不足(例如,丢失数据包);
(f)对于每个单独的UVE以及其检测到的组件故障,将检测到的组件故障与各个捕获的参数快照中的一个或多个逻辑上相关联,其中所捕获的参数快照紧接在该UVE的各个组件故障之前;
(g)对UVE相关报告中与故障相关的那些进行调查,其中故障可能指向UVE中的故障组件和/或分层;以及
(h)对各个分层组件和UVE中基于调查被确定为更非常有可能进入故障模式的那些,采取优先校正和/或变通方案测试。
参照图8,这里示出了SDN系统1000”的框图,其中SDN系统针对其分层中的相应一个(例如,虚拟路由器分层)包括相应的报告分类器270,其被耦接以自动重复地(定期地)接收用于指示组件的相应操作模式(例如,虚拟路由器232-239中的相应一个的虚拟处理(未示出))的参数快照271。更具体地,在贴签模式期间,伴随有对参数快照217的中的每一个添加单独的UVE密钥272、分层密钥273、VM密钥274、PM密钥275和/或一个或多个层操作状态指示器(例如,分层操作状态)中的一个或多个,例如,层操作状态指示器用于指示样本是属于故障的操作状态还是非故障的操作状态。来自大规模分布式系统的各个资源(例如,服务器)的贴签报告279然后被发送至更中心化的分析引擎285,以根据各个UVE身份以及分层身份来构建聚集(290)。聚集的报告可以包括将其分类为属于正常操作(良好)类或故障受损类(坏的,例如,沿着Z轴从0%可能性的坏平面至100%可能性的坏平面的测量)。这些聚集输出298存储在相应的分析引擎285中并被相应的分析引擎285使用,以以大的画面为基础确定对于每个UVE和/或分层所发生的事。在一个示例中,相应的分析引擎285耦接至重新配置引擎255,使得在随后接收到的和分析的参数快照279指示可能发生故障的情况下,重新配置系统以优先试着避免故障。
在一个示例中,分析平台从系统的各个UVE、分层、平台、物理资源内的各个组件收集与故障的可能性有关的各个快照数据。各个快照数据可以包括例如像CPU利用水平、存储器利用水平、各个系统部件中的报警水平等的参数。这些所收集的各个可能相关的快照(279)可以是各个分层和/或各个UVE中故障发展和/或即将来临的故障的早期指示器(例如,对于系统带宽具有更大需求的一个)。
尽管图8以示例的方式示出了来自相应一个服务器210z的虚拟路由器分层232-239的快照的收集,但应当理解到,对于跨接大规模分布式系统的其他分层和/或系统平台和/或服务器,可以发生各个相关和带标签的参数快照的类似收集,并且收集聚集于分析引擎285中。图8中所示的XYZ框架是为了简化示出聚集的以及分类的参数,并且在本发明的预期内,与每个轴(例如,U、V、X、Y等)具有N维映射,其表示与UVE相关、与分层相关、与物理机(PM)相关等所分布的监控参数中的相应一个。分析调查的部分可以包括为每个分层和UVE确定什么样的参数是发展故障和/或可预测故障的最佳指示器。然后,训练的分类算法可以用于连续基于新例示的UVE的和虚拟的处理的分析所收集的数据,预测各个组件的故障可能性。
图9是示出了可以在例如图8的系统中执行的示例方法300的流程图。尽管关于图8的示例进行了一般性描述,但应当理解,其他设备可以被配置为执行图9的方法中的任何步骤或所有步骤。例如,虚拟网络控制器22可被配置为执行图9的方法的任何步骤和所有步骤。为了说明的目的,图8的分析引擎285被说明为执行图9的步骤。
首先,分析引擎285可以接收用户可见实体(UVE)的对象跟踪数据(301),该UVE以例如分层“Z”中的情形“Y”的密钥“X”来表现。即,UVE可以指定密钥的标识符“X”、情形的标识符“Y”以及分层的标识符“Z”,其中,标识符X、Y以及Z可以包括各自的数字值(例如,整数值),因此,对于特定跟踪可以存在多个分层,并且Z表示第Z个分层,Y表示分层Z内的第Y个情形,以及X表示分层Z的第Y个情形中的密钥。然后,分析引擎285可以使用密钥X、Y以及Z将对象跟踪存储在数据库中(302)。以此方式,密钥X、Y以及Z可用作唯一地标识数据库中跟踪的数据的索引值,例如以更新、查询、检索或以其他方式存取跟踪的数据。
然后,分析引擎285可以确定密钥“X”是否属于当前分析情形(303)。当分析引擎285确定跟踪的密钥“X”不属于当前分析情形(303的“否”分支),则分析引擎285可以使所创建的对象跟踪向前至拥有密钥“X”的分析情形(304)。另一方面,假设当前分析情形拥有密钥“X”(303的“是”分支),则在接收具有情形“Y”的密钥“X”的UVE的对象跟踪之后(309),分析引擎285可以在“Y”上确定对象跟踪是否是UVE的全快照或删除(310)。
当在“Y”上对象跟踪是UVE的全快照或删除(310的“是”分支)时,分析引擎285可以用所接收到的对象“X”的数据更新快照“Y”(311)。即,对于全快照,分析引擎285可以用对象跟踪中的新内容替代快照“Y”。可替换地,对于删除,分析引擎285可以移除快照“Y”。在任一情况下,分析引擎285可以更新对象X的快照“Y”的序列号。此外,分析引擎285可以为分层“Z”建立对象“X”的聚集状态(315)。这可以包括对于对象“X”在所有快照上进行循环以及进行合适的计算(例如,进行值求和、集合的合并等),以生成对象“X”的聚集数据。分析引擎285可以然后显示对象X的聚集状态。
另一方面,当对象跟踪不是全快照或删除(310的“否”分支)时,分析引擎285可以确定在情形“Y”时具有密钥“X”的对象的数据的序列号之间是否存在间隙(316)。如果分析引擎285确定存在这种间隙(316的“是”分支),则分析引擎285可以例如在分层“Z”中的情形“Y”时,请求UVE“X”的全快照(317)。以此方式,响应于对于分层的处理检测到序列号之间的间隙,分析引擎285可以向执行处理的设备发送指令以重放UVE的当前状态。
可替换地,当不存在这种间隙(316的“否”分支),分析引擎285可以更新对象“X”的快照“Y”(318),这可以包括对于与对象X相关联原子型属性,用新快照的新值替代原子型的值。对于添加或删除通知容器型,分析引擎285可以添加、删除或修改容器的本地副本。对于所有情况,分析引擎285可以更新对象“X”的快照“Y”的序列号。此外,分析引擎285可以为分层“Z”建立对象“X”的聚集状态(315)。这可以包括对对象X的所有快照进行循环以及进行合适的计算(例如,进行值求和、集合的合并等),以生成对象X的聚集数据。然后,分析引擎285可以显示对象X的聚集状态。
图10是示出了根据本发明的一个或多个技术用于将各个处理的数据聚集的示例计算设备350的框图。图10仅仅示出了计算设备350的一个具体示例,并且在其他情况下可以使用计算设备350的许多其他示例。计算设备350可相当于虚拟网络控制器。即,虚拟网络控制器22、100可以包括基本类似于图10中所示的那些的组件。类似地,图8的分析引擎258可以包括基本类似于图10中所示的那些的组件。计算设备350可被配置为执行本发明所描述的各种技术中的任何一个(例如,图9的方法)。
如图10的具体示例所示,计算设备350包括一个或多个处理器352、一个或多个通信单元356、一个或多个输入设备354、一个或多个输出设备358以及一个或多个存储设备360。在图10的具体示例中,计算设备350进一步包括操作系统362、虚拟模块以及一个或多个应用366A-366N(统称为“应用366”)。组件352、356、354、358以及360中的每一个可以互连(物理方式、通信方式和/或操作方式)以在组件之间进行通信。作为图10中的示例,组件352、356、354、358以及360可以通过一个或多个通信信道370耦接。在一些示例中,通信信道370可以包括系统总线、网络连接、进程间通信数据结构或用于通信数据的任何其他信道。虚拟模块364和应用366以及操作系统362还可以彼此通信信息以及与计算设备350内的其他组件通信信息。
在一个示例中,处理器352被配置为实施用于在计算设备350内执行的功能和/或处理指令。例如,处理器352能够处理存储在存储设备360中的指令。处理器352的示例可以包括微处理器、控制器、数字信号处理器(DSP)、特定用途集成电路(ASIC)、现场可编程门阵列(FPGA)或等效的分立或集成逻辑电路。
一个或多个存储设备360可被配置为在操作期间存储计算设备350内的信息。在一些示例中,存储设备360被描述为计算机可读存储介质。在一些示例中,存储设备360是暂时性存储器,这意味着存储设备360的主要目的不是长期存储。在一些示例中,存储设备360被描述为易失性存储器,这意味着存储设备360在计算机关闭时不再保持所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域熟知的其他易失性存储器形式。在一些示例中,存储设备360用于存储处理器352要执行的程序指令。在一个示例中,存储设备360供在计算设备350运行的软件或应用程序(例如,操作系统362、虚拟模块364等)使用以临时存储程序执行期间的信息。
在一些示例中,存储设备360还包括一个或多个计算机可读存储介质。存储设备360可以被配置为比易失性存储器存储更大量的信息。存储设备360可以进一步被配置为长期存储信息。在一些示例中,存储设备包括非易失性存储元件。这种非易失性存储元件的示例包括磁性硬盘、盒式磁带或卡型盒式磁带、光盘、软盘、闪存或电可编程存储器(EPROM)或电可擦除可编程存储器(EEPROM)的形式。
在一些示例中,计算设备350还包括一个或多个通信单元。通信单元356代表网络接口的示例,其中网络接口用于与外部设备(例如,执行各种处理的SDN设备)通信,各种处理例如有遵照各种分层的处理,如上所讨论的。在一个示例中,计算设备350利用通信单元356与外部设备进行通信。在一些示例中,通信单元356可以通过在一个或多个网络(例如,一个或多个无线网络)上经由入站链路和出站链路发送数据包而进行通信。通信单元356可以包括一个或多个网络接口卡(IFC)(例如,以太网卡)、光学收发器、射频收发器或能够发送和接收信息的任何其他类型的设备。这种网络接口的其他示例可以包括蓝牙、3G以及WiFi无线电元件。在一些示例中,计算设备350利用通信单元356接收关于由外部设备执行的处理的数据,根据本发明的技术,处理器352可以结合在外部设备中。
在一个示例中,计算设备350还包括一个或多个输入设备354。在一些示例中,输入设备354被配置为接收来自用户通过触摸、音频或视频反馈的输入。输入设备354的示例包括存在敏感的显示器、鼠标、键盘、声音响应系统、视频摄像机、麦克风或用于检测来自用户的命令的任何其他类型的设备。在一些示例中,存在敏感的显示器包括触摸敏感显示器。
一个或多个输出装置358也可被包括在计算装置350中。在一些实例中,输出装置358被配置为提供输出至使用触觉、音频或视频刺激的用户。在一个实例中,输出装置358包括可感应存在的显示器、声卡、视频图形适配器卡、或任何其他类型的用于将信号转换为人或机器可理解的适当形式的装置。输出装置358的其他实例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、或任何其他类型的能够产生用户可理解的输出的装置。
计算装置350可包括操作系统364。在一些实例中,操作系统364控制计算装置350的部件的操作。例如,在一个实例中,操作系统364便于模块应用366与处理器352、通信单元356、输入装置354、输出装置358以及存储装置362的通信。应用366可均包括可由计算装置350执行的程序指令和/或数据。作为一个实例,应用366A可包括使计算装置350执行本公开所述的一个或多个操作和行为的指令。
根据本公开的技术,计算装置350可被配置为整合用于一组两个以上相关处理的数据,以形成用于该组两个以上相关处理的整合数据。具体地,计算装置350可确定在虚拟网络中由各装置执行的该组两个以上相关处理,并且接收用于该组两个以上相关处理的数据。总之,该组处理可对应于公共“层(tier)”,例如,公共网络平面,并且具体组中的各处理可基本相同。
更具体地,根据本公开的技术,经由通信单元356通信地耦接至计算装置350的计算装置、以及由这些计算装置执行的处理,可被分至各种层。在各个层中,可存在一组相关(例如,基本相同的)处理。此外,计算装置350可限定用于各种层的用户可见实体(UVEs:ser-Visible Entities)。UVE可限定用于各种层的监控处理的各种数据。例如,UVE可限定检索处理的属性。计算装置350可接收在该处理执行期间输出的数据,并且根据UVE,提取用于UVE所限定的属性的值。计算装置350还可整合这些数据。例如,UVE可限定整合某类数据(对应于属性,诸如添加、组的合并、串联、列表的生成等)的方式。
之后计算装置350可产生表示层和用于与该层对应的一个或多个属性的整合值(如对应的UVE所限定的)的一个或多个报告。此整合可被透明地执行至执行该处理的装置。即,执行该处理的装置完全不需要参与该整合。管理员可使用整合报告来诊断虚拟网络的各方面。例如,报告可包括表示量化失效、故障参数、存储器失效、电信失效、处理器失效、报重发、和/或丢弃的通信段中的一个或多个的数据。使用报告,管理员可基于报告内容,例如,通过重编程经由通信单元356与计算装置350通信地耦接的装置,增加、替换或移除装置间的链接、增加或升级用于一个或多个装置的软件等,确定是否任何或所有这些条件适用并且相应地动作。
在一些实例中,计算装置350包括分析层,即,作用于一般规则的中间层。UVE可根据分析层来定义规则。这样,计算装置350可基本自动地操作,即,没有用户干预,来执行本公开的技术。分析层可使用UVE的限定以从执行相应处理的装置输出的通信来提取信息,并整合通信的用于某属性的值(如UVE所限定的)。
以此方式,计算装置350代表控制装置的实例,该控制装置被配置为为虚拟网络确定由虚拟网络中的各装置所执行的一组两个以上相关处理,接收用于该组两个以上相关处理的数据,并整合用于该组两个以上相关处理的数据以形成用于该组两个以上相关处理的整合数据。
图11A是大范围分布式复合系统1200的框图,并且更具体地,根据此公开中所述的技术的软件定义网络(SDN:software defined networking)系统的框图。系统1200可代表图1的网络8的实例。即,系统1200可代表云实施数据中心环境,其中,提供了大量提供计算和/或存储能力以运行许多不同用户和/或其他类型的应用程序(例如,用户可见处理1216)的网络互连服务器(例如,1210x、1210y)。从应用的角度来看,这样的环境容易非常动态。系统1200可包括自动操作级别,至少在一定程度上,该自动操作级别使用户与基础设施细节隔离,并且避免了手动干涉的需要,以互连物理服务器从而提供为使能各种应用以执行至充分的一个级别或另一级别所需的计算机或存储器能力。
为了使能自动操作和基础设施(例如,物理互连构造1180)的灵活性,存在一种日益增长的趋势,即在物理计算簇的顶部部署覆盖网络解决方案或虚拟网络系统,其中,覆盖和/或虚拟子系统封装并自动管理保持许多物理网络交换机和路由器(例如,1185、1187)和信道(例如,1186)以及在期望带宽(BW)和期望服务质量(QoS)(此处由1110代表)下的运行的细节。构造1180可代表图1的构造14的实例,并且可包括物理电信信道、路由器、网关等。
在这样的环境下,服务器(例如,1210x)可运行一个或多个应用和/或客户操作系统。为了在单个服务器1210上使能许多客户操作系统(也被称作虚拟机(VM)1215),可使用公知为管理程序(诸如ESX、Hyper-V、KVM、Xen等)的虚拟机监视系统。管理程序的实例被示出为图1的管理程序31和图11B的1231。VM 215上执行的单个应用(例如,用户可见处理UVP11216)可要求可由多重个体服务器1210或在一个或多个服务器上运行的多重虚拟机1215提供的许多计算和存储资源的实例。为了在其分布的计算和存储资源实例间以及与外部世界间共享信息的应用,电信网络1180使能例如作为包传送数据信号1217的此信息的移动。每当新应用在基础设施上被实例化和/或被改变,各自的虚拟网络(例如,VNet 1207v)可被创建和/或改变,以支持新的/改变后的应用,并且以允许其所有计算和存储实例彼此间和/或与外部世界共享信息。各虚拟网络用户1205,或VUser 1205,可利用其各自的资源和事件等来经历他/她/它自己的虚拟网络(VNet)1207。
在虚拟或覆盖网络环境中,网络的边缘从物理网络元素(例如,交换机或路由器1185)扩展至在管理程序(1231)内或物理服务器(例如1210z)上的主机操作系统内运行以提供电信虚拟接口(VTI)1220的软件交换机(例如,图11B中所示的VRouter 1232)。VRouter1232可代表图2的软件交换机30的实例。由应用使用以与其实例通信的虚拟和/或覆盖网络被动态创建,并且由具有其自己的寻址和安全机制的软件交换机控制手段(例如,图5的控制平面VM 1112或图11B的控制平面1240)来管理,其中,安全机制与物理网络1180以及其寻址机制互不相关。存在许多不同方法可被用来在虚拟网络内或其间以及在物理网络上传送包(例如,1217)。
由虚拟网络域中的应用的实例生成或消费的网络IP(和/或以太网)包(例如,1217)可被封装进由物理网络传送的另一IP(和/或以太网)包中。此处,虚拟网络包将指代内部包,并且物理网络包将指代外部包。物理网络包内的虚拟网络包的封装和/或解封装的功能在管理程序1231中或运行在服务器1210上的主机O/S(未示出)中完成。此外,封装和/或解封装功能也可在网络的边缘处第一跳物理网络交换机路由器(例如,1185)中执行。
云数据中心网络可构成大范围分布式复合系统的实例,因为互连服务器的数量会非常大,各服务器代表一个或多个链路,均具有各自的1Gbps或10Gbps或更大的带宽链路。为了构建能够互连所有这样的链路的网络,操作员通常使用具有N个输入(入站)链路×M个输出(出站)链路的一些交换机(或路由器)。这些个体交换机中的每个可用作具有其自己的IP地址的IP路由器。
参照图11A~11B所示的一些细节,在虚拟重叠系统的各自的“层”或服务平面中可存在多个不同种类的组件。这些平面之一是虚拟至物理转发平面1230。它包括虚拟网络路由器(VNRouter,或更简单地,VRouter 1232-1239)。这些组件可驻留在各自的物理服务器(例如,1210)的各自的管理程序1231中,或他们可驻留在通常被包括在虚拟至物理转发平面1230中的栈顶交换机(未示出)中。当VRouter被设置在管理程序1231中时,其用作具有连接至虚拟机(VM)的各自的虚拟端口以及与各自的服务器1210的物理I/O端口相对应的物理端口这两者的软件交换机。各VNRouter在其虚拟端口和物理端口间和/或其虚拟端口间选择性地路由/交换包。VNRouter可被视为虚拟网络系统的数据/转发平面组件。
系统1200内的多个层或平面中的另一个被称作控制平面1240,并且其可包含实施各自的控制器或控制器处理的多个虚拟机(VMcp-i)。控制器可代表图5的控制平面VM 112的实例,其提供虚拟网络系统内的控制功能。控制器均操作地耦接至各组VNRouter,并且均将各自的路由信息信号分发至其VNRouter。在一实施方式中,虚拟网络系统的相对规模在数千VNRouter(例如,1232)和数百相应控制器(例如,VMcp1)的数百的量级上。
系统1200内的多个层或平面中的另一个被称作配置平面1250,并且其可包括实施各自的配置处理的多个虚拟机(VMgp-k)。控制器可代表图5的配置VM 108的实例,其关于互连和/或虚拟网络系统内的其他配置提供控制功能。配置控制器均操作地耦接至物理网络(1180)的各自部分和/或控制平面1250的各自的部分,且均将各自的配置信息信号分发至其控制对象。
系统1200内的多个层或平面中的再一个被称作分析平面1280。分析平面1280内的(例如,VMn1)组件通常负责自动监控和/或自动收集虚拟网络系统的其他部分的报告状态。分析平面1280内的组件可代表图5的分析VM 104的实例。分析组件被分配任务,从系统中的所有其他组件收集信息,以发展出系统中总体上在发生什么这样的高级视角。此“大数据(Big Data)”信息可被存储在例如图5的分析VM 106的永久数据库中。之后此信息可被用来展示系统的当前状态,以帮助调试问题,以进行系统的历史或实时分析等。
因为系统1200的高度可扩展性以及可变特性,可能容易出现很多故障和失效模式。然而,系统1200的管理员寻求向其用户(例如,1205x、1205y、1205w、1205z)提供持续强健、可靠、高带宽和高服务质量。换言之,系统1200应可靠并且继续在接近峰值性能下操作,不管其各种的组件中被隔离的失效。期望保持无失效和/或被配置为在已知或预期的失效模式中工作的各种组件包括各自的和不同的层或平面中的各种不同组件,包括转发平面1230、控制平面1240、配置平面1250以及甚至全局分析平面1280。
为实现这些目标,具有在失效实际发生前预测可能的失效、并且响应性地替换和/或重启可能失效的组件和/或在可能失效的组件实际失效前重配置可能失效的组件周围的互联的能力是有用的。例如,此预测能力可允许系统操作员系统性地在非高峰时段期间停止系统的相应部分,并在实际失效前替换和/或修复可能失效的组件,从而最小化可能的失效对整个系统的冲击。
根据本公开,提供了一种用于识别大规模分布式复合系统中的可能失效的组件的方法,包括以下步骤中的一个或多个:
(a)将系统细分成多个层(例如,1230、1240、1250、1280),各层的特征在于在该层中具有相同组件(例如,VRouter);
(b)对于各自的层,识别各自的层的各自的组件的各自的量化参数(例如,每单位时间的存储器失效、每单位时间的处理器失效、每单位时间的信道失效、每单位时间的包重发和/或丢弃),其量化值可能用作该各自的层中的组件故障和/或失效的指示符;
(c)对于各自的层,自动重复捕获识别出的层组件的各自的量化参数的样本快照;
(d)对于各自的层,自动重复检测组件失效(例如,丢失包);
(e)对于各自的检测出的组件失效,将检测出的组件失效与刚刚先于各自的组件失效的一个或多个各自的捕获的参数快照逻辑相关;
(f)自动重复训练可训练式自动分类器,以发展区分与一个或多个检测出的失效逻辑相关的第一组件参数组和与一个或多个检测出的失效不逻辑相关的第二组件参数组的分类结构;
(g)在所述训练后,将训练后的分类器置于预测模式,其中,训练后的分类器被自动重复供给更多近来的且自动重复捕获的样本快照,并且其中,训练后的分类器使用其发展的分类结构(例如,下述的类分离面)来将预测中模式(in-prediction-mode)样本快照分类为与失效相关或与非失效相关;
(h)研究预测中模式样本快照中的与失效相关而可能是故障指示参数组的那些;以及
(i)基于相应样本快照与失效相关的预测中模式的指示,对于各自的层组件中的被确定为特别可能进入失效模式的那些,抢先采取校正和/或工作区措施。
根据本公开的技术,还提供了一种大规模分布式复合系统,其具有多个层并且具有故障和/或失效预测机制,所述预测机制包括下述项中的一个或多个:
(a)细分机制,将系统细分成多个层,各层的特征在于具有相同组件;
(b)参数识别机制,对于各自的层,识别各自的层的各自的组件的各自的量化参数,其量化值可能用作组件故障和/或失效的指示符;
(c)采样机制,对于各自的层,自动重复捕获识别出的层组件的各自的量化参数的样本快照;
(d)失效检测机制,对于各自的层,自动重复检测组件失效;
(e)失效至参数相关机制,对于各自的检测出的组件失效,将检测出的组件失效与刚刚先于各自的组件失效的一个或多个各自的捕获的参数快照逻辑相关(例如,标记);
(f)训练机制,自动重复训练可训练式自动分类器,以发展区分与一个或多个检测出的失效逻辑相关的第一组件参数组和与一个或多个检测出的失效不逻辑相关的第二组件参数组的分类结构;
(g)预测生成机制,在所述训练后,将训练后的分类器置于预测模式,其中,训练后的分类器被自动重复供给自动重复捕获的样本快照,并且其中,训练后的分类器使用其发展的分类结构来将预测中模式(in-prediction-mode)样本快照分类为与可能的失效相关或与可能的非失效相关;
(h)可能的故障和/或失效研究机制,追踪预测中模式样本快照中的与失效相关而可能是故障指示参数组的那些;以及
(i)采取行动机制,基于相应样本快照与失效相关的预测中模式的指示,对于各自的层组件中的被确定为特别可能进入失效模式的那些,抢先采取校正和/或工作区措施。
存在能够被训练(train)为将输入数据组分类为属于多个不同(例如,相互排除的)的类别中的一个的各种可训练自动分类器。一个实例为神经系统网络。另一个实例为所谓的,支持矢量机器(Support Vector Machine,SVM)。这些自动的机器包括具有相关的学习算法的监督学习模型(supervised learning model),所述监督学习模型分析提供的样本数据并识别所提供的数据样本(例如,参考组)中的区别的模式,并利用分析来形成分类和识别分析模型。在第一组参考输入数据中,基本SVM将第一组参考输入数据的预定的分类结合在一起并生成所提供的参考输入数据的一个或多个分类模型。然后,在这样的学习模型之后,SVM在第二组非参考输入数据(通常不具有预定的分类的数据)中进行操作,并预测,对于第二输入数据组中的给定的一个,输入数据属于哪两个或多个可能的类别。在本发明的公开的情况下,假设存在两种彼此排斥的类别,一种为很高可能失效(由于增长的故障而导致),而第二种为不太可能失效。这样的SVM可以被视为非盖然二元线性分类器(non-probabilistic binary linear classifier)。假设一种训练实例,每个被标记为属于两种类别中的一种,SVM训练算法建立一种模型,该模型顺序地(在训练之后)将新的实例分配至一类(可能失效)或其他类(不太可能失效)中。
图12是系统1200"的框图,对于其相应的各个等级(例如,VRouter等级),其包括对应的可训练分类器(例如,SVM)1270,对应的可训练分离器1270被耦接以自动重复地(例如,周期性地)接收参数组或“快照”,例如,VR参数快照1271,表示被观察到可能进入明显的故障或很高的可能失效模式的部件(例如VRouter 1232-1239)的对应操作模式。更具体地,在训练模型(在线1275上被信号告知,线1275信号告知可训练分类器1270的训练模型或预测模型)期间,每个参数快照1271伴随有训练模型分类信号1272,该训练模型分类信号指示所述样本是否属于失效类别或非失效类别。响应于重复的训练时间(training session),可训练分类器1270逐步形成内部算法(由分类分离表面1295表示),所述内部算法将接收的参数快照1271(T2)顺序地分类为属于可能好的一类(从100%可能差的平面向表面1295向下测量的1293)或可能差的一类(从0%可能差的平面向表面1295向上测量的1291),其中,TH平面可以通过容差量TOL1294被设置在表面1295的波谷(trough)的上方。该输出1298(例如,指示表面1295的二元信号在TH平面1292的上方或下方)被耦接至对应的分析引擎1285,所述分析引擎响应于分类确定来确定做什么。在构架1290上,点1297表示最近的输入点,而点1296表示训练的差点。对应的分析引擎1285可以被耦接至重新配置引擎1255,所述重新配置引擎在顺序接收的参数快照1271(T2)表示失效的可能性(likelihood)时,重新配置系统,从而尽量避免失效。
在一些实例中,分析平台(Analytics plane)包括分析引擎1285以从所述系统的相应的层和/或平台中的各种部件收集与失效可能性相关的相应的快照数据。相应的快照数据例如可以包括,类似于在各种系统部分中的CPU使用等级、存储器使用等级、警报等级的参数、协议部分的等同数、部件的协议会话数等。这些所收集的相应的且可能相关的快照1271可以是增长的故障和/或即将到来的失效的早期指示符。分析装置将也收集作为训练参考点的各种部件的失效数据。例如,部件的连接失效和随后的具有重新启动数据的重新连接将指示分析装置相应的部件已经断开(失效)且需要重新启动或替换。
分析装置可以利用SDN技术从各种部件收集相应的快照数据。在2012年12与21日提交的美国专利申请第13/724,975号中描述了SDN技术的实例,其全部内容结合于此作为参考。如上所述,通过VNC 22,100,分布式网络控制器可以操作为部件的至少一些控制装置功能的控制装置,诸如服务器和机箱式/TOR交换机,并通过SDN通信协议(也传输控制装置配置信息)接收快照数据。SDN通信协议的实例包括例如相对于图5所描述的XMPP。
尽管图12通过实例的方式示出了从相应的一个服务器1210z的VRouter层1232-1239收集快照,可以理解的是,相应的相关参数快照的类似的收集和每个的分类表面的形成对于其他的等级和/或系统装置和/或服务器将会发生。可以意识到的是,每个监控的部件等级的形成的分类表面1295在某些分类器(诸如神经系统网络)中是不能取得的。当上述输入数据样本1271、1272作为训练和/或预测参数被输入至相应的SVM算法时,相应的SVM算法学习和/或指示相应的部件是否落入两个类别(可能好的1293或可能失效的1291)中的一个中。分类表面1295的形状可以使预定的二元阈值等级TH1292的函数和/或XY平面的分割(未示出)。图12中所示的XYZ构架1290是为了简单起见而示出,根据本公开的其他的构架可以具有N维映射,每个轴(例如,U、V、X、Y等)表示相应的一个监控参数。学习的部分是为每个等级确定为增长的故障和/或可预测的失效的最好的指示符的那些参数。基于数据被分析装置所收集的继续,训练分类算法(例如,使用分类表面1295的算法)随后被用来预测相应的部件的失效的可能性。通过加入/改变输入参数、预支、参数空间分割等,也可以基于继续提高学习算法。
图13A至图13B示出了可以在图12的系统中执行的处理1300的流程图。部分1310对应于训练模型/阶段。分析引擎1285接收系统1200的部件的参数快照数据1271(1311)。分析引擎1285向可训练分类器1270(同时可训练分类器1270处于训练模式)提供相应的部件的参数快照数据1271和分类标识,例如,训练模式分类信号1272(1315)。
部分1320对应于预测模式。分析引擎1285接收系统1200的部件的参数快照数据1271(1321)。分析引擎1285向可训练分类器1270(同时可训练分类器1270处于分类模式)提供相应的部件的参数快照数据1271和分类标识,例如,训练模式分类信号1272(1325)。
部分1330对应于信任建立(confidence building)和动作模型。在预测时候,如果存在类别标识切预测不正确(1331的“否”分支),分析引擎1285可以将可训练分类器1270切换为重新训练模式(1332)。如果为(1331的“是”分支),如果可训练分类器1270中的置信水平预测由于多个正确的预测而导致的不是充分大(1335的“否”分支),则分析引擎1285和可训练分类器1270重复置信水平建立阶段(1336)。否则(1335的“是”分支),如果预测指示很可能故障或失效,则分析引擎1285采取适当的动作,这包括发出警报、向管理员发送消息等(1337)。分析引擎1285等待预定的时间量(1341)以确定故障/失效预测在所述时间被是否被校正(1343)。如果没有(1343的“否”分支),则分析引擎1285可以将可训练分类器1270切换至重新训练模式(1332)。如果所述预测是正确的(1343的“是”分支),则处理进行至步骤1335。
图14是示出了根据本公开所描述的技术参与识别可能故障部件的示例性装置的框图。图14仅示出了计算装置1401的一个特定的实例,在其他情况下可以使用计算装置1401的许多其他实例。
如图14的特定实例中所示,计算装置1401包括一个或多个处理器1400、一个或多个通信单元1402、一个或多个输入装置1404、一个或多个输出装置1406以及一个或多个存储装置1408。在图14的特定实例中,计算装置1401进一步包括操作系统1410、虚拟化模块1412以及一个或多个应用1414A至1414N(统称为“应用1414”)。每个组件1400、1402、1404、1406和1408可以互连(物理上、通信上和/或操作上),以用于部件内部通信。作为图14中的一个实例,部件1400、1402、1404、1406和1408可以有一个或多个通信信道1416耦接。在一些实例中,通信信道1416可以包括系统总线、网络连接、进程间通信数据结构或用于通信数据的其他信道。虚拟化模块1412和应用141以及操作系统1410也可以彼此通信信息,以及与计算装置1401中的其他组件通信信息。
在一个实例中,处理器1400被配置为执行计算装置1401中的用于执行的功能性和/或处理指令。例如,处理器1400能够处理存储在存储装置1408中的指令。处理器1400的实例可以包括,微处理器、控制器、数字信号处理器(DSP)、特定用途集成电路(ASIC)、场可编程门阵列(FPGA)或等效的分离的或集成的逻辑电路中的任意一个或多个。
一个或多个存储装置1408可以被配置为存储操作期间计算装置1401中的信息。在一些实例中,存储装置1408被描述为计算机可读存储介质。在一些实例中,存储装置1408为临时存储器,这意味着存储装置1408的主要目的不是长期存储。在一些实例中,存储装置1408被描述为易失性存储器,这意味着当关掉计算机时存储装置1408不能保持存储的内容。易失性存储器的实例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及现有技术中已知的其他形式的易失性存储器。在一些实例中,存储装置1408被用来存储由处理器1400执行的程序指令。在一个实例中,存储装置1408由在计算装置1401(例如,操作系统、虚拟化模块1412等)上运行的软件或应用使用,以临时地存储程序执行期间的信息。
在一些实例中,存储装置1408还包括一个或多个计算机可读存储介质。存储装置1408可以被配置为存储比易失性存储器存储更大量的信息。存储装置1408可以进一步被配置为用于信息的长期存储。在一些实例中,存储装置1408可以包括非易失性存储元件。这样的非易失性存储元件的实例包括磁性硬盘、盒式磁带、光盘、软盘、闪存、或电可编程存储器(EPROM)或电可擦除可编程存储器(EEPROM)。
在一些实例中,计算装置1401还包括一个或多个通信单元1402。在一个实例中,计算装置利用通信单元1402与外部装置进行通信。在一些实例中,通信单元1402可以通过经由入站和出站链接在一个或多个网络(诸如一个或多个无线网络)上发送数据包来进行通信。通信单元1402可以包括一个或多个网络接口卡(IFC)(诸如以太卡)、光学收发器、射频收发器或可以发送和接收信息的其他类型的装置。
在一个实例中,计算装置1401还包括一个或多个输入装置1404.在一些实例中,输入装置1404被配置为通过触觉、音频或视频反馈来从用户接收输入。输入装置1404的实例包括存在感应显示器(presence-sensitive display)、鼠标、键盘、声音响应系统、视频相机、扩音器或用于检测来自用户的命令的其他类型的装置。在一些实例中,存在感应显示器包括触摸感应屏。
一个或多个输出装置1406也可以包含在计算装置1401中。在一些实例中,输出装置1406被配置为使用触觉、音频或视频刺激来将输出提供给用户。在一个实例中,输出装置1406包括存在感应显示器、声卡、视频图形适配器卡或用来将信号转换为人类或机器可理解的适当的形式的任何其他类型的装置。输出装置1406的另外的实例包括扬声器、阴极射线管(CRT)监控器、液晶显示器(LCD)或能够产生对于用户可理解的输出的任何其他类型的装置。
计算装置1401可以包括操作系统1412。在一些实例中,操作系统1412控制计算装置1401的部件的操作。例如,在一个实例中,操作系统1412促进了模块应用1414和处理器1400、通信单元1402、输入装置1404、输出装置1406和存储装置1410的通信。应用1414每个均包括通过计算装置1401可执行的程序指令和/或数据。作为一个实例,应用1414A可以包括使得计算装置1401执行本公开中所描述的操作和动作中的一个或多个的指令。
根据本公开的技术,计算装置1401可以包括分析引擎1418应用以识别可能的故障部件。分析引擎1408可以表示分析引擎1285的示例性实例。分析引擎1418可以包括可训练分类器,所述可训练分类器接收表示被观察到可能进入明显的故障或很高的可能失效模式的部件的对应的操作模式的参数快照。更具体地,在训练模式中,每个参数快照伴随有指示样本是否属于失效类别或非失效类别的训练模式分类信号。响应与重复的训练时间,可以训练的分类器逐步形成随后将所接收的参数快照分类为属于可能好的类别或可能差的类别的内部算法,其中,TH平面可以通过容限量设置在波谷的上方。分析引擎1418确定对分类确定的适当的响应。计算装置1401可以被耦接至重新配置引擎,所述重新配置引擎在随后所接收的参数快照指示失效的可能性时,响应于来自于分析引擎1418的指令或部件故障指示,重新配置所述系统以尽量避免失效。
本文所描述的技术可以以硬件、软件、固件或它们的组合来实施。作为模块、单元或部件所描述的各种特征可以与集成逻辑电路一起实施或分开地实施为分离的但共同操作的逻辑装置或其他硬件装置。在一些情况下,电路的各种特征可以被实施为一个或多个集成电路装置,诸如集成电路芯片或芯片集。
如果以硬件实施,本公开可以被实施为一种装置,诸如处理器或集成电路装置,诸如集成电路芯片或芯片集。可选地或另外地,如果以软件或固件实施,所述技术可以至少部分地通过计算机可读数据存储介质来实现,所述计算机可读数据存储介质包括当被执行时使得处理器执行上述方法中的一个或多个的指令。例如,计算机可读数据存储介质可以存储由处理器执行的指令。
计算机可读介质可以形成计算机程序产品(其可以包括封装材料)的一部分。计算机可读介质可以包括计算机数据存储介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存储存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁性或光学数据存储介质等。在一些实例中,制造的产品可以包括一个或多个计算机可读存储介质。
在一些实例中,计算机可读存储介质可以包括非临时介质。术语“非临时”可以表示存储介质不是以载波或传播信号来实施的。在某些实例中,非临时存储介质可以存储能够随时间而改变的数据(例如,在RAM或缓冲器中)。
代码或指令可以是由处理电路执行的软件和/或固件,该处理电路包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效集成或离散逻辑电路。因此,本文中所使用的术语“处理器”可指任何前述结构或任何适于实现本文所述的技术的其他结构。此外,在某些方面,在本公开中所描述的功能可在软件模块或硬件模块内提供。
除了如上所述的,或者替代如上所述,描述了以下实施方式。在以下任何实施方式中描述的特征可被本文所描述的任何其他实施方式所利用。
一个实施方式涉及一种方法,包括:通过虚拟网络的控制器装置,确定由虚拟网络中的各个装置执行的一组两个以上的相关处理;通过控制器装置,从各个装置接收该一组两个以上的相关处理的数据;以及通过控制器装置,聚合该一组两个以上的相关处理的数据,以形成该一组两个以上的相关处理的聚合数据。
在一些实施方式中,该方法还可以包括向用户呈现聚合数据。
在一些实施方式中,聚合数据包括用户可见实体(UVE)的数据。
在一些实施方式中,UVE定义一个或多个属性,这些属性的数据从所接收的一组两个以上的相关处理的数据提取,并且聚合包括:提取由UVE定义的一个或多个属性的值;并且聚合这一个或多个属性的值。
在一些实施方式中,UVE定义执行该一组两个以上的相关处理的层的一个或多个属性。
在一些实施方式中,该层包括相应的服务平台。
在一些实施方式中,该层包括多个层中的一个,并且其中多个层中的每一个与相应的UVE相关联。
在一些实施方式中,多个层包括控制平台层、分析层、配置层和软件定义网络(SDN)转发层中的一个或多个。
在一些实施方式中,UVE包括用于SDN转发层的UVE,并且其中UVE定义字节接收属性和虚拟机名称属性。
在一些实施方式中,多个层以分级方式配置。
在一些实施方式中,各个层包括相应组的处理,并且同一个层的各个处理基本上相似。
在一些实施方式中,该方法还包括:对于各个层,确定由相应的UVE使用的虚拟网络的源;并且基于与一个UVE相关联的重复故障的数量自动确定一个UVE的源是否足够。
在一些实施方式中,该方法还可以包括:对于各个UVE,响应于对与UVE相关联的部件故障的检测,将故障部件与这样的一个或多个属性的值逻辑上相关联,该一个或多个属性与部件故障之前的UVE相关联。
在一些实施方式中,UVE定义用于各个属性的相应的聚合方法,其中相应的聚合方法包括加和、对组并集、拼接和列表信息之一。
在一些实施方式中,UVE对应于包括执行一组两个以上的处理的相应装置的虚拟网络。
在一些实施方式中,该方法还可以包括:分析所接收到的UVE的数据的包的顺序号;并且响应于对一个处理的顺序号中的间隔的检测,向正在执行这一个处理的装置发送指令以重演UVE的当前状态。
在一些实施方式中,该方法还可以包括生成包括聚合数据的报告,其中该报告与UVE相关联。
在一些实施方式中,该报告包括表示定量故障、缺陷参数、存储器故障、电信故障、处理器故障、包重发和丢失通信会话中的一个或多个的数据。
在一些实施方式中,该方法还包括向中央的可询问的数据库转发报告和UVE的标识符。
在一些实施方式中,虚拟网络包括软件定义网络(SDN)。
一个实施方式涉及一种控制器装置,其包括:一个或多个网络接口,通信地耦接至虚拟网络的一个或多个装置;以及处理器,被配置为为虚拟网络确定由虚拟网络中的各个装置执行的一组两个以上的相关处理,经由网络接口接收该一组两个以上的相关处理的数据,并且聚合该一组两个以上的相关处理的数据以形成该一组两个以上的相关处理的聚合数据。
在一些实施方式中,该处理器还被配置为向用户呈现聚合数据。
在一些实施方式中,聚合数据包括用户可见实体(UVE)的数据。
在一些实施方式中,UVE定义一个或多个属性,这些属性的数据从所接收的一组两个以上的相关处理的数据提取,并且该处理器还被配置为:提取由UVE定义的一个或多个属性的值;并且聚合这一个或多个属性的值。
在一些实施方式中,UVE定义执行该一组两个以上的相关处理的层的一个或多个属性。
在一些实施方式中,该层包括相应的服务平台。
在一些实施方式中,该层包括多个层中的一个,并且其中多个层中的每一个与相应的UVE相关联。
在一些实施方式中,多个层包括控制平台层、分析层、配置层和软件定义网络(SDN)转发层中的一个或多个。
在一些实施方式中,UVE包括用于SDN转发层的UVE,并且其中UVE定义字节接收属性和虚拟机名称属性。
在一些实施方式中,多个层以分级方式配置。
在一些实施方式中,各个层包括相应组的处理,并且其中同一个层的各个处理基本上相似。
在一些实施方式中,该处理器还被配置为:对于各个层,确定由相应的UVE使用的虚拟网络的源;并且基于与一个UVE相关联的重复故障的数量自动确定一个UVE的源是否足够。
在一些实施方式中,该处理器还被配置为:对于各个UVE,响应于对与UVE相关联的部件故障的检测,将故障部件与这样的一个或多个属性的值逻辑上相关联,该一个或多个属性与部件故障之前的UVE相关联。
在一些实施方式中,UVE定义用于各个属性的相应的聚合方法,其中相应的聚合方法包括加和、对组并集、拼接和列表信息之一。
在一些实施方式中,UVE对应于包括执行一组两个以上的处理的相应装置的虚拟网络。
在一些实施方式中,该处理器还被配置为:分析所接收到的UVE的数据的包的顺序号;并且响应于对一个处理的顺序号中的间隔的检测,向正在执行这一个处理的装置发送指令以重演UVE的当前状态。
在一些实施方式中,该处理器还被配置为生成包括聚合数据的报告,其中该报告与UVE相关联。
在一些实施方式中,该报告包括表示定量故障、缺陷参数、存储器故障、电信故障、处理器故障、包重发和丢失通信会话中的一个或多个的数据。
在一些实施方式中,该处理器还被配置为向中央的可询问的数据库转发报告和UVE的标识符。
在一些实施方式中,虚拟网络包括软件定义网络(SDN)。
一个实施方式涉及一种计算机可读存储介质,其上存储有当执行时使处理器进行以下操作的指令:通过虚拟网络的控制器装置,确定由虚拟网络中的各个装置执行的一组两个以上的相关处理;通过控制器装置,从各个装置接收该一组两个以上的相关处理的数据;以及通过控制器装置,聚合该一组两个以上的相关处理的数据,以形成该一组两个以上的相关处理的聚合数据。
一个实施方式涉及一种预测部件故障的方法,该方法包括:通过通信协议并利用包括分析平台以分析在一个或多个虚拟网络中的多个部件的操作的虚拟网络控制器,从各个部件接收第一参数组,其中来自部件的参数组包括每个都描述部件的状态的一个或多个定量参数;通过通信协议并利用虚拟网络控制器,接收所检测到的一个或多个部件的部件故障的指示;利用虚拟网络控制器并使用第一参数组和所检测到的部件故障的指示,训练可训练自动分类器开发分类结构,该分类结构在与所检测到的部件故障逻辑地相关联的部件参数组以及不与所检测到的部件故障逻辑地相关联的部件参数组之间进行区分;通过通信协议并利用虚拟网络控制器,从各个部件接收第二参数组;以及利用使用可训练自动分类器和分类结构的虚拟网络控制器,预测第一个部件的故障。
在一些实施方式中,预测第一个部件的故障包括根据分类结构将第一个部件的第二参数组分类至适当的坏类。
在一些实施方式中,分类结构包括一个或多个分类分离面,并且预测第一个部件的故障包括根据一个分类分离面将第一个部件的第二参数组分类至适当的坏类。
在一些实施方式中,该一个分类分离面与容差量相关联,并且将第一个部件的第二参数组分类至适当的坏类包括确定第二参数组超过容差量。
在一些实施方式中,可训练自动分类器包括一个或多个支持向量机,并且训练可训练自动分类器包括将第一参数组和所检测到的部件故障输入至支持向量机以产生分类结构。
在一些实施方式中,虚拟网络控制器是分布式网络虚拟控制器,包括多个虚拟网络控制器节点,并且每个虚拟网络控制器节点包括至少交换一些分析信息以实现分析平台的分析虚拟机。
在一些实施方式中,多个部件包括虚拟网络要素,这些虚拟网络要素包括服务器、架顶式(TOR)交换机或机架交换机中的一个或多个。
在一些实施方式中,虚拟网络控制器使用软件定义网络协议来从各个部件接收第一参数组。
在一些实施方式中,部件执行虚拟网络的转发平台、控制平台或配置平台中的一个。
一个实施方式涉及一种虚拟网络控制器,包括:分析平台;控制平台;一个或多个处理器,被配置为执行分析平台以分析一个或多个虚拟网络中的多个部件的操作,其中控制平台通过通信协议,从各个部件接收第一参数组,其中来自部件的参数组包括每个都描述部件的状态的一个或多个定量参数,其中控制平台通过通信协议,接收所检测到的一个或多个部件的部件故障的指示,并且其中控制平台向分析平台提供第一参数组和所检测到的部件故障的指示;可训练自动分类器,其中分析平台使用第一参数组和所检测到的部件故障的指示,训练可训练自动分类器开发分类结构,该分类结构在与所检测到的部件故障逻辑地相关联的部件参数组以及不与所检测到的部件故障逻辑地相关联的部件参数组之间进行区分,其中通过通信协议,从各个部件接收第二参数组并且向分析平台提供第二参数组,并且其中分析平台使用可训练自动分类器和分类结构,预测第一个部件的故障。
在一些实施方式中,预测第一个部件的故障包括根据分类结构将第一个部件的第二参数组分类至适当的坏类。
在一些实施方式中,分类结构包括一个或多个分类分离面,并且分析平台通过根据一个分类分离面将第一个部件的第二参数组分类至适当的坏类来预测第一个部件的故障。
在一些实施方式中,该一个分类分离面与容差量相关联,并且将第一个部件的第二参数组分类至适当的坏类包括确定第二参数组超过容差量。
在一些实施方式中,可训练自动分类器包括一个或多个支持向量机,并且分析平台通过将第一参数组和所检测到的部件故障输入至支持向量机以产生分类结构来训练可训练自动分类器。
在一些实施方式中,虚拟网络控制器包括实现分布式网络虚拟控制器的多个虚拟网络控制器节点,其中每个虚拟网络控制器节点包括至少交换一些分析信息以实现分析平台的分析虚拟机。
在一些实施方式中,多个部件包括虚拟网络要素,这些虚拟网络要素包括服务器、架顶式(TOR)交换机或机架交换机中的一个或多个。
在一些实施方式中,虚拟网络控制器使用软件定义网络协议来从各个部件接收第一参数组。
在一些实施方式中,部件执行虚拟网络的转发平台、控制平台或配置平台中的一个。
一个实施方式涉及非暂时性计算机可读介质,其包括在被执行时使一个或多个可编程处理器进行以下操作的指令:通过通信协议并利用包括分析平台以分析在一个或多个虚拟网络中的多个部件的操作的虚拟网络控制器,从各个部件接收第一参数组,其中来自部件的参数组包括每个都描述部件的状态的一个或多个定量参数;通过通信协议并利用虚拟网络控制器,接收所检测到的一个或多个部件的部件故障的指示;利用虚拟网络控制器并使用第一参数组和所检测到的部件故障的指示,训练可训练自动分类器开发分类结构,该分类结构在与所检测到的部件故障逻辑地相关联的部件参数组以及不与所检测到的部件故障逻辑地相关联的部件参数组之间进行区分;通过通信协议并利用虚拟网络控制器,从各个部件接收第二参数组;以及利用使用可训练自动分类器和分类结构的虚拟网络控制器,预测第一个部件的故障。
此外,在上述任何实施方式中阐述的任何具体特征可以组合为所描述的技术的有利实施方式。即,任何具体特征通常可应用于本发明的所有实施方式。本发明的各种实施方式均已被描述。
本文已描述了各种实施方式。这些和其他实施方式均在所附权利要求的范围内。
Claims (20)
1.一种用于计算机网络中的故障检测的方法,包括:
由用于虚拟网络的控制器装置确定由所述虚拟网络中的相应装置执行的一组的两个以上的相关处理,所述相关处理包括由形成物理网络的多个装置中的第一装置执行的第一处理,以及由所述多个装置中不同的第二装置执行的第二处理,其中所述虚拟网络包括在所述物理网络上以及在由所述多个装置执行的虚拟交换机之间形成的覆盖网络,所述虚拟交换机包括由所述第一装置执行的第一虚拟交换机和由所述第二装置执行的第二虚拟交换机;
由所述控制器装置从所述相应装置接收用于所述组的两个以上的相关处理的数据;
由所述控制器装置汇总用于所述组的两个以上的相关处理的所述数据以形成用于所述组的两个以上的相关处理的汇总数据;以及
由所述控制器装置从所述汇总数据检测所述虚拟网络中的故障。
2.根据权利要求1所述的方法,还包括向用户呈现所述汇总数据。
3.根据权利要求1所述的方法,其中,所述汇总数据包括用于用户可见实体UVE的数据。
4.根据权利要求3所述的方法,其中,所述UVE限定了一个以上的属性,针对所述一个以上的属性从所接收的用于所述组的两个以上的相关处理的数据提取值,并且其中,汇总包括:
提取由所述UVE限定的针对所述一个以上的属性的值;以及
汇总针对所述一个以上的属性的所述值。
5.根据权利要求4所述的方法,其中,所述UVE限定了针对层的所述一个以上的属性,在所述层中,执行所述组的两个以上的相关处理。
6.根据权利要求5所述的方法,其中,所述层包括相应服务平面。
7.根据权利要求5所述的方法,其中,所述层包括多个层中的一个,并且其中,所述多个层中的每一个与相应UVE相关联。
8.根据权利要求7所述的方法,其中,所述多个层包括控制平台层、分析层、配置层和软件定义网络(SDN)转发层中的一个或多个。
9.根据权利要求7所述的方法,其中,所述UVE包括用于软件定义网络(SDN)转发层的UVE,并且其中,所述UVE限定了字节接收属性和虚拟机名称属性。
10.根据权利要求7所述的方法,其中,所述多个层以分层方式排列。
11.根据权利要求7所述的方法,其中,每个所述层包括相应组的处理,并且其中,用于共同的一个所述层的每个所述处理相同。
12.根据权利要求7所述的方法,还包括:
针对每个所述层,确定由所述相应UVE使用的所述虚拟网络的资源;以及
基于与一个所述UVE相关联的多次重复故障,自动确定用于一个所述UVE的所述资源是否不足。
13.根据权利要求7所述的方法,还包括:
针对每个所述UVE,响应于检测到与所述UVE相关联的组件的故障,将故障组件与针对一个以上的所述属性的值逻辑关联,所述值与在所述组件的所述故障之前的所述UVE相关联。
14.根据权利要求5所述的方法,其中,所述UVE限定了针对每个所述属性的相应的汇总方法,其中,所述相应的汇总方法包括添加、组上联合、级联和列表形成中的一个。
15.根据权利要求3所述的方法,其中,所述UVE对应于包括执行所述组的两个以上的处理的所述相应装置的虚拟网络。
16.根据权利要求3所述的方法,还包括:
分析所接收的用于所述UVE的数据的数据包的序列号;以及
响应于检测到用于一个所述处理的所述序列号中的间隔,向执行所述一个所述处理以再现关于所述UVE的当前状态的所述装置发送指令。
17.根据权利要求3所述的方法,还包括生成包括所述汇总数据的报告,其中,所述报告与所述UVE相关联。
18.根据权利要求17所述的方法,其中,所述报告包括指示定量故障、失效参数、存储器故障、电信故障、处理器故障、数据包重发和丢失的通信会话中的一个或多个的数据,所述方法还包括将所述报告和所述UVE的标识符转发到集中的可查询数据库。
19.一种控制器装置,包括:
一个以上的网络接口,通信式耦接至虚拟网络的一个以上的装置;以及
处理器,被配置为:
针对所述虚拟网络,确定由所述虚拟网络中的相应装置执行的一组的两个以上的相关处理,所述相关处理包括由形成物理网络的多个装置中的第一装置执行的第一处理,以及由所述多个装置中不同的第二装置执行的第二处理,其中所述虚拟网络包括在所述物理网络上以及在由所述多个装置执行的虚拟交换机之间形成的覆盖网络,所述虚拟交换机包括由所述第一装置执行的第一虚拟交换机和由所述第二装置执行的第二虚拟交换机,
经由所述网络接口接收用于所述组的两个以上的相关处理的数据,
汇总用于所述组的两个以上的相关处理的所述数据以形成用于所述组的两个以上的相关处理的汇总数据,以及
从所述汇总数据检测所述虚拟网络中的故障。
20.一种计算机可读存储介质,其上存储有指令,所述指令在被执行时,使处理器:
由用于虚拟网络的控制器装置确定由所述虚拟网络中的相应装置执行的一组的两个以上的相关处理,所述相关处理包括由形成物理网络的多个装置中的第一装置执行的第一处理,以及由所述多个装置中不同的第二装置执行的第二处理,其中所述虚拟网络包括在所述物理网络上以及在由所述多个装置执行的虚拟交换机之间形成的覆盖网络,所述虚拟交换机包括由所述第一装置执行的第一虚拟交换机和由所述第二装置执行的第二虚拟交换机;
由所述控制器装置接收用于所述组的两个以上的相关处理的数据;
由所述控制器装置汇总用于所述组的两个以上的相关处理的所述数据以形成用于所述组的两个以上的相关处理的汇总数据;以及
从所述汇总数据检测所述虚拟网络中的故障。
Applications Claiming Priority (25)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261656471P | 2012-06-06 | 2012-06-06 | |
US201261656469P | 2012-06-06 | 2012-06-06 | |
US201261656468P | 2012-06-06 | 2012-06-06 | |
US61/656,469 | 2012-06-06 | ||
US61/656,468 | 2012-06-06 | ||
US61/656,471 | 2012-06-06 | ||
US201261718633P | 2012-10-25 | 2012-10-25 | |
US61/718,633 | 2012-10-25 | ||
US201261721994P | 2012-11-02 | 2012-11-02 | |
US201261721979P | 2012-11-02 | 2012-11-02 | |
US61/721,994 | 2012-11-02 | ||
US61/721,979 | 2012-11-02 | ||
US201261722696P | 2012-11-05 | 2012-11-05 | |
US61/722,696 | 2012-11-05 | ||
US201261723685P | 2012-11-07 | 2012-11-07 | |
US201261723684P | 2012-11-07 | 2012-11-07 | |
US61/723,684 | 2012-11-07 | ||
US61/723,685 | 2012-11-07 | ||
US201261729474P | 2012-11-23 | 2012-11-23 | |
US61/729,474 | 2012-11-23 | ||
US13/835,483 US9100289B2 (en) | 2012-11-02 | 2013-03-15 | Creating searchable and global database of user visible process traces |
US13/835,483 | 2013-03-15 | ||
US13/842,909 US9064216B2 (en) | 2012-06-06 | 2013-03-15 | Identifying likely faulty components in a distributed system |
US13/842,909 | 2013-03-15 | ||
CN201310224472.0A CN103514245B (zh) | 2012-06-06 | 2013-06-06 | 创建用户可见处理跟踪的可搜索和全局数据库 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310224472.0A Division CN103514245B (zh) | 2012-06-06 | 2013-06-06 | 创建用户可见处理跟踪的可搜索和全局数据库 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110011869A CN110011869A (zh) | 2019-07-12 |
CN110011869B true CN110011869B (zh) | 2022-07-19 |
Family
ID=49896975
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811429698.3A Active CN110011869B (zh) | 2012-06-06 | 2013-06-06 | 控制器装置、方法及计算机可读存储介质 |
CN201310224472.0A Active CN103514245B (zh) | 2012-06-06 | 2013-06-06 | 创建用户可见处理跟踪的可搜索和全局数据库 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310224472.0A Active CN103514245B (zh) | 2012-06-06 | 2013-06-06 | 创建用户可见处理跟踪的可搜索和全局数据库 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN110011869B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12119981B2 (en) * | 2019-12-05 | 2024-10-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Improving software defined networking controller availability using machine learning techniques |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3097481B1 (en) | 2014-01-21 | 2022-11-30 | Oracle International Corporation | System and method for supporting multi-tenancy in an application server, cloud, or other environment |
WO2015131929A1 (en) | 2014-03-04 | 2015-09-11 | Huawei Technologies Co., Ltd. | State-dependent data forwarding |
CN106416131B (zh) * | 2014-05-22 | 2020-02-21 | 科锐安特股份有限公司 | 网元和管理该网元的控制器 |
US11477278B2 (en) | 2014-06-24 | 2022-10-18 | Oracle International Corporation | System and method for supporting partitions in a multitenant application server environment |
FR3030164B1 (fr) * | 2014-12-12 | 2018-02-02 | Worldline | Reseau superpose pour reseau de communication connectant des centres de donnees d'un fournisseur de services en nuage |
ES2701702T3 (es) | 2016-02-09 | 2019-02-25 | Siemens Ag | Procedimiento y entorno de ejecución para la ejecución asegurada de instrucciones de programa |
CN107465626A (zh) * | 2016-06-03 | 2017-12-12 | 阿里巴巴集团控股有限公司 | 一种虚拟机热迁移方法及装置 |
US10476700B2 (en) * | 2016-08-04 | 2019-11-12 | Cisco Technology, Inc. | Techniques for interconnection of controller- and protocol-based virtual networks |
US11138017B2 (en) | 2016-09-16 | 2021-10-05 | Oracle International Corporation | System and method for partition administrative targeting in an application server environment |
CN109391498B (zh) * | 2017-08-10 | 2021-07-16 | 华为技术有限公司 | 网络组件的管理方法和网络设备 |
CN111367983B (zh) * | 2020-03-10 | 2023-08-15 | 中国联合网络通信集团有限公司 | 数据库访问方法、系统、设备和存储介质 |
CN111711681B (zh) * | 2020-06-10 | 2022-07-15 | 重庆邮电大学 | 一种面向智慧实体的边缘处理方法 |
CN113958377B (zh) * | 2020-07-03 | 2023-04-07 | 东方电气股份有限公司 | 一种汽轮机网络安全实时在线监测系统及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6321338B1 (en) * | 1998-11-09 | 2001-11-20 | Sri International | Network surveillance |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050091369A1 (en) * | 2003-10-23 | 2005-04-28 | Jones Michael D. | Method and apparatus for monitoring data storage devices |
US7519006B1 (en) * | 2003-11-26 | 2009-04-14 | Cisco Technology, Inc. | Method and apparatus for measuring one-way delay at arbitrary points in network |
JP2007529806A (ja) * | 2004-03-18 | 2007-10-25 | アドバ エージー オプティカル ネットワーキング | イーサーネットによる管理システムにおける障害管理 |
KR100976443B1 (ko) * | 2008-09-04 | 2010-08-18 | 한국전자통신연구원 | 홈네트워크 오류 예측 시스템 및 그 방법 |
US8675498B2 (en) * | 2010-02-10 | 2014-03-18 | Cisco Technology, Inc. | System and method to provide aggregated alarm indication signals |
US8804747B2 (en) * | 2010-09-23 | 2014-08-12 | Cisco Technology, Inc. | Network interface controller for virtual and distributed services |
CN102387038B (zh) * | 2011-10-20 | 2014-04-02 | 赛特斯信息科技股份有限公司 | 基于视频检测及综合网管的网络视频故障定位系统及方法 |
-
2013
- 2013-06-06 CN CN201811429698.3A patent/CN110011869B/zh active Active
- 2013-06-06 CN CN201310224472.0A patent/CN103514245B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6321338B1 (en) * | 1998-11-09 | 2001-11-20 | Sri International | Network surveillance |
Non-Patent Citations (1)
Title |
---|
云计算平台监控系统的研究与应用;张棋胜;《中国优秀硕士学位论文全文数据库》;20110915;全文 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12119981B2 (en) * | 2019-12-05 | 2024-10-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Improving software defined networking controller availability using machine learning techniques |
Also Published As
Publication number | Publication date |
---|---|
CN103514245A (zh) | 2014-01-15 |
CN103514245B (zh) | 2018-11-27 |
CN110011869A (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110011869B (zh) | 控制器装置、方法及计算机可读存储介质 | |
EP2672668B1 (en) | Facilitating the operation of a virtual network by predicting a failure | |
US9606896B2 (en) | Creating searchable and global database of user visible process traces | |
US9064216B2 (en) | Identifying likely faulty components in a distributed system | |
US20240015083A1 (en) | Auto update of sensor configuration | |
Ahmad et al. | Scalability, consistency, reliability and security in SDN controllers: a survey of diverse SDN controllers | |
US10402293B2 (en) | System for virtual machine risk monitoring | |
US10797970B2 (en) | Interactive hierarchical network chord diagram for application dependency mapping | |
US11671331B2 (en) | Systems and methods for contextual network assurance based on change audits | |
Gonzalez et al. | Dependability of the NFV orchestrator: State of the art and research challenges | |
US10956832B2 (en) | Training a data center hardware instance network | |
US20210216908A1 (en) | Self-learning packet flow monitoring in software-defined networking environments | |
CN113169891A (zh) | 通过软件定义的操作管理及维护来识别和解决结构网络中的算法问题 | |
US20220052916A1 (en) | Orchestration of Activities of Entities Operating in a Network Cloud | |
US20150169353A1 (en) | System and method for managing data center services | |
US20180365096A1 (en) | Self diagnosing distributed appliance | |
US20230060758A1 (en) | Orchestration of Activities of Entities Operating in a Network Cloud | |
US11860744B2 (en) | Communication network data fault detection and mitigation | |
Vuong et al. | Distributed Event Monitoring for Software Defined Networks | |
CN116800630A (zh) | 传输检测方法、装置及系统 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Juniper Networks, Inc. Address before: California, USA Applicant before: Jungle network |
|
GR01 | Patent grant | ||
GR01 | Patent grant |