一种模型驱动的基于亲和性的网络功能的方法和装置与流程

文档序号:12167093阅读:175来源:国知局
一种模型驱动的基于亲和性的网络功能的方法和装置与流程

本申请要求2014年11月10日递交的发明名称为“一种模型驱动的基于亲和性的网络功能的方法和装置”的第14/537,546号美国非临时申请案的在先申请优先权,该在先申请以引入的方式并入本文。



背景技术:

亲和性定义了实体间关系,这种关系描述了两个实体优先选择使用一组特定资源,而非随机选择一组资源进行通信。因此,亲和性是独立于任何特定设备、技术或通信的概念。亲和性是指实体和/或技术之间的模式已知的通信,与本质上随机的通信截然相反。

基于亲和性的组网使得应用程序能够明确其意图:应用程序或服务如何独立于底层基础设施进行工作。此方法的问题在于不同应用程序有不同的服务,使得表现出资源亲和性的服务的识别变得复杂,反之亦然。更重要地是,同一组服务可由不同应用程序以不同方式使用,导致该方案的实施更加困难。此外,服务对其环境(如网络负载,所用基础设施资源的类型,正使用同一共享资源的其他服务等)很敏感。因此,若操作环境发生变化,支持某一服务的基础设施可能不适合该服务的新实例。



技术实现要素:

本发明目的在于使得亲和性服务能够更容易识别现有的以及定义新出现的基础设施资源为背景功能,这些基础设施资源同时对一组服务具有亲和性。

在一种方法中,一种基于亲和性的网络配置方法开始于亲和性分析模块接收多个应用请求和描述多个应用的重要性顺序的一组业务规则。基于所述一组业务规则检测所述应用请求和基于网络的基础设施之间的亲和性。基于检测到的亲和性导出新网络配置,基于所述新网络配置配置网络。

在另一种方法中,描述了一种基于亲和性的网络配置装置。所述装置包括:描述多个应用的重要性顺序的一组业务规则;亲和性分析模块,用于接收所述一组业务规则和多个应用请求,并基于所述一组业务规则检测所述应用请求和网络基础设施之间的亲和性;亲和性计算模块,与所述亲和性分析模块耦合,用于基于检测到的亲和性确定新网络配置;网络管理模块,用于基于所述新网络配置配置网络。

附图说明

附图包含在并且构成本说明书的一部分,示出了本发明的各种实施例,并且与描述内容一起用于解释本发明的原则:

图1为可实现本发明实施例的示例性系统架构的框图;

图2为本发明实施例提供的信息模型、数据模型和厂商数据模型间的示例性映射的框图;

图3为本发明实施例提供的用于基于亲和性组网的示例性管理拓扑的框图;

图4为本发明实施例提供的使用虚拟网络功能构建服务链的示例性应用的框图;

图5为一实施例提供的示例性的基于亲和性的网络控制器的详细视图;

图6为一实施例提供的示例性的亲和性分析器的详细视图;

图7为一实施例提供的示例性的亲和性计算器的详细视图;

图8为本发明实施例提供的基于策略规则定义基于亲和性的关系的示例性步骤的图;

图9为可实现本发明实施例的示例性计算机系统的图;

图10为本发明实施例提供的基于亲和性配置网络的一系列示例性步骤的流程图。

具体实施方式

现在将详细地给出一些实施例的参考。虽然结合可替代的实施例描述该主题,但应该理解它们不是旨在将请求保护的主题限制于这些实施例。相反,请求保护的主题旨在覆盖可以包括在由附加的权利要求书限定的请求保护的主题的精神和范围内的替代物、修改和等同物。

另外,在以下本发明的详细描述中,阐述了许多特定细节以便提供对请求保护主题的透彻理解。然而,所属领域的技术人员将认识到,可以在没有这些具体细节的情况下实践实施例。在其它实例中没有详细描述众所周知的方法、流程、部件和电路,以免对本请求保护的主题的各方面和特征造成不必要地模糊。

下面详细描述的部分以方法的方式表示和讨论。虽然本文的图公开了步骤及其顺序,描述了该方法的操作(如图10),但所述步骤和顺序均为示例性的。实施例适合执行各种其他步骤或此处流程图中描述的步骤的变体,除此处描述的顺序之外,还可以有其他执行顺序。

