CN111602118B - 实现虚拟机的音频,视频和控制系统 - Google Patents

实现虚拟机的音频,视频和控制系统 Download PDF

Info

Publication number
CN111602118B
CN111602118B CN201880086834.5A CN201880086834A CN111602118B CN 111602118 B CN111602118 B CN 111602118B CN 201880086834 A CN201880086834 A CN 201880086834A CN 111602118 B CN111602118 B CN 111602118B
Authority
CN
China
Prior art keywords
avc
visitor
virtual
host
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.)
Active
Application number
CN201880086834.5A
Other languages
English (en)
Other versions
CN111602118A (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.)
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
Priority to CN202310552182.2A priority Critical patent/CN116700888A/zh
Publication of CN111602118A publication Critical patent/CN111602118A/zh
Application granted granted Critical
Publication of CN111602118B publication Critical patent/CN111602118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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
    • 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/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration

Abstract

本技术的系统包括提供主机音频,视频和控制操作系统的示例,该主机音频,视频和控制操作系统被配置为建立一个或多个虚拟机或与之交互,每个虚拟机具有访问者操作系统。

Description

实现虚拟机的音频,视频和控制系统
相关申请的交叉引用
本申请要求2018年1月16日提交的题为“实现虚拟机的音频,视频和控制系统”的美国临时专利申请62/617,713的权益和优先权,其全部内容通过引用合并于此。
技术领域
本公开针对音频,视频和控制系统。
背景技术
传统的音频,视频,和控制(AVC)系统通常被配置为互连,操作和管理用于确认的位置,例如在会议室,会议中心,集会(convention)中心,教室,娱乐中心,多房间建筑,其他结构等的,的音频系统,视频系统和/或控制系统。功能强大,多功能,且可配置的AVC系统的一个示例是
Figure BDA0002588342670000011
产品,该产品由加利福尼亚州科斯塔梅萨市的QSC,LLC制造和提供。AVC系统通常用于对另一个本地传统计算机系统(例如运行基于/>
Figure BDA0002588342670000012
操作系统的计算系统)执行的应用执行AVC处理。例如,AVC系统可以与会议室或演讲厅中的常规计算机系统配对。这种类型的配对允许AVC系统提供可能与常规计算机系统不兼容的AVC处理。
为了允许AVC系统与基于
Figure BDA0002588342670000013
的操作系统进行通信以进行AVC处理,可以将系统互连,例如与两个物理计算机系统之间的USB连接。然而,两个系统的集成可能是困难的,耗时的并且在操作上受到限制。例如,/>
Figure BDA0002588342670000014
是一个基于软件的平台,它独特地利用了Intel处理能力,Linux操作系统的强大性(robustness)和关键任务可靠性,以及IEEE网络标准的互操作性,并提供了以IT为中心的分层方法,从而可以允许操作员轻松地将Q-SYS平台迁移到其他Intel平台,例如新的,更快的芯片组,以及其他现成(off-the-shelf)的硬件。此外,Q-Sys对IT标准协议的使用使Q-SYS平台对于未来的IT功能和平台具有高度的可扩展性。功能强大的/>
Figure BDA0002588342670000015
AVC系统可以进行硬线连接,以与运行基于/>
Figure BDA0002588342670000016
操作系统的单独计算机系统进行通信,但是系统之间的此类配置可能难以集成以避免跨系统冲突,这可能会导致性能降低和有限的跨系统性能,同时还需要两个物理互连的结构。
附图的简要说明
图1是示出了可以在其上操作本技术的一些实现方式的装置的概述的框图。
图2是示出了一些实现方式可以在其中操作的环境的概述的框图。
图3是示出了在一些实现方式中可以在AVC系统中使用的采用所公开的技术的组件的框图。
图4示出了在一些实现方式中用于主机AVC操作系统(OS)建立具有访问者OS的虚拟机并与之交互的过程的流程图。
图5示出了在一些实现方式中用于在虚拟机下执行的访问者OS与主机AVC OS交互的过程的流程图。
图6是示出了主机AVC OS和在虚拟机上操作的访问者OS之间具有双向交互的示例环境的概念图。
通过结合附图参考下面的具体实施方式,可以更好地理解这里介绍的技术,在附图中,相同的附图标记表示相同或功能相似的元件。
具体实施方式
本技术的示例提供了一种主机音频,视频和控制(AVC)操作系统,该操作系统被配置为建立一个或多个虚拟机或与之交互,每个虚拟机都具有一个访问者操作系统。在一个示例中,AVC系统包括基于第一操作系统平台并且被配置为在虚拟机上运行访问者操作系统的AVC操作系统,其中,访问者操作系统基于与第一操作系统不同的第二操作系统平台,以克服现有技术的缺点并提供额外的好处。在至少一个示例中,AVC操作系统是被配置用于音频,视频和/或控制处理,以及在AVC操作系统和访问者操作系统之间交换实时AVC流的实时主机操作系统,以一种方式使得在访问者操作系统中运行的应用不知道它没有与连接到AVC操作系统的音频和/或视频外围硬件直接通信。
AVC系统是被配置为管理和控制音频特征,视频特征,和控制特征的功能的系统。例如,可以将AVC系统配置为与联网的麦克风,相机,放大器,和/或控制器一起使用。AVC系统还可以包括多个相关特征,例如回声消除,多媒体播放器和流媒体功能,用户控制界面,调度,第三方控制,IP语音(VoIP)和会话初始协议(SIP)功能,脚本平台功能,音频和视频桥接,公共地址功能,其他音频和/或视频输出功能等。AVC系统的一个例子被包含在QSC,LLC的Q-Sys技术中。
在本公开中,操作系统(OS)可以是管理计算机硬件和软件资源并为计算机程序提供通用服务的系统软件。操作系统可以被配置为调度任务以有效使用系统,并且还可以包括用于对处理器时间,大容量存储,打印,和其他资源进行成本分配的会计软件。操作系统还可以充当程序和计算机硬件之间的中介,以控制硬件功能,例如输入和输出以及存储器分配。
下面参考附图更详细地讨论几种实现方式。图1是示出了可以在其上操作所公开技术的一些实现方式的装置的概述的框图。装置可以包括具有主机AVC OS 162的装置100的硬件组件,该主机AVC OS 162建立一个或多个虚拟机164并与之交互,每个虚拟机164具有访问者OS。装置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,例如AVC操作系统162,具有访问者操作系统的虚拟机164,以及其他应用程序166。存储器150还可以包括数据存储器170,其可以包括要被应用操作的数据,配置数据,设置,选项或优选项等,这些数据可以被提供给程序存储器160或装置100的任何元件。
一些实现方式可以与许多其他计算系统环境或配置一起操作。可能适合与该技术一起使用的计算系统,环境,和/或配置的例子包括但不限于个人计算机,AV I/O系统,联网的AV外围设备,视频会议控制台,服务器计算机,手持式或膝上型装置,蜂窝电话,可穿戴电子产品,游戏机,平板装置,多处理器系统,基于微处理器的系统,机顶盒,可编程消费电子产品,网络PC,小型计算机,大型计算机,包括上述任何系统或装置的分布式计算环境,等。
图2是说明所公开技术的一些实现方式可在其中操作的环境200的概括的框图。环境200可以包括一个或多个客户端计算装置205A-H,其示例可以包括装置100。在所示的示例中,装置205A是无线智能电话或平板电脑,装置205B是台式计算机,装置205C是计算机系统,装置205D是无线笔记本电脑,装置205E是音频系统,装置206F是视频系统,装置205G是麦克风系统,和装置205H是联网的相机系统。这些仅仅是一些装置的示例,并且其他示例可以包括其他计算装置。例如,装置205C可以是具有实时操作系统(RTOS)的AV Core系统,该实时操作系统为外围装置(无论是本地的还是联网的)及其之间提供多种音频和视频处理以及连接性。这些处理和连接性特征可以由装置205C的主机AVC OS提供,同时支持一个或多个虚拟机。音频和视频处理可以包括增益和电平调整,回声减少或消除,混合,编码/解码,分辨率调整,裁剪,延迟控制,VoIP/SIP接口控制,输入控制,等。客户端计算装置205可以使用通过网络230到一台或多台远程计算机(例如服务器计算装置)的逻辑连接210在联网的环境中运行。在一些实现方式中,在环境200中可以包括附加的未示出的音频和视频处理和路由组件,例如:本地地连接到装置205或I/O卡的AV设备,该I/O卡为AV设备提供联网的连接点,在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,LLC的Q-Sys音频信号处理平台的IP网络上的音频技术(参见,www.qsc.com)。网络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可以包括多种应用,包括AVC操作系统322,本地程序324,和基本输入输出系统(BIOS)326。在某些实现方式中,专用组件340可以是一个或多个通用软件应用320的子组件,例如AVC OS 322。专用组件340可以包括VM管理器344,虚拟硬件连接346,AVC信号路由器348,以及可用于提供用户界面,传输数据,和控制专用组件的组件,例如接口342。在一些实现方式中,组件300可以位于跨多个计算装置分布的计算系统中,或者可以是执行一个或多个专用组件340的基于服务器的应用的接口。
VM管理器344可以在具有主机AVC OS 322的计算系统中管理一个或多个虚拟机,例如虚拟机349。VM管理器344可以创建虚拟机,将诸如访问者OS 350之类的访问者操作系统安装到其中,并在虚拟机和主机AVC OS 322之间建立虚拟硬件连接346。
虚拟硬件连接346可以是由主机AVC OS 322管理的一个或多个虚拟对象,这些虚拟对象为AVC信号提供数据路径,该信号将由主机AVC OS 322传递给在虚拟机349下运行的访问者OS 350。虚拟硬件连接346可以表现为访问者OS 350的本地连接的硬件外围设备。在一些实现方式中,一个或多个虚拟硬件连接346可以是虚拟USB连接或虚拟以太网连接。
AVC信号路由器348可以从例如本地或网络连接的外围装置接收AVC信号,将它们提供给AVC OS 322进行处理,然后将它们通过虚拟硬件连接346路由到在虚拟机349上运行的访问者OS 350。在某些实现方式中,这可以使用在AVC OS 322与虚拟硬件连接346中的虚拟USB连接之间的同步的链接完成。AVC信号路由器348也可以接收通过虚拟硬件连接346从访问者OS 350发送的AVC信号,并将其提供给AVC OS322进行处理,然后将它们路由到适当的网络或本地连接的目标装置。
本领域技术人员将理解,上述图1-3中所示的组件以及下面讨论的每个流程图中的组件可以以多种方式进行更改。例如,可以重新排列逻辑的顺序,可以并行执行子步骤,可以省略图示的逻辑,可以包括其他逻辑,等等。在一些实现方式中,上述一个或多个组件可以执行一个或多个如下所述的过程。
图4是示出了在一些实现方式中用于主机AVC OS使用以建立具有访问者OS的虚拟机并与之交互的过程400的流程图。过程400开始于框402,并且继续至框404。
在框404处,过程400可以创建由音频,视频,控制(AVC)操作系统(OS)主管的虚拟机。在一些实现方式中,AVC OS可以被实现为实时OS。在一些实现方式中,AVC OS可以与x86框架兼容。除了创建和管理虚拟机之外,AVC OS还可以配置为执行多种音频,视频,和控制处理功能。AVC OS的一个例子是QSC Audio Products提供的Q–SYS OS。在一些实现方式中,AVC OS可以包括两个单独的系统:AVC处理组件和AVC应用管理组件。在多种实现方式中,这些系统可以在总体(umbrella)AVC OS下进行组合,或者可以是分开管理的组件,例如在自己的虚拟机中或拥有自己的专用资源。在一些实现方式中,主机或一个或多个虚拟机可以每个具有一组专用资源,例如专用的存储器或缓存区域,专用的CPU内核,专用的外围设备等。在具有不同操作系统的虚拟机中实现操作系统时,具有共享资源会导致诸如共享L3缓存的部分被覆盖之类的问题。这可能导致缓存崩溃(thrashing),其中每个应用都不断从RAM重新加载其所需的数据。这可能对实时操作系统特别有害,在实时操作系统中,需要处理输入并在特定时限内将输入提供给目的地,例如,以避免跳过和AV质量下降。当每个操作系统都有自己的专用资源时,不会发生虚拟机之间的这种干扰。
在一些实现方式中,过程400可以多次执行步骤404,从而实现多个虚拟机。在某些情况下,每个虚拟机可以包含不同的访问者OS。例如,第一虚拟机中的第一访问者OS可以执行Windows OS,而第二虚拟机中的第二访问者OS可以执行Chrome OS。
在框406中,可以将访问者OS安装在在框404中创建的虚拟机中。该访问者OS可以是例如Windows操作系统,Chrome操作系统,Mac操作系统,Linux操作系统。在一些实现方式中,代替首先创建虚拟机环境然后将访问者OS安装到其中,可以组合框404和406,例如通过实现用已安装的访问者OS先前创建的虚拟机镜像(image)。
在框408处,过程400可以在AVC OS与访问者OS之间建立虚拟硬件连接。虚拟硬件连接允许将信号从AVC OS传递到实现访问者OS的虚拟机。然后,访问者OS可以访问它们,就像信号来自直接连接到执行访问者OS的机器的硬件外围设备一样。在多种实现方式中,虚拟硬件连接可以是虚拟USB连接,虚拟以太网连接,其他另一种类型的虚拟硬件连接。AVCOS可以通过生成虚拟装置并将其作为可用硬件组件呈现给虚拟机来创建虚拟硬件连接。例如,AVC OS可以通过将虚拟USB装置板提供给虚拟机来创建虚拟USB连接。在一些实现方式中,建立虚拟硬件连接可以包括在AVCOS和虚拟USB连接器之间创建同步连接。该同步连接可以以稳定的速率提供时间相关的数据传输,例如用于音频/视频流。
在框410处,AVC OS可以例如从本地连接的或网络外围装置接收AVC信号。例如,在过程400由装置205C实现的情况下,AVC信号可以从外围装置205E-G之一跨网络230传播。
在框412处,AVC OS可以对接收到的AVC信号执行多种AVC处理。该处理例如可以包括增益和电平调整,回声消除/减少,混合,编码/解码,颜色或分辨率调整,裁剪,延迟控制,输入控制,过程和逻辑控制等。
在框414中,AVC OS通过虚拟硬件连接将已处理的AVC信号路由到虚拟机上的访问者OS。AVC OS可以通过将信号作为同步连接的输入提供给虚拟USB装置板来实现。然后,虚拟机将来自虚拟USB装置板的信号识别为来自硬件装置的输入,并且可以将该输入提供给在访问者操作系统下执行的应用。例如,访问者操作系统可能正在控制视频聊天应用的执行。由于AVC OS提供了从联网的装置到虚拟机上的访问者OS的虚拟连接,因此联网的麦克风和/或相机可以与此视频聊天应用一起用作本地硬件装置。视频聊天应用可以使用此输入,就像使用来自本地连接的硬件组件的任何其他信号一样。
当附加的AVC信号到达框410时,可以按照与针对框412和414所述类似的方式处理它们并将其路由到访问者OS。此外,可以对源自访问者OS的AVC信号进行路由到外围设备,如以下关于图5所描述的。
图5是示出了在一些实现方式中用于在虚拟机下执行以与主机AVC OS交互的访问者OS的过程500的流程图。在一些实现方式中,过程500可以在由过程400的步骤404至408建立的系统中发生。此外,过程500可以与过程400的步骤410至414并行发生。
过程500在框502开始,并继续到框504。在框504,在虚拟机上执行的访问者OS可以接收AVC信号。可以从在访问者操作系统下执行的应用输出此AVC信号。在框506,过程500可以将AVC信号通过虚拟硬件连接传递到主机AVC OS。例如,访问者操作系统可以具有为USB装置安装的驱动,该USB装置实际上对应于在框408处建立的用于将虚拟机连接到AVC OS的虚拟USB装置板。虚拟硬件连接(例如,虚拟USB连接)可以使用与AVC OS的同步的连接将AVC信号提供给AVC OS。
在框508,AVC OS可以处理AVC信号。在框510,一旦已经处理了AVC信号,就可以将其传递到目的地装置,该目的地装置或者本地连接到执行主机AVC OS的装置,或者通过网卡连接到网络装置。
图6是示出在主机AVC OS 602与在虚拟机604上操作的访问者OS 606之间具有双向交互的示例环境600的概念图。示例环境600包括在AVC OS 602和访问者OS606之间的虚拟USB连接610。虚拟机604具有专用CPU 612A和612B。AVC OS 602包括实时音频和网络处理组件614,其具有其自己的专用CPU616。示例环境600还包括联网的外围设备618A-D,能够通过LAN 620向AVC OS发送和/或接收AVC信号。
在示例环境600的操作中,可以将信号从联网的装置618通过LAN 620传递到AVCOS 602。然后,这些信号由实时音频和网络处理组件614使用CPU 616处理。可以将已处理的信号通过虚拟USB连接610传递给访问者OS 606,并在虚拟机604上执行。访问者OS 606可以将该信号视为来自本地硬件装置的输入,并传递给适当的应用622。在该情形中,应用622是视频聊天应用。应用622可以提供输出,例如,通过连接的网络接口卡或显示器。
在示例环境600的进一步操作中,可以将信号从应用622传递到访问者OS 606,以输出到外围装置。访问者OS 606可以使用驱动将信号输出到虚拟USB连接,访问者OS将其视为硬件组件。信号通过虚拟USB 610传递到AVC OS 602,使用实时音频和网络处理组件614的AVC OS 602使用CPU 616对信号进行处理。一旦信号被处理,AVC OS 602即可将信号传递给适当的直接连接的目的地或通过LAN 620连接到AVCOS 602的目的地。
上面参考附图描述了所公开技术的几种实现方式。可以在其上实现所述技术的计算装置可以包括一个或多个中央处理单元,存储器,输入装置(例如,键盘和指向装置),输出装置(例如,显示装置),储存装置(例如,磁盘驱动器),和网络装置(例如,网络接口)。存储器和储存装置是计算机可读储存介质,其可以存储实现所描述技术的至少一部分的指令。另外,可以通过诸如通信链路上的信号之类的数据传输介质来存储或传输数据结构和消息结构。可以使用多种通信链接,例如因特网,局域网,广域网,或点对点拨号连接。因此,计算机可读介质可以包括计算机可读储存介质(例如,“非暂时性”介质)和计算机可读传输介质。
在本说明书中对“实现方式”(例如,“一些实现方式”,“多种实现方式”,“一个实现方式”,“一种实现方式”等)的引用是指结合实现方式描述的特定特征,结构,或特性被包括在本公开的至少一种实现方式中。这些短语在说明书中多个地方的出现不一定都指的是同一实现方式,单独或替代的实现方式也不一定是与其他实现方式互斥。而且,描述了可以由一些实现方式而不是其他实现方式展现的多种特征。类似地,描述了多种要求,其可能是一些实现方式的要求,而不是其他实现方式的要求。
如本文中所使用的,高于阈值意味着比较中的项目的值高于指定的其他值,比较中的项目处于某种指定数量的具有最大值的项目之中,或比较的项目具有在指定的最高百分比值内的值。如本文所使用的,低于阈值意味着比较中的项目的值低于指定的其他值,比较中的项目处于某些指定数量的具有最小值的项目之中,或者比较中的项目具有指定的底部百分比值内的值。如本文中所使用的,在阈值内意味着比较中的项目的值在两个指定的其他值之间,比较中的项目在中间指定的项目数之间,或者比较中的项目具有中间的指定的百分比范围内的值。相对的术语,例如高或不重要,如果没有其他定义,则可以理解为分配一个值并确定该值与已建立的阈值如何比较。例如,短语“选择快速连接”可以理解为表示选择具有分配的值的连接,该分配的值对应于其高于阈值的连接速度。
如本文所使用的,单词“或”是指一组项目的任何可能的排列。例如,短语“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)操作系统(OS),来实现具有与所述主机AVC OS不同的访问者OS的虚拟机;
在所述主机AVC OS和所述访问者OS之间建立虚拟硬件连接;
在所述主机AVC OS处接收AVC信号;
在所述主机AVC OS处处理所述AVC信号;和
通过所述虚拟硬件连接将已处理的AVC信号路由到所述访问者OS。
2.根据权利要求1所述的方法,还包括:
在所述访问者OS处接收第二AVC信号;
通过所述虚拟硬件连接将所述第二AVC信号路由到所述主机AVC OS;
在所述主机AVC OS处处理所述第二AVC信号;和
将所述已处理的第二AVC信号路由到在执行所述主机AVC OS的计算装置外部的目的地。
3.根据权利要求1所述的方法,其中处理所述AVC信号包括增益和电平调整,回声降低,混合,颜色或分辨率调整,裁剪,延迟控制,或其任何组合。
4.根据权利要求1所述的方法,其中,所述主机AVC OS是实时OS。
5.根据权利要求1所述的方法,其中,所述主机AVC OS是与x86框架兼容的OS。
6.根据权利要求1所述的方法,其中,所述访问者OS是基于Windows的OS,基于Chrome的OS,基于Mac的OS,或基于Linux的OS。
7.根据权利要求1所述的方法,其中,所述虚拟硬件连接是虚拟USB连接。
8.根据权利要求7所述的方法,其中建立所述虚拟USB连接包括生成虚拟USB装置板并将其作为可用硬件组件呈现给所述虚拟机。
9.根据权利要求7所述的方法,其中建立所述虚拟硬件连接包括在所述主机AVC OS与所述虚拟USB连接之间创建同步连接,其中所述同步连接以稳定的速率提供与时间相关的数据传输。
10.根据权利要求9所述的方法,其中将所述已处理的AVC信号路由到所述访问者OS包括提供所述已处理的AVC信号作为对所述同步连接的输入。
11.根据权利要求1所述的方法,其中,实现所述虚拟机包括创建虚拟机环境并将所述访问者OS安装到所述虚拟机环境中。
12.根据权利要求1所述的方法,其中,实现所述虚拟机包括加载用已经安装的所述访问者OS先前创建的虚拟机镜像。
13.一种系统,包括:
一个或多个处理器;
存储器;和
实时操作系统(OS),其配置为:
实现具有访问者操作系统的虚拟机;
在所述实时OS和所述访问者OS之间建立虚拟硬件连接;
接收并处理AVC信号;和
通过所述虚拟硬件连接将已处理的AVC信号路由到所述访问者OS。
14.根据权利要求13所述的系统,还包括至少两个CPU,其中,所述至少两个CPU中的至少第一CPU专用于所述实时OS,并且所述至少两个CPU中的至少第二CPU专用于所述访问者OS。
15.根据权利要求13所述的系统,还包括至少两个网卡,其中,所述至少两个网卡中的至少第一网卡专用于所述实时OS,并且所述至少两个网卡中的至少第二网卡专用于所述访问者OS。
16.根据权利要求13所述的系统,其中,建立所述虚拟硬件连接包括在所述实时OS和虚拟USB连接之间创建同步连接,其中,所述同步连接以稳定的速率提供与时间相关的数据传输。
17.一种计算机可读储存介质,其存储指令,所述指令在由计算系统执行时使所述计算系统执行操作包括:
通过主机音频,视频,控制(AVC)操作系统(OS),来实现具有与主机AVC OS不同的访问者OS的虚拟机;
在所述主机AVC OS和所述访问者OS之间建立虚拟硬件连接;
在所述主机AVC OS处接收AVC信号;
在所述主机AVC OS处处理所述AVC信号;和
通过所述虚拟硬件连接将已处理的AVC信号路由到所述访问者OS。
18.根据权利要求17所述的计算机可读储存介质,其中,所述操作还包括:
在所述访问者OS处接收第二AVC信号;
通过所述虚拟硬件连接将所述第二AVC信号路由到所述主机AVC OS;和
在所述主机AVC OS处处理所述第二AVC信号。
19.根据权利要求17所述的计算机可读储存介质,其中,所述主机AVC OS是与x86框架兼容的OS。
20.根据权利要求17所述的计算机可读储存介质,其中,所述虚拟硬件连接是虚拟USB连接。
CN201880086834.5A 2018-01-16 2018-12-21 实现虚拟机的音频,视频和控制系统 Active CN111602118B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310552182.2A CN116700888A (zh) 2018-01-16 2018-12-21 实现虚拟机的音频,视频和控制系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862617713P 2018-01-16 2018-01-16
US62/617,713 2018-01-16
PCT/US2018/067358 WO2019143446A1 (en) 2018-01-16 2018-12-21 Audio, video and control system implementing virtual machines

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310552182.2A Division CN116700888A (zh) 2018-01-16 2018-12-21 实现虚拟机的音频,视频和控制系统

