CN112805962B - 数据中心中的多播流调度 - Google Patents
数据中心中的多播流调度 Download PDFInfo
- Publication number
- CN112805962B CN112805962B CN201980065336.7A CN201980065336A CN112805962B CN 112805962 B CN112805962 B CN 112805962B CN 201980065336 A CN201980065336 A CN 201980065336A CN 112805962 B CN112805962 B CN 112805962B
- Authority
- CN
- China
- Prior art keywords
- agents
- hosts
- multicast stream
- test
- deployed
- 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
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1881—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/15—Flow control; Congestion control in relation to multipoint traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6205—Arrangements for avoiding head of line blocking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1854—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1886—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
Abstract
在一个示例实施例中,服务器在数据中心中的多个主机之间生成虚拟应用程序的候选实例,以支持多播流。服务器向与多个主机中的第一组主机相对应的第一组代理提供启动测试多播流的命令。服务器向与多个主机中的第二组主机相对应的第二组代理提供加入测试多播流的命令。服务器从第二组代理获取指示第二组代理是否已接收到测试多播流的消息。如果消息指示第二组代理已接收到测试多播流,则服务器使虚拟应用程序根据虚拟应用程序的候选实例进行实例化。
Description
技术领域
本公开涉及多播技术。
背景技术
如今,专业媒体行业(例如,电影、线性电视、广播、可视广播等)使用定制的实体设备来管理/分配制作工作室数据中心中的音频和视频信号。这些定制设备通过同步数字接口(SDI)网络联网,以在这些设备之间传送音频和视频信号。SDI不提供网络协议,仅传送数字化模拟信号。对于互连设备,SDI路由器被编程,以将传入信号修补(patch)为传出信号,从而跨越制作工作室、在制作工作室之间、以及通过制作工作室路由音频和视频信号。SDI路由是外部的,而不是SDI标准的本地路由。
SDI目前正在被互联网协议(IP)网络取代。SDI样本被打包到用户数据报协议(UDP)和/或实时传输协议(RTP)分组中,并通过基于IPv4的多播树从来源发送到一个或多个接收点(sink)。如本文所使用的,术语“SDI-over-IP”可以指通过封装(encapsulation)或类似技术以及取代SDI的本地IP流被转换为IP的SDI。在SDI-over-IP中,每个媒体源(例如,相机、麦克风等)都被分配私有多播树,并且媒体接收器只订阅多播树以接收馈给(feed)。SDI网关和基于IP的来源将分组流馈送到多播树中。SDI-over-IP流通常是大象多播流,对于未压缩的视频而言其数据速率在1.5Gb/s(例如,对于高清视频而言)和12Gb/s(例如,对于高动态范围或超高清视频而言)之间。由于信号质量是关键(即,分损失和阻塞是不可接受的),因此,对专用的专业媒体网络进行编程,以确保在数据中心中用于此类多播树的入口设备、实体设备、和出口设备之间存在无阻塞、无损失的SDI-over-IP传输。
为了确保专业媒体网络可以支持所有基于SDI-over-IP的媒体多播流,网络可调度性分析通常是由专业媒体网络中的软件定义网络(SDN)控制器来执行的。SDN控制器仅在以下情况下才允许新流进入:(a)现有流不中断,以及(b)新流与现有流结合可以满足其实时要求。
附图说明
图1示出了根据示例实施例的具有在数据中心中的主机上部署的多播调度代理的系统。
图2示出了根据示例实施例的用于调度数据中心中的多播流的调用流(callflow)。
图3示出了根据示例实施例的具有在数据中心中的架顶式(ToR)交换机上部署的多播调度代理的系统。
图4示出了根据示例实施例的具有在数据中心中的带内设备上部署的多播调度代理的系统。
图5是根据示例实施例的被配置为在数据中心中执行多播流调度的计算设备的框图。
图6是根据示例实施例的用于在数据中心中调度多播流的方法的流程图。
具体实施方式
概述
在一个示例实施例中,服务器在数据中心中的多个主机之间生成虚拟应用程序的候选实例,以支持多播流。服务器向与多个主机中的第一组主机相对应的第一组代理提供启动测试多播流的命令。服务器向与多个主机中的第二组主机相对应的第二组代理提供加入测试多播流的命令。服务器从第二组代理获取指示第二组代理是否已接收到测试多播流的消息。如果消息指示第二组代理已接收到测试多播流,则服务器使虚拟应用程序根据虚拟应用程序的候选实例进行实例化。
示例实施例
专业媒体行业正在发生的一种变化是,专业媒体数据中心中的定制实体设备(例如,特定的网络元件,诸如,基于x86的计算机、用于管理流的专用硬件等)已被虚拟化的应用程序(例如,托管在传统数据中心硬件上并由云管理系统管理的进程、容器、虚拟机、裸机服务(bare-metal service)等)取代。定制的实体设备进行同步数字接口(SDI)-over-互联网协议(IP)的调度涉及确保数据中心中的入口、设备以及出口网络端口之间有足够的带宽可用。虚拟化的应用程序增加了此可调度性分析的复杂性,因为,此类应用程序可以动态地部署在各种数据中心设备(例如,计算机/服务器/主机)上,其中每个数据中心设备经由不同的网络交换机端口和/或网络交换机连接。
因此,可调度性分析必须考虑到虚拟化的应用程序的托管位置(或将要托管的位置),以确保可以满足任何新流以及现有流的实时要求。可调度性分析必须进一步确保所选的数据中心设备可以支持(一个或多个)虚拟化的应用程序的计算和存储要求。虚拟化的应用程序的确切放置取决于数据中心设备的属性和可用性以及数据流的调度。但是,与此同时,直到知晓流产生/消耗的虚拟化的应用程序被放置,才能对数据流进行调度。因此,关于数据中心设备中虚拟化的应用程序的可调度性/放置,专业媒体行业面临着“鸡与蛋”的问题。
此外,调度这些虚拟化的应用程序通常由云系统(更具体地说是云管理器的放置功能)和网络集中式软件定义网络(SDN)控制器共同管理。这要求SDN控制器知晓网络的精确状态。但是,在许多情况下,仅在互联网组管理协议(IGMP)/协议独立多播(PIM)处理期间针对大象流执行多播拼接(multicast stitching)。在这些情况下,SDN控制器不会进行带宽预留,因为,交换机本身会在IGMP/PIM处理期间预留带宽。因此,没有单个集中式元件可以保留所有网络调度信息,以帮助将虚拟化的应用程序放置在数据中心中。换句话说,SDN控制器在IGMP/PIM背景下不依赖资源预留。
此外,仅当参与的交换机通过交换机网络接口来接收PIM(IGMP)加入消息以启动调度程序时,才能做出调度决策。按照放置决策,在数据中心主机上启动虚拟化的专业媒体应用程序可能需要几分钟的时间,而配置虚拟化的应用程序和实体设备需要针对每个数据中心放置功能执行专业媒体工作流,这改变了专业媒体工作室的操作。考虑到在云环境中部署虚拟化的应用程序所需的时间(例如,几分钟)、启动IGMP加入消息所需的设备/应用程序配置、以及用于部署虚拟化的解决方案的可能组合的数量,使用由虚拟化的应用程序和/或实体设备(一旦配置)发送的IGMP加入消息来测试解决方案的部署不是理想的解决方案。
图1示出了用于调度多播流的系统100。在一个示例中,系统100位于专业媒体工作室的现场。系统100包括与数据中心120通信的工作负载放置服务器110。数据中心120包括机架130(1)和130(2)。机架130(1)容置架顶式(ToR)交换机140(1)、主机(例如,服务器)150(1)和150(2)、以及带内设备(例如,诸如以太网小型可插拔收发器(SFP)之类的收发器、诸如外部以太网交换机之类的外部交换机等)160(1)和160(2)。机架130(2)容置ToR交换机140(2)、主机150(3)和150(4)、以及带内设备160(3)和160(4)。ToR交换机140(1)可以经由带内设备160(1)和160(2)管理/监视主机150(1)和150(2),并且ToR交换机140(2)可以经由带内设备160(3)和160(4)管理/监视主机150(3)和150(4)。在一个示例中,ToR交换机140(1)和140(2)是脊-叶架构中的叶节点。应当理解,数据中心120可以包括任何合适数量的机架,并且各个机架可以容置任何合适数量的ToR交换机、主机以及带内设备。
数据中心120可以管理/分配用于专业媒体工作室的媒体(例如,数字化的视频或音频)大象多播数据流/流。媒体大象多播流可以被压缩或不被压缩,并且可以使用任何合适的标准(例如,电影电视工程师协会(SMPTE)时间码、H.264、联合图像专家组(JPEG)2000(J2K)、NewTekTM的网络设备接口(NDITM)等)。为了管理/分配这些流,数据中心120可以利用各种虚拟化的应用程序。这些虚拟化的应用程序可以在主机150(1)-150(4)中的一个或多个上运行。
工作负载放置服务器110利用工作负载放置逻辑170来确定虚拟化的应用程序的适当工作负载放置(例如,各种虚拟化的应用程序应放置在主机150(1)-150(4)上的位置)。简而言之,工作负载放置逻辑170使工作负载放置服务器110分别与部署在主机150(1)-150(4)上的代理180(1)-180(4)通信,以帮助建立测试/综合多播树来确定给定的虚拟化的应用程序的可行性。代理180(1)-180(4)在工作负载放置期间充当虚拟应用程序(和/或实体设备),并且在部署/配置实际的虚拟应用程序(和/或实体设备)之前建立测试多播树。
更具体地,工作负载放置服务器110可以在主机150(1)-150(4)之间生成虚拟应用程序的候选实例,以支持多播流。工作负载放置服务器110可以向与多个主机中的第一组主机(例如,主机150(1))相对应的第一组代理(例如,代理180(1))提供启动测试多播流的命令。工作负载放置服务器110可以向与多个主机中的第二组主机(例如,主机150(2)-150(4))对应的第二组代理(例如,代理180(2)-180(4))提供加入测试多播流的命令。工作负载放置服务器110可以从第二组代理(直接地或间接地)获取指示第二组代理是否已接收到测试多播流的消息。如果消息指示第二组代理已接收到测试多播流,则工作负载放置服务器110可以使虚拟应用程序根据虚拟应用程序的候选实例进行实例化。如果消息指示第二组代理未接收到测试多播流,则工作负载放置服务器110可以生成虚拟应用程序的另一候选实例,以支持多播流。
与常规方法不同,工作负载放置逻辑170允许数据中心120快速测试各种工作负载放置,而无需实际部署和配置虚拟应用程序和/或实体设备。这有助于避免传统系统所面临的“鸡与蛋”问题。此外,当放置虚拟化的应用程序时,工作负载放置逻辑170不需要集中式SDN控制器。这与分散式大象多播流调度保持一致。
图2示出了用于工作负载放置的示例调用流(序列)图200。调用流在系统管理器205、工作负载放置逻辑170、一个或多个代理180(i)、一个或多个主机150(i)以及一个或多个ToR交换机140(k)之间。系统管理器205可以是广播控制器、云管理器、或用于精心制作专业媒体解决方案的任何其他功能元件。在一个示例中,系统管理器205可以是工作负载放置服务器110上存在的逻辑。工作负载放置逻辑170可以是由系统管理器205调用的函数,以用于使用数据中心中的测试多播流来利用虚拟化的应用程序查找专业媒体解决方案的部署。代理180(i)可以是在主机上作为容器、进程、虚拟机等运行的应用程序。主机150(j)可以是用于运行虚拟化的应用程序的计算机/服务器,并且可以承载代理。ToR交换机140(k)可以用于传送多播流,并处理PIM和IGMP信令,以进行多播树管理。
简而言之,当工作负载放置逻辑170为解决方案部件(虚拟化的应用程序)做出放置决策时,工作负载放置逻辑170需要与网络交互,以评估网络是否可以传送所请求的大象多播流。为了进行评估,工作负载放置逻辑170可以通过使用ToR交换机140(k)来执行适当的PIM(IGMP)加入程序,指示表示主机150(j)的代理180(i)中的每一者将在哪里部署解决方案部件以登录或生成解决方案所需的多播树。这适用于所有虚拟应用程序和/或实体设备。通过测试整个端到端解决方案的流,甚至通过将“伪”流量合成到多播树上,工作负载放置逻辑170可以快速确定哪些解决方案部署有效,哪些无效。因此,可以在不与集中式SDN控制器显式交互的情况下做出放置决策。
在210,系统管理器205向所有参与的ToR交换机140(k)发信号通知需要由数据中心120管理的所有多播流所需的带宽。这向ToR交换机140(k)指示可以潜在地放置在其上的多播树中的每一者的带宽需求。由于向所有ToR交换机140(k)通知了带宽需求,因此,当在IGMP/PIM处理期间被要求传送多播树的大象流时,每个ToR交换机140(k)都可以独立做出自身的调度决策。
在215,系统管理器205承载需要放置的工作负载解决方案的描述,包括需要进行调度的所有虚拟化的应用程序,需要连接的实体设备,以及在各种功能元件之间可用的多播树。此描述可以与(例如,多云)调度器集成,或者可以作为独立的功能元件运行。在220,工作负载放置逻辑170可以生成虚拟应用程序的一个或多个候选实例,同时考虑到主机150(j)的计算、存储器和存储容量(例如,在一个或多个云系统中),以调度虚拟应用程序。调度此类工作负载是具有挑战性的问题。
在225,工作负载放置逻辑170向所有发送代理180(i)(可以是所有代理180(i)的子集)发信号,以根据先前生成的候选实例为工作负载建立并发起多播树。工作负载放置逻辑170可以包括对于测试多播流唯一的端口(例如,预定的用户数据报协议(UDP)端口或与多播树相关联的空闲UDP端口)的指示。在此示例中,工作负载放置逻辑170已经确定ToR交换机140(k)和主机150(j)之间存在带宽,并且因此成功创建用于测试多播流的发送器。
在230,所有发送代理180(i)开始向相应的ToR交换机140(k)传输/发送测试多播流。由于发送代理180(i)是在任何接收代理180(i)(也可以是所有代理180(i)的子集)之前配置的,因此,如果不存在转发信息,则ToR交换机140(k)会暂时丢弃所有多播流量。
在235,工作负载放置逻辑170指示接收代理180(i)加入相应的多播树。在240,这使接收代理180(i)针对所选择的多播树发送PIM加入控制消息。在245,ToR交换机140(k)根据操作210分配一个或多个带宽预留,以便将多播树拼接在一起。
操作250描绘了接收代理180(i)开始接收在230发送的测试分组的情况。在这种情况下,在255,接收代理180(i)可以通知工作负载放置逻辑170测试多播树成功拼接/加入,从而完成部分放置。操作260描绘了发送代理180(i)从ToR交换机140(k)接收到等价多径(ECMP)重定向消息的情况。这提示发送代理180(i)搜索另一个接口,在该接口处接收新的PIM(IGMP)加入消息,从而在240重新开始调用流。图2的示例中使用了PIM,因为如果所选择的接口不能支持测试大象多播流,则可以使用ECMP重定向来选择备用接口(操作260)。然而,应当理解,也可以/替代地使用其他标准/协议,例如IGMP。
当请求发送代理180(i)生成多播树时,代理180(i)可以通过将占位符(placeholder)/合成的分组发布到多播树来合成多播流量。这解决了IGMP和PIM协议中没有确认的问题,因为加入消息未得到确认。具体而言,可以将接收代理180(i)对这些占位符分组的接收解释为隐式确认可以按指定创建多播树。为了确定合成流量不会干扰应用程序流量,发送代理180(i)可以将私有UDP端口用于所选择的多播地址,以使网络本身在网络拼接过程中忽略UDP端口编号。
在一个示例中,在255发送成功的指示之后,接收代理180(i)可以变为新的发送代理180(i),其向附加的接收代理180(i)发送测试分组。然后,附加的接收代理180(i)可以变成另外的新的发送代理180(i),其将测试分组发送到另外的附加的接收代理。此过程可以重复进行,直到所有代理180(i)都已经成功加入多播流为止。
在265,如果不存在更多接口,或者如果发生了超时(例如,接收代理180(i)接收测试分组的设置时间长度已到期),则接收代理180(i)可以向工作负载放置逻辑170发送失败指示符。可以根据具体情况对超时进行配置,使其特定于所讨论的专业媒体网络。当工作负载放置逻辑170接收到失败响应时,工作负载放置逻辑170可以决定在其他地方调度一部分工作负载。当这种情况发生时,工作负载放置逻辑170可以通过针对更新的放置来重复从操作225开始的程序来重新开始工作负载放置测试。
操作270描绘了解决方案已经被完全且成功地放置的情况。在这种情况下,工作负载放置逻辑170通知系统管理器205所有多播树已成功建立。这使得在275,系统管理器205根据虚拟应用程序的候选实例来对数据中心主机150(j)上的虚拟应用程序进行实例化。系统管理器205部署虚拟应用程序,并利用相应的设置来配置虚拟应用程序和实体设备中的每一者。应用程序和设备启动并加入相应的多播树,以建立端到端多播解决方案。
在280,所有应用程序和设备都被配置和运行,并且主机150(j)向系统管理器205发送消息集合,以指示已成功对所部署的解决方案进行实例化。在285,系统管理器205向工作负载放置逻辑170指示发送代理180(i)应停止测试消息传递。在290,工作负载放置逻辑170向所有发送代理180(i)发送消息,以逐步结束发布测试分组并结束对测试多播树的参与。在替代实施例中,操作285和290可以在操作275之前或期间发生。在295,如果没有工作负载放置解决方案,则工作负载放置逻辑170可以完全重新计算解决方案或将此事件通知系统管理器205。
在图1和图2的示例中,代理在可以部署虚拟化的应用程序的数据中心的每个主机上运行。代理也可以部署在实体设备(例如,用于产生或消耗大象多播流的以太网端口)上。但是,在某些情况下,某些主机可能无法容纳代理(例如,实体设备,不受支持的虚拟机管理程序,在计算上过于繁琐等)。在这些情况下,可以将代理部署在一个或多个ToR交换机或带内设备上,以充当主机的代理服务器。例如,带内设备可以托管自身不能执行代理职责的专用设备(例如,SDI网关)的代理。将理解的是,根据特定的使用情况,可以将代理部署在主机和各种代理服务器(例如,ToR交换机和/或带内设备)这两者上。
图3示出了用于调度多播流的系统300。系统300与系统100相似,但是不是在主机150(1)-150(4)上部署了代理180(1)-180(4),而是分别在ToR交换机140(1)和140(2)上部署代理180(5)和180(6)。如果代理180(5)的链路容量超过了ToR交换机140(1)中所有其他端口的总容量且如果链路可以用作ToR交换机140(1)中所有其他端口的简易方式/代理服务器,则可以为整个机架130(1)(此处为主机150(1)和150(2))维护例如代理180(5)。假设可以更改ToR交换机的实现方式,ToR交换机140(1)代表机架130(1)中的所有主机(即150(1)和150(2))。
应当理解,系统300中的ToR设计仅是示例,并且可以使用其他数据中心设计。例如,一种替代方案是行尾(EoR)设计,其中EoR交换机管理/监视多个机架,每个机架容置多个主机。这与ToR设计不同,在ToR设计中,ToR交换机仅管理/监视单个机架中的主机。在此示例中,可以在EoR交换机上部署代理,以充当EoR交换机所连接的机架中主机的代理服务器。
图4示出了用于调度多播流的系统400。系统400与系统100相似,但不是在主机150(1)-150(4)上部署了代理180(1)-180(4),而是分别在带内设备160(1)-160(4)上部署了代理180(7)-180(10)。在另一示例中,可以将代理部署在单个主机的相应带内设备上,因为可能需要多个带内设备来代理主机。例如,如果主机150(1)除了带内设备160(1)之外还具有另一带内设备,则每个带内设备可以包括相应的代理。这可以通过任何合适的带间设备控制协议(例如,SFP间设备控制协议)来实现。
图5是被配置为实现本文提出的技术的工作负载放置服务器110的简化框图。在此示例中,工作负载放置服务器110包括存储用于工作负载放置逻辑170的指令的存储器510、一个或多个处理器520、以及网络接口530。一个或多个处理器520被配置为执行存储在存储器510中的用于工作负载放置逻辑170的指令。当由一个或多个处理器520执行时,工作负载放置逻辑170使工作负载放置服务器110执行本文所述的操作。网络接口530是网络接口卡(或这种设备的多个实例)或其他网络接口设备,其代表工作负载放置服务器110进行网络通信,以如上所述发送和接收消息。
存储器510可以是只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质设备、光存储介质设备、闪存设备、电气的、光学的或其他物理/有形存储器存储设备。因此,总的来说,存储器510可以是用包括计算机可执行指令的软件编码的一种或多种有形(非暂时性)计算机可读存储介质(例如,存储器设备),并且当软件被执行(由处理器520执行)时,它是可操作的,以执行本文所述的操作。在一些示例中,存储器可以是一种或多种(暂时性)计算机可读介质,例如电缆或无线信号。
图6是用于在数据中心中调度多播流的方法600的流程图。方法600可以由服务器(例如,工作负载放置服务器110)执行。在610,服务器在数据中心中的多个主机之间生成虚拟应用程序的候选实例,以支持多播流。在620,服务器向与多个主机中的第一组主机相对应的第一组代理提供启动测试多播流的命令。在630,服务器向与多个主机中的第二组主机相对应的第二组代理提供加入测试多播流的命令。在640,服务器从第二组代理获取指示第二组代理是否已接收到测试多播流的消息。在650,如果消息指示第二组代理已接收到测试多播流,则服务器使虚拟应用程序根据虚拟应用程序的候选实例进行实例化。
本文描述了用于将虚拟化的应用程序作为专业媒体解决方案的一部分放置在数据中心中的技术,以满足专业媒体行业中大象多播流的无阻塞、无损失要求。这些虚拟化的功能的工作负载放置由托管的网络代理协助,以测试放置决策。代理对虚拟应用程序和实体设备进行代理服务,并且在放置过程期间模拟大象多播树的建立。使用基于代理的已放置工作负载的网络测试,能够通过工作负载放置功能/逻辑来测试用于部署虚拟化的(或部分虚拟化的)专业媒体解决方案的网络容量的可用性,而无需实际创建和配置组成解决方案的虚拟化的应用程序和实体设备。代理还允许集成工作负载放置功能,以便与分散式专业媒体网络进行多播大象流调度。此外,即使不能完全实现基于代理的部署,也可以例如通过工作负载放置功能本身来手动地和静态地配置ToR/叶交换机,以建立多播树。
选择适合虚拟化的专业媒体应用程序的计算主机,当将其部署为专业媒体解决方案的一部分时,可以提高相关联的大象多播流的可调度性。所选择的数据中心主机的ToR(或EoR)交换机、虚拟交换机、链路等上的总负载可以确定给定配置中的那些主机是否可以服务大象多播流。基于网络的代理可以协助专门针对虚拟化的专业媒体应用程序的数据中心放置决策,并在一般情况下完成专业媒体解决方案。代理可以合成与部署后专业媒体解决方案所使用的测试多播树相似的测试多播树。因此,提供了有效的工作负载放置功能来代替集中式SDN控制器。然而,将理解的是,SDN控制器在采用本文描述的技术的系统中可以适合于其他目的。
在一种形式中,提供了一种方法。所述方法包括:在数据中心中的多个主机之间生成虚拟应用程序的候选实例,以支持多播流;向与多个主机中的第一组主机相对应的第一组代理提供启动测试多播流的命令;向与多个主机中的第二组主机相对应的第二组代理提供加入测试多播流的命令;从第二组代理获取指示第二组代理是否已接收到测试多播流的消息;以及如果消息指示第二组代理已接收到测试多播流,则使虚拟应用程序根据虚拟应用程序的候选实例进行实例化。
在一个示例中,所述方法还包括:如果消息指示第二组代理未接收到测试多播流,则生成虚拟应用程序的另一候选实例,以支持多播流。在另一个示例中,所述方法还包括向第一组代理提供停止测试多播流的命令。第一组代理和第二组代理中的至少一个代理可以部署在多个主机上,部署在容置多个主机中的至少一个主机的机架的架顶式交换机上,部署在容置多个主机中的至少一个主机的多个机架的行末交换机上,和/或部署在多个主机中的一个或多个主机的一个或多个带内设备上。在一个特定示例中,第一组代理或第二组代理中的多个代理被部署在一个或多个主机的单个主机的相应带内设备上。第一组代理可以经由对测试多播流唯一的端口来启动测试多播流。多播流可以包括视频或音频数据。
在另一形式中,提供了一种装置。所述装置包括:网络接口,被配置为发送和/或接收消息;以及耦合到网络接口的一个或多个处理器,其中,一个或多个处理器被配置为:在数据中心中的多个主机之间生成虚拟应用程序的候选实例,以支持多播流;向与多个主机中的第一组主机相对应的第一组代理提供启动测试多播流的命令;向与多个主机中的第二组主机相对应的第二组代理提供加入测试多播流的命令;从第二组代理获取指示第二组代理是否已接收到测试多播流的消息;以及如果消息指示第二组代理已接收到测试多播流,则使虚拟应用程序根据虚拟应用程序的候选实例进行实例化。
在另一形式中,提供了一种或多种非暂时性计算机可读存储介质。非暂时性计算机可读存储介质利用指令进行编码,这些指令在由处理器执行时使处理器执行以下操作:在数据中心中的多个主机之间生成虚拟应用程序的候选实例,以支持多播流;向与多个主机中的第一组主机相对应的第一组代理提供启动测试多播流的命令;向与多个主机中的第二组主机相对应的第二组代理提供加入测试多播流的命令;从第二组代理获取指示第二组代理是否已接收到测试多播流的消息;以及如果消息指示第二组代理已接收到测试多播流,则使虚拟应用程序根据虚拟应用程序的候选实例进行实例化。
以上描述仅应作为示例。尽管本文中以一个或多个特定示例的方式对技术进行了说明和描述,但是并不限于所示出的细节,这是因为在权利要求书的等效内容的保护范围和范围内可以进行各种修改和结构变化。
Claims (22)
1.一种用于调度多播流的方法,所述方法包括:
在数据中心中的多个主机之间生成虚拟应用程序的候选实例,以支持多播流;
向与所述多个主机中的第一组主机相对应的第一组代理提供启动测试多播流的命令;
向与所述多个主机中的第二组主机相对应的第二组代理提供加入所述测试多播流的命令;
从所述第二组代理获取指示所述第二组代理是否已接收到所述测试多播流的消息;以及
如果所述消息指示所述第二组代理已接收到所述测试多播流,则使所述虚拟应用程序根据所述虚拟应用程序的候选实例进行实例化。
2.根据权利要求1所述的方法,其中,所述第一组代理和所述第二组代理中的至少一个代理被部署在所述多个主机上。
3.根据权利要求1至2中任一项所述的方法,其中,所述第一组代理和所述第二组代理中的至少一个代理被部署在容置所述多个主机中的至少一个主机的机架的架顶式交换机上。
4.根据权利要求1至2中任一项所述的方法,其中,所述第一组代理和所述第二组代理中的至少一个代理被部署在容置所述多个主机中的至少一个主机的多个机架的行末交换机上。
5.根据权利要求1至2中任一项所述的方法,其中,所述第一组代理和所述第二组代理中的至少一个代理被部署在所述多个主机中的一个或多个主机的一个或多个带内设备上。
6.根据权利要求5所述的方法,其中,所述第一组代理或所述第二组代理中的多个代理被部署在所述一个或多个主机中的单个主机的相应带内设备上。
7.根据权利要求1至2中任一项所述的方法,其中,所述第一组代理经由对所述测试多播流而言唯一的端口来启动所述测试多播流。
8.根据权利要求1至2中任一项所述的方法,还包括:
如果所述消息指示所述第二组代理未接收到所述测试多播流,则生成虚拟应用程序的另一候选实例,以支持所述多播流。
9.根据权利要求1至2中任一项所述的方法,还包括:
向所述第一组代理提供停止所述测试多播流的命令。
10.根据权利要求1至2中任一项所述的方法,其中,所述多播流包括视频或音频数据。
11.一种用于调度多播流的装置,所述装置包括:
网络接口,被配置为发送和/或接收消息;以及
一个或多个处理器,耦合到所述网络接口,其中,所述一个或多个处理器被配置为:
在数据中心中的多个主机之间生成虚拟应用程序的候选实例,以支持多播流;
向与所述多个主机中的第一组主机相对应的第一组代理提供启动测试多播流的命令;
向与所述多个主机中的第二组主机相对应的第二组代理提供加入所述测试多播流的命令;
从所述第二组代理获取指示所述第二组代理是否已接收到所述测试多播流的消息;以及
如果所述消息指示所述第二组代理已接收到所述测试多播流,则使所述虚拟应用程序根据所述虚拟应用程序的候选实例进行实例化。
12.根据权利要求11所述的装置,其中,所述第一组代理和所述第二组代理中的至少一个代理被部署在所述多个主机上。
13.根据权利要求11至12中任一项所述的装置,其中,所述第一组代理和所述第二组代理中的至少一个代理被部署在容置所述多个主机中的至少一个主机的机架的架顶式交换机上。
14.根据权利要求11至12中任一项所述的装置,其中,所述第一组代理和所述第二组代理中的至少一个代理被部署在容置所述多个主机中的至少一个主机的多个机架的行末交换机上。
15.根据权利要求11至12中任一项所述的装置,其中,所述第一组代理和所述第二组代理中的至少一个代理被部署在所述多个主机中的一个或多个主机的一个或多个带内设备上。
16.根据权利要求11至12中任一项所述的装置,其中,所述处理器被配置为执行根据权利要求6至10中任一项所述的方法。
17.一种计算机可读存储介质,编码有指令,这些指令在由处理器执行时,使所述处理器执行以下操作:
在数据中心中的多个主机之间生成虚拟应用程序的候选实例,以支持多播流;
向与所述多个主机中的第一组主机相对应的第一组代理提供启动测试多播流的命令;
向与所述多个主机中的第二组主机相对应的第二组代理提供加入所述测试多播流的命令;
从所述第二组代理获取指示所述第二组代理是否已接收到所述测试多播流的消息;以及
如果所述消息指示所述第二组代理已接收到所述测试多播流,则使所述虚拟应用程序根据所述虚拟应用程序的候选实例进行实例化。
18.根据权利要求17所述的计算机可读存储介质,其中,所述第一组代理和所述第二组代理中的至少一个代理被部署在所述多个主机上。
19.根据权利要求17至18中任一项所述的计算机可读存储介质,其中,所述第一组代理和所述第二组代理中的至少一个代理被部署在容置所述多个主机中的至少一个主机的机架的架顶式交换机上。
20.根据权利要求17至18中任一项所述的计算机可读存储介质,其中,所述第一组代理和所述第二组代理中的至少一个代理被部署在容置所述多个主机中的至少一个主机的多个机架的行末交换机上。
21.根据权利要求17至18中任一项所述的计算机可读存储介质,其中,所述第一组代理和所述第二组代理中的至少一个代理被部署在所述多个主机中的一个或多个主机的一个或多个带内设备上。
22.根据权利要求17至18中任一项所述的计算机可读存储介质,其中,
所述指令使所述处理器执行根据权利要求6至10中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/149,756 | 2018-10-02 | ||
US16/149,756 US11012251B2 (en) | 2018-10-02 | 2018-10-02 | Multicast flow scheduling in a data center |
PCT/US2019/052843 WO2020072244A1 (en) | 2018-10-02 | 2019-09-25 | Multicast flow scheduling in a data center |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112805962A CN112805962A (zh) | 2021-05-14 |
CN112805962B true CN112805962B (zh) | 2023-04-14 |
Family
ID=68208340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980065336.7A Active CN112805962B (zh) | 2018-10-02 | 2019-09-25 | 数据中心中的多播流调度 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11012251B2 (zh) |
EP (1) | EP3861677B1 (zh) |
CN (1) | CN112805962B (zh) |
WO (1) | WO2020072244A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489652A (zh) * | 2021-07-08 | 2021-10-08 | 恒安嘉新(北京)科技股份公司 | 一种数据流放大方法、装置、汇聚分流器以及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104780066A (zh) * | 2012-06-06 | 2015-07-15 | 瞻博网络公司 | 针对虚拟网络分组流的物理路径确定 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6515967B1 (en) | 1998-06-30 | 2003-02-04 | Cisco Technology, Inc. | Method and apparatus for detecting a fault in a multicast routing infrastructure |
US6990616B1 (en) | 2000-04-24 | 2006-01-24 | Attune Networks Ltd. | Analysis of network performance |
US7995576B2 (en) | 2006-07-31 | 2011-08-09 | Cisco Technology, Inc. | Method and system for reducing latency in a multi-channel multicast streaming environment in content-delivery networks |
DE102007007344A1 (de) | 2007-02-14 | 2008-08-28 | Siemens Ag | Verfahren zum Verteilen zumindest eines Datensegments mindestens eines Datenstroms an eine Gruppe von mehreren Nutzern in einem Netzwerk, sowie ein Nutzer und ein System |
TWI351849B (en) | 2007-12-31 | 2011-11-01 | Ind Tech Res Inst | Apparatus and method for transmitting streaming se |
CN102195788B (zh) | 2011-05-25 | 2013-07-10 | 中国联合网络通信集团有限公司 | 应用层组播系统及流媒体数据处理方法 |
US9479427B2 (en) | 2012-12-21 | 2016-10-25 | Dell Products L.P. | System and methods for load placement in data centers |
US20140237118A1 (en) | 2013-02-19 | 2014-08-21 | Broadcom Corporation | Application Aware Elephant Flow Management |
US9313133B2 (en) | 2013-09-10 | 2016-04-12 | Robin Systems, Inc. | Anticipatory warm-up of cluster resources for jobs processed on multiple cluster nodes |
US10146567B2 (en) * | 2014-11-20 | 2018-12-04 | Red Hat Israel, Ltd. | Optimizing virtual machine allocation to cluster hosts |
-
2018
- 2018-10-02 US US16/149,756 patent/US11012251B2/en active Active
-
2019
- 2019-09-25 CN CN201980065336.7A patent/CN112805962B/zh active Active
- 2019-09-25 EP EP19786417.6A patent/EP3861677B1/en active Active
- 2019-09-25 WO PCT/US2019/052843 patent/WO2020072244A1/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104780066A (zh) * | 2012-06-06 | 2015-07-15 | 瞻博网络公司 | 针对虚拟网络分组流的物理路径确定 |
Also Published As
Publication number | Publication date |
---|---|
EP3861677B1 (en) | 2024-01-24 |
CN112805962A (zh) | 2021-05-14 |
WO2020072244A1 (en) | 2020-04-09 |
US11012251B2 (en) | 2021-05-18 |
EP3861677A1 (en) | 2021-08-11 |
US20200106631A1 (en) | 2020-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3955111A1 (en) | System and method for scaling application containers in cloud environments | |
KR100948317B1 (ko) | 클라이언트 사이의 세션을 위한 QoS 계약의 설정 능력을 제공하는 방법 및 시스템 | |
CN110768817B (zh) | 视联网终端的升级方法和装置 | |
CN108810581B (zh) | 一种软件菜单的更新方法和装置 | |
US20150381418A1 (en) | Remote Orchestration of Virtual Machine Updates | |
CN111200521B (zh) | 视联网业务恢复方法、服务器、电子设备及存储介质 | |
CN109379254B (zh) | 一种基于视频会议的网络连接的检测方法和系统 | |
CN109194902B (zh) | 一种分级会议调度方法和系统 | |
CN109379209B (zh) | 一种视联网存储服务的升级方法和装置 | |
CN109150665A (zh) | 一种带宽测试方法和装置 | |
CN112673605B (zh) | 用于动态多端点生成的方法、装置和计算机程序 | |
CN109862307B (zh) | 一种视频会议发起的方法和装置 | |
CN112805962B (zh) | 数据中心中的多播流调度 | |
US8806547B2 (en) | Virtual multimedia matrix over packet switched network | |
Carella et al. | Cross-layer service to network orchestration | |
CN110519549B (zh) | 一种会议终端列表获取方法和系统 | |
CN115486041B (zh) | 跨不同网络进行通信的数据报文格式 | |
CN110011891A (zh) | 一种跨网络的业务处理方法和系统 | |
CN110224853B (zh) | 控制系统 | |
CN116458204A (zh) | 传输网络切片控制设备及用于基于时间敏感网络的传输网络的控制面实体 | |
Masuda et al. | Application-network collaborative bandwidth on-demand for uncompressed HDTV transmission in IP-optical networks | |
US10536501B2 (en) | Automated compression of data | |
US11546398B1 (en) | Real-time transport (RTC) with low latency and high scalability | |
CN110120938B (zh) | 一种协转服务器的控制方法和装置 | |
Brightwell et al. | Media Gateways in Hybrid Wired and Wireless Media Production |
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 |