详细描述的某些部分以流程、步骤、逻辑块、进程,以及其他能够在计算机存储器上执行的对数据位的操作的象征性表征来呈现。数据处理领域的技术人员利用这些描述和表征,向本领域的其他技术人员最有效地传达其工作的内容。流程、计算机可执行步骤、逻辑块、进程等在这里一般认为是有条理顺序的步骤或指令,带来预期的结果。所述步骤需要物理量的物理操作。通常但不必然,这些物理量的形式为能够在计算机系统中进行存储、传输、组合、比较和其他操作的电信号或磁信号。主要出于共用的原因,有时将这些信号称作比特、数值、元素、符号、字符、术语、数字等,经证明是很方便的。

但应知道,所有这些或类似术语要与适当的物理量相关联,仅是适用这些物理量的便利标签。除非另有说明,从以下讨论中明显得知,整个讨论中所使用的术语,如“访问”、“写入”、“包括”、“存储”、“传输”、“遍历”、“关联”、“识别”等是指计算机系统或类似电子计算设备的动作和过程,所述动作和过程执行操作并将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据转换为类似地表示为计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内的物理量的其他数据。

计算设备,如计算机系统912,通常包括至少一些形式的计算机可读介质。计算机可读介质可以是计算设备能够访问的任何可用介质。例如但不限于,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能光盘(digital versatile disc,简称DVD)或其他光存储器、磁盒、磁带、磁盘存储器或其它磁存储设备,或能用于存储所需信息和计算设备能够访问的其他介质。通信介质通常体现为诸如载波或其他传输机制等的调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据,且包含任何信息下发介质。所述术语“调制数据信号”是指具有一个或多个特征的信号,这些特征的设置和变化方式使得信息编码进该信号。例如但不限于,通信介质包括有线介质,如有线网或直接有线连接,以及无线介质,如声有线介质、RF有线介质、红外有线介质和其他有线介质。任何上述介质的组合也应该包含在计算机可读介质的范围内。

一些实施例可在诸如程序模块的计算机可执行指令由一个或多个计算机或其他设备执行的这一一般情境中进行描述。通常,程序模块包括例程、程序、对象、组件、数据结构等,用于执行特定任务或实现特定抽象数据类型。典型地,程序模块的功能可根据各实施例的需求进行组合或拆分。

模型驱动的基于亲和性的网络功能

本发明描述了结合信息模型使用基于模型的工程,从而为应用程序开发者在定义和使用基于亲和性的网络功能虚拟化(NFV)时提供内在扩展性。更具体地,本发明针对当前的从传统网络管理(NetOps)到以开发者为中心构建应用以执行管理任务(DevOps)的转变。

亲和性可认为是一组应用和基于网络的基础设施提供的能力之间所固有的相似性这一相似性暗示,比起一些元素,系统中的某些元素需要更多地与其他几组指定元素进行通信。因此,本发明定义了用于计算使得一组应用程序有效地使用网络基础设施的亲和性的机制。

在以下实施例中,描述了一种基于亲和性的网络配置方法。在一种方法中,基于亲和性的网络配置方法开始于亲和性分析模块接收多个应用请求和描述多个应用的重要性顺序的一组业务规则。基于所述一组业务规则检测所述应用请求和基于网络的基础设施之间的亲和性。基于检测到的亲和性导出新网络配置,基于所述新网络配置配置网络。

在另一种方法中,描述了一种基于亲和性的网络配置系统。所述系统包括:描述多个应用的重要性顺序的一组业务规则;亲和性分析模块,用于接收所述一组业务规则和多个应用请求,并使用所述一组业务规则检测所述应用请求和基于网络的基础设施之间的亲和性;亲和性计算模块,与所述亲和性分析模块耦合,用于基于检测到的亲和性确定新网络配置;网络管理模块,用于基于所述新网络配置配置网络。

基于亲和性的网络功能虚拟化管理系统