Publications (2)

Publication Number Publication Date
CN111602118A CN111602118A (zh) 2020-08-28
CN111602118B true CN111602118B (zh) 2023-06-06

Family

ID=65269039

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310552182.2A Pending CN116700888A (zh) 2018-01-16 2018-12-21 实现虚拟机的音频,视频和控制系统
CN201880086834.5A Active CN111602118B (zh) 2018-01-16 2018-12-21 实现虚拟机的音频,视频和控制系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310552182.2A Pending CN116700888A (zh) 2018-01-16 2018-12-21 实现虚拟机的音频,视频和控制系统

Country Status (5)

Country Link
US (4) US10901809B2 (zh)
EP (2) EP4242861A3 (zh)
CN (2) CN116700888A (zh)
CA (1) CA3087509A1 (zh)
WO (1) WO2019143446A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3740868A1 (en) 2018-01-16 2020-11-25 Qsc, Llc Server support for multiple audio/video operating systems
CA3087509A1 (en) 2018-01-16 2019-07-25 Qsc, Llc Audio, video and control system implementing virtual machines
WO2019151986A1 (en) * 2018-01-30 2019-08-08 Hewlett-Packard Development Company, L.P. Conversion to an internet protocol stream
US11063565B2 (en) 2018-02-23 2021-07-13 Qsc, Llc Audio amplifier assemblies, processes, and methods
EP3808067A1 (en) * 2018-06-15 2021-04-21 Shure Acquisition Holdings, Inc. Systems and methods for integrated conferencing platform
US10846123B2 (en) * 2018-09-25 2020-11-24 Microsoft Technology Licensing, Llc Audio rendering from virtual machine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110023A (zh) * 2009-12-25 2011-06-29 中国长城计算机深圳股份有限公司 一种多用户操作系统并行运行的控制方法、系统及计算机
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
US9380456B1 (en) * 2013-01-22 2016-06-28 Hypori, Inc. System, method and computer program product for dynamically switching operating systems in a virtual mobile device platform
CN106537340A (zh) * 2014-07-16 2017-03-22 戴尔产品有限公司 虚拟化信息操纵系统的输入/输出加速设备和方法

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490247A (en) 1993-11-24 1996-02-06 Intel Corporation Video subsystem for computer-based conferencing system
US5574934A (en) 1993-11-24 1996-11-12 Intel Corporation Preemptive priority-based transmission of signals using virtual channels
KR100200635B1 (ko) 1996-10-28 1999-06-15 윤종용 화상회의 시스템에서의 반향제어 장치 및 제어방법
JP2002245282A (ja) 2001-02-19 2002-08-30 Hitachi Ltd 情報処理サービス提供方法および情報処理資源の管理方法
AU2003213439A1 (en) * 2002-03-08 2003-09-22 Nippon Telegraph And Telephone Corporation Digital signal encoding method, decoding method, encoding device, decoding device, digital signal encoding program, and decoding program
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
EP2030124A4 (en) * 2006-05-24 2012-12-12 Safend Ltd METHOD AND SYSTEM FOR DEFENSE OF SECURITY SOFTWARE 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
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
US8601056B2 (en) * 2010-03-09 2013-12-03 Avistar Communications Corporation Scalable high-performance interactive real-time media architectures for virtual desktop environments
US9143729B2 (en) 2010-05-12 2015-09-22 Blue Jeans Networks, Inc. Systems and methods for real-time virtual-reality immersive multimedia communications
US8739177B2 (en) 2010-06-21 2014-05-27 Intel Corporation Method for network interface sharing among multiple virtual machines
WO2012046256A2 (en) 2010-10-08 2012-04-12 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
US9223635B2 (en) 2012-10-28 2015-12-29 Citrix Systems, Inc. Network offering in cloud computing environment
US20140148934A1 (en) 2012-11-20 2014-05-29 ClearOne Communication, Inc. Unified communications bridging architecture
US9232185B2 (en) 2012-11-20 2016-01-05 Clearone Communications, Inc. Audio conferencing system for all-in-one displays
US9543913B2 (en) 2013-01-09 2017-01-10 Osc, Llc Programmably configured switchmode audio amplifier
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
JP6354197B2 (ja) 2013-03-15 2018-07-11 株式会社リコー 配信制御システム、配信制御方法、及びプログラム
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
GB201320777D0 (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
GB201320770D0 (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 삼성전자주식회사 음성처리장치 및 그 제어방법
CA3087509A1 (en) 2018-01-16 2019-07-25 Qsc, Llc Audio, video and control system implementing virtual machines
EP3740868A1 (en) 2018-01-16 2020-11-25 Qsc, Llc Server support for multiple audio/video operating systems
US11063565B2 (en) 2018-02-23 2021-07-13 Qsc, Llc Audio amplifier assemblies, processes, and methods
JP2019148995A (ja) 2018-02-27 2019-09-05 株式会社東芝 半導体集積回路の設計装置及び設計方法
EP3808067A1 (en) 2018-06-15 2021-04-21 Shure Acquisition Holdings, Inc. Systems and methods for integrated conferencing platform

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN102110023A (zh) * 2009-12-25 2011-06-29 中国长城计算机深圳股份有限公司 一种多用户操作系统并行运行的控制方法、系统及计算机
US9380456B1 (en) * 2013-01-22 2016-06-28 Hypori, Inc. System, method and computer program product for dynamically switching operating systems in a virtual mobile device platform
CN106537340A (zh) * 2014-07-16 2017-03-22 戴尔产品有限公司 虚拟化信息操纵系统的输入/输出加速设备和方法

Also Published As

Publication number Publication date
US20210271528A1 (en) 2021-09-02
US10901809B2 (en) 2021-01-26
EP4242861A2 (en) 2023-09-13
US20220391269A1 (en) 2022-12-08
WO2019143446A1 (en) 2019-07-25
CA3087509A1 (en) 2019-07-25
US11714690B2 (en) 2023-08-01
CN111602118A (zh) 2020-08-28
EP3740866B1 (en) 2023-08-02
US20230333920A1 (en) 2023-10-19
EP3740866A1 (en) 2020-11-25
US20190220328A1 (en) 2019-07-18
CN116700888A (zh) 2023-09-05
US11474882B2 (en) 2022-10-18
EP4242861A3 (en) 2023-11-22

Similar Documents

Publication Publication Date Title
CN111602118B (zh) 实现虚拟机的音频,视频和控制系统
CN111630494B (zh) 基于云的音频/视频操作系统
US11838335B2 (en) Virtual computing system providing local screen sharing from hosted collaboration applications and related methods
US20140032699A1 (en) Remote user interface in a terminal server environment
KR20200105582A (ko) 컨테이너를 활용한 가상 데스크탑 시스템 및 그 데이터 처리 방법
KR20210028176A (ko) 컨테이너를 활용한 가상 데스크탑 시스템 및 그 데이터 처리 방법
TW201701152A (zh) 網路伺服系統
Wan et al. Design ideas of mobile internet desktop system based on virtualization technology in cloud computing
US11770423B2 (en) Remote access for resource links shared during web conference session
US11704175B2 (en) Bridging virtual desktops under nested mode
Bentele et al. Towards a GPU-Accelerated open source VDI for OpenStack
von Oven et al. Getting Started with VMware Horizon
Rettberg Towards a GPU-Accelerated Open Source VDI for OpenStack

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