用于自主服务组合的方法和装置与流程

文档序号:15575599发布日期:2018-09-29 05:27阅读:126来源:国知局

本公开的各实施例涉及在包含网络功能虚拟化基础设施的网络中创建和部署服务。具体而言,本公开涉及客户从虚拟化资源组合网络服务。



背景技术:

云网络变得越来越智能和可编程。网络利用在通用商品硬件上运行的智能软件系统和应用程序。这种转变减少了资本和运营开支,同时允许用较少的人为干预来配置网络。与此同时,创造巨大的机会来扩展现有的和新的智能服务并使其货币化。

附图说明

通过结合附图考虑以下详细描述,可以容易理解本公开,其中:

图1是示出了用于组合网络服务的系统的框图。

图2是示出了根据本公开的各方面的组合实例的两个视图的框图。

图3是根据本公开的各方面的用于组合服务的图形用户界面的屏幕视图。

图4是示出了根据本公开的各方面的方法的流程图。

为便于理解,在可能的地方,使用了相同的参考编号表示图中所共有的相同元素。

具体实施方式

目前使用web服务组合来通过在单个web应用程序内部使用各种不同的应用程序来创建单个web应用程序。这是通过来自每个组成应用程序的简单对象访问协议(soap)api来完成的。这最终与服务粒度有关,服务粒度表示服务公开了多少功能。粗粒度服务将整个进程作为可消耗单元公开,而细粒度服务将公开来自较大进程的特定逻辑单元。服务架构师确定对于给定的环境,什么粒度的服务工作最好。

目前描述的系统使云提供商能够建立服务生态系统,以促进现有和新网络服务的大规模营销。该系统降低了企业客户和小企业客户创建新服务的进入壁垒。

一般而言,所公开的智能服务收集关于用于递送服务的资源(用户、设备、网络和应用程序)的信息以及关于其操作环境的信息。接着,它基于这些信息和领域知识做出决策,包括为组合和使用服务的用户调整和个性化服务。智能服务接收对其性能的反馈并学习。

服务组合系统实现了几个重要目标。它是一种预测性的个性化服务,因为它预测用户的需求、主动采取智能行动并推荐有价值和及时的个性化信息。此外,该系统是一个自适应系统,它从所有用户的过去动作中学习并调整其行为,以提供更高的服务质量。最后,服务组合系统是动态的,因为它是健壮的,并且能够在可能的服务中断中生存、自修复或自组织自己。

在本公开的一些实施例中,提供了一种用于在通信网络中组合服务的方法。定义了多个资源模型,每个资源模型都描述通信网络中虚拟化网络功能资源的行为。从客户接收创建新网络服务的客户服务创建请求,该请求包括新网络服务的功能描述。基于使用先前的客户服务创建请求训练的专家系统学习算法,向客户建议一个或多个虚拟化网络功能资源,以用于组合新的网络服务。通过图形用户界面从客户接收图标的排列。图标排列表示虚拟化网络功能资源的子集,并且包括虚拟化网络功能资源之间的互连的表示。基于图标排列和虚拟化网络功能资源的子集的行为,图标排列被验证为表示用于在通信网络中部署的可行服务组合。服务组合被部署在通信网络中以供客户使用。

在另外的实施例中,提供了一种其上存储有用于在通信网络中组合服务的计算机可读指令的计算机可读存储设备。处理器执行计算机可读指令使得处理器执行包括上述操作的操作。

在另一个实施例中,提供了一种用于在通信网络中组合服务的系统。该系统包括处理器资源、连接处理器资源的接口和其上存储有计算机可读指令的计算机可读存储设备。

处理器资源执行计算机可读指令使得处理器资源执行包括上述操作的操作。

当前公开的自主服务组合系统100(图1)是智能服务的实例。系统100创建服务市场,其通过利用诸如推荐器102及专家系统和预测器106、实时客户关怀协作、定制定价108和大数据分析104之类的高级工具来提供创建新颖服务的整体客户体验。服务组合系统包括用于集成来自预定义组件模块或资源110的应用程序/服务、链接这些模块并在需要它们的地方和时间部署它们的机制。正是这种服务链接能力为定义新应用程序、管理应用程序生命周期和在组合环境中实现弹性服务提供了基本机制。通过快速集成组件并动态调整这些组件的大小,可以构建应用程序来处理不同的用户负载。通过基于亲和性规则来选择性地部署组件模块,可以引导多个时间关键(timecritical)功能来共享公共基础设施以最小化等待时间,同时可以通过引导冗余组件在地理上分离的服务器上执行来保持高可用性。