现参考图1,其描述了本发明实施例提供的模型驱动的基于亲和性的网络功能虚拟化(Network Functions Virtualization,简称NFV)管理系统100的高层系统架构。面向对象的信息模型102包含可被所管理的环境访问的实体的定义及其关系。所述信息模型独立于平台、语言和协议。从所述信息模型102中定义一组数据模型103和104,用于将实体的技术中立抽象及实体间关系映射成更适合实现的一种更具体的形式。根据一些实施例,所述信息模型102和所述数据模型103和104可包括DEN-ng模型、Oracle RDBMS和/或Neo4j NoSQL存储库。

信息/数据总线105使组件108-118与正在使用的数据模型(如数据模型103和104)进行通信。本发明中使用的概念可以由来自所述信息模型的模型元素表示,这些模型元素映射到一个或多个数据元素,然后提供给其他组件(如组件108-118)使用。所述信息模型提供内聚力以及通用词汇表给每个模块使用。例如,业务规则可描述如何定义和使用亲和性。利用亲和性绑定在一起的业务规则、亲和性概念、服务和资源可在所述信息模型中表示为可管理实体。这一安排使应用程序开发者更容易定义和使用规则来管理基于亲和性的服务。

亲和性分析模块110分析应用请求106,以确定新应用请求和网络基础设施之间是否存在亲和性。业务规则108定义了一组规则,以对应用程序的重要性进行优先级排序。当多个应用请求基础设施中的同一共享资源时可能是必要的。将所述亲和性分析模块110的输出发送给亲和性计算模块112,以将亲和性信息与来自网络的数据进行结合,从而确定如何利用亲和性数据来重置网络。结果发送给网络管理系统114,以配置网络拓扑116。从当前配置的基础设施中导出基础设施能力118。此数据表示基于所述亲和性分析器110对基础设施进行的潜在调整,该数据可反馈给所述亲和性计算器112以便进一步优化。

来自通用信息模型的数据模型映射

现参考图2,其描述了单个信息模型201和三个不同数据模型202-204之间的映射200。例如,一个数据模型可基于关系代数,一个可基于NoSQL,另一个则基于目录技术。常用概念或组件(如常见客户或路由器)可在这三个数据模型中的每一个中进行表示,但每种情况下的信息结构不同。进一步地,这些厂商中立(但技术特定)的数据模型中的任何一个,如针对使用SQL92的关系数据库的数据模型,可被翻译/映射到厂商特定形式(如厂商数据模型205-207)。例如,SQL92模型独立于厂商实现,但每个厂商有其自己的SQL92扩展和实现,可提供附加值。

用于基于亲和性组网的管理拓扑

现参考图3,其描述了本发明实施例提供的实现基于亲和性组网的两个示例性管理拓扑。亲和性计算模块112将结果存储到亲和性拓扑数据库302。所述结果可发送至网络中使用的一个或多个控制器(如本地控制器304)。控制器是一种用于控制网络基础设施的管理系统。这使得本发明实施例能够应用于传统和未来的网络管理系统。这类控制器可以是在本地域(如本地控制器304、314和316)或域间(如全局控制器312)。本地控制器负责利用所述亲和性计算模块112的结果配置一个或多个子网(如子网306-310和子网318-320),全局控制器负责配置其管理的本地控制器。

仍参考图3,所述亲和性计算模块112将策略规则传递给全局控制器(如全局控制器312)和任意非全局控制器管理的本地控制器(如本地控制器304)。所述全局控制器可修改从所述亲和性计算模块112接收到的所述策略规则,以适应所述全局控制器管理的不同域的性质。进行任何此类修改后,所述全局控制器将合适的策略规则分配给其管理的本地控制器(如本地控制器314和316)。然后,这些本地控制器检查已接收到的策略规则,并对其进行适当修改以在这些本地控制器管理的资源上进行使用。这些本地控制器然后在恰当的时机使用这些策略规则。

针对可定制服务链的虚拟化网络功能

现参考图4,其描述了本发明一些实施例提供的用于构建可定制服务链的虚拟网络功能(virtualized network function,简称VNF)的示例性应用。NFV模块402、404和406可为其接收到的流量提供不同服务。基于亲和性的网络控制器408确定存在于不同子网间的亲和性,以及在所述子网间流动的流量,和来自哪个NFV模块的哪些服务应该应用到这些不同的流量。

