CN116382849A - 基于云的音频/视频操作系统 - Google Patents

基于云的音频/视频操作系统 Download PDF

Info

Publication number
CN116382849A
CN116382849A CN202310358157.0A CN202310358157A CN116382849A CN 116382849 A CN116382849 A CN 116382849A CN 202310358157 A CN202310358157 A CN 202310358157A CN 116382849 A CN116382849 A CN 116382849A
Authority
CN
China
Prior art keywords
avc
virtual machine
group
resource allocation
signal
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.)
Pending
Application number
CN202310358157.0A
Other languages
English (en)
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.)
QSC LLC
Original Assignee
QSC LLC
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 QSC LLC filed Critical QSC LLC
Publication of CN116382849A publication Critical patent/CN116382849A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

公开了用于建立和管理多个虚拟机的技术,每个虚拟机具有音频,视频和控制(AVC)操作系统(OS)。该技术还可以建立和管理基于云的AVC OS。实施此技术的服务器可以执行实时AVC处理,以及软的和非实时处理,并且可以承载多个,独立的,虚拟AVC OS。每个AVC OS可以执行AVC设置的处理。AVC OS的每个可以由在服务器上运行的管理程序控制的相应虚拟机操作。基于云的AVC OS可以对包含多个AVC装置的相应远程AVC设置执行处理。AVC路由系统可能导致来自特定AVC设置的AVC信号到达相应的云AVC OS,反之可能导致来自AVC OS的信号到达正确的目的地装置。

Description