目前描述的服务市场允许客户、合作伙伴、开发人员和其他人相互之间以及与各种工具(包括分析引擎、数据、预测和推荐工具、协作)进行对接和交互。交互非常灵活并易于配置,允许用户发现、创建、模拟、部署、监视和以其他方式实现由服务原语组装的服务结构(construct)。这些服务的范围可以从直接即刻从目录中抽取而不进行修改的简单服务,到由客户、合作伙伴、开发人员和其他人协作而产生的独特而复杂的服务,而且可能需要多年的共同努力。

在服务市场的核心使用模型驱动的方法来促进动态服务组合的创建和管理。这种方法需要将基本组合逻辑与组合规范分离。由于越来越多地使用网络功能虚拟化(nfv)资源来提供网络服务,因此需要对这些资源进行适当建模,以便于更高层的应用程序提供增值服务,诸如所公开的组合环境。

如图1所示,当前公开的自主服务组合系统利用资源110、服务111和产品113的模型。可以连接资源来构建服务。服务可以与商业策略和定价一起订购,形成最终产品。通过利用服务和产品之间的关系来促进组合,以创建最终产品,该产品需要其组成服务/产品的特征。使用行业标准来对nfv进行建模。例如,各实施例利用oasis用于云应用的拓扑和编排规范(tosca)建模规范。

产品113由其组成虚拟化资源110构成。提供了用于描述每个资源的模型。请注意,网络功能虚拟化可以建模为默认的一组功能,以及可选的一组替代附加功能。

如图2所示,组合实例200展示了两种产品的组合:按需网络产品和受管的互联网服务产品。受管互联网服务产品为企业客户提供互联网连接。在客户视图210处,这被示为具有通过链路节点212连接到互联网网关220的客户驻地装备(cpe)211的站点局。深入一层示出了服务视图240,包括客户或网络提供商操作人员可以看到的各种可能性。就接入链路来进一步描述链路节点212,接入链路即cpe211经由链路节点215到存在点(pop)链路216,以及经由多协议标签交换(mpls)链路217从pop216到互联网网关220。接入链路可以有多种,其中之一被定义为使用虚拟化路由器的按需网络。这些实体中的每一个都必须以通用方式建模,以允许不同级别的服务粒度。例如,cpe具有带宽、端口数、服务等级等特定特性。

所公开的服务组合系统利用填充有nfv模型阵列的生态系统,所述nfv模型有助于链接或组合以提供更丰富的增值服务集合。以没有被想到的独特方式组合产品和服务,提供了可以被货币化并更全面地满足客户需求的机会。这样做的附加好处是这个过程可以自我推动,其中鼓励供应商和合作伙伴使用众所周知的标准(如oasistosca建模语言)贡献各种nfv模型。

图3中示出了用于访问这种生态系统的示例性图形用户界面300。在小部件框340中,向用户提供可被选择用于在绘图区域310中表示的vnf的模型。在选择特定的小部件时,用户指定随后在模型中实现的特性。例如,可以选择表示具有两个端点的站点到站点连接的小部件341。用户指定连接的特性,包括100mbps带宽及端点a和b。然后,在绘图区域中创建连接的表示342。

可以使用所选vnf和指定的互连的底层模型来模拟和测试绘图区域310中表示的组合服务。模拟和测试可以要么在组合期间实时执行,要么响应于客户的离散请求执行。

在所描述的组合系统的另一示例用例中,客户请求一组基本服务:a)两个端点之间的数据连接(例如交换以太网服务),b)从一个端点获取数据并将其发送到两个或更多个端点的数据“分离器”服务,c)视频异常检测服务,其获取视频流并向端点发送警报,以及d)数据存档服务。在此示例中,大厅里有视频监控摄像头的小镇银行希望在远离银行的时候把视频流发送到主(home)办公室。在当前公开的组合环境中,基本连接服务配置有端点位置。客户要求在发生意外情况时另外发送警报。在该示例中,可以通过从数据分离器服务获取视频输出并将其输送到异常检测服务中来组合该特征。异常检测服务被配置为发送警报。除了接收警报之外,还可能需要将视频存储六个月。在这些的每种情况下,组合环境都会为基本服务创建单独的服务订单,并创建显示基本服务如何缝合在一起的整体应用程序控件。