仍参考图4,数据模型103包括配置对象410和针对NFV模块402中防火墙418的策略规则411。基于亲和性的代码生成器408利用信息总线105从数据模型103中检索所述配置对象以及相应的策略规则或一组策略规则。所述代码生成器412接收所述策略规则和所述配置对象,并创建适于编程所述防火墙的新策略规则414。第一策略规则411使用通用术语(如面向商务人士的术语),而第二策略规则414将所述规则转换成适合设备实现的形式,以生成重置命令416。所述防火墙及其配置和所述策略规则均在所述信息模型中进行表示,因此形成了一套连贯的处理操作。

基于亲和性的网络控制器和亲和性分析器

现参考图5,其描述了本发明实施例提供的基于亲和性的网络控制器500的详细视图。所述基于亲和性的网络控制器500可具有不同类型的输入。应用请求106表示待分析和发现亲和性关系的原始流量。业务规则108定义了亲和性分析器必须考虑的不同优先级和其他语义。当前网络拓扑106包括定义哪些应用和客户正在使用基础设施中的哪些资源和路径的信息。所述业务规则108可用于抽象化各种亲和性规则的重要性,使得亲和性规则间的冲突通过各种手段得以解决(若两个或更多规则能同时应用到同一流量,则对不同规则的重要性进行优先级排序)。

仍参考图5,基于模型的工程模块502使用多种数据模型生成代码,以支持亲和性分析器110和亲和性计算模块112的操作。所述亲和性计算模块112的输出反馈给亲和性拓扑观察仪520,非亲和性拓扑观察仪522和控制器524。所述亲和性拓扑观察仪520和所述非亲和性拓扑观察仪522通过分别显示应用亲和性和不应用亲和性的流量使用户看到亲和性分析的结果和计算过程。所述控制器524表示全局和本地控制器(如图2中分别描述的控制器312和304)。最后,基础设施能力118表示在基础设施的附加配置时所使用的基于网络的附加服务(如提供附加的带宽或低时延连接)。

现参考图6,其描述了本发明实施例提供的亲和性分析器600的详细视图。所述亲和性分析器600确定新流量和应用亲和性,并利用可适用的业务规则对所述新流量和应用亲和性进行优先级排序,将所述新流量和应用亲和性的需求和操作与当前网络的应用情况进行比较。这些结果发送至亲和性分析器模块620,以使用基础设施能力118(如图1所示)确定新应用请求是否应该通过现有路径进行路由以及使用现有资源,或使用新路径和/或资源为新流量服务是否有益。应用请求106表示待分析和导出亲和性关系的原始流量。新流量分析器602利用现有管理工具(如协议分析器(如nGenius、Wireshark、tcpdump)、日志分析器(如Syslog、Splunk)、元素和网络管理系统(如Tivoli)、虚拟化管理工具(如vSphere))和定制软件工具的结合对新应用请求进行分析。亲和性检测器604结合基于模型的工程模块502检查新应用流量,并将流量与标识应用、客户和其他相关信息的模型进行匹配。这使得所述亲和性检测器604使用业务规则对来自不同应用的不同流进行优先级排序,例如,基于客户、一天中时间、服务水平协议(service level agreement,简称SLA)和/或网络中的拥塞量进行优先级排序。业务规则108定义了所述亲和性检测器604考虑的不同优先级和其他语义。所述业务规则用于将亲和性的定义从其实现中解耦合。更具体地,所述业务规则使用有利于项目经理、分析师和应用程序开发者的简单语法,但又与配置网络设备所需的低级编程不同。

仍参考图6,可用多种工具从现有应用中检索关键统计数据和信息。现有流量分析器608能够使用的工具包括应用发现理解工具606、应用发现和理解工具(如IBM Infosphere)、应用性能管理工具(如Foglight、Riverbed)和/或协议分析器等。现有流量分析器608与所述基于模型的工程模块502共同标识基础设施中的现有流量,确定流量是如何演化的(如,是否遵循其SLA、是否如预期般相符、是否有比预期更多的流量)。所述基于模型的工程模块502将此与亲和性检测器604的输出结合,并下发至所述亲和性计算器620的网络拓扑分析器112,如图7所述。