基于云的音频/视频操作系统
本申请是申请号为201880086846.8的分案申请,该母案的申请日为2018年12月21日,发明名称为基于云的音频/视频操作系统。
相关申请的交叉引用
本专利申请要求2018年1月16日提交的标题为″用于多种音频/视频操作系统的服务器支持″的美国临时专利申请号62/617,795和2018年1月30日提交的标题为″基于云的音频/视频操作系统″的美国临时专利申请号62/624,074的权益和优先权,其每个通过引用并入本文。
技术领域
本公开针对音频,视频和控制系统的虚拟化和云实现。
背景技术
常规的计算机管理程序(hypervisor)系统提供了一个或多个软件程序,该软件程序管理单个计算机系统上的多个操作系统(或同一操作系统的多个实例)。管理程序管理系统的处理器,存储器,和其他资源,以分配每个操作系统所需的资源。常规管理程序系统在不同于常规音频,视频和控制(AVC)系统的服务器或平台上运行。在多个位置(例如,会议室,会议中心,会议中心,教室,娱乐中心,多房间建筑物,其他结构,等)中提供音频,视频和控制硬件的环境中,可以为每个房间或房间的选择提供单独的AVC系统。每个AVC系统都在与管理程序系统分开的其自己的平台上运行,因此为每个房间或所选位置提供单独的AVC系统可能会很昂贵,并且多个系统的集成可能会很费力且复杂。或者,可以使用一个AVC系统在多个位置控制音频,视频,和控制硬件。但是,当需要对音频,视频,或控制硬件进行更改或调整时,与AVC系统相关的所有功能都将脱机,直到调整完成。这样的情况可能是非常破坏性的,让人分心的(distracting)并且昂贵的。
传统的AVC系统管理音频和视频处理的多个方面,例如回声降低和电平控制。该处理通常由本地部署的(on-premise)设备执行,无论是本地连接到AVC处理设备还是通过组织运营的网络连接。这种预置型设备的购置和维护成本可能很高,并且可能需要训练有素的人员进行管理,例如,由视音频或IT部门进行管理。例如,组织通常会拥有一个″AV室″,专门用于AVC处理设备的容纳(housing)和管理,以及操作AVC设备的AV技术人员。
附图的简要说明
图1是示出了可以在其上操作本技术的一些实现方式的装置的概述的框图。
图2是示出了一些实现方式可以在其中操作的环境的概述的框图。
图3是示出了在一些实现方式中可以在AVC系统中使用的采用所公开的技术的组件的框图。
图4是示出了在一些实现方式中用于在虚拟机中建立多个AVC访问者OS并提供AVC信号路由至虚拟机的过程的流程图。
图5是示出在一些实现方式中用于确定用于AVC设置的资源分配的过程的流程图。
图6A是示出具有管理程序系统的示例环境的概念图,该管理程序系统管理多个虚拟机,每个虚拟机具有AVC OS。
图6B是示出具有多个虚拟机的示例环境的概念图,每个虚拟机具有AVC OS和一个或多个虚拟NIC。
图7是示出在一些实现方式中使用的过程的流程图,该过程用于在云环境中建立AVC OS并为AVC OS提供AVC信号路由。
图8是示出具有在云环境中操作的AVC OS的示例环境的概念图。
通过结合附图参考下面的具体实施方式,可以更好地理解这里介绍的技术,在附图中,相同的附图标记表示相同或功能相似的元件。
具体实施方式
本技术的一些示例提供一种管理程序操作系统,该管理程序操作系统被配置为建立和管理多个虚拟机,每个虚拟机具有访问者音频,视频和控制操作系统。可以配置在虚拟机(VM)上运行的AVC应用中执行实时音频,视频,和控制处理,以及软的和非实时处理的能力,以允许单个服务器容纳多个,独立的,虚拟AVC操作系统(OS),并由IT部门作为标准服务器进行管理。每个AVC OS都可以执行AVC系统的处理,并且可以独立于其他AVC OS启动,停止,和更新。除了执行实时音频和视频信号处理外,AVC OS还可以使用由运行在服务器上的管理程序提供的切换,通过服务器的硬件接口(例如,网络和USB)来获取和同步实时音频和视频流。为了确保无故障的实时操作,可以将虚拟机上的每个AVC OS排他地分配给一个或多个CPU核,核数由分配给该虚拟机的AVC系统设计的处理要求确定。
本技术的一些示例提供了一个或多个基于云的AVC OS,每个被配置为执行用于对应的AVC设置的处理。AVC设置可以包括一组一个或多个AVC装置,其中每个设置可以与其他AVC设置分开管理。例如,AVC设置可以包括位于某一楼层上,建筑物的某区域,一组会议室,一个或多个事件空间等的所有AVC设备。
AVC路由系统可以使来自特定AVC设置的AVC信号到达相应的云AVC OS,反之可以使来自云AVC OS的信号到达正确的目的地装置。在一些实现方式中,AVC路由系统可以包括基于与AVC信号相关联的网络地址执行AVC信号的路由的网络装置。在一些实现方式中,AVC路由系统可以使用AVC装置或设置到云AVC OS的映射,以确定将AVC信号路由到何处。
AVC系统,无论是在虚拟机下操作还是作为计算装置的主要操作系统,可以被配置为管理和控制音频特征,视频特征,和控制特征的功能。例如,可以将AVC系统配置为与联网的麦克风,相机,放大器,和/或控制器一起使用。AVC系统还可以包括多个相关特征,例如回声消除,音频音调控制和滤波,音频动态范围控制,音频/视频混合和路由,音频/视频延迟同步,公共地址寻呼,视频对象检测,验证和识别,多媒体播放器和流媒体功能,用户控制界面,调度,第三方控制,IP语音(VoIP)和会话初始协议(SIP)功能,脚本平台功能,音频和视频桥接,公共地址功能,其他音频和/或视频输出功能等。AVC系统的一个例子被包含在QSC,LLC的Q-Sys技术中。
在本公开中,操作系统(OS)可以是管理计算机硬件和软件资源并为计算机程序提供通用服务的系统软件。操作系统可以被配置为调度任务以有效使用系统,并且还可以包括用于对处理器时间,大容量存储,打印,和其他资源进行成本分配的会计软件。操作系统还可以充当程序和计算机硬件之间的中介,以控制硬件功能,例如输入和输出以及存储器分配。
下面参考附图更详细地讨论几种实现方式。图1是示出了可以在其上操作所公开技术的一些实现方式的装置的概述的框图。装置可以包括具有管理程序OS 162的装置100的硬件组件,该管理程序OS 162管理多个虚拟机,每个具有访问者OS 164。虚拟机可以是用于创建允许用户同时在一台计算机上运行多个操作系统的虚拟环境的一个或多个计算机应用。装置100可以包括一个或多个输入装置120,其向CPU(处理器)110提供输入,并向其通知动作。这些动作可以由硬件控制器来中介,该硬件控制器解释从输入装置接收的信号,并使用通信协议将该信息传达给CPU 110。输入装置120包括例如鼠标,键盘,触摸屏,红外传感器,触摸板,可穿戴输入装置,基于相机或图像的输入装置,麦克风,或其他用户输入装置。
CPU 110可以是装置中的单个处理单元或多个处理单元,或分布在多个装置上。例如,可以使用诸如PCI总线或SCSI总线之类的总线将CPU 110耦接至其他硬件装置。CPU 110可以与诸如显示器130之类的装置的硬件控制器通信。显示器130可以用于显示文本和图形。在一些实现方式中,显示器130向用户提供图形和文本视觉反馈。在一些实现方式中,诸如当输入装置是触摸屏或配备有眼睛方向监视系统时,显示器130包括输入装置作为显示器的一部分。在一些实现方式中,显示器与输入装置分开。显示装置的示例是:LCD显示屏,LED显示屏,投影,全息,或增强现实显示器(例如平视显示装置或头戴式装置)等。其他I/O装置140也可以耦接到处理器,例如网卡,视频卡,音频卡,USB,火线或其他外部装置,相机,打印机,扬声器,CD-ROM驱动器,DVD驱动器,磁盘驱动器,或蓝光装置。
在一些实现方式中,装置100还包括能够与网络节点无线或有线通信的通信装置。通信装置可以使用例如TCP/IP协议,Q-LAN协议,等通过网络与另一装置或服务器通信。装置100可以利用通信装置在多个网络装置之间分配操作。
CPU 110可以访问在一个装置中或分布在多个装置中的存储器150。存储器包括用于易失性和非易失性存储的多种硬件装置中的一个或多个,并且可以包括只读和可写存储器。例如,存储器可以包括随机存取存储器(RAM),多种缓存,CPU寄存器,只读存储器(ROM),和可写的非易失性存储器,例如闪存,硬盘驱动器,软盘,CD,DVD,磁存储装置,磁带驱动器,装置缓冲,等。存储器不是与基础硬件分离的传播信号;因此,存储器是非暂时性的。存储器150可以包括存储程序和软件的程序存储器160,例如管理程序OS 162,AVC OS 164,以及其他应用程序166。存储器150还可以包括数据存储器170,其可以包括要被应用操作的数据,配置数据,设置,选项或优选项等,这些数据可以被提供给程序存储器160或装置100的任何元件。
一些实现方式可以与许多其他计算系统环境或配置一起操作。可能适合与该技术一起使用的计算系统,环境,和/或配置的例子包括但不限于个人计算机,AVC I/O系统,联网的AVC外围设备,视频会议控制台,服务器计算机,手持式或膝上型装置,蜂窝电话,可穿戴电子产品,游戏机,平板装置,多处理器系统,基于微处理器的系统,机顶盒,可编程消费电子产品,网络PC,小型计算机,大型计算机,包括上述任何系统或装置的分布式计算环境,等。
图2是说明所公开技术的一些实现方式可在其中操作的环境200的概括的框图。环境200可以包括一个或多个客户端计算装置205A-H,其示例可以包括装置100。在所示的示例中,装置205A是无线智能电话或平板电脑,装置205B是台式计算机,装置205C是计算机系统,装置205D是无线笔记本电脑,装置205E是音频系统,装置205F是视频系统,装置205G是麦克风系统,和装置205H是联网的相机系统。这些仅仅是一些装置的示例,并且其他示例可以包括其他计算装置。例如,装置205C可以是具有实现能够创建和管理多个AVC实时操作系统(RTOS)的OS的服务器,该AVC OS为外围装置(无论是本地的还是联网的)及其之间提供多种音频和视频处理以及连接性。这些处理和连接性特征可以由装置205C的主机AVC OS提供,同时支持一个或多个虚拟机。音频和视频处理可以包括增益和电平调整,回声减少或消除,音频音调控制和滤波,音频动态范围控制,音频/视频混合和路由,音频/视频延迟同步,公共地址寻呼,视频对象检测,验证和识别,混合,编码/解码,分辨率调整,裁剪,延迟控制,VoIP/SIP接口控制,输入控制,等。客户端计算装置205可以使用通过网络230到一台或多台远程计算机(例如服务器计算装置)的逻辑连接210在联网的环境中运行。在一些实现方式中,在环境200中可以包括附加的未示出的音频和视频处理和路由组件,例如:本地地连接到装置205或I/O卡的AVC设备,该I/O卡为AVC设备提供联网的连接点,在Q-LAN协议上操作的交换机等。
在一些实现方式中,服务器210可以是边缘服务器,其接收客户端请求并通过诸如服务器220A-C之类的其他服务器协调这些请求的实现。服务器计算装置210和220可以包括诸如装置100之类的计算系统。尽管每个服务器计算装置210和220在逻辑上被显示为单个服务器,但是服务器计算装置可以每个是包含位于相同物理位置或地理位置不同的物理位置的多个计算装置的分布式计算环境。在一些实现方式中,每个服务器220对应于一组服务器。
客户端计算装置205以及服务器计算装置210和220可以各自充当其他服务器/客户端装置的服务器或客户端。服务器210可以连接到数据库215。每个服务器220A-C可以各连接到对应的数据库225A-C。如上所述,每个服务器220可以对应于一组服务器,并且这些服务器中的每个可以共享数据库或者可以具有它们自己的数据库。数据库215和225可以仓储(例如,存储)信息。尽管数据库215和225在逻辑上显示为单个单元,但是数据库215和225每个可以是包含多个计算装置的分布式计算环境,可以位于其对应的服务器内,或者可以位于相同或地理位置不同的物理位置。
网络230可以是局域网(LAN)或广域网(WAN),但是也可以是其他有线或无线网络。在一些实现方式中,网络230的部分可以是实现Q-LAN协议的LAN或WAN,Q-LAN协议是来自QSC音频产品的Q-Sys音频信号处理平台的IP网络上的音频技术。网络230的部分可以是因特网或一些其他公共或专用网络。客户端计算装置205可以通过网络接口,例如通过有线或无线通信,连接到网络230。虽然服务器210和服务器220之间的连接被示为单独的连接,但是这些连接可以是任何种类的局域网,广域网,有线,或无线网络,包括网络230或单独的公共或专用网络。
图3是示出了组件300的框图,在一些实现方式中,组件300可以在采用所公开技术的系统中使用。组件300包括硬件302,通用软件320,和专用组件340。如上所述,实现所公开技术的系统可以使用多种硬件,包括处理单元304(例如,CPU,GPU,APU等),工作存储器306,储存存储器308(本地储存器或作为到远程储存器的接口,例如储存器215或225),以及输入和输出装置310。在多种实现方式中,存储器308可以是以下一项或多项:本地装置,到远程储存装置的接口,或其组合。例如,储存存储器308可以是可通过系统总线访问的一组一个或多个硬盘驱动器(例如,独立磁盘冗余阵列(RAID)),或者可以是云存储提供商或可通过一个或多个通信网络可访问的其他网络储存器(例如,网络可访问储存(NAS)装置,例如储存器215或通过另一个服务器220提供的储存器)。组件300可以在诸如客户端计算装置205的客户端计算装置中或在诸如服务器计算装置210或220的服务器计算装置中实现。
通用软件320可以包括多种应用,包括管理程序操作系统322,本地程序324,和基本输入输出系统(BIOS)326。在某些实现方式中,专用组件340可以是一个或多个通用软件应用320的子组件,例如AVC OS 322。专用组件340可以包括管理程序344,资源分配器346,信号交换机348,以及可用于提供用户界面,传输数据,和控制专用组件的组件,例如接口342。在一些实现方式中,组件300可以位于跨多个计算装置分布的计算系统中,或者可以是执行一个或多个专用组件340的基于服务器的应用的接口。
管理程序344可以实例化多个虚拟机,每个虚拟机具有对应的AVC OS。管理程序344还可以利用资源分配器346将资源分配给每个虚拟机,并且可以包括虚拟交换机348,该虚拟交换机348可以在相应的AVC设置中在虚拟机和AVC装置之间路由AVC信号。
资源分配器346可以采用AVC设置描述,并为执行AVC OS的虚拟机确定适当的资源分配,以管理该AVC设置。资源分配器346可以通过以下方式为特定的AVC设置完成此任务:为AVC设置进行设置和初始资源分配;以及为AVC设置通过AVC编译器运行AVC设置描述和资源分配;根据AVC编译器的结果,确定资源分配是否足以进行AVC设置。如果资源分配不足,则可以增加资源分配,并且可以再次执行编译过程,直到结果表示资源分配足够为止。
信号交换机348可以从多种AVC设置的AVC装置接收AVC信号,并将其路由到相应的虚拟机。信号交换机348可以基于AVC设置中的装置与对应虚拟机之间的映射,来确定将AVC信号路由至的正确虚拟机。在一些实现方式中,可以在为AVC设置创建虚拟机时建立此映射,并且可以包括AVC设置中的装置标识符到虚拟机的标识符的映射。如果修改了AVC设置,则可以对映射进行相应的修改。在多种实现方式中,标识符可以是IP地址,MAC地址,主机名,端口标识符,或在AVC系统内唯一地指定装置的其他标识符。信号交换机348还可以从虚拟机接收AVC信号,并将该AVC信号路由到AVC设置或AVC设置内的特定装置。
在一些实现方式中,代替具有信号交换机348,系统300可以使用分配给由管理程序344发起的每个虚拟机的虚拟网络接口卡(NIC)。每个虚拟NIC可以具有分配的地址或地址(例如IP地址,MAC地址等)。当信号到达寻址到分配给虚拟NIC之一的地址之一的系统300时,该虚拟NIC可以配置为控制I/O 310中的网络硬件以接收为其分配的虚拟机的信号。而且,当虚拟机之一需要发送信号时,管理程序344可以表示要使用的I/O 310的网卡之一,并且虚拟机可以使用与该网卡相对应的虚拟NIC来控制所表示的网卡以发送信号。
本领域技术人员将理解,上述图1-3中所示的组件以及下面讨论的每个流程图中的组件可以以多种方式进行更改。例如,可以重新排列逻辑的顺序,可以并行执行子步骤,可以省略图示的逻辑,可以包括其他逻辑,等等。在一些实现方式中,上述一个或多个组件可以执行一个或多个如下所述的过程。
图4是示出在一些实现方式中使用的过程400的流程图,该过程用于在对应的虚拟机中建立多个AVC访问者OS并向该虚拟机提供AVC信号路由。过程400开始于框402,然后继续至框404。在框404,过程400可以利用虚拟交换机将管理程序安装在主机中。管理程序是可以监视和管理特定计算系统内的多个虚拟机的应用。尽管本文的多种讨论将管理程序称为由主机的主机操作系统运行的应用,但是在这些情况中的某些情况下,管理程序可以直接在与主机操作系统分离的主机硬件上运行。虚拟交换机可以协调将AVC信号从多种AVC设置传递到在AVC操作系统上执行的相应虚拟机。然后,管理程序可以建立在管理程序控制下运行的多个虚拟机。下面针对图6A讨论使用管理程序的示例环境。在一些实现方式中,代替使用管理程序,每个虚拟机可以具有一个或多个虚拟网络接口卡(NIC),每个虚拟网络接口卡可以连接到相应的物理NIC并控制相应的物理NIC。下面参考图6B讨论虚拟机使用虚拟NIC的示例环境。
在框406处,可以基于对应的AVC设置将主机计算系统的资源分配给每个虚拟机。每个AVC设置可以包括一组多个AVC装置,其中该组可以与其他AVC设置分开管理。例如,AVC设置可以包括在某个楼层上,在建筑物的某区域中,用于一组会议室,用于一个或多个事件空间等的所有AVC设备。在某些实现方式中,资源(例如CPU核)通过分配初始资源量,可以将其分配给用于AVC设置的虚拟机;使用这些资源评估AVC设置,以确定这些资源是否足以管理AVC设置;如果不是,则添加其他资源并进行迭代,直到确定分配的资源量足以用于AVC设置。下面结合图5提供有关为AVC设置向虚拟机分配资源的其他详细信息。在某些实现方式中,随着AVC设置的更改,或者如果AVC设置使用的资源比预期的多,则可以为AVC设置将额外资源分配给该虚拟机。
在框408中,过程400可以将音频,视频,控制(AVC)OS安装到每个已建立的虚拟机中。在某些实现方式中,AVC OS可以是实时操作系统(RTOS)。可以将执行AVC OS的每个虚拟机映射到在相应AVC设置中的装置的装置标识符。装置和虚拟机标识符可以包括例如IP地址,MAC地址,主机名,或其他标识符。
在框410,主机AVC OS的虚拟交换机可以接收AVC信号。AVC信号可以来自AVC设置之一中包含的网络装置,也可以来自虚拟机之一。在框412,虚拟交换机可以确认将AVC信号路由至的目的地。当AVC信号源自AVC设置中的装置时,虚拟交换机可以基于源装置的标识符到AVC设置的虚拟机之间的映射,将目地的确认为虚拟机之一,源装置是AVC设置的一部分。在一些实现方式中,该映射可以包括装置标识符到虚拟机标识符的列表。在一些实现方式中,该映射可以包括装置标识符到AVC设置标识符的映射,该AVC设置标识符又被映射到特定虚拟机。当AVC信号源自虚拟机之一时,AVC信号可以与虚拟交换机的特定目的地或装置标识符关联,以将AVC信号路由到该虚拟机。在某些实现方式中,虚拟机可以将AVC信号直接发送到AVC设置或已确认的外围装置,而无需通过虚拟交换机。在框414处,可以将AVC信号路由到在框412处确定的目的地。当从外围装置或虚拟机接收到额外的AVC信号时,可以重复过程400的步骤410至414。
图5是示出在一些实现方式中用于确定AVC设置的资源分配的过程500的流程图。在一些实现方式中,过程500可以作为过程400的框406的一部分被启动。过程500在框502开始并且继续到框504。在框504,过程500可以接收对AVC设置的描述。AVC设置的描述可以确认该AVC设置中包括的AVC设备和软件组件。AVC设置的描述也可以指定AVC设备如何互连。AVC设置的描述还可以指定额外信息,例如装置标识符,预期使用率,连接带宽,设备细节(specifics)等。
在框506,过程500可以为所描述的AVC设置指定初始资源分配。在多种实现方式中,初始资源分配可以是默认分配,例如用于任何AVC设置的最小资源量(例如,一个CPU核),或者可以是基于AVC设置描述确定的资源分配。例如,具有指定数量的装置的AVC设置可以具有相应的初始资源分配。资源分配可以包括多个CPU,一定数量的存储器空间,或其他专用硬件或软件资源。
在框508,过程500可以通过AVC编译器运行AVC设置描述,并在框506或512处设置当前资源分配。AVC编译器可以将AVC设置组织成期望最大化性能和/或最小化资源使用的配置。AVC编译器还可以提供给定资源分配情况下AVC设置将如何执行的预测。例如,AVC设置的每个软件组件都可能需要一定数量的资源,例如一个或多个CPU容量,存储器,磁盘空间等的一部分。AVC编译器可以处理AVC设置以积累该AVC设置的多种设备和组件所需的资源。
在框510处,过程500可以确定来自AVC编译器的结果是否表示资源分配将为AVC设置提供足够的性能。如果是,则过程500继续到框514。如果不是,则过程500继续到框512。
在框512,过程500可以增加当前资源分配。例如,在以CPU核衡量资源的情况下,可以将附加的CPU核添加到当前资源分配中。在某些实现方式中,可以增加其他资源分配,例如专用高速缓存,其他存储器空间等。
可以重复框508和512之间的循环,直到编译器结果表示资源分配足以满足所描述的AVC设置为止。在这一点上,过程500继续到框514。在框514,过程500可以返回所确定的足够的资源分配。然后,过程500可以继续到框516,在此结束。
图6A是说明具有管理程序系统602的示例环境600的概念图,管理程序系统602管理多个虚拟机604A-N,每个虚拟机具有AVC OS。每个虚拟机604可以具有分配的资源,例如CPU核606。例如,核606A被分配给虚拟机604A;核606B被分配给虚拟机604B;且核606N被分配给虚拟机604N。管理程序OS602可以包括虚拟交换机608,该虚拟交换机608被配置为将来自AVC设置610A-N的装置(例如618A-D)的AVC信号路由到与该AVC设置相对应的虚拟机604。
在示例环境600的操作中,可以将信号从联网的装置618通过LAN 620传递到虚拟交换机608。使用装置标识符到对应于虚拟机的AVC设置的映射,虚拟交换机608可以将信号路由到适当的虚拟机,以通过相应的AVC OS进行AVC处理。
在示例环境600的进一步操作中,一旦虚拟机604处理了AVC信号,就可以将该信号传递回虚拟交换机608,以路由到AVC设置610的适当装置或其他本地或联网的目的地。
图6B是示出具有多个虚拟机604的示例环境650的概念图,每个虚拟机具有AVC OS和一个或多个虚拟网络接口卡(NIC)652。
与示例环境600类似,在示例环境650中,每个虚拟机604可以具有分配的资源,例如CPU核606。每个虚拟机604可以利用一个或多个虚拟NIC652。例如,虚拟机604A可以利用虚拟NIC 652A以连接并控制NIC 654A。另外,虚拟机604N可以利用虚拟NIC 652N-1与NIC654A连接并对其进行控制,并且可以利用虚拟NIC 652N-2与NIC 654N连接并对其进行控制。NIC 654的每个可以通过利用来自虚拟机604之一的对应虚拟NIC来为多个IP/MAC地址接收/发送数据。例如,当诸如虚拟机604B的虚拟机需要发送信号时,它可以访问虚拟NIC652B,其配置为连接到NIC 654A并控制NIC 654A传输信号,例如,至装置618之一。在虚拟NIC 652B控制NIC 654A时,NIC 654A可以使用分配给虚拟NIC 652B的地址(例如IP,MAC,等)。同样,当虚拟机604B通过虚拟NIC 652B利用NIC 654A时,在NIC 654A处接收的其他传入和传出流量可以排队,直到虚拟机604B的传输完成并且虚拟NIC 652B放弃对NIC 654A的控制或可以由另一个网卡654处理。
作为另一个例子,NI C654A可以通过LAN 620从装置(例如,装置618A-D中的一个)接收AVC信号。可以将AVC信号寻址到特定地址(例如IP地址,MAC地址,网络名称等)。可以给每个虚拟NIC 652分配一个地址,并且NIC 654A可以选择具有分配的地址的虚拟NIC,AVC信号被发送到该分配的地址。然后,与所选虚拟NIC对应的虚拟机可以使用所选虚拟NIC接收AVC信号。
图7是示出了在一些实现方式中使用的过程700的流程图,该过程用于在云环境中建立AVC OS并为AVC OS提供AVC信号路由。过程700开始于框702,并且继续进行至框703和/或704。框703和704可以同时或在不同时间执行。在一些情况下,可以首先执行框703,而在其他情况下,可以首先执行框704。
在框703,过程700可以建立一个或多个″AVC设置″组。每个AVC设置可以包含一个或多个AVC装置。AVC设置组中的装置可以与其他AVC设置分开管理。例如,AVC设置可以包括在某个楼层,建筑物的某区域,用于一组会议室,用于一个或多个事件空间等的所有AVC设备。在某些实现方式中,组成AVC设置的装置的组可以由管理员指定。例如,可以提供允许管理员创建AVC设置组并将装置分配给这些组的用户界面。在一些实现方式中,可以基于物理位置(例如,在同一房间,在同一楼层,或在同一建筑物中的装置被分配给同一组),基于虚拟位置(将在同一VPN的所有装置被分配给同一组),基于寻址(例如,将具有特定IP地址范围的所有装置分配给同一组),等等,自动创建AVC设置。
在框704处,过程700可以在一个或多个云计算装置中安装一个或多个音频,视频,控制(AVC)OS。在一些实现方式中,如上所述,可以将多个AVC OS安装在虚拟机中的一台或多台服务器下的云计算环境中。在一些实现方式中,可以将AVC OS安装为计算装置的主要OS。在一些实现方式中,响应于AVC设置的创建,可以例如在云系统的服务器或虚拟机中生成每个AVC OS。例如,当AVC设置需要AVC OS对其执行处理时,可以创建AVC OS。在其他实现方式中,可以在建立AVC设置之前创建一个或多个AVC OS,以准备根据需要分配给AVC设置。
在框705,过程700可以将来自框703的一个或多个AVC设置中的每一个分配给来自框704的AVC OS的一个,以对在AVC设置中的AVC装置组执行AVC处理。AVC OS和AVC设置之间的对应关系可以作为安装AVC OS的过程的一部分来建立,可以作为创建AVC设置的过程的一部分来执行,也可以是单独的过程。在多种实现方式中,可以例如通过使用GUI的管理员来手动执行分配,或者可以例如通过响应于AVC设置在新的虚拟机中创建AVC OS,或通过将可用的,先前创建的AVC OS分配到AVC设置,而自动执行分配。在多种实现方式中,可以将分配建立为A)AVC装置/AVC设置与B)AVC OS之间的映射,或者可以将分配作为在个体AVC装置中设置的配置,以指定应向其发送AVC信号的AVC OS的地址。
在框706处,AVC路由系统可以接收AVC信号。AVC信号可以来自在AVC设置之一中包含的AVC装置,也可以来自云环境中的AVC OS之一。AVC信号可以源自与AVC路由系统在地理上远程的源(例如,跨广域网(WAN))。AVC信号也可以从AVC路由系统发送到地理位置远程的目的地。在一些实现方式中,在框704处安装的多种AVC OS可以被配置为处理来自不同组织或实体的AVC信号。因此,过程700可以为多个实体或组织提供集中式AVC处理,从而消除了成本,复杂性以及与每个组织/实体均具有自己的AVC处理设施相关联的潜在故障的多个点。在多种实现方式中,该集中式AVC处理可以在共享硬件上执行,或者可以在每个组织/实体具有专用硬件处执行。
在框708,AVC路由系统可以确认应将AVC信号路由到的目的地。在一些实现方式中,在云环境中运行的每个AVC OS可以具有指定的地址(例如,IP地址)。可以将特定AVC设置中的装置配置为向其AVC信号发送AVC OS的地址。这可以是专用于该装置或一组装置的AVC处理的AVC OS。类似地,由AVC OS接收的AVC信号可以与在AVC OS完成AVC处理之后AVCOS可以向其发送信号的目的地装置的地址相关联。因此,在一些实现方式中,AVC路由系统可以是一个或多个网络装置(例如,路由器,交换机,集线器等)。
在其他实现方式中,AVC路由系统可以是作为AVC设置的一部分或在云环境中驻留的实体。该AVC路由系统可以从AVC设置中的装置接收AVC信号,并将其发送到云环境中的相应AVC OS。相反,AVC路由系统可以从AVC OS接收经过处理的AVC信号,并将其发送到目的地装置。在一些实现方式中,AVC路由系统可以使用映射来完成该路由,如以上关于框705所讨论的。在多种实现方式中,映射可以使用诸如IP地址,MAC地址,主机名,端口标识符,或唯一指定AVC系统中的目的地的其他标识符。映射可以将装置索引到配置为对那些装置执行AVC处理的AVC OS。映射还可以将装置索引到AVC设置指派(designation),并且可以进一步将AVC设置指派索引到该AVC设置的相应AVC OS。
在框710中,可以将AVC信号路由到在框708中确定的目的地。当目的地是AVC OS时,则可以通过该AVC OS处理AVC信号,并将其发送到目的地,例如,使用步骤706-710。随着从装置或AVC OS接收到附加的AVC信号,可以重复过程700的步骤706至710。
图8是示出具有在云环境802中操作的AVC OS 806的示例环境800的概念图。每个云计算装置804A-804N可以安装一个或多个AVC OS。例如,计算装置804A具有安装的AVC OS806A,而计算装置804N主管多个虚拟机,每个虚拟机具有对应的AVC OS(如以上关于图3-6所讨论的)。
在示例环境800的操作中,可以将信号从联网的装置818通过网络820传递到云计算环境802。使用装置标识符到对应于AVC OS的AVC设置的映射,云计算环境802的路由系统可以将信号路由到适当的AVC OS 806以进行AVC处理。
在示例环境800的进一步操作中,一旦AVC OS 806处理了AVC信号,就可以将该信号传递回云计算环境802的路由系统,以路由到AVC设置810上的适当装置或另一个本地或联网的目的地。
上面参考附图描述了所公开技术的几种实现方式。可以在其上实现所述技术的计算装置可以包括一个或多个中央处理单元,存储器,输入装置(例如,键盘和指向装置),输出装置(例如,显示装置),储存装置(例如,磁盘驱动器),和网络装置(例如,网络接口)。存储器和储存装置是计算机可读储存介质,其可以存储实现所描述技术的至少一部分的指令。另外,可以通过诸如通信链路上的信号之类的数据传输介质来存储或传输数据结构和消息结构。可以使用多种通信链接,例如因特网,局域网,广域网,或点对点拨号连接。因此,计算机可读介质可以包括计算机可读储存介质(例如,″非暂时性″介质)和计算机可读传输介质。
在本说明书中对″实现方式″(例如,″一些实现方式″,″多种实现方式″,″一个实现方式″,″一种实现方式″等)的引用是指结合实现方式描述的特定特征,结构,或特性被包括在本公开的至少一种实现方式中。这些短语在说明书中多个地方的出现不一定都指的是同一实现方式,单独或替代的实现方式也不一定是与其他实现方式互斥。而且,描述了可以由一些实现方式而不是其他实现方式展现的多种特征。类似地,描述了多种要求,其可能是一些实现方式的要求,而不是其他实现方式的要求。
如本文中所使用的,高于阈值意味着比较中的项目的值高于指定的其他值,比较中的项目处于某种指定数量的具有最大值的项目之中,或比较的项目具有在指定的最高百分比值内的值。如本文所使用的,低于阈值意味着比较中的项目的值低于指定的其他值,比较中的项目处于某些指定数量的具有最小值的项目之中,或者比较中的项目具有指定的底部百分比值内的值。如本文中所使用的,在阈值内意味着比较中的项目的值在两个指定的其他值之间,比较中的项目在中间指定的项目数之间,或者比较中的项目具有中间的指定的百分比范围内的值。相对的术语,例如高或不重要,如果没有其他定义,则可以理解为分配一个值并确定该值与已建立的阈值如何比较。例如,短语″选择快速连接″可以理解为表示选择具有分配的值的连接,该分配的值对应于其高于阈值的连接速度。
如本文所使用的,单词″或″是指一组项目的任何可能的排列。例如,短语″A,B,或C″是指A,B,C的至少一个,或其任何组合,诸如以下任一项:A;B;C;A和B;A和C;B和C;A,B和C;或任何项目的倍数,诸如A和A;B,B,和C;A,A,B,C,和C;等等。
尽管已经以特定于结构特征或方法动作的语言描述了主题,但是应当理解,所附权利要求书中定义的主题不必限于上述特定特征或动作。为了说明的目的,这里已经描述了特定的示例和实现方式,但是可以在不脱离示例和实现方式的范围的情况下进行多种修改。上面描述的特定特征和动作被公开为实现所附权利要求的示例形式。因此,除了所附权利要求书外,示例和实现方式不受限制。
以上提及的任何专利,专利申请,和其他参考文献均通过引用并入本文。如果需要,可以对方面进行修改,以采用上述多种参考文献的系统,功能,和概念来提供进一步的实现方式。如果通过引用并入的文档中的陈述或主题与本申请的陈述或主题冲突,则以本申请为准。