所公开的组合环境使用来自资源目录110、服务目录111和产品目录113的项目,如图1所示。这些网络功能虚拟化(nfv)元件中的每一个都必须在可以实现组合之前被建模。该建模可以由网络提供商、虚拟网络功能开发商或第三方供应商来完成。在各实施例中,使用tosca建模语言的扩展版本来建模那些产品。该开源建模语言的使用有助于以可在软件生命周期的不同阶段验证的方式快速进行服务组合。

组合的起点可以是第三方nfv的目录。在各实施例中,由网络提供商创建生态系统,用于引导网络提供商供应商使用tosca来填充资源和服务目录。

目前公开的组合环境所采用的体系结构方式能够实现快速迭代开发、随着利用率提高而弹性扩展的路径,以及在不断变化的需求和添加新功能方面的灵活性。子系统是围绕微服务体系结构设计的,其中组件通过轻量级分布式消息总线进行互操作。在各实施例中,使用了用于在虚拟机平台上构建反应性应用程序的开源工具包vert.xtm。精心抽象的消息发布/订阅界面有利于扩展性。例如,可以从智能工具箱中添加语义助理。最后,基于云的组合环境集群可以容易地横向扩展,以满足弹性需求;子系统副本可以根据利用率的需要在几秒钟内部署到轻量级容器上。

组合最终是一个复杂的数据驱动过程,不仅使用广泛的产品目录和资产库存,还使用构建复杂组合服务的领域专业知识的表示。当前公开的组合环境的各实施例使用图形数据库技术来允许自然方式来表示目录和库存项目之间的语义连接、工作流状态和相关领域知识。该数据库是动态可扩展的以适应整个生命周期内的学习,并且对于监督和增强组合过程的智能代理是持续可用的。

所公开的组合环境必须在nfv环境(例如at&t的域2.0网络环境)中执行组合订单。创建类似“购物车”式的体验,让最终客户发现、创建、部署和观看服务。组合环境必须与服务设计和创建(sd&c)子系统150交互操作以完成订单。组合环境还与nfv环境中的一系列实体进行通信,以使用分析和可视化工具来监视服务并在仪表板中呈现实时报告。例如,组合环境可以与增强的、控制、编排、管理、策略(ecomptm)系统160的各种组件进行通信,ecomptm系统160是at&t系统,包括数据收集、分析和事件(dcae)引擎161以及活动和可用库存(a&ai)子系统162以便获得实时资产信息。

组合过程的自然部分是让客户发现相关的服务和产品。需要专家系统来建议或推荐兼容的产品,以指导成功的组合。所公开的组合环境的另一个关键特征是用于协作的设计;鉴于组合是一项复杂的活动,通常涉及许多参与者,组合环境从一开始就被设计成协作工作区。具体而言,客户可以在组合过程中使用为此目的提供的界面,与网络提供商人员或第三方装备提供商人员实时进行交互。这种协作安排在组合过程中提供网络提供商输入和其他供应商输入。

nfv服务组合的附加方面是工作流的复杂性和丰富性。所公开的组合环境寻求提供对整个组合生命周期的无缝支持。为了使环境最大程度地可访问,用户界面完全基于浏览器,利用诸如webgl和webrtc之类的html5技术来实现强大而有效的用户体验。最后,已针对客户关怀需求,提供了基于webrtc的协作环境。

在许多情况下,应用程序和网络功能之间的界限变得模糊不清。有像vrouter这样的简单vnf(例如,来自brocade通信系统公司的和来自思科系统公司的)。除此之外,还有域名系统(dns)服务、轻量级目录访问协议(ldap)服务和类似的服务,它们都是更面向应用的服务。设置新租户时必须添加新记录,这是一项应用程序动作。

更复杂的vnf自带数据库,或者依赖于开源关系或非关系(nosql)数据库,例如cassandratm。复杂的vnf或vnf链(如cdn子系统或ims和epc子系统)需要深度编排功能、创建订单、网络依赖性、关系和复杂动作被执行。

可以在osi栈的各个层处促进自主服务组合。在本公开所述的示例中,它用于通过从非常简单的场景到复杂的vfn链接的解决来改善总体最终客户体验。