将已检测到的新亲和性存储至亲和性拓扑数据库302,并发送至所述基于模型的工程模块502。现有流量分析器608周期性地检查任何之前检测到的亲和性是否发生变化。将这些变化发送至基于模型的工程模块502,以使用来自模型(如图1所示的模型102-104)的信息根据业务规则中指定的优先级识别新亲和性并检测服务和基础设施两者的变化。将结果发送至网络拓扑分析器112,如图7所述。

基于模型的工程模块502使用信息模型102(如图1所示)来创建一个或多个数据模型(如图1所示的数据模型103-104)。所述模型抽象化给定域中呈现的知识和信息。所述基于模型的工程模块502使用这一知识对亲和性的定义和分配进行管理。更具体地,通过使用所述信息和所述数据模型,抽象化亲和性的概念以及不同实体如何通过亲和性进行关联。所述基于模型的工程模块502使系统能与亲和性的抽象,而非植根于特定计算范式的能力的抽象进行合作。例如,本发明可使用特定域概念,而非来自程序设计语言的通用元素,对亲和性和基于亲和性的关系更好地进行建模。

现参考图7,亲和性网络拓扑分析器112确定如何混合新流量和现有流量,以及如何使用信息和数据模型将其进行关联。所述亲和性网络拓扑分析器112输出一组描述所述信息的数据至亲和性网络计算模块622。根据一些实施例,所述亲和性网络拓扑分析器112的输出为元组集合。示例性元组可定义为:{FlowID,AppID,CustomerSLAID,NetworkPath,NetworkPathHealth,Metadata},其中:

●FlowID为特定应用流程的明确标识

●AppID为特定应用的明确标识

●CustomerSLAID为特定客户的SLA的明确标识

●NetworkPath为特定流程经过的网络节点端口列表

●NetworkPathHealth为NetworkPath定义多项健康指标

●Metadata为一个或多个数据模型中元数据对象的参考阵列

以上示例性元组中,元数据可以描述亲和性数据、亲和性关系数据、亲和性服务和/或参与基于亲和性的关系的资源。所述元数据可以提供附加语义,该语义描述了一个或多个参与基于亲和性的关系的可管理实体,包括所述亲和性元素本身。

仍参考图7,将所述亲和性网络拓扑分析器112的输出发送至所述亲和性网络计算模块622以构建两个逻辑拓扑。必要时,所述亲和性网络计算模块622使用非亲和性拓扑数据库(database,简称“DB”)510重新计算网络拓扑。所述亲和性网络计算模块622也可使用亲和性拓扑DB 302计算可能的网络亲和性,并确定亲和性拓扑可能与现有网络基础设施重叠的地方。所述亲和性网络计算模块622利用现有基础设施能力118的集合确定网络亲和性是否应该编程到网络中。所述亲和性网络计算模块622的输出包括所述亲和性拓扑DB 302和所述非亲和性拓扑DB 510的备选变化。网络配置管理器624利用其现有的网络配置DB 630验证并实现这些变化。所述网络配置管理器624然后生成合适数量的一组命令,以重置基础设施626中被影响的资源。根据本发明的一些实施例,可通过策略规则实现。

仍参考图7,所述基础设施能力118表示基础设施中资源的当前使用情况,详述了哪些资源未使用,哪些资源具有剩余容量或可用性,以及哪些资源已经到了不能容纳任何新流量的程度。这组计算可能需要资源本身可用信息之外的附加信息(如正被承载的流量的业务重要性或与此流量相关联的服务水平协议)。因此,所述基础设施能力是来自基础设施的原始信息(如,CPU使用百分比或告警指示等性能指标)、基于模型的工程模块502计算出的关于基础设施的信息(如指标统计数据或一段时间内不同数据的匹配)和基于模型的工程模块502推断出的关于基础设施的信息(如告警的可能根因)的源信息的组合。所述基础设施能力118周期性更新并发送给能够使用该信息的所有模块。