Claims (20)

1.一种在云计算环境下运行实时音频、视频、控制(AVC)系统的方法,包括:
建立具有两个或多个AVC装置设备的AVC设置组;
在云计算环境中初始化虚拟机,其中所述AVC设置组被分配至所述虚拟机;
基于分配给所述虚拟机的所述AVC设置组的描述向所述虚拟机分配资源,其中所述AVC设置组的描述识别所述两个或多个AVC装置设备和与来自所述两个或多个AVC装置设备的信号相关的软件组件;
在所述虚拟机中建立AVC实时操作系统(RTOS),其中所述AVC RTOS是包括从所述AVC设置组中的所述两个或多个AVC装置设备接收AVC数据并对接收到的所述AVC数据进行实时AVC信号处理的操作系统;
接收与所述AVC设置组中的所述两个或多个AVC装置设备相关的AVC信号,其中所述AVC信号包括与所述AVC设置组相关的标识符和来自所述AVC设置组中的至少一个所述AVC装置设备的AVC数据;和
使用所述标识符将所述AVC信号路由到所述AVC RTOS以进行处理,其中所述实时AVC信号处理至少包括以实时提供所述AVC信号处理结果的速率同步所述AVC信号中的所述AVC数据。
2.如权利要求1所述的方法,其中所述AVC设置组由用户指定或基于至少以下之一自动生成:所述AVC设置组的物理位置、虚拟位置和用于所述两个或多个所述AVC装置设备的地址范围。
3.如权利要求1所述的方法,其中,为所述虚拟机分配资源包括:
接收所述AVC设置组的描述,其中,所述AVC设置组的描述可由用户指示,或者基于建立的所述AVC设置组自动生成;
编译具有初始资源分配的所述AVC设置组和所述虚拟机,其中编译所述AVC设置组和所述虚拟机包括在处理和路由来自所述AVC设置组中的所述两个或多个AVC装置设备的信号中使用初始资源分配预测所述虚拟机的性能;和
基于预测的性能确定所述初始资源分配是否足够,其中:
当所述初始资源分配足够时,为所述虚拟机分配资源还包括返回初始资源分配,
当所述初始资源分配不足时,为所述虚拟机分配资源还包括将所述初始资源分配递增到第二资源分配,并用第二资源分配重新编译所述AVC设置组和所述虚拟机。
4.如权利要求3所述的方法,其中所述初始资源分配包括CPU数量,存储器空间量,和相关硬件或软件资源的指示中的至少一项的指示。
5.根据权利要求3所述的方法,其中所述AVC设置组的描述还包括以下至少之一:
所述AVC设置组中所述两个或多个AVC装置设备之间的互连规范;
所述AVC设置组中的所述两个或多个AVC装置设备相关的两个或多个设备标识符的指示;
在所述AVC设置组中的所述两个或多个AVC装置设备中的每一个的预期使用率的指示;和
在所述AVC设置组中的所述两个或多个AVC装置设备中的每一个的连接带宽的指示。
6.如权利要求3所述的方法,其中所述初始资源分配是对所述两个或多个AVC装置设备的总数的默认资源分配。
7.如权利要求3所述的方法,其中至少部分地基于所述AVC设置组的描述来指定所述初始资源分配。
8.如权利要求1所述的方法,其中所述虚拟机是第一虚拟机,所述AVC RTOS是第一AVCRTOS,所述AVC设置是第一AVC设置组,并且所述AVC信号是第一AVC信号,并且其中所述方法进一步包括:
建立具有两个或多个AVC设备的第二AVC设置组;
在所述云计算环境中初始化第二虚拟机,其中第二AVC设置组被分配给所述第二虚拟机;
根据所述第二AVC设置组的描述向第二虚拟机分配资源,其中所述第二AVC设置组的描述标识所述第二AVC设置组中的两个或多个所述AVC装置设备以及与来自所述两个或多个所述AVC装置设备的信号相关的软件组件;
在所述第二虚拟机中建立第二AVC RTOS;
接收与所述第二AVC设置组中的所述两个或多个AVC装置设备相关的第二AVC信号,其中所述AVC信号包括与所述第二AVC设置组相关的标识符和来自所述第二AVC设置组中的至少一个所述AVC装置设备中的AVC数据;和
使用与所述第二AVC设置组相关的标识符将所述AVC信号路由到所述AVC RTOS以进行处理。
9.如权利要求8所述的方法,其中所述第一AVC RTOS具有至少一个不被所述第二AVCRTOS使用的专用硬件组件。
10.如权利要求8所述的方法,其中所述第一AVC RTOS被建立在第一服务器的云计算环境中,并且其中所述AVC RTOS建立在不同于所述第一服务器的第二服务器的云计算环境中。
11.如权利要求1所述的方法,其中所述AVC信号源自在地理上远离所述云计算环境的两个或多个源。
12.一种存储指令的非暂时性计算机可读存储介质,当由计算系统执行时,使所述计算系统执行用于操作音频、视频、控制(AVC)系统的操作,所述操作包括:
在包括至少第一虚拟机和第二虚拟机的云计算环境中初始化多个虚拟机;
为所述多个虚拟机中的每一个分配资源,其中:
将资源分配给所述第一虚拟机是基于对分配给所述第一虚拟机的第一AVC设置组的描述,所述第一AVC设置组的描述标识一个或多个AVC装置设备的第一分配和与一个或多个AVC装置设备的所述第一分配相关的软件组件,以及
将资源分配给所述第二虚拟机是基于对分配给所述第二虚拟机的第二AVC设置组的描述,所述第二AVC设置组的描述标识一个或多个AVC装置设备的第二分配以及与一个或多个AVC装置设备的所述第二分配相关的软件组件;
在每个虚拟机中建立AVC实时操作系统(RTOS),其中每个AVC RTOS是包括接收AVC数据并对接收到的所述AVC数据进行实时AVC信号处理的功能的操作系统;
接收与第一AVC设置组相关的第一AVC信号,其中第一AVC信号包括与所述第一AVC设置组相关的标识符;
使用所述第一AVC信号中的标识符将所述第一AVC信号路由到所述第一AVC RTOS以进行实时处理;
接收与第二AVC设置组相关的第二AVC信号,其中所述第二AVC信号包括与所述第二AVC设置组相关的标识符;和
使用所述第二AVC信号中的标识符将所述第二AVC信号路由到所述第二AVC RTOS以进行实时处理。
13.如权利要求12所述的非暂时性计算机可读存储介质,其中为每个所述虚拟机分配资源包括,对于每一个单个虚拟机:
接收与单个虚拟机相关的单个AVC设置组的描述,所述描述识别一个或多个AVC装置设备到单个AVC设置组的分配以及与分配给单个AVC设置组的一个或多个AVC装置设备相关的软件组件;
编译具有初始资源分配的单个AVC设置组和单个虚拟机,其中编译单个AVC设置组和单个虚拟机包括使用初始资源分配预测单个虚拟机的性能;和
基于预测的性能确定初始资源分配是否足以将所述AVC装置设备分配给单个的AVC设置组,其中:
当初始资源分配足够时,为每个虚拟机分配资源还包括返回初始资源分配,
当初始资源分配不足时,为每个虚拟机分配资源还包括将初始资源分配递增到第二资源分配,并用所述第二资源分配重新编译单独的AVC设置组和单独的虚拟机。
14.如权利要求13所述的非暂时性计算机可读存储介质,其中用所述第二资源分配重新编译单个AVC设置组包括用所述第二资源分配预测所述虚拟机的第二性能,并且其中操作还包括:
基于预测的所述第二性能确定第二资源分配是否足够以分配单个的所述AVC设置组中的所述AVC装置设备,以及
当所述第二次资源分配足够时,返回带有第二次资源分配的已编译的单独AVC设置组,
当所述第二资源分配不足时,将所述第二资源分配递增至第三资源分配,并以第三资源分配重新编译所述单个AVC设置组及所述单个虚拟机。
15.如权利要求12所述的非暂时性计算机可读存储介质,其中第一AVC信号中的标识符与所述AVC设置组或所述AVC装置设备的第一分配相关,并且其中将所述第一AVC信号路由到所述第一AVC RTOS是通过使用A)所述第一AVC信号中的标识符和B)与所述第一AVC RTOS或所述第一虚拟机相关的标识符之间的映射来执行的。
16.如权利要求12所述的非暂时性计算机可读存储介质,其中:
其中所述第一AVC RTOS被分配至第一IP地址;
其中所述第一AVC信号被接收为寻址到所述第一IP地址,其中所述第一AVC信号基于所述第一分配被寻址到所述第一IP地址;以及
其中将所述第一AVC信号路由到所述第一AVC RTOS是使用所述第一IP地址来执行的。
17.如权利要求12所述的非暂时性计算机可读存储介质,其中,所述第一虚拟机具有第一资源分配,并且其中,所述第二虚拟机具有不同于所述第一资源分配的第二资源分配。
18.一种基于云的音频、视频、控制(AVC)系统,用于对耦接到网络的多个AVC设备执行实时AVC信号处理,包括:
一个或多个处理器;
一个或多个存储器存储指令,当由所述一个或多个处理器执行时,使所述AVC系统:
在云计算环境中初始化两个或多个虚拟机,所述两个或多个虚拟机至少包括第一虚拟机和第二虚拟机;
接收第一AVC设置组的第一描述,所述第一描述标识来自多个AVC装置设备的一个或多个AVC装置设备的第一分配以及与所述一个或多个AVC装置设备的第一分配相关的软件组件;
接收第二AVC设置组的第二描述,所述第二描述识别来自多个AVC装置设备的一个或多个AVC装置设备的第二分配以及与一个或多个AVC装置设备的第二分配相关的软件组件;
根据分配给所述第一虚拟机的所述第一AVC设置组的第一描述,为所述第一虚拟机分配资源;
根据分配给所述第二虚拟机的所述第二AVC设置组的第二描述,为所述第二虚拟机分配资源;
至少在所述第一虚拟机中建立所述第一AVC实时操作系统(RTOS)和在所述第二虚拟机中建立所述第二AVC RTOS,其中每个AVC RTOS是包括接收AVC数据并对接收到的所述AVC数据进行实时AVC信号处理的功能的操作系统;
接收与所述第一AVC设置组相关的第一AVC信号,其中所述第一AVC信号包括与所述第一AVC设置组相关的标识符;
使用所述第一AVC信号中的标识符将所述第一AVC信号路由到所述第一AVC RTOS以进行实时处理;
接收与所述第二AVC设置组相关的第二AVC信号,其中所述第二AVC信号包括与所述第二AVC设置组相关的标识符;和
使用所述第二AVC信号中的标识符将所述第二AVC信号路由到所述第二AVC RTOS以进行实时处理。
19.如权利要求18所述的系统,其中,为了向所述第一虚拟机分配资源,所述指令进一步使得所述AVC系统:
使用初始资源分配编译所述第一AVC设置组和所述第一虚拟机,其中编译所述第一AVC设置组和所述第一虚拟机包括使用初始资源分配预测所述第一虚拟机的性能;和
基于预测的性能确定所述初始资源分配是否足够以用于所述AVC装置设备的首次分配,其中:
当所述初始资源分配足够以用于所述AVC装置设备的第一分配时,所述指令进一步使得所述AVC系统返回用于所述第一虚拟机的初始资源分配,
当所述初始资源分配不足以用于所述AVC装置设备的第一分配时,所述指令进一步使得所述AVC系统将初始资源分配递增到第二资源分配,并使用所述第二资源分配重新编译所述第一AVC设置组和所述第一虚拟机。
20.如权利要求19所述的系统,其中对接收到的所述AVC数据的实时AVC信号处理包括以下两个或多个:声学回声消除,音频音调控制和滤波,音频动态范围控制,音频/视频混合,音频/视频路由,或音频/视频桥接。
CN202310358157.0A 2018-01-16 2018-12-21 基于云的音频/视频操作系统 Pending CN116382849A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201862617795P 2018-01-16 2018-01-16
US62/617,795 2018-01-16
US201862624074P 2018-01-30 2018-01-30
US62/624,074 2018-01-30
CN201880086846.8A CN111630494B (zh) 2018-01-16 2018-12-21 基于云的音频/视频操作系统
PCT/US2018/067379 WO2019143448A1 (en) 2018-01-16 2018-12-21 Cloud based audio/video operating system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201880086846.8A Division CN111630494B (zh) 2018-01-16 2018-12-21 基于云的音频/视频操作系统