用于在通信系统中组合服务的示例方法400由图4的流程图描绘。首先,在框410,初始地定义多个资源模型。每个资源模型都描述了通信网络中虚拟化网络功能资源的行为。资源模型可以例如由可能对服务组合系统感兴趣的网络提供商供应商和合作伙伴创建。这些模型可以使用众所周知的标准(例如tosca建模语言)来创建。

在框420,从客户接收创建新网络服务的客户服务创建请求。该请求包括新网络服务的功能描述。在各实施例中,请求可以指定相关节点、连接类型以及要执行的功能。

接着,在框430,系统向客户建议一个或多个建模的虚拟化网络功能资源,用于组合新的网络服务。该建议是基于通过专家系统学习算法对新网络服务的功能描述的分析的,已经使用先前的客户服务创建请求对专家系统学习算法进行了训练。

接着,在框440,客户定义表示虚拟化网络功能资源的子集的图标的排列,图标排列是经由图形用户界面从客户接收的。图标排列包括虚拟化网络功能资源之间的互连的表示。客户可以使用图形用户界面以图形方式定义互连。服务组合系统可以使用专家系统学习算法来帮助客户排列图标。

基于图标排列和虚拟化网络功能资源的子集的行为,在框450,图标排列被验证为表示用于在通信网络中部署的可行服务组合。在框460,服务组合被部署在通信网络中以供客户使用。

上述硬件和各种网络元件包括一个或多个处理器,以及输入/输出能力和其上存储有计算机可读指令的计算机可读存储设备,这些指令在由处理器执行时使得处理器执行各种操作。处理器可以是专用处理器,或者可以是大型机、台式或膝上型计算机或能够处理数据的任何其他设备或设备组。处理器使用根据本公开的软件来配置。

每个硬件元件都还包括存储器,该存储器用作存储在处理器中执行程序期间使用的数据的数据存储器,并且还用作程序工作区。存储器还可以用作用于存储在处理器中执行的程序的程序存储器。程序可以驻留在任何有形的、非易失性计算机可读存储设备上,作为存储在其上的计算机可读指令,用于由处理器执行以执行操作。

通常,处理器配置有程序模块,程序模块包括执行特定任务或实现特定抽象数据类型的例程、对象、组件、数据结构等。这里使用的术语“程序”可以意味着单个程序模块或协同工作的多个程序模块。本公开可以在各种类型的计算机上实现,包括个人计算机(pc)、手持设备、多处理器系统、基于微处理器的可编程消费电子产品、网络pc、微型计算机、大型计算机等,并且可以采用分布式计算环境,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,模块可位于本地和远程存储器存储设备中。

用于实现上述方法的示例性处理模块可以存储在单独的存储器中,其从诸如rom或其他类型的硬磁驱动器、光存储器、磁带或闪存之类的计算机可读存储设备被读入一个处理器或多个处理器的主存储器中。在存储在存储介质中的程序的情况下,模块中指令序列的执行使得处理器执行这里描述的处理操作。本公开的各实施例不限于硬件和软件的任何特定组合。

这里使用的术语“计算机可读介质”是指提供或参与提供指令给一个或多个处理器的有形的、非暂时性的机器编码介质。例如,计算机可读介质可以是一个或多个光或磁存储盘、闪存驱动器和卡、只读存储器或诸如dram之类的随机存取存储器,其通常构成主存储器。术语“有形介质”和“非暂时性介质”均排除暂时性信号,例如传播信号,它们不是有形的和非暂时性的。高速缓存的信息被认为存储在计算机可读介质上。计算机可读介质的常见变通(expedient)在本领域中是众所周知的,这里不需要详细描述。

前面的详细描述应理解为在各个方面是说明性的和示例性的,而非限制性的,这里的公开内容的范围不是由本描述确定的,而是由根据专利法所允许的全部宽度解释的权利要求确定的。此外,还应该理解,此处所使用的措辞和术语只是为了说明,不应该被视为限制性的。此处对“包括”、“包含”、或“具有”及其变型的使用旨在包括其后所列的项目及其等效物以及其它项目。除非以别的方式指定或限制,术语“安装”、“连接”、“支持”以及“耦合”以及其变化被广泛地使用并包含直接和间接的安装、连接、支持以及耦合。进一步地,“连接”和“耦合”不仅局限于物理或机械连接或耦合。应当理解,在不脱离本公开的范围和精神的情况下,本领域技术人员将实施各种修改。

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