CN112055953B - 在云环境中管理多播服务链 - Google Patents

在云环境中管理多播服务链 Download PDF

Info

Publication number
CN112055953B
CN112055953B CN201980029608.8A CN201980029608A CN112055953B CN 112055953 B CN112055953 B CN 112055953B CN 201980029608 A CN201980029608 A CN 201980029608A CN 112055953 B CN112055953 B CN 112055953B
Authority
CN
China
Prior art keywords
model
sdn controller
computer program
distributed computer
program application
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
Application number
CN201980029608.8A
Other languages
English (en)
Other versions
CN112055953A (zh
Inventor
亨德里克斯·博世
杰夫瑞·纳珀
安德烈·舒尔库夫
亚历山德罗·杜米努科
苏巴斯瑞·德赫斯坎
萨佩·马伦德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN112055953A publication Critical patent/CN112055953A/zh
Application granted granted Critical
Publication of CN112055953B publication Critical patent/CN112055953B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

本文描述了在基于云的环境中配置多播链的技术。在实施例中,系统向软件定义网络(SDN)控制器发送应用的模型,该模型包括源、目的地和虚拟化设备以供主机计算机启动。SDN控制器确定虚拟化设备的位置并且生成应用的更新模型,该更新模型包括虚拟化设备的位置。SDN控制器将更新模型发送到协调系统。协调系统使用更新模型生成虚拟化设备到可用主机计算机的映射。使用虚拟化设备到可用主机计算机的映射,协调系统将向一个或多个云管理系统发送在可用主机计算机上启动虚拟化设备的指令。

Description

在云环境中管理多播服务链
技术领域
本公开涉及使用软件定义网络对基于云的分布式计算系统中的媒体设备进行虚拟化的技术领域。更具体而言,下面描述的(一个或多个)示例实施例涉及为多播链中的虚拟化媒体设备生成最佳主机安置决策(host computer placement decision)。
背景技术
本章节所述的方法是可以执行的方法,但不一定是先前已设想或已执行的方法。因此,除非另有说明,否则不应假设本章节所述的任何方法仅因其包含在本章节中而被视为现有技术。
专业媒体网络允许各种媒体设备(例如摄像机、视频显示器、录像机和混合面板)以通过专用同轴电缆或光缆进行通信。广播和制片厂通常使用插线板以允许装置相互连接。各种媒体装置在流或服务链中彼此发送信号。这些信号可以在发送到下一装置之前由服务链中的装置修改或增强。
专业媒体网络允许各种媒体设备(例如摄像机、视频显示器、录像机和混合面板)以通过专用同轴电缆或光缆进行通信。广播和制片厂通常使用插线板以允许装置相互连接。各种媒体装置在流或服务链中彼此发送信号。这些信号可以在发送到下一装置之前由服务链中的装置修改或增强。
电影电视工程师协会(SMPTE)已发布了允许音频和视频信号在互联网协议(IP)分组中通过以太网传输的标准定义。先前连线的流现在可以通过通用IP网络来执行。可以定义各种类型的分组流(例如多播流),以使发送装置能够为零个或多个接收装置产生信号。对于多播流,发送装置使用多播标签来宣布音频或视频信号的可用性,并且接收装置使用多播标签来订阅多播树,从而允许多个装置接收来自发送装置的信号,而不用在发送信号的链路上复制信号。
各种流或服务链可以由软件定义网络(SDN)控制器管理,该SDN控制器提供交换机和路由器以支持各种装置之间的流。因此,SDN控制器可以维护关于网络中的可用性以及不同主机的带宽的信息。
在单云或多云数据中心中,协调系统以优化这些主机利用率的方式选择运行应用程序的主机。协调系统的分配将媒体流隐式分配给网络中的端口和链路和网络交换机。
虽然对于大多数基于云的系统来说,向网络中的端口和链路以及网络交换机隐式分配信号不会导致任何主要问题,但隐式分配可能会给媒体流产生问题,这在交换机或端口过度使用时,会出现分组丢失而对媒体流造成负面影响。尽管SDN控制器可能最清楚哪些端口或交换机可用于优化部署,但大多数云系统并不提供云管理器和SDN控制器之间的开放接口。
因此,需要一个系统,该系统允许SDN控制器和系统协调器共同决定是否在基于云的系统中安置虚拟化媒体设备。
附图说明
在附图中:
图1描绘了用于通过虚拟化设备提供媒体工作流的云网络的示意图。
图2描绘了用于在基于云的环境中管理多播链的示例方法。
图3是描绘协调系统、SDN控制器、云管理系统、云主机和虚拟化设备之间的交互的消息图。
图4是示出可以实现实施例的示例计算机系统的框图。
具体实施例
在下面的描述中,为了解释的目的,阐述了许多具体细节,以提供对本实施例的透彻理解。然而,显而易见的是,可以在没有这些具体细节的情况下实践本实施例。在其它实例中,为了避免不必要地使本实施例难以理解,以框图形式示出公知结构和装置。根据以下概要在下面的章节中描述实施例:
概述
结构概述
功能概述
多播设置
特定实施例的益处
实现方式示例-硬件概述
概述
本文描述了使用SDN控制器和协调系统来提供多播树的技术。在实施例中,协调系统维护分布式计算机程序应用的抽象模型,该模型识别需要在虚拟化环境中托管并链接到媒体服务链中的源、目的地和虚拟化设备。协调系统将抽象模型发送到SDN控制器。SDN控制器确定虚拟化设备的主机,使得网络中的端口和链路以及网络交换机不会过度使用。SDN控制器生成分布式计算机程序应用的更新模型,该模型识别针对设备所确定的主机,并且将分布式计算机程序应用的更新模型发送到协调系统。协调系统使用更新模型以生成虚拟化设备到主机的映射。然后,协调系统向云管理器发送指令,以在映射的主机上启动虚拟化设备。
在实施例中,一种方法包括:从协调系统向软件定义网络(SDN)控制器发送分布式计算机程序应用的特定模型,该特定模型包括一个或多个源、目的地、和供一个或多个主机计算机启动的虚拟化设备;使用SDN控制器来确定虚拟化设备的一个或多个位置;在SDN控制器处生成分布式计算机程序应用的特定更新模型,该更新模型包括虚拟化设备的一个或多个位置;将分布式计算机程序应用的特定更新模型从SDN控制器发送到协调系统;在协调系统处,至少部分地基于分布式计算机程序应用的特定更新模型,生成虚拟化设备到一个或多个主机计算机中的可用主机计算机的映射;使用虚拟化设备到可用主机计算机的映射,从协调系统向一个或多个云管理系统发送在可用主机计算机上启动虚拟化设备的指令。
结构概述
图1描绘了用于通过虚拟化设备提供媒体工作流的云网络的示意图。
图1包括通过网络100通信地耦合的协调系统110、软件定义网络SDN控制器120以及云系统130和140。网络100广泛地表示使用有线或无线链路(包括地面或卫星链路)的一个或多个数据通信网络的任何组合,包括局域网、广域网、互联网或互联网。(一个或多个)网络可以由提供图1的各个元件之间的数据交换的任何介质或机构来实现。图1的各种元件还可以具有直接(有线或无线)通信链路。协调系统110软件定义网络(SDN)控制器120、云系统130和140以及系统的其他元件可以各自包括与网络100兼容的接口,并且被编程或配置为使用标准化协议(例如,TCP/IP和诸如HTTP、TLS等更高层协议)来跨网络通信。
协调系统110可以使用服务器级计算机或具有一个或多个处理器核心、协处理器或其他计算机的其他计算机来实现。协调系统110可以是物理服务器计算机和/或存储在数据中心中的虚拟服务器实例,例如通过云计算。另外地,或者替代地,协调系统110可以包括在服务器计算机系统上执行的一个或多个应用,这些应用包括用于应用模型112、设备映射114和多播标签116的指令。
协调系统110被编程或配置为维护分布式计算机程序应用的抽象模型。分布式计算机程序应用可以包括专业媒体工作流,包括输入装置(例如相机和麦克风)、输出装置(例如视觉显示器)和其他设备(例如视频交换机和混合面板)。在实施例中,应用模型112包括系统的输入和输出,以及需要在虚拟化环境中托管的该组设备。
输入装置或源可以包括初始捕获装置,而目的地或输出装置可以包括信号流的末端。虚拟化设备可以包括各种媒体设备,例如视频/音频交换机、视频/音频记录器和视频/音频混合器,其被编程或配置为对音频和/或视频信号执行一个或多个操作并产生一个或多个输出。例如,当第二设备将音频信号与视频信号匹配时,第一设备可以修改音频输入以减少背景噪声。
应用模型112可以识别包括一个或多个设备的一个或多个服务链。在实施例中,物理媒体设备被虚拟化设备代替,例如通过裸机环境、虚拟机和/或在云环境中运行的容器。如本文所使用的服务链是指处理流,通过该处理流,将信号从第一设备发送到第二设备,由第二设备修改或利用该信号,并且然后将该信号发送到第三设备。就云环境而言,服务链可以定义为指定一个或多个源或输入、托管在云环境中的一个或多个虚拟化设备以及一个或多个最终目的地或输出。
在实施例中,服务链包括一个或多个多播链。如本文所使用的多播链是一个或多个装置向多播树提供其数据的服务链。任何数量的设备可以订阅多播树以接收所提供的数据。这些装置然后可以向其他装置订阅的它们本身的多播树提供数据。
应用模型112可以另外包括一个或多个约束。一个或多个约束可以包括限制将媒体流分配到网络中的端口和/或链路以及网络交换机的规则。另外地,或者替代地,一个或多个约束可以包括限制将虚拟化媒体设备分配给主机的规则。例如,特定的虚拟化媒体设备可能需要至少6千兆字节(GB)的RAM。因此,应用模型112中的约束可以指示特定虚拟化媒体设备只能托管在具有至少6GB的可用RAM的主机计算机上。作为另一示例,应用模型112可以识别不同虚拟化设备所需的程序和/或应用。
设备映射114包括设备到设备位置的映射。例如,设备映射114可以包括设备到主机计算装置的映射。另外地,或者替代地,设备映射114可以包括更广义的映射。例如,设备映射114可以包括设备到主机计算机的可用区域的映射。本文所使用的可用区是指可供云管理系统选择的多个主机计算装置。设备映射114可以另外地或替代地包括交换机和/或端口到数据流的映射。
在实施例中,每个多播树可以由多播标签定义。输入流的提供者可以通过发送具有多播标签的消息来宣布内容的可用性。配置为从多播树接收数据的虚拟化媒体设备可以使用相同的多播标签订阅多播树。协调系统110可以将多播标签116分配给数据流。
SDN控制器120包括管理交换机和路由器之间的流的系统。SDN控制器可以是存储在协调系统上和/或存储在单独计算装置上的应用。SDN控制器120可以使用应用编程接口(API)与联网装置通信。SDN控制器120可以执行各种网络任务,例如识别网络中的哪些装置、装置的能力、收集网络统计数据和/或执行规则以确定整个网络中资源的最佳分配。SDN控制器120可以被进一步编程或配置成管理多播树,并且通过具有多播能力的交换机和/或路由器为多播链提供无阻挡路由。
云系统130和140分别包括多个云主机134、136和144、146,它们被编程或配置为承载一个或多个虚拟化设备。云系统130和140中的每一个可以包括云管理器132、142,它们被编程或配置为管理多个云主机。图1描绘了多云环境,其中协调系统110与云系统130和140的云管理器132和142通信,以用于演示系统在多云环境中的使用。在替代实施例中,虚拟化媒体设备通过单个云系统托管。
本文所描述的计算机可执行指令可以是CPU指令集中的机器可执行代码,并且可以基于JAVA、C、C++、Python或任何其他人类可读编程语言或环境编写的源代码单独编译或与JAVASCRIPT中的脚本、其他脚本语言以及其他编程源文本组合编译。在另一实施例中,编程指令还可以表示在图1的系统或单独的存储库系统中以数字方式存储在诸如非易失性RAM或磁盘存储器之类的大容量存储装置中的源代码的一个或多个文件或项目,当一个或多个文件或项目被编译或解译时产生可执行指令,当可执行指令被执行时,使计算机执行本文参考这些指令描述的功能或操作。换言之,附图可以表示程序员或软件开发人员组织和安排源代码的方式,以便以后编译成可执行文件,或解译成字节码或等效物,以供本文所述的系统执行。
图1将协调系统110、SDN控制器120以及云系统130和140描绘为不同的元件,以说明清楚的示例。然而,在其它实施例中,更多或更少的计算机可以完成本文所述的功能。例如,协调系统和SDN控制器可以包括在单个服务器计算机上执行的应用。另外地,或者替代地,云系统130可以包括存储在一个或多个装置和/或单独的服务器计算机上的多个虚拟服务器。
多播设置
图2描绘了用于在基于云的环境中管理多播链的示例方法。
在步骤202,协调系统将分布式计算机程序应用的特定模型发送到SDN控制器,该特定模型包括一个或多个源、目的地、和供一个或多个主机计算机启动的虚拟化设备。该模型可以描述媒体流的源、用于利用媒体流的设备以及媒体流的最终目的地。在实施例中,协调系统为服务链的每个段发送多播标签。该模型可以另外地包括一个或多个约束,这些约束限制了设备在主机上的安置和/或交换机或端口上的媒体流。
在步骤204,SDN控制器确定虚拟化设备的一个或多个位置。例如,SDN控制器可以确定最适合托管设备的以太网交换机和/或端口。SDN控制器可以基于分布式计算机程序应用的模型和SDN对网络的知识来确定交换机和/或端口。例如,SDN控制器可以存储识别以太网交换机的可用性、网络中的主机计算装置、当前在主机计算装置上执行的应用和/或主机计算装置的可用带宽的数据。SDN可以使用存储的网络数据来识别用于接收输入流的交换机和/或用于执行应用的主机计算机。
在实施例中,确定虚拟化设备的一个或多个位置包括在多播服务链中配置设备。例如,SDN控制器可以识别第一主机,以用于在多播链中配置第一设备,该多播链从诸如记录装置之类的媒体源接收媒体输入。SDN控制器随后可以识别多播树中的每个后续设备,并且识别每个后续设备的主机以及用于不同主机之间交互的交换机。
SDN控制器可以基于主机的可用带宽来确定虚拟化设备的主机。例如,SDN控制器可以通过主机API与各种主机计算装置通信。作为另一示例,SDN控制器可以从附接到主机的交换机接收带宽数据。SDN控制器可以请求指示主机计算装置的可用带宽的数据。SDN控制器可以另外地确定每个设备所需的带宽。例如,分布式计算机程序应用的模型可以识别每个设备的带宽。基于分布式计算机程序应用的模型中所需的带宽和主机计算装置的可用带宽,SDN控制器可以针对每个设备识别一个或多个主机计算装置,这些主机计算装置具有足够的可用带宽来托管设备而不丢失分组。
SDN控制器可以基于主机的能力来确定虚拟化设备的主机。例如,SDN控制器可以存储描述一个或多个主机计算装置的硬件和/或软件的数据。SDN控制器可以确定托管分布式计算机程序应用的模型中识别的一个或多个虚拟化设备所需和/或最佳的硬件和/或软件。例如,分布式计算机程序应用的模型可以包括指示一个或多个虚拟化设备所需和/或最佳的硬件和/或软件的约束。作为另一示例,SDN控制器可以存储指示不同类型的虚拟化设备所需和/或最佳的硬件和/或软件的数据,这些数据可用于确定分布式计算机程序应用的模型中的虚拟化设备所需和/或最佳的硬件和/或软件。基于描述用于主机计算装置的硬件和/或软件的存储数据以及对虚拟化设备所需和/或最佳的硬件和/或软件的确定,SDN控制器可以选择主机计算装置,该主机计算装置包括每个虚拟化设备所需和/或最佳的硬件和/或软件。
在实施例中,SDN控制器识别交换机、端口和/或主机计算装置的多个选项。例如,如果SDN控制器确定第一设备可以最佳地托管在多个主机计算装置中的任一个上,则SDN控制器可以选择多个主机计算装置中的每一个作为选项。SDN控制器可以进一步指示附加限制。例如,如果第一主机计算装置被包括在第一设备和第二设备两者的选择集合中,则SDN控制器可以指示第一主机计算装置是否能够同时托管两个设备,或者第一主机计算装置是否仅能够托管其中一个设备。
在实施例中,SDN控制器对被选择用于托管虚拟化设备的交换机、端口和/或主机计算装置安置预留(reservation)。例如,如果SDN控制器为第一虚拟化设备选择第一端口,则SDN控制器可以存储指示第一端口已被预留并且不能用于除虚拟化设备之外的任何其他事物的数据。SDN控制器可以向云管理系统发送指示已为虚拟化设备预留了第一端口消息,以便云管理系统不向第一端口分配附加服务。SDN控制器可以在预留交换机、端口和/或主机计算装置之后等待预定的时间段。如果SDN控制器在预定时间段内没有接收到指示交换机、端口和/或主机计算装置已经为虚拟化设备配置的数据,SDN控制器可以释放端口上的预留。
在步骤206,SDN控制器生成分布式计算机程序应用的特定更新模型,该更新模型包括虚拟化设备的一个或多个位置。例如,SDN控制器可以将识别虚拟化设备中的每一个的交换机、端口和/或主机计算装置的数据附加到分布式计算机程序应用的模型。
在步骤208,SDN控制器将分布式计算机程序应用的特定更新模型发送到协调系统。在实施例中,协调系统可以确定其是否能够如分布式计算机程序应用的更新模型所规定的那样,将虚拟化设备映射到交换机、端口和/或主机计算装置。例如,协调系统可以确定一个或多个所选主机计算装置无法托管对应的虚拟化设备。作为响应,协调系统可以用一个或多个附加约束更新分布式计算机程序应用的模型,并且将该模型重新发送给SDN控制器。附加约束可以指定无法根据SDN控制器接收到的更新模型配置的系统。
在步骤210,协调系统至少部分地基于分布式计算机程序应用的特定更新模型,生成虚拟化设备到一个或多个主机计算机中的可用主机计算机的映射。例如,协调系统可以将虚拟化设备映射到每个云系统中的可用性区域或可用主机组。因此,协调系统能够进一步将从SDN控制器选择的主机限制为来自管理云系统的一组适当的主机。
在步骤212,使用虚拟化设备到可用主机计算机的映射,协调系统向一个或多个云管理系统发送在可用主机计算机上启动虚拟化设备的指令。例如,协调管理器可以发送指令,这些指令识别要运行的应用的名称、所有启动配置参数以及表示可用于调度应用的主机的可用性区域。消息可以另外地包括由云管理系统管理的每个虚拟化设备的多播标签。
在多云系统中,协调系统可以向每个云管理系统发送消息,该消息具有在系统管理的可用主机计算机上启动虚拟化设备的指令。因此,如果要在第一云系统中启动第一设备,并且要在第二云系统中启动第二设备,则协调系统可以向识别第一设备的第一云管理系统发送第一消息,并且向识别第二设备的第二云管理系统发送第二消息。
通过允许SDN控制器预先选择交换机、端口和/或主机计算装置,协调系统允许SDN控制器以响应于主机计算装置的带宽并可用于避免传输中的分组丢失的方式优化分布式计算机程序应用。
多播应用
图3是描绘协调系统、SDN控制器、云管理系统、云主机和虚拟化设备之间的交互的消息图。
在步骤302,协调系统将应用模型发送到SDN控制器。协调系统可以通过网络(例如网络100)或通过单独的连接发送应用模型。例如,协调系统和应用模型可以包括在同一计算装置上执行的软件应用。应用模型识别源、目的地和需要在云系统上启动的设备。
应用模型可以另外地包括限制SDN控制器选择的附加约束。这些约束可以允许协调系统指定设备、交换机或端口的要求,以提高性能或确保SDN控制器不会创建协调系统无法实现的选择。另外地,或者替代地,约束可以允许协调系统减少SDN控制器的选择机会,从而提高SDN控制器的响应速度。
在步骤304,SDN控制器将更新应用模型返回给协调系统。更新应用模型可以包括由SDN控制器基于协调系统接收到的应用模型所进行的交换机、端口和/或主机计算装置的选择。
在步骤306,协调系统生成设备到云主机的映射。协调系统基于更新模型中的选择生成映射。如果协调系统无法基于从SDN控制器的选择来生成映射,协调系统可以重新组织其多云系统和/或向SDN控制器发送具有一个或多个附加约束的新应用模型。
在步骤308,协调系统向云管理发送设备启动指令。设备启动指令可以识别要执行的应用、要在其上执行的系统的类型、初始配置数据、设备是否正在接收和/或发送数据、识别设备将订阅的多播组的一个或多个多播标签和/或由设备提供的多播的一个或多个多播标签。
在步骤310,云管理系统向云主机发送设备部署指令。例如,云管理系统可以基于协调系统的指令选择适当的主机。云管理系统可以向主机发送启动应用的指令。
步骤312-314描绘了云主机能够成功加入多播组时的示例消息图。在步骤312,云主机启动虚拟化设备。例如,主机计算装置可以如从协调系统发送的指令所指定的那样来启动应用。云主机可以将初始配置参数加载到应用中。
在步骤314,虚拟化设备向SDN控制器发送加入多播组的请求。例如,作为启动应用的一部分,主机计算装置需要订阅一个或多个多播组。虚拟化设备可以向SDN控制器发送消息,例如互联网组管理协议(IGMP)消息,该消息包括多播标签和设备需要加入与多播标签相关联的多播组的指示。
SDN控制器可以拦截来自虚拟化设备的消息,并且通过配置由相关交换机和/或多播路由器维护的多播树来处理消息。SDN控制器可以另外地为多播树配置安全规则和/或监测多播流。在SDN控制器完成多播树的配置之后,虚拟化设备能够开始从多播树接收数据和/或通过其自身的多播树发布数据。
步骤316-322描绘了云主机无法成功加入多播组时的示例消息图。在步骤316,云主机启动虚拟化设备。例如,主机计算装置可以如从协调系统发送的指令所指定的那样来启动应用。云主机可以将初始配置参数加载到应用中。
在步骤318,虚拟化设备向SDN控制器发送加入多播组的请求。例如,作为启动应用程序的一部分,主机计算装置需要订阅一个或多个多播组。虚拟化设备可以向SDN控制器发送消息,例如互联网组管理协议(IGMP)消息,该消息包括多播标签和设备需要加入与多播标签相关联的多播组的指示。
在步骤320,SDN控制器向协调系统发送指示加入失败的消息。例如,如果SDN控制器没有在预先选择的端口上安置预留,则虚拟化设备的端口可以在虚拟化设备启动之前被使用,从而使系统在流式传输期间面临分组丢失的风险。如果SDN控制器确定其无法支持所选主机上的设备,则SDN控制器可以向协调系统发送指示虚拟化设备无法加入多播组的消息。
在步骤322,协调系统向SDN控制器发送新的应用模型。例如,响应于接收到加入失败的消息,协调系统可以会为分布式计算机程序应用生成新的模型,该模型具有指示失败的主机无法支持虚拟化设备的约束。然后,该方法可以从SDN控制器重新开始,为受新约束的分布式计算机程序应用生成新的更新模型。另外地,或者替代地,协调系统可以发送具有新约束的先前模型,从而允许SDN控制器仅更新分布式计算机程序应用中需要更新的部分。
在实施例中,系统配置订阅多个多播组和/或为多个多播组产生信号的设备。因此,SDN控制器可以识别适当的交换机或端口,以便虚拟化设备(例如多观众媒体应用)能够加入多个多播组。如果出现任何加入失败,则系统可以执行步骤316-322中描述的相同恢复程序。
在实施例中,协调系统连续地更新部署以继续优化。例如,协调系统可以接收启动其他分布式计算机程序应用的请求。协调系统可以发送针对新的分布式计算机程序应用的新模型,以及针对当前运行的分布式计算机程序应用的先前模型。SDN控制器可以确定需要释放哪些配置的端口以允许新的分布式计算机程序应用运行。SDN控制器可以向协调系统提交修改后的模型,该模型包括需要重定向哪些虚拟化设备的指示。协调系统可以向云管理系统发送指令,以及以下附加指令:重新配置的主机应与多播树分离,并且新主机应订阅多播树。
特定实施例的益处
本文所述的系统和方法提供对专业媒体工作负载的改进。通过使用SDN控制器识别交换机、端口和/或主机计算装置以运行虚拟化设备,系统能够做出考虑可用带宽和其他网络考虑因素的安置决策,从而确保可以针对虚拟化设备执行数据传输而不遭受分组丢失。因此,本文所述的系统和方法通过减少分组丢失和提高总体性能来改进计算系统的功能。
实现方式示例-硬件概述
根据一个实施例,本文所述的技术由至少一个计算装置实现。这些技术可以使用至少一个服务器计算机和/或使用诸如分组数据网络之类的网络耦合的其他计算装置的组合来整体地或部分地实现。计算装置可以硬连线以执行所述技术,或者可以包括数字电子装置,例如被持续编程以执行技术的至少一个专用集成电路(ASIC)或现场可编程门阵列(FPGA),或者可以包括至少一个专用硬件处理器,所述至少一个专用硬件处理器在固件、存储器、其它存储装置或组合中根据程序指令执行技术。这种计算装置还可以将定制硬接线逻辑、ASIC或FPGA与定制编程结合起来,以完成所描述的技术。计算装置可以是服务器计算机、工作站、个人计算机、便携式计算机系统、手持装置、移动计算装置、可穿戴装置、车载或植入式装置、智能手机、智能装置、互联网装置、自主或半自主装置(例如机器人或无人地面或空中飞行器)、包含硬连线和/或程序逻辑以实现所述技术、数据中心中的一个或多个虚拟计算机或实例和/或服务器计算机和/或个人计算机网络的任何其他电子装置。
图4是示出可以实现实施例的示例计算机系统的框图。在图4的示例中,计算机系统400和用于在硬件、软件或硬件和软件的组合中实现所公开的技术的指令被示意性地表示为例如方框和圆圈,与本公开所属领域的普通技术人员通常用于针对计算机架构和计算机系统实现方式通信的详细程度相同。
计算机系统400包括输入/输出(I/O)子系统402,该子系统可以包括总线和/或(一个或多个)其它通信机构,以用于在计算机系统400的组件之间通过电子信号路径传送信息和/或指令。I/O子系统402可以包括I/O控制器、存储器控制器和至少一个I/O端口。电子信号路径在附图中被示意性地表示为线、单向箭头或双向箭头。
至少一个硬件处理器404耦合到I/O子系统402以处理信息和指令。硬件处理器404可以包括例如通用微处理器或微控制器和/或专用微处理器,例如嵌入式系统或图形处理单元(GPU)或数字信号处理器或ARM处理器。处理器404可以包括集成算术逻辑单元(ALU),或者可以耦合到单独的ALU。
计算机系统400包括一个或多个存储器406单元,例如主存储器,主存储器耦合到I/O子系统402,以用于以电子数字方式存储要由处理器404执行的数据和指令。存储器406可以包括易失性存储器,例如各种形式的随机存取存储器(RAM)或其它动态存储装置。存储器406还可用于在执行由处理器404执行的指令期间存储临时变量或其他中间信息。这样的指令在存储在处理器404可访问的非暂时性计算机可读存储介质中时,可以将计算机系统400呈现为定制以执行指令中指定的操作的专用机器。
计算机系统400还包括非易失性存储器,例如只读存储器(ROM)408或耦合到I/O子系统402的其它静态存储装置,以用于存储处理器404的信息和指令。ROM 408可以包括各种形式的可编程ROM(PROM),例如可擦除PROM(EPROM)或电可擦除PROM(EEPROM)。持久存储装置410可以包括各种形式的非易失性RAM(NVRAM),例如闪存存储器、固态存储装置、磁盘或光盘(例如CD-ROM或DVD-ROM),并且可以耦合到用于存储信息和指令的I/O子系统402。存储装置410是非暂时性计算机可读介质的示例,其可用于存储当由处理器404执行时使得执行计算机实现的方法以执行本文中的方法和/或技术的指令和数据。
存储器406、ROM 408或存储装置410中的指令可以包括一组或多组指令,这些指令被组织为模块、方法、对象、函数、例程或调用。指令可以被组织为一个或多个计算机程序、操作系统服务或应用程序(包括移动应用程序)。指令可以包括操作系统和/或系统软件;支持多媒体、编程或其他功能的一个或多个库;实现TCP/IP、HTTP或其他通信协议的数据协议指令或栈;解析或呈现使用HTML、XML、JPEG、MPEG或PNG编码的文件的文件格式处理指令;用于提供或解译图形用户界面(GUI)、命令行界面或文本用户界面的命令的用户界面指令;应用软件,例如办公套件、互联网接入应用、设计和制造应用、图形应用、音频应用、软件工程应用、教育应用、游戏或其他各方面应用。指令可以实现web服务器、web应用服务器或web客户端。指令可以被组织为表示层、应用层和数据存储层,例如使用结构化查询语言(SQL)或不使用SQL的关系数据库系统、对象存储、图形数据库、平面文件系统或其他数据存储装置。
计算机系统400可以经由I/O子系统402耦合到至少一个输出装置412。在一个实施例中,输出装置412是数字计算机显示器。可以在各种实施例中使用的显示器的示例包括触摸屏显示器或发光二极管(LED)显示器或液晶显示器(LCD)或电子纸(e-paper)显示器。替代地或除了显示装置之外,计算机系统400可以包括(一种或多种)其它类型的输出装置412。其它输出装置412的示例包括打印机、票证打印机、绘图仪、投影仪、声卡或视频卡、扬声器、蜂鸣器或压电装置或其它听觉装置、灯或LED或LCD指示器、触觉装置、致动器或伺服装置。
至少一个输入装置414耦合到I/O子系统402,以用于向处理器404传送信号、数据、命令选择或手势。输入装置414的示例包括触摸屏、麦克风、静态和视频数字相机、字母数字和其他键、键盘、按键、图形板、图像扫描仪、操纵杆、时钟、开关、按钮、刻度盘、滑动装置和/或各种类型的传感器,例如力传感器、运动传感器、热传感器、加速度计、陀螺仪以及惯性测量单元(IMU)传感器、和/或各种类型的收发器,例如无线(例如蜂窝或Wi-Fi)、射频(RF)或红外(IR)收发器和全球定位系统(GPS)收发器。
另一种类型的输入装置是控制装置416,替代地或者除了输入功能之外,它可以执行光标控制或其他自动控制功能,例如在显示屏上的图形界面中导航。控制装置416可以是触摸板、鼠标、轨迹球或光标方向键,以用于向处理器404传送方向信息和命令选择,并且用于控制输出装置(例如,显示器)412上的光标移动。输入装置可以在两个轴上具有至少两个自由度,第一轴(例如x)和第二轴(例如y),允许装置指定平面中的位置。另一种类型的输入装置是有线、无线或光学控制装置,例如操纵杆、操纵杆、控制台、方向盘、踏板、换档机构或其他类型的控制装置。输入装置414可以包括多个不同输入装置的组合,例如摄像机和深度传感器。
在另一实施例中,计算机系统400可以包括物联网(IoT)装置,其中省略了输出装置412、输入装置414和控制装置416中的一者或多者。或者,在这样的实施例中,输入装置414可以包括一个或多个相机、运动检测器、温度计、麦克风、地震检测器、其他传感器或检测器、测量装置或编码器,并且输出装置412可以包括诸如单线LED或LCD显示器之类的专用显示器、一个或多个指示器、显示面板、仪表、阀门、螺线管、致动器或伺服装置。
当计算机系统400是移动计算装置时,输入装置414可以包括耦合到GPS模块的全球定位系统(GPS)接收器,该GPS模块能够对多个GPS卫星进行三角测量,确定并生成地理位置或位置数据,例如计算机系统400的地球物理位置的经纬度值。输出装置412可以包括硬件、软件、固件和接口,以用于生成位置报告分组、通知、脉冲或心跳信号或单独地或结合其他专用数据来指定计算机系统400的位置的指向主机424或服务器430的其他重复数据传输。
计算机系统400可以使用定制的硬接线逻辑、至少一个ASIC、GPU或FPGA、固件和/或程序指令或逻辑来实现本文所述的技术,当与计算机系统一起加载和使用或执行时,这些指令或逻辑使计算机系统作为专用机器运行。根据一个实施例,响应于处理器404执行主存储器406中包含的至少一个指令的至少一个序列,由计算机系统400执行本文中的技术。这样的指令可以从另一存储介质(例如存储器410)读入主存储器406中。执行包含在主存储器406中的指令序列使得处理器404执行本文所述的处理步骤。在替代实施例中,可以使用硬接线电路来代替软件指令或与软件指令组合使用。
本文使用的术语“存储介质”是指存储导致机器以特定方式运行的数据和/或指令的任何非暂时性介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,例如存储装置410。易失性介质包括动态存储器,例如存储器406。存储介质的常见形式包括例如硬盘、固态驱动器、闪存驱动器、磁性数据存储介质、任何光学或物理数据存储介质、存储器芯片等。
存储介质不同于传输介质,但可以与传输介质一起使用。传输介质参与在存储介质之间传输信息。例如,传输介质包括同轴电缆、铜线和光纤,包括构成I/O子系统402的总线的导线。传输介质也可以采用声波或光波的形式,例如在无线电波和红外线数据通信过程中产生的那些声波或光波。
将至少一条指令的至少一个序列传送到处理器404以供执行时,可能涉及各种形式的介质。例如,这些指令最初可以被存储在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过通信链路(例如光纤或同轴电缆或电话线)发送指令。计算机系统400的本地调制解调器或路由器可以接收通信链路上的数据,并将数据转换为计算机系统400可以读取的格式。例如,诸如射频天线或红外探测器之类的接收器可以接收无线或光信号中承载的数据,并且适当的电路可以将数据提供给I/O子系统402,例如将数据置于总线上。I/O子系统402将数据传送到存储器406,处理器404从存储器406取回并执行指令。由存储器406接收的指令可以任选地在处理器404执行之前或之后存储在存储装置410上。
计算机系统400还包括耦合到总线402的通信接口418。通信接口418提供耦合到(一个或多个)网络链路420的双向数据通信,所述网络链路420直接或间接连接到至少一个通信网络,例如网络422或互联网上的公共或私有云。例如,通信接口418可以是以太网网络接口、综合业务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供到相应类型的通信线路的数据通信连接,例如以太网电缆或任何种类的金属电缆或光纤线路或电话线。网络422广泛地表示局域网(LAN)、广域网(WAN)、校园网、互联网或其任何组合。通信接口418可以包括LAN卡以提供到兼容LAN的数据通信连接,或根据蜂窝无线电话无线网络标准有线发送或接收蜂窝数据的蜂窝无线电话接口,或根据卫星无线网络标准有线发送或接收数字数据的卫星无线电接口。在任何这样的实现方式中,通信接口418通过承载表示各种类型信息的数字数据流的信号路径发送和接收电、电磁或光信号。
网络链路420通常使用例如卫星、蜂窝、Wi-Fi或蓝牙技术,直接或通过至少一个网络向其他数据装置提供电、电磁或光数据通信。例如,网络链路420可以提供通过网络422到主机计算机424的连接。
此外,网络链路420可以通过网络422提供链接或经由由互联网服务提供商(ISP)426操作的互联网装置和/或计算机来提供到其他计算装置的连接。ISP 426通过表示为互联网428的全球分组数据通信网络提供数据通信服务。服务器计算机430可以耦合到互联网428。服务器430广泛地表示具有或不具有管理程序(hypervisor)的任何计算机、数据中心、虚拟机或虚拟计算实例,或者执行容器化程序系统(例如DOCKER或KUBERNETES)的计算机。服务器430可以表示使用多于一个计算机或实例实现的电子数字服务,并且通过传输web服务请求、具有HTTP有效载荷中的参数的统一资源定位器(URL)字符串、API调用、应用程序服务调用或其他服务调用来访问和使用。计算机系统400和服务器430可以形成分布式计算系统的元件,包括其他计算机、处理集群、服务器场或协作执行任务或执行应用或服务的计算机的其他组织。服务器430可以包括组织为模块、方法、对象、函数、例程或调用的一组或多组指令。指令可以组织为一个或多个计算机程序、操作系统服务或包括移动应用程序的应用程序。指令可以包括操作系统和/或系统软件;支持多媒体、编程或其他功能的一个或多个库;实现TCP/IP、HTTP或其他通信协议的数据协议指令或栈;解析或呈现使用HTML、XML、JPEG、MPEG或PNG编码的文件的文件格式处理指令;用于提供或解译图形用户界面(GUI)、命令行界面或文本用户界面的命令的用户界面指令;应用软件,例如办公套件、互联网接入应用、设计和制造应用、图形应用、音频应用、软件工程应用、教育应用、游戏或其他各方面应用。服务器430可以包括web应用服务器,该web应用服务器托管表示层、应用层和数据存储层(例如使用结构化查询语言(SQL)或不使用SQL的关系数据库系统)、对象存储、图形数据库、平面文件系统或其他数据存储装置。
计算机系统400可以通过(一个或多个)网络、网络链路420和通信接口418发送消息并接收数据和指令(包括程序代码)。在互联网示例中,服务器430可以通过互联网428、ISP 426、局域网422和通信接口418来发送针对应用程序的请求代码。接收到的代码可以由处理器404在接收时执行,和/或存储在存储装置410中,或存储在其它非易失性存储装置中以供以后执行。
如本章节所述,指令的执行可以实现正在执行的计算机程序实例的形式的进程,该计算机程序由程序代码及其当前活动组成。根据操作系统(OS),进程可以由并发执行指令的多个执行线程组成。在这种情况下,计算机程序是指令的被动集合,而进程可能是这些指令的实际执行。多个进程可以与同一个程序相关联;例如,打开同一程序的多个实例通常意味着正在执行多于一个进程。可以实现多任务以允许多个进程共享处理器404。当每个处理器404或处理器的核心一次执行单个任务时,计算机系统400可以被编程以实现多任务,以允许每个处理器在正在执行的任务之间切换,而不必等待每个任务完成。在实施例中,当任务执行输入/输出操作时,当任务指示可以切换时,或者在硬件中断时,可以执行切换。通过快速执行上下文切换以同时提供对多个进程的并发执行,可以实现分时(time-sharing)以允许交互式用户应用的快速响应。在实施例中,为了安全性和可靠性,操作系统可以防止独立进程之间的直接通信,提供严格中介和控制的进程间通信功能。

Claims (20)

1.一种用于虚拟化设备的方法,包括:
从协调系统向软件定义网络SDN控制器发送分布式计算机程序应用的特定模型,该特定模型包括一个或多个源、目的地、和由一个或多个主机计算机启动的虚拟化设备;
使用所述SDN控制器来确定所述虚拟化设备的一个或多个位置;
在所述SDN控制器处生成所述分布式计算机程序应用的特定更新模型,该更新模型包括所述虚拟化设备的一个或多个位置;
从所述SDN控制器向所述协调系统发送所述分布式计算机程序应用的所述特定更新模型;
在所述协调系统处,至少部分地基于所述分布式计算机程序应用的所述特定更新模型,生成虚拟化设备到所述一个或多个主机计算机中的可用主机计算机的映射;以及
使用虚拟化设备到可用主机计算机的映射,从所述协调系统向一个或多个云管理系统发送在所述可用主机计算机上启动所述虚拟化设备的指令。
2.根据权利要求1所述的方法,
其中,所述分布式计算机程序应用的特定模型包括一个或多个多播链,所述一个或多个多播链描述从至少第一应用到至少第二应用的数据流的流,并且
其中,生成所述分布式计算机程序应用的所述特定更新模型包括识别用于执行所述第一应用的第一主机计算机和用于执行所述第二应用的第二主机计算机。
3.根据权利要求1或2所述的方法,还包括:
从所述协调系统向所述SDN控制器发送所述分布式计算机程序应用的第一模型;
在所述协调系统处,从所述SDN控制器接收所述分布式计算机程序应用的第一更新模型;
响应于在所述协调系统处接收所述分布式计算机程序应用的所述第一更新模型,在所述协调系统处确定所述协调系统无法基于更新模型生成工作流;以及
响应于确定所述协调系统无法基于所述更新模型生成工作流,生成所述分布式计算机程序应用的特定模型。
4.根据权利要求1或2所述的方法,还包括:
使用所述SDN控制器,响应于识别所述虚拟化设备的所述一个或多个位置,在一个或多个端口上安置预留以用于从所述虚拟化设备中的一个或多个虚拟化设备接收数据;以及
在所述SDN控制器处,确定自从在所述一个或多个端口上安置预留之后已经过了特定的时间段,并且,作为响应,在所述一个或多个端口中的任何未使用的端口上释放任何预留。
5.根据权利要求1或2所述的方法,还包括:
在所述SDN控制器处拦截对特定虚拟化设备加入多播组的请求,该请求包括多播标签;
在所述SDN控制器处确定该SDN控制器不能在所选主机计算机上支持所述特定虚拟化设备,并且,作为响应,向所述协调系统发送指示所述特定虚拟化设备无法加入所述多播组的消息;以及
响应于从所述SDN控制器接收所述消息,在所述协调系统处生成所述分布式计算机程序应用的特定模型,所述分布式计算机程序应用的特定模型包括所选主机计算机不用于所述特定虚拟化设备的一个或多个约束。
6.根据权利要求1或2所述的方法,其中,所述分布式计算机程序应用的特定模型包括一个或多个约束,所述一个或多个约束识别能够托管一个或多个应用的一个或多个主机计算机。
7.根据权利要求1或2所述的方法,
其中,所述分布式计算机程序应用的特定模型包括用于包括多个云管理系统的多云系统的模型,并且
其中,向所述一个或多个云管理系统发送指令包括:向所述一个或多个云管理系统中的第一云管理系统发送第一组指令,以用于仅启动映射到由所述第一云管理系统管理的主机计算机的虚拟化设备;以及向所述一个或多个云管理系统中的第二云管理系统发送第二组指令,以用于仅启动映射到由所述第二云管理系统管理的主机计算机的虚拟化设备。
8.根据权利要求1或2所述的方法,其中,确定所述虚拟化设备的一个或多个位置包括:识别包括用于运行所述虚拟化设备所需的硬件和/或软件的一组主机计算机。
9.根据权利要求1或2所述的方法,其中,确定所述虚拟化设备的一个或多个位置包括:识别具有足够可用带宽以在不丢失分组的情况下运行所述虚拟化设备的一组主机计算机。
10.根据权利要求1或2所述的方法,所述SDN控制器被编程为管理专业媒体工作流的服务链中的多播树并且在网络中建立路径,所述源、目的地和虚拟化设备与所述专业媒体工作流相关联并且实现视频交换机、视频录像机或视频混合器中的至少一者。
11.一种用于虚拟化设备的系统,包括:
一个或多个处理器;
存储器,所述存储器与所述一个或多个处理器通信地耦合,所述存储器存储指令,所述指令在由所述一个或多个处理器执行时,执行以下操作:
从协调系统向软件定义网络(SDN)控制器发送分布式计算机程序应用的特定模型,该特定模型包括一个或多个源、目的地、和由一个或多个主机计算机启动的虚拟化设备;
使用所述SDN控制器来确定所述虚拟化设备的一个或多个位置;
在所述SDN控制器处生成所述分布式计算机程序应用的特定更新模型,该更新模型包括所述虚拟化设备的一个或多个位置;
从所述SDN控制器向所述协调系统发送所述分布式计算机程序应用的所述特定更新模型;
在所述协调系统处,至少部分地基于所述分布式计算机程序应用的所述特定更新模型,生成虚拟化设备到所述一个或多个主机计算机中的可用主机计算机的映射;以及
使用虚拟化设备到可用主机计算机的映射,从所述协调系统向一个或多个云管理系统发送在所述可用主机计算机上启动所述虚拟化设备的指令。
12.根据权利要求11所述的系统,
其中,所述分布式计算机程序应用的特定模型包括一个或多个多播链,所述一个或多个多播链描述从至少第一应用到至少第二应用的数据流的流,并且
其中,生成所述分布式计算机程序应用的所述特定更新模型包括识别用于执行所述第一应用的第一主机计算机和用于执行所述第二应用的第二主机计算机。
13.根据权利要求11或12所述的系统,其中,所述指令在由所述一个或多个处理器执行时,进一步执行以下操作:
从所述协调系统向所述SDN控制器发送所述分布式计算机程序应用的第一模型;
在所述协调系统处,从所述SDN控制器接收所述分布式计算机程序应用的第一更新模型;
响应于在所述协调系统处接收所述分布式计算机程序应用的所述第一更新模型,在所述协调系统处确定所述协调系统无法基于更新模型生成工作流;以及
响应于确定所述协调系统无法基于所述更新模型生成工作流,生成所述分布式计算机程序应用的特定模型。
14.根据权利要求11或12所述的系统,其中,所述指令在由所述一个或多个处理器执行时,进一步执行以下操作:
使用所述SDN控制器,响应于识别所述虚拟化设备的所述一个或多个位置,在一个或多个端口上安置预留以用于从所述虚拟化设备中的一个或多个接收数据;以及
在所述SDN控制器处,确定自从在所述一个或多个端口上安置预留之后已经过了特定的时间段,并且,作为响应,在所述一个或多个端口中的任何未使用的端口上释放任何预留。
15.根据权利要求11或12所述的系统,其中,所述指令在由所述一个或多个处理器执行时,进一步执行以下操作:
在所述SDN控制器处拦截对特定虚拟化设备加入多播组的请求,该请求包括多播标签;
在所述SDN控制器处确定该SDN控制器不能在所选主机计算机上支持所述特定虚拟化设备,并且,作为响应,向所述协调系统发送指示所述特定虚拟化设备无法加入所述多播组的消息;以及
响应于从所述SDN控制器接收所述消息,在所述协调系统处生成所述分布式计算机程序应用的特定模型,所述分布式计算机程序应用的特定模型包括所选主机计算机不用于所述特定虚拟化设备的一个或多个约束。
16.根据权利要求11或12所述的系统,其中,所述分布式计算机程序应用的特定模型包括一个或多个约束,所述一个或多个约束识别能够托管一个或多个应用的一个或多个主机计算机。
17.根据权利要求11或12所述的系统,
其中,所述分布式计算机程序应用的特定模型包括用于包括多个云管理系统的多云系统的模型,并且
其中,向所述一个或多个云管理系统发送指令包括:向所述一个或多个云管理系统中的第一云管理系统发送第一组指令,以用于仅启动映射到由所述第一云管理系统管理的主机计算机的虚拟化设备;以及向所述一个或多个云管理系统中的第二云管理系统发送第二组指令,以用于仅启动映射到由所述第二云管理系统管理的主机计算机的虚拟化设备。
18.根据权利要求11或12所述的系统,其中,确定所述虚拟化设备的一个或多个位置包括:识别包括用于运行所述虚拟化设备所需的硬件和/或软件的一组主机计算机。
19.根据权利要求11或12所述的系统,其中,确定所述虚拟化设备的一个或多个位置包括:识别具有足够可用带宽以在不丢失分组的情况下运行所述虚拟化设备的一组主机计算机。
20.根据权利要求11或12所述的系统,所述SDN控制器被编程为管理专业媒体工作流的服务链中的多播树并且在网络中建立路径,所述源、目的地和虚拟化设备与所述专业媒体工作流相关联并且实现视频交换机、视频录像机或视频混合器中的至少一者。
CN201980029608.8A 2018-05-01 2019-04-24 在云环境中管理多播服务链 Active CN112055953B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/968,690 2018-05-01
US15/968,690 US11405438B2 (en) 2018-05-01 2018-05-01 Managing multicast service chains in a cloud environment
PCT/US2019/028974 WO2019212831A1 (en) 2018-05-01 2019-04-24 Managing multicast service chains in a cloud environment

Publications (2)

Publication Number Publication Date
CN112055953A CN112055953A (zh) 2020-12-08
CN112055953B true CN112055953B (zh) 2022-08-05

Family

ID=66857966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980029608.8A Active CN112055953B (zh) 2018-05-01 2019-04-24 在云环境中管理多播服务链

Country Status (5)

Country Link
US (1) US11405438B2 (zh)
EP (1) EP3788749B1 (zh)
CN (1) CN112055953B (zh)
CA (1) CA3098985A1 (zh)
WO (1) WO2019212831A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170264491A1 (en) * 2016-03-12 2017-09-14 Denis DeRuijter Intent based controller for provisioning a network
EP3890244A1 (en) * 2020-04-03 2021-10-06 Mitsubishi Electric R&D Centre Europe B.V. Method for providing multi-site orchestration in a public network for factory automation
CN114338400B (zh) * 2021-12-31 2024-05-14 中国电信股份有限公司 Sdn网络动态控制方法及装置
US20230299992A1 (en) * 2022-03-21 2023-09-21 International Business Machines Corporation Enhanced endpoint multicast emulation

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035930B2 (en) * 2001-10-26 2006-04-25 Hewlett-Packard Development Company, L.P. Method and framework for generating an optimized deployment of software applications in a distributed computing environment using layered model descriptions of services and servers
US9020801B2 (en) * 2003-08-11 2015-04-28 Scalemp Inc. Cluster-based operating system-agnostic virtual computing system
US9973375B2 (en) 2013-04-22 2018-05-15 Cisco Technology, Inc. App store portal providing point-and-click deployment of third-party virtualized network functions
FR3012281A1 (fr) * 2013-10-18 2015-04-24 Orange Procede et systeme de decouverte dynamique de fonctions service
EP3241319B1 (en) 2015-01-20 2019-03-13 Huawei Technologies Co., Ltd. Systems and methods for sdt to interwork with nfv and sdn
WO2017199062A1 (en) 2016-05-17 2017-11-23 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for enabling live virtual machine (vm) migration in software-defined networking networks
US9621853B1 (en) 2016-06-28 2017-04-11 At&T Intellectual Property I, L.P. Service orchestration to support a cloud-based, multi-party video conferencing service in a virtual overlay network environment
US10469376B2 (en) * 2016-11-15 2019-11-05 At&T Intellectual Property I, L.P. Method and apparatus for dynamic network routing in a software defined network
US10367726B1 (en) * 2018-01-12 2019-07-30 Netsia, Inc. Randomized VNF hopping in software defined networks
US10680898B2 (en) * 2018-03-06 2020-06-09 At&T Intellectual Property I, L.P. Mini-cloud deployment system

Also Published As

Publication number Publication date
EP3788749A1 (en) 2021-03-10
US20190342354A1 (en) 2019-11-07
US11405438B2 (en) 2022-08-02
CN112055953A (zh) 2020-12-08
EP3788749B1 (en) 2023-04-26
CA3098985A1 (en) 2019-11-07
WO2019212831A1 (en) 2019-11-07

Similar Documents

Publication Publication Date Title
CN112055953B (zh) 在云环境中管理多播服务链
EP3908929B1 (en) Application-layer service traffic communication using datacenter network fabric as proxy
US10659301B2 (en) Configuring container attribute data on network switches to enable networking functionality
US11675604B2 (en) Process of programming field programmable gate arrays using partial reconfiguration
US20190303212A1 (en) Method for managing application configuration state with cloud based application management techniques
US11144340B2 (en) Placement of container workloads triggered by network traffic for efficient computing at network edge devices
US11146456B2 (en) Formal model checking based approaches to optimized realizations of network functions in multi-cloud environments
CN112567698A (zh) 多云服务网格中的服务业务复制和动态策略实施
US20200076851A1 (en) Enforcing network endpoint policies in a cloud-based environment using a covert namespace
US20200204456A1 (en) Graphical user interface for displaying a hierarchical network topology in a single site view
US11695843B2 (en) User advanced media presentations on mobile devices using multiple different social media apps
US11863639B2 (en) Service provider managed applications in secured networks

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
GR01 Patent grant
GR01 Patent grant