Publications (1)

Publication Number Publication Date
CN116382849A true CN116382849A (zh) 2023-07-04

Family

ID=65278453

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201880086847.2A Pending CN111630495A (zh) 2018-01-16 2018-12-21 多种音频/视频操作系统的服务器支持
CN202310358157.0A Pending CN116382849A (zh) 2018-01-16 2018-12-21 基于云的音频/视频操作系统
CN201880086846.8A Active CN111630494B (zh) 2018-01-16 2018-12-21 基于云的音频/视频操作系统
CN202310366452.0A Pending CN116450291A (zh) 2018-01-16 2018-12-21 基于云的音频/视频操作系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201880086847.2A Pending CN111630495A (zh) 2018-01-16 2018-12-21 多种音频/视频操作系统的服务器支持

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201880086846.8A Active CN111630494B (zh) 2018-01-16 2018-12-21 基于云的音频/视频操作系统
CN202310366452.0A Pending CN116450291A (zh) 2018-01-16 2018-12-21 基于云的音频/视频操作系统

Country Status (5)

Country Link
US (4) US11561813B2 (zh)
EP (2) EP3740868A1 (zh)
CN (4) CN111630495A (zh)
CA (2) CA3087511A1 (zh)
WO (2) WO2019143447A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111630495A (zh) 2018-01-16 2020-09-04 Qsc公司 多种音频/视频操作系统的服务器支持
CN111602118B (zh) 2018-01-16 2023-06-06 Qsc公司 实现虚拟机的音频,视频和控制系统
CA3091825C (en) 2018-02-23 2023-10-17 Qsc, Llc Audio amplifier assemblies, processes, and methods
CN112425146B (zh) * 2018-06-15 2023-04-14 舒尔获得控股公司 集成会议平台的系统及方法
CN110351532B (zh) * 2019-08-08 2021-08-10 杭州阿启视科技有限公司 视频大数据云平台云存储服务方法
US20220357763A1 (en) * 2021-05-06 2022-11-10 Mellanox Technologies, Ltd. Network Adapter Providing Isolated Self-Contained Time Services
WO2023010014A1 (en) * 2021-07-27 2023-02-02 Sonical Sound Solutions Fully customizable ear worn devices and associated development platform
US11907754B2 (en) 2021-12-14 2024-02-20 Mellanox Technologies, Ltd. System to trigger time-dependent action
US11917045B2 (en) 2022-07-24 2024-02-27 Mellanox Technologies, Ltd. Scalable synchronization of network devices

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574934A (en) 1993-11-24 1996-11-12 Intel Corporation Preemptive priority-based transmission of signals using virtual channels
US5490247A (en) 1993-11-24 1996-02-06 Intel Corporation Video subsystem for computer-based conferencing system
KR100200635B1 (ko) 1996-10-28 1999-06-15 윤종용 화상회의 시스템에서의 반향제어 장치 및 제어방법
US6055560A (en) * 1996-11-08 2000-04-25 International Business Machines Corporation System and method to provide interactivity for a networked video server
JP2002245282A (ja) 2001-02-19 2002-08-30 Hitachi Ltd 情報処理サービス提供方法および情報処理資源の管理方法
CN1639984B (zh) * 2002-03-08 2011-05-11 日本电信电话株式会社 数字信号编码方法、解码方法、编码设备、解码设备
JP4674474B2 (ja) 2005-02-24 2011-04-20 パナソニック株式会社 パラレル駆動バイアンプ切換回路
US8069206B2 (en) 2005-03-18 2011-11-29 Clearone Communications, Inc. System and method for real-time feedback with conservative network usage in a teleconferencing system
US20070165837A1 (en) 2005-12-30 2007-07-19 Microsoft Corporation Synchronizing Input Streams for Acoustic Echo Cancellation
WO2007135672A2 (en) 2006-05-24 2007-11-29 Safend Ltd. Method and system for defending security application in a user's computer
US7630368B2 (en) 2006-06-30 2009-12-08 Sun Microsystems, Inc. Virtual network interface card loopback fastpath
US8005022B2 (en) * 2006-07-20 2011-08-23 Oracle America, Inc. Host operating system bypass for packets destined for a virtual machine
US8365168B1 (en) 2007-07-09 2013-01-29 Parallels IP Holdings GmbH Method and system for processing isochronous data packets using virtual USB controller, and placing the isochronous data packets into a look-ahead queue having a plurality of blank packets
GB2458154B (en) * 2008-03-07 2012-06-27 Hewlett Packard Development Co Routing across a virtual network
JP5060369B2 (ja) 2008-04-03 2012-10-31 旭化成エレクトロニクス株式会社 出力バッファー回路
US8627312B2 (en) 2008-08-28 2014-01-07 Netapp, Inc. Methods and systems for integrated storage and data management using a hypervisor
US8929877B2 (en) 2008-09-12 2015-01-06 Digimarc Corporation Methods and systems for content processing
US8150052B2 (en) 2008-10-15 2012-04-03 Hewlett-Packard Development Company, L.P. Integrating acoustic echo cancellation as a subsystem into an existing videoconference and telepresence system
US9021522B2 (en) 2008-12-10 2015-04-28 Microsoft Technology Licensing, Llc Concurrent interactive television for network connected devices
JP2010258941A (ja) 2009-04-28 2010-11-11 Sony Corp エコー除去装置、エコー除去方法および通信装置
US8437282B2 (en) 2009-06-21 2013-05-07 Clearone Communications Hong Kong Limited System and method of multi-endpoint data conferencing
US9538299B2 (en) 2009-08-31 2017-01-03 Hewlett-Packard Development Company, L.P. Acoustic echo cancellation (AEC) with conferencing environment templates (CETs)
US8441515B2 (en) 2009-09-17 2013-05-14 Sony Corporation Method and apparatus for minimizing acoustic echo in video conferencing
CN102033755A (zh) 2009-09-30 2011-04-27 国际商业机器公司 用于运行虚拟机镜像的方法和系统
US8254261B2 (en) 2009-10-16 2012-08-28 Oracle America, Inc. Method and system for intra-host communication
US8384478B2 (en) 2010-03-04 2013-02-26 Bose Corporation Versatile audio power amplifier
US7986187B1 (en) 2010-03-04 2011-07-26 Bose Corporation Versatile audio power amplifier
US8885013B2 (en) 2010-05-12 2014-11-11 Blue Jeans Network, Inc. Systems and methods for novel interactions with participants in videoconference meetings
US8739177B2 (en) * 2010-06-21 2014-05-27 Intel Corporation Method for network interface sharing among multiple virtual machines
US9008302B2 (en) 2010-10-08 2015-04-14 Optical Fusion, Inc. Audio acoustic echo cancellation for video conferencing
KR101312268B1 (ko) * 2010-12-24 2013-09-25 주식회사 케이티 클라우드 컴퓨팅 환경에서 게임 서비스 제공 방법, 클라우드 컴퓨팅 서버, 및 클라우드 컴퓨팅 시스템
TW201233177A (en) 2011-01-28 2012-08-01 Hon Hai Prec Ind Co Ltd Apparatus and method for displaying message on TV screen
US8738972B1 (en) 2011-02-04 2014-05-27 Dell Software Inc. Systems and methods for real-time monitoring of virtualized environments
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
US8873741B2 (en) 2011-06-30 2014-10-28 Nokia Corporation Methods, apparatuses and computer program products for providing active echo-cancellation for systems combining voice communication and synchronous audio content
US20130097244A1 (en) 2011-09-30 2013-04-18 Clearone Communications, Inc. Unified communications bridging architecture
US8774399B2 (en) 2011-12-27 2014-07-08 Broadcom Corporation System for reducing speakerphone echo
US9258266B2 (en) * 2012-08-30 2016-02-09 Cisco Technology, Inc. Host detection by top of rack switch devices in data center environments
US9858095B2 (en) 2012-09-17 2018-01-02 International Business Machines Corporation Dynamic virtual machine resizing in a cloud computing infrastructure
WO2014055108A1 (en) * 2012-10-03 2014-04-10 Google Inc. Cloud-based gameplay video rendering and encoding
KR101951664B1 (ko) * 2012-10-22 2019-02-25 삼성전자주식회사 유에스비 멀티캐스트 지원 장치 및 방법
US9223635B2 (en) * 2012-10-28 2015-12-29 Citrix Systems, Inc. Network offering in cloud computing environment
US9232185B2 (en) 2012-11-20 2016-01-05 Clearone Communications, Inc. Audio conferencing system for all-in-one displays
US20140148934A1 (en) 2012-11-20 2014-05-29 ClearOne Communication, Inc. Unified communications bridging architecture
US9543913B2 (en) 2013-01-09 2017-01-10 Osc, Llc Programmably configured switchmode audio amplifier
JP6354197B2 (ja) * 2013-03-15 2018-07-11 株式会社リコー 配信制御システム、配信制御方法、及びプログラム
US9641559B2 (en) 2013-03-15 2017-05-02 Swyme Ip Bv Methods and systems for dynamic adjustment of session parameters for effective video collaboration among heterogeneous devices
US20160050079A1 (en) * 2013-03-27 2016-02-18 Telefonaktiebolaget L M Ericsson (Publ) Teleconference message box
US20150077509A1 (en) 2013-07-29 2015-03-19 ClearOne Inc. System for a Virtual Multipoint Control Unit for Unified Communications
US9634948B2 (en) * 2013-11-07 2017-04-25 International Business Machines Corporation Management of addresses in virtual machines
GB201320770D0 (en) * 2013-11-25 2014-01-08 Microsoft Corp Communication system architecture
GB201320778D0 (en) * 2013-11-25 2014-01-08 Microsoft Corp Communication system architecture
GB201320777D0 (en) * 2013-11-25 2014-01-08 Microsoft Corp Communication system architecture
US9509261B2 (en) 2013-12-02 2016-11-29 Crestron Electronics Inc. Reduced crosstalk and matched output power audio amplifier
US9882825B2 (en) 2014-03-14 2018-01-30 Citrix Systems, Inc. Method and system for securely transmitting volumes into cloud
US20150288735A1 (en) 2014-04-04 2015-10-08 ClearOne Inc. Virtual Audio Device System for Unified Communications Applications
US9628206B2 (en) 2015-01-03 2017-04-18 ClearOne Inc. Endpoint parameter management architecture for audio mixers
US11637873B2 (en) 2015-02-13 2023-04-25 At&T Intellectual Property I, L.P. Method and apparatus for managing communication resources
KR20160142034A (ko) 2015-06-02 2016-12-12 삼성전자주식회사 음성처리장치 및 그 제어방법
CN111602118B (zh) 2018-01-16 2023-06-06 Qsc公司 实现虚拟机的音频,视频和控制系统
CN111630495A (zh) 2018-01-16 2020-09-04 Qsc公司 多种音频/视频操作系统的服务器支持
CA3091825C (en) 2018-02-23 2023-10-17 Qsc, Llc Audio amplifier assemblies, processes, and methods
CN112425146B (zh) 2018-06-15 2023-04-14 舒尔获得控股公司 集成会议平台的系统及方法