所述基础设施能力118和来自基础设施626的输出均反馈给应用发现和理解模块628。此模块可使用多种工具从现有应用中检索关键统计数据和信息。例如,包括应用发现和理解工具如(IBM Infosphere)、应用性能管理工具(如Foglight、Riverbed)和协议分析器。这些工具与基于模型的工程模块502共同标识基础设施中的现有流量,确定流量是如何演进的(如,是否遵循其SLA、是否如预期般相符、是否有比预期更多的流量)。将此发送给基于模型的工程模块502,以支持所述亲和性网络拓扑分析器、所述亲和性网络计算和所述网络配置管理器的操作。

现参考图8,其描述了本发明一些实施例提供的示例性网络拓扑801。本发明中,策略规则可定义和改变基于亲和性的关系。策略规则、亲和性和其他概念可在同一信息模型中定义,因此,可彼此相关。如图8所示,每个边均有与之相关联的成本,指定为C(exy),其中,exy是从节点x横穿到节点y的成本。有许多不同的算法来寻找最佳路径(例具有最低成本的路径)。根据本发明实施例,策略规则可以改变与每个边相关联的权重,进而改变最佳路径。因此,一旦检测到亲和性,可通过这样的机制轻易实现。如图8所述,元数据可用于协调两个策略规则的应用。

图9为可实现本发明实施例的示例性计算机系统912的图。本例中所示计算机系统912包括处理器901、第一存储器902、第二存储器903、数据存储设备904、图形子系统905、字母-数字输入设备906、光标控制设备907、输入/输出(input/output,简称I/O)设备908和显示设备910。所述计算机系统912还包括总线900。所述总线900将所述处理器901、第一存储器902、第二存储器903、数据存储设备904、图形子系统905、字母-数字输入设备906、光标控制设备907、I/O设备908和显示设备910进行耦合。

在一些实施例中,所述第一存储器902可包括易失性存储器,如随机存取存储器(random access memory,简称RAM),用于存储工作值或者快速和/或经常使用的值。在一些实施例中,所述第二存储器903可包括非易失性存储器,如只读存储器(read-only memory,简称ROM),即使在没有电力的情况下也能保留数据。所述数据存储设备904包括计算机可读存储介质,如磁或光数字数据存储盘。

所述图形子系统905生成图形,并提供图形/视觉输出数据以在所述显示设备910上为用户显示。所述字母-数字输入设备906包括接受用户输入的键盘、触摸屏等。所述光标控制设备907接收来自如鼠标、操纵杆、触摸板等定点设备的用户输入,并生成用户数字输入至所述计算机系统912。所述I/O设备908包括机械、触摸、视觉或音频输入和输出设备中的任何方式,其中,所述计算机系统912能够接受用户输入,且所述计算机系统912能生成各种类型的输出给用户。

程序或计算机指令可以存储至第一存储器902、第二存储器903或数据存储设备904中的任何一个。所述处理器901执行所述程序或计算机指令时,所述程序或计算机指令指示所述计算机系统912的亲和性分析模块接收多个应用请求和描述多个应用的重要性顺序的一组业务规则,基于所述一组业务规则检测所述应用请求和网络基础设施之间的亲和性,基于检测到的亲和性导出第一网络配置,并基于所述第一网络配置配置网络。因此,所述计算机系统912能基于亲和性配置网络。

在一示例实施例中,网络配置装置包括:接收模块,用于在亲和性分析模块处接收多个应用请求和描述多个应用的重要性顺序的一组业务规则;检测模块,用于基于所述一组业务规则检测所述应用请求和网络基础设施之间的亲和性;导出模块,用于基于检测到的亲和性导出第一网络配置;配置模块,用于基于所述第一网络配置配置网络。在一些实施例中,所述装置可包括其他或附加元素,用于执行本实施例中描述的步骤中的任何一个或其组合。

现参考图10,其描述了本发明实施例提供的用来基于亲和性配置网络的一系列示例性步骤。流程图1000开始于步骤1001,即接收应用请求和业务规则。在步骤1002,检测所述应用请求和基础设施之间的亲和性。继续到步骤1003,基于检测到的亲和性导出网络配置。在步骤1004,基于所述网路配置配置网络。

根据本发明的实施例如此处所述。虽然本公开已经在特定实施例中进行了描述,但是应理解,本公开不应该被解释为这些实施例的限制,而是根据以下权利要求书进行解释。

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