Also Published As

Publication number Publication date
US20190220300A1 (en) 2019-07-18
CN116450291A (zh) 2023-07-18
CN111630495A (zh) 2020-09-04
EP3740867A1 (en) 2020-11-25
WO2019143447A1 (en) 2019-07-25
US11561813B2 (en) 2023-01-24
US20230121304A1 (en) 2023-04-20
US11194607B2 (en) 2021-12-07
EP3740868A1 (en) 2020-11-25
US20190220299A1 (en) 2019-07-18
US20220164213A1 (en) 2022-05-26
CA3087511A1 (en) 2019-07-25
WO2019143448A1 (en) 2019-07-25
CN111630494A (zh) 2020-09-04
CA3087513A1 (en) 2019-07-25
CN111630494B (zh) 2023-04-21

Similar Documents

Publication Publication Date Title
CN111630494B (zh) 基于云的音频/视频操作系统
US11429463B2 (en) Functional tuning for cloud based applications and connected clients
JP5497201B2 (ja) 資源を配分する方法、資源を配分するためのコンピュータ・プログラム、及び資源を配分するシステム
CN108780410B (zh) 计算系统中的容器的网络虚拟化
CN111602118B (zh) 实现虚拟机的音频,视频和控制系统
JP2019528005A (ja) クラウドコンピューティングシステムにおいて仮想マシンが物理サーバにアクセスするための方法、装置、およびシステム
JP2013518330A5 (zh)
US10235206B2 (en) Utilizing input/output configuration templates to reproduce a computing entity
WO2019222262A1 (en) Apparatuses and methods for zero touch computing node initialization
US20150163160A1 (en) Methods and systems for allocating and de-allocating delivery groups across multiple server farms
US11487750B2 (en) Dynamically optimizing flows in a distributed transaction processing environment
KR102101602B1 (ko) 트래픽 관리 장치 및 방법

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