CN107580771B - 用于控制物理侧浏览器功能的方法和服务器 - Google Patents
用于控制物理侧浏览器功能的方法和服务器 Download PDFInfo
- Publication number
- CN107580771B CN107580771B CN201680026236.XA CN201680026236A CN107580771B CN 107580771 B CN107580771 B CN 107580771B CN 201680026236 A CN201680026236 A CN 201680026236A CN 107580771 B CN107580771 B CN 107580771B
- Authority
- CN
- China
- Prior art keywords
- webrtc
- unit
- web browser
- virtual
- running
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000011664 signaling Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 66
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 11
- PBLQSFOIWOTFNY-UHFFFAOYSA-N 3-methylbut-2-enyl 4-methoxy-8-(3-methylbut-2-enoxy)quinoline-2-carboxylate Chemical compound C1=CC=C2C(OC)=CC(C(=O)OCC=C(C)C)=NC2=C1OCC=C(C)C PBLQSFOIWOTFNY-UHFFFAOYSA-N 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本专利申请公开了一种控制远程或虚拟桌面环境的物理侧的可访问浏览器功能的方法,所述方法包括以下步骤:在所述物理侧上的用户的物理单元(1)和在虚拟或远程侧上分配给所述用户的虚拟单元(2)之间建立虚拟桌面基础设施;在所述物理单元(1)处运行第一web浏览器(31),以及在所述虚拟单元(2)处运行第二web浏览器(41);分别在运行在所述物理单元(1)和所述虚拟单元(2)处的所述第一和第二web浏览器(41)之间建立WebRTC数据信道(68);和利用在所述物理单元(1)和所述虚拟单元(2)之间建立的所述WebRTC数据信道(68),通过所述虚拟单元(2)来远程地控制在所述物理单元(1)处运行的所述第一web浏览器(31)的所述浏览器功能。本公开还涵盖相应的服务器和软件产品。
Description
技术领域
本发明涉及一种用于在诸如RDS(远程桌面服务)或VDI(虚拟桌面基础架构)的远程桌面或虚拟桌面环境的物理侧上控制可访问浏览器功能的方法。本发明还涉及相应的软件产品和服务器。
背景技术
在远程桌面服务(RDS)/虚拟桌面基础架构(VDI)环境中优化的实时通信(RTC,例如Unify的OpenScape桌面客户端)必须实现为供应商特定的远程桌面协议(RDP)扩展,例如独立计算架构(ICA)作为Citrix特定的变体。
部署在RDS/VDI环境中的常规RTC客户端可能由于在使用的RDP中缺少RTC支持而遭遇服务降级。由于无法针对RDP会话的RTC部分达到可行的服务质量(QoS),因此特别是在大都市以及广域网中,这导致不可接受的用户体验。
图1描绘了根据现有技术的软电话解决方案的一般VDI基础设施,例示为没有对RTC的特定支持的Citrix版本。特别地,这个现有技术的示例示出了RDS/VDI不知道的软电话解决方案。在此,物理单元1和虚拟单元2经由网络3连接。将物理单元1例示为基于Windows的物理PC(pPC),并且由基于Citrix XenDesktop(XD)的虚拟PC(vPC)来例示虚拟单元2。网络3可以是广域网(WAN)、城域网(MAN)或局域网(LAN)。在本申请的上下文中,可以假定LAN为覆盖通常高达3 km的区域的家庭或公司网络,可以假定MAN在某些大都市周围通常有10-50 km的范围,而可以假定WAN通常具有大陆范围。要注意的是,通常在距离方面没有固定的限制,并且将从仅仅示例性和说明性的意义来理解上面提到的数值。
具体来说,本示例中的本地单元1在物理单元操作系统(OS)4(在此,作为示例为Windows)下运行。Citrix解决方案基于在用户侧在物理单元(pPC)1上运行的本机RDS客户端5。在本机RDS客户端5中实现的本地设备控制器(LDC)6用于经由本地媒体I/O信道7来控制用户侧处的本地设备8。在另一(虚拟)侧,虚拟单元2由虚拟单元操作系统(OS)9(在此,再次作为示例为Windows)来运行或仿真。SIP软电话客户端10(例如,OpenScape PE客户端)实现SIP信令和媒体引擎(SME)11。使SIP SME 11能够经由SIP信令信道12通过SIP代理(未示出)与第三方14通信,而经由RTP媒体信道13根据RTP协议来传输媒体数据。
物理单元(pPC)1的RDS客户端5经由作为Citrix提升的VDI协议的ICA(独立计算架构)与虚拟单元(vPC)2进行通信。为此,在物理单元RDS客户端5中实现ICA端点(EP)16,而在虚拟单元2中实现另外的ICA EP 17,并且在两侧的ICA EP 16、17之间建立ICA信道。应当注意,相对于RTC,此处基于SIP的在vPC 2上运行的软电话客户端10不能访问pPC 1的物理设备8。相反,可以将ICA信道18用于将RTC有效载荷数据“隧道传输”到物理单元1,以使其可用。然而,在这种有效载荷隧道传输中可能会有大量延迟和质量损失。随着物理单元1和托管虚拟单元2的服务器之间的距离的增加,即在大都市和广域网中,这些问题可能变得糟糕。
图2示出了在如图1所示的这样环境中支持RTC的现有扩展。代替VDI不知道的SIP软电话客户端,该扩展中的虚拟单元(vPC)2具有VDI知道的SIP软电话客户端20。该扩展的软电话客户端20具有在其中实现的SIP服务提供商(SIP SP)控制器21。在物理单元(pPC)1处,本机RDS客户端5(在此示例中为Citrix 接收器或CR)包括用于结合所谓的“无头SIP软电话”25来控制SIP SP控制器21的CR插件22,“无头SIP软电话”25本身在物理单元1中独立于CR插件22运行。“无头”SIP软电话25具有在其中实现的本地媒体控制器(LMC)26和SIP信令和媒体引擎(SIP SME)27。根据经由本地媒体I/O信道7来控制和利用用户侧处的本地设备8,在物理单元1处的LMC 26接受先前的本地设备控制器(图1中的6)的任务。此外,物理单元1处的SIP SME 27经由SIP信令信道28提供SIP信令,并且经由来自和到第三方14的RTP媒体信道29来提供RTP媒体数据传输的控制。
如今,有一种朝着基于Web的RDS和VDI客户端的趋势,例如Citrix的HTML5接收器。在这种环境中,浏览器中固有支持的新兴技术WebRTC应适用于在基于Web的应用中实现RTC。然而,如今如果浏览器正在VDI环境中,特别是跨越广域网运行,则WebRTC解决方案无法适当地工作并且会提供差的用户体验。此外,现有的启用了VDI的软电话解决方案总是需要针对每个供应商特定的VDI技术和协议的单独实现。
对于如IETF的整体分层协议架构以及如W3C的相应API的概述,也可以参考在后面更详细地描述的图9。应当注意,可以将该整体分层协议架构理解为基础的现有技术解决方案以及稍后描述的本发明的解决方案。
图3描绘了浏览器在远程桌面服务(例如基于XenApp)或虚拟PC(例如,基于XenDesktop)上运行的解决方案的概要,即本申请的意义上的虚拟单元2。物理单元1和虚拟单元2的关系和连接类似于图1的关系和连接。然而,在图3中假定的解决方案中,在物理单元(pPC)1上提供了web浏览器31,具有分配给在其中实现的本地设备API(LC API)33的本地设备控制器(LDC)32。在经由本地媒体I/O信道7在用户侧处控制和利用本地设备8方面,LCAPI 33接受了以前的本地设备控制器(图1中的参考号6)的任务。在这个解决方案中,使用在Web浏览器31中实现的WebRDS应用15(例如,用于HTML的Citrix接收器)来代替本机RDS客户端(图1和图2中的5)。应当注意,本说明书意义上的应用是在例如在web浏览器中运行的软件应用。此外,假定pPC硬件(HW)层34是在pPC操作系统(OS)4层下面的层上的物理单元1一侧处。
在虚拟单元2一侧,安装本身是VDI不知道的WebRTC应用35(例如,Unify的CircuitWeb App V1)。WebRTC应用35包括Web套接字(WS)客户端36。在虚拟单元(vPC)2处提供web浏览器41,具有分配给在其中实现的本地设备API(LD API)43的本地设备控制器(LDC)42。然而应当注意,由于WebRTC本身“认识”本地设备,LDC 42的媒体I/O信道44终止于vPC操作系统9级别。在vPC Web浏览器41中实现了分配给WebRTC API 46的WebRTC媒体引擎45和分配给WebSocket API 48的WebSocket栈 47。此外,假定vPC硬件(HW)层50是在vPC操作系统9层下面的层上的虚拟单元1一侧。
在该解决方案中,使WebSocket栈47能够与WebRTC服务器进行通信(例如,参见图6-图8中的WebRTC服务器90),其经由WebSocket信令信道49控制与第三方14的会话,而通过WebRTC媒体引擎45经由RTP媒体信道13根据RTP协议来传输媒体数据。在根据图3假定的解决方案中,如上可见,VDI不知道的基于WebRTC的应用35不得不像VDI环境中运行的软电话一样地解决类似的问题。不得不根据WebRTC定义使用标准化的W3C浏览器API的事实使得这种情况甚至更具挑战性,标准化的W3C浏览器API不是VDI知道的。
在过去,正如开头所说,已经实现了供应商特定的远程桌面协议(RDP)扩展,例如作为Citrix特定的变体的独立计算架构(ICA),以实现RDS/VDI环境中的优化的实时通信。此选项在WebRTC应用的上下文中不适用,因为无法将本地设备控制从虚拟单元2的LD API43传达到物理单元1一侧。然而,即使W3C本地设备API将来会提供这样的选项,将ICA信道用于解码的WebRTC有效载荷数据也是不期望的,因为它是供应商特定的并且会导致QoS问题,如上所述。
WebRTC标准提供了例如为共享文件,玩游戏等而通信的RTC方之间的安全的端到端数据信道,并且不知道RDS/VDI环境。
发明内容
本发明的目的是提供一种控制远程或虚拟桌面环境的物理侧上的可访问浏览器功能的方法,比如实时数据处理,这能够减轻如上所述的现有技术的缺点。特别地,本发明的目的是提供这样一种方法,其有助于在诸如没有VDI供应商特定的实现的VDI环境之类的虚拟桌面环境中,或者在像诸如RDS之类的远程桌面环境的类似环境中直接和立即使用WebRTC。本发明的目的还提供一种软件产品和服务器,它们分别具有与解决至少一个前述问题的方法相同的优点。
通过独立权利要求的特征,至少部分地解决了本发明的前述的一个或多个目的。在从属权利要求中阐述了本发明的有利实施例和进一步的展开。
本发明的一个方面是一种在远程或虚拟桌面环境的物理侧上控制可访问浏览器功能的方法。
该方法包括以下步骤:
-在所述物理侧上的用户的物理单元和远程或虚拟侧上与所述用户相关联的虚拟单元之间建立虚拟桌面基础设施;
- 在物理单元上运行第一Web浏览器,并且在该虚拟单元上运行第二Web浏览器;
- 分别在运行在物理单元和虚拟单元处的所述第一和第二web浏览器之间建立WebRTC数据信道;和
- 利用在物理单元和虚拟单元之间建立的所述WebRTC数据信道,由所述虚拟单元远程地控制在物理单元处运行的所述第一web浏览器的所述浏览器功能。
应当理解,由于任何控制都是在浏览器级别上完成的,因此它独立于任何操作系统(OS)。可以将远程桌面环境特别地体现为远程桌面服务(RDS)环境,并且可以将虚拟桌面环境特别地体现为虚拟桌面基础设施(VDI)环境,然而不应将其解释为在这方面限制本发明。
在一个优选实施例中,所述浏览器功能涉及在物理单元处远程进行实时数据处理。在本发明意义上的实时数据可以是通过能够实现或专用于实时数据通信,特别是有效载荷通信的协议或信道来传递或可传递的任何数据。特别地,实时(有效载荷)数据可以包括诸如音频、视频、语音等之类的媒体数据、交易数据、游戏数据、控制数据等。
在一个优选实施例中,所述浏览器功能借助于在第一web浏览器处实现的第一API来控制,其中,所述第一API是以下至少之一:
第一本地设备API,其利用在物理单元和虚拟单元之间建立的所述WebRTC数据信道来调用物理单元的设备的媒体捕获或重放的能力,和RTC对等体连接API,其利用在物理单元与虚拟单元之间建立的所述WebRTC数据信道来调用相应的WebRTC协议,以建立从物理单元到代表虚拟单元的第三方的实时数据连接。
上面的媒体捕获功能可以涉及麦克风和/或摄像头,而媒体重放功能可以涉及声卡或显卡。应当注意,将在本发明的上下文中提及的任何API理解成由W3C标准化的意义,而将WebRTC协议理解成由IETF标准化的意义,然而这不应在任何方面限制本发明。在这个意义上,对等体连接API是W3C的WebRTC API。
在一个优选实施例中,在第一WebRTC媒体引擎和第二WebRTC媒体引擎之间建立所述WebRTC数据信道,已启用第一WebRTC媒体引擎并将其分配给在物理单元处运行的所述第一web浏览器中实现的第一数据信道API,已启用第二WebRTC媒体引擎并将其分配给在虚拟单元处运行的所述第二web浏览器中实现的第二数据信道API。将本发明意义上的媒体引擎理解为软件单元(比如固有功能、附件、插件等),其提供媒体流编码和解码能力,特别是提供浏览器,即分别第一和第二web浏览器的媒体流编码和解码能力。同样,第一和第二数据信道API分别是如W3C的WebRTC API。
在另一优选实施例中,所述WebRTC浏览器功能包括控制第一本地设备控制器以用于捕获或重放向第三方递送或接收的端到端实时数据,实现所述本地设备控制器并将其分配给在物理单元处运行的所述第一web浏览器中启用的第一本地设备API。
在另一优选实施例中,在物理单元中实现的WebRDS应用中实现无头WebRTC扩展。在物理单元处运行的所述第一web浏览器中特别地实现WebRDS应用。无头WebRTC扩展可以包括可以与第一数据信道API协作以用于终止由数据信道客户端建立的数据信道的数据信道服务器,将第一数据信道API分配给在物理单元处运行的所述第一web浏览器中启用的所述第一WebRTC媒体引擎。特别地,可以下载无头WebRTC扩展的JavaScript代码,其可以作为Web Worker来运行。该方法可以包括将WebRDS应用从WebRDS服务器下载到在所述物理单元处运行的所述第一web浏览器的步骤,其中,所述WebRDS应用包括所述无头WebRTC扩展。替代地,独立于所述WebRDS应用,在所述第一web浏览器中实现所述无头WebRTC扩展。
在另一个优选实施例中,在虚拟单元中实现VDI知道的WebRTC应用。特别地,在虚拟单元处运行的所述第二web浏览器中实现VDI知道的WebRTC应用。VDI知道的WebRTC应用可以包括可以与WebSocket栈协作的WebSocket客户端,已实现WebSocket栈并将其分配给在虚拟单元中运行的所述第二web浏览器中启用的WebSocket API。该方法可以包括通过所述WebSocket栈经由WebRTC服务器来建立与第三方的WebSocket信令信道,其中,所述第三方可以是实时数据,特别是RTP媒体数据的源和/或池。VDI知道的WebRTC应用还可以包括可以与第二数据信道API协作的数据信道客户端,已将第二数据信道API分配给在虚拟单元处运行的所述第二web浏览器中启用的所述第二WebRTC媒体引擎。该方法可以包括将所述WebRTC应用从远程WebRTC服务器下载到在所述虚拟单元处运行的所述第二web浏览器的步骤。
在另一个优选实施例中,该方法包括通过在所述物理单元处运行的所述第一web浏览器中实现的所述第一WebRTC媒体引擎与远程方交换实时数据。可以以安全的方式来交换所述实时数据,例如经由SRTP。
本发明为具有WebRTC能力的浏览器应用提供了解决方案。该解决方案与VDI供应商技术无关,并且仅依靠协作浏览器或VDI供应商来提供本说明书提出的扩展替代。
根据本发明,与也将VDI信道用于媒体传送相反,在物理单元处终止媒体消除了附加的媒体中继(和相应的延迟),并且促进如普通的非VDI环境中的媒体流的通常的服务质量(QoS)支持。因此,无论WebRTC应用运行在VDI还是常规环境中,它都提供类似的用户体验。
本发明公开了独立于使用的VDI技术和协议的这些API的安全的远程控制。
它支持所有已知的使用场景,并且可以在包括普遍存在的设备的任何设备上执行。
本发明的另一方面是一种服务器,其被配置为当将其经由网络连接时将虚拟桌面单元提供给用户的物理单元,具有运行在所述虚拟桌面单元处的web浏览器和在所述web浏览器和在所述物理单元处运行的另一web浏览器之间建立的WebRTC数据信道,以及利用所述WebRTC数据信道来控制在所述物理单元处运行的所述另一web浏览器的可访问浏览器功能。换句话说,优选地,将所述服务器适配成执行本发明的第一方面的方法。将服务器理解为向所述用户提供所述虚拟桌面单元或者特别是向多个会话中的多个用户提供所述虚拟桌面单元的硬件单元,并且所述网络可以是LAN、MAN或WAN。适配可以通过编程(软件)或构造(硬件)来完成。由于将这方面的服务器适配成执行前一方面的方法,所以该设备提供了该方法提供的任何优点。应当理解,这方面的另一web浏览器对应于前一方面的第一web浏览器,并且这方面的web浏览器对应于前一方面的第二web浏览器。
本发明的另一方面是一种软件产品,其用于从这类环境的虚拟侧远程地来控制远程桌面或虚拟桌面环境的物理侧上的可访问浏览器功能,所述软件产品存储在计算机可读介质上,优选为可直接加载到计算机的内部存储器中,并且包括用于当所述计算机执行所述软件产品时执行第一方面的方法的步骤的程序代码。可以将所述计算机配置为由用户操作的物理单元,和向所述物理单元提供虚拟桌面服务的虚拟单元,所述物理单元和所述虚拟单元经由网络连接。所述物理单元优选地包括电话、移动电话、智能电话、PDA、台式计算机、便携式计算机、平板计算机等或者由它们来体现或者包含在它们中,并且可以将所述物理单元配置为操作为胖客户端、瘦客户端或零占用空间(footprint)客户端。所述虚拟单元优选地由服务器实例提供,优选地由单个服务器、数据中心或在分布式场所具有多个硬件服务器的云来表示。应当注意,可以将程序代码适配成改变或扩展存在于所述计算机上的软件。由于这方面的软件产品包括用于执行第一方面的方法的步骤的程序代码,所以该设备提供了该方法提供的任何优点。特别地,程序代码可以是操作系统、浏览器软件、诸如服务器应用、客户端应用、移动应用之类的应用软件、电信软件、路由软件、应用、插件或扩展、更新包或服务包的代码,并且可以包含在安装包中。
本发明还可以由用于控制远程桌面或虚拟桌面环境中的物理侧上的可访问浏览器功能的计算机程序来体现,所述计算机程序包括当所述计算机和数字数据载体加载或执行所述计算机程序时致使计算机执行前述方法的步骤的指令,数字数据载体具有设计成用可编程计算机操作来控制远程桌面或虚拟桌面环境中的物理侧上的可访问浏览器功能的电可读控制信号,将所述控制信号设计和适配成致使计算机执行前述方法的步骤。在此,计算机还可以由本发明所述方面的设备、通信设备、诸如协作服务器、呼叫管理服务器、会议服务器等之类的服务器、个人计算机等来体现。
本发明的其他特征、目的、优点和细节将从本发明的具体实施例的以下描述和附图中的相应图示变得更加明显。显然,具体实施例的特征、对象、优点和细节,其变化和修改经过必要的修改适用于其他实施例、变化和修改,除非这样的应用显然违反技术约束或自然规律。实施例可以彼此组合,并且可以假定一个实施例与另一个实施例的作为整体或按照其单个特征的任何组合构成本发明的实施例。
附图说明
接下来,参考具体实施例并且参考附图来描述本发明,其中:
图1是示出根据本发明的一般示例性实施例的根据现有技术的软电话解决方案的一般VDI基础设施的框图;
图2是示出在如图1中所示的这种环境中支持RTC的现有扩展的框图;
图3是示出浏览器运行在远程桌面或虚拟PC上的解决方案的概要的框图;
图4是示出在初始化阶段中根据本发明的示例性实施例的虚拟桌面基础设施(VDI)实现的设置的框图;
图5是示出在会话阶段中根据本发明的示例性实施例的虚拟桌面基础设施(VDI)实现的设置的框图;
图6是根据本发明的示例性实施例的方法的前序部分的序列图;
图7是根据本发明的示例性实施例的方法的替代的前序部分的序列图;和
图8是根据本发明的示例性实施例的建立该方法的一部分的会话的序列图。
图9是示出如IETF和W3C的标准化WebRTC栈的一般协议分层和相关API概述的框图。
具体实施方式
现在,将参照附图在本发明的优选的示例性实施例中详细描述本发明。然而,应当注意,附图仅仅是示意性的,而不一定按比例绘制。附图和描述是为了说明本发明的基本原理,而不是以任何方式限制本发明。本发明仅由所附权利要求限制。
现在参考图4到图8来描述根据本发明的示例性实施例的虚拟桌面基础设施(VDI)实现。在此,图4是初始化阶段中的VDI设置的框图,以及图5是会话阶段中的VDI设置的框图。另外,图6是使用WebRTC在VDI环境中实现实时媒体数据处理的方法的前序部分的序列图,图7是使用WebRTC在VDI环境中实现实时媒体数据处理的该方法的替代前序部分的序列图,而图8是建立使用WebRTC在VDI环境中实现实时媒体数据处理的方法的一部分的会话的序列图,所述会话是两个用户之间的会话,其中,第一用户正在通过物理单元使用虚拟单元,而第二用户是任何第三方。任何用户可以是人类用户或服务,并且本发明还涵盖了机器与机器的通信,人与人之间的通信以及人与机器的通信。
本发明的呈现的示例性实施例的VDI实现类似于上述图3中所假定的,因此在下文中省略或简单重复已经在图3的上下文中介绍的元件的描述。
在该示例性实施例中,物理单元(vPC)1和虚拟单元(vPC)2经由可以是WAN、MAN或LAN的网络3连接。物理单元1运行有在逻辑上位于pPC硬件(HW)层34上的pPC操作系统4(例如Windows),并且虚拟单元2运行或仿真运行有在逻辑上位于vPC硬件(HW)层50上的vPC操作系统9(例如,又是Windows)。在物理单元(pPC)1上提供了web浏览器31,其具有分配给其中实现的本地设备API(LC API)33的本地设备控制器(LDC)32 ,用于在会话阶段经由本地媒体I/O信道7在用户侧控制本地媒体8(参见图5)。类似地,在虚拟单元(vPC)2上提供了web浏览器41,其具有分配给其中实现的本地设备API(LC API)43的本地设备控制器(LDC)42。在物理单元1处实现了RDS客户端(WebRDS App)15,并且在虚拟单元2处实现了WebRTC App65。物理单元1处的WebRDS App 15可以例如是Citrix的用于HTML的Citrix接收器,并且虚拟单元2一侧处的WebRTC App 65可以例如是Unify的Circuit Web App的版本。
在该示例性实施例的VDI实现中,在物理单元1一侧,在pPC web浏览器31中实现了WebRTC媒体引擎(ME)51,已将WebRTC媒体引擎(ME)51分配给对等体连接(PC)API 52和数据信道(DC)API 53。此外,在物理单元1一侧,在WebRDS App 15中实现了无头WebRTC扩展(HWE)54。下载HWE 54的作为WebWorker运行的JavaScript(JS)。在HWE 54中实现了数据信道(DC)服务器55。
在虚拟单元2一侧,WebRTC App 65是VDI知道的,并且包括WebSocket(WS)客户端36和数据信道(DC)客户端67。在虚拟单元(vPC)2处提供的vPC web浏览器41还具有在其中实现的WebRTC媒体引擎45,已将WebRTC媒体引擎45分配给对等体连接(PC)API 62和数据信道(DC)API 63。如在图5进一步可见,vPC浏览器41包括分配给WebSocket API 48的WebSocket栈47,然而由于它们在图4所示的初始化阶段中没有功能而在图4中省略了它们。
最后,要注意的是,WebRDS App 15正在pPC浏览器31上运行,而为了便于说明而将WebRDS App 15提取出来显示,并且同样,WebRTC App 65正在vPC浏览器41上运行。可以将两个应用15、65理解为在它们各自的浏览器31、41的浏览器窗口中显示的标签。
在图4中所示的初始化阶段中,物理单元1的RDS客户端(WebRDS App)15经由作为Citix提升的VDI协议的ICA与虚拟PC(vPC)2进行通信。为此,在pPC RDS客户端15中实现了ICA EP 16,并且在vPC硬件(HW)层50的级别的虚拟单元2处实现了另一个ICA EP 17,并且在两侧的ICA EP 16、17之间建立了ICA信道18。此外,在虚拟单元2一侧处的VDI知道的WebRTC App65的DC客户端67与在物理单元1一侧处的WebRDS App 15中实现的HWE 54的DC服务器55之间建立了WebRTC数据信道68。分别经由在物理单元1和虚拟单元2两侧处的分别的web浏览器31、41的每个WebRTC媒体引擎51、45,将WebRTC数据信道68分别引导通过DCAPI 53、63。
在图5中所示的会话阶段中,启用WebSocket栈47经由WebSocket信令信道49与第三方14通信。在本发明的这个示例性实施例中,通过WebRTC媒体引擎51,经由直接地在物理单元1和第三方14之间的SRTP媒体信道70根据SRTP协议传输用于音频和视频的媒体数据。
Citrix解决方案基于在用户侧处的物理单元(pPC)1上运行的本机RDS客户端15。在pPC web浏览器31中实现的本地设备控制器(LDC)32经由本地媒体I/O信道7控制用户侧处的本地媒体8。应当记住,在此处基于SIP的,运行在根据图1的现有技术的vPC 2上的软电话客户端10相对于RTC而言没有访问pPC1的物理设备8,但是,在此可以将ICA信道18用于将RTC有效载荷数据“隧道传输”到物理单位1以使它们可用。然而,在这种有效载荷隧道传输中可能会有大量延迟和质量损失。随着物理单元1和托管虚拟单元2的服务器之间的距离增加,这些问题可能变得糟糕。
根据图4,WebRDS App 15在pPC(物理单元)1处的浏览器31中运行,该pPC(物理单元)1继而包括WebRTC媒体引擎51。本发明的概念是将这个代表一个的WebRTC媒体引擎51利用为在vPC(虚拟单元)2处的浏览器41的一部分。
对于本地设备API 43,如W3C的对等体连接API 62和数据信道API 63,如果在VDI环境中执行使用WebRTC的web应用,则只执行数据信道API 63并且在虚拟PC(虚拟单元)2上有效果,而本地设备API 43和对等体连接API 62在虚拟单元2上没有效果。
图5图示了在会话阶段中根据本发明的用于WebRTC和WebRDS应用的整体VDI基础设施。因此,在物理单元1处运行WebRDS应用15的浏览器31经由pPC 1处的HWE 54用于针对本地设备(LD)、数据信道(DC)和对等体连接(PC)分别控制API 33、53、52。DC与受到虚拟单元2处的VDI知道的WebRTC应用65控制的DC通信。VDI知道的WebRTC应用65通过在pPC 1 处的HWE 54经由数据信道68远程地控制LD和PC API 33、52,而不是在vPC 2处控制LD和PCAPI 43、62以实现想要的技术效果。
图6是根据本发明的示例性实施例的方法的前序部分的序列图。作为在图6中所示方法的前序部分的先决条件,协作的浏览器供应商分发了浏览器特定的“无头”WebRTC扩展(HWE)54,其支持由W3C标准化的WebRTC API的远程控制,比如图4和图5中的PC API 52、DCAPI 53。
当用户给他/她的物理PC或单元(pPC)1通电时,启动了具有HWE 54的本地操作系统4和启用了WebRTC的浏览器31。
当用户在vPC或虚拟单元2处登录以访问他/她的远程桌面时(步骤S610),将WebRDS应用15从WebRDS服务器80下载到在pPC 1处的浏览器31(步骤S620),例如,将其下载作为浏览器31中的新标签,并且在该应用和WebRDS前端之间建立了VDI信道(ICA信道18)。该ICA信道18通常用于在pPC 1的物理设备和vPC 2的虚拟设备之间传达人机交互。
一旦用户点击在pPC 1的镜像屏幕处呈现的WebRTC应用图标(步骤S630),就启动从WebRTC服务器90下载VDI知道的WebRTC App 65(S640),并且通常需要来自用户的另一个认证(S650)。
一旦用户得到认证,为了本发明的目的,在VPc 2处的VDI知道的WebRTC应用65就安全地建立朝向在pPC 1处的浏览器31中运行的HWE 54的数据信道68(步骤S670)。
一旦建立了WebRTC数据信道68,在pPC 1侧处的HWE 54就可以由vPC 2处的VDI知道的WebRTC应用65进行远程控制。现在,HWE 54准备好发起或终止针对代表vPC 2的WebRTC会话的媒体信道。
图8图示如本发明中公开的与媒体信道的WebRTC会话的建立。在本示例中,假定会话双方使用与本说明书中提出的相似的即本发明的VDI环境。在图8中,第一方的实例由简单的附图标记指示,而第二方的实例由带星号的附图标记(后缀“*”)指示。假定WebRDS服务器80和WebRTC服务器90由共享资源表示。WebRDS服务器80和WebRTC服务器90可以可选地是分布式的实例。
作为示例,用户点击WebRTC应用65的“发起会话”按钮,其通过VDI信道18从vPC 2呈现。继而,VDI知道的WebRTC应用65与运行WebRTC前端服务的WebRTC服务器90进行通信。如果被叫方在线,即启动WebRTC应用65*并且用户已登录,则WebRTC前端(服务器90)可以将会话路由朝向被叫用户。虽然它在常规WebRTC环境中与对等体用户起作用相同,但图8也示出了在VDI环境中的被叫用户。
一旦被叫用户接受会话,WebRTC会话就建立起来。经由维持会话的WebRTC前端(服务器90)将其指向VDI知道的WebRTC应用65。这个应用65启动远程控制麦克风、摄像头或屏幕的媒体捕获,并且经由pPC 1处的本地设备API,经由扬声器和显示器来远程控制媒体重放。
此外,经由W3C对等体连接API发起与会话协议协商的(一个或多个)媒体频道70的建立。如在本发明中所公开的,经由WebRTC数据信道68来控制两个协议。
图7是本发明方法的替代前序部分的序列图。在此,例如如果浏览器供应商不愿意支持HWE 54作为浏览器分发的一部分,则下载WebWorker 54a,即在没有UI交互情况下的单独线程中运行的JavaScript代码,并将其作为WebRDS应用15的一部分启动(步骤S720)。这需要与VDI供应商合作,将HWE等效体54a的基于JavaScript的实现提供为WebRDS应用15的一部分。如果需要WebRTC支持,则基于每个用户启用此选项取决于该WebRDS环境的运营商。
本发明以高度期望的方式解决了技术问题。通信对等体直接与用户正在有效使用的pPC关于媒体流来传递。也就是说,IP地址是来自媒体源和池的PC,而不是来自中继实体。由于VDI知道的程序最终流入常规WebRTC媒体引擎的常规程序,因此该解决方案是WebRTC媒体引擎的扩展的未来证据。例如。旨在将HTML5浏览器的通信对等体与认证服务进行交叉认证以彼此信任。由于WebRTC媒体引擎运行在PC上运行的这样的浏览器中,所以用户正在操作时在信任关系中没有中断。
作为本发明的重要扩展,出于安全原因,优选地在WebRTC应用用户的用户认证之后,WebRTC数据信道总是从vPC建立到pPC。在用户认证的过程中,可以通过WebRTC数据信道建立请求获得安全令牌(例如OAuth2.0认证令牌)并将其进行传达。在接受到进入的WebRTC数据信道之前,可以由发行机构(例如OAuth2.0认证服务器)通过pPC对认证令牌进行预先评估。
作为使用物理PC(也称为胖客户端)的替代方案,还可以将本发明应用于将WebRDS应用作为默认应用启动的瘦客户端,例如,浏览器也是桌面应用的基于浏览器的操作系统和作为起始页面的WebRDS前端URL。
胖或瘦客户端的另一种替代方案可能是零占用空间客户端。与至少基于浏览器的操作系统必须安装在设备上的瘦客户端相反,零占用空间客户端引导来自网络的完整软件(SW)图像。
作为参考,在图9中示出了如IETF和W3C的标准化WebRTC栈的一般协议分层和相关API概述,用作本发明以及现有技术中的基础架构。
如在图9中所示,W3C定义了多个WebRTC API,并且IETF定义了多个WebRTC协议栈。每个WebRTC API都分配有正下方显示的元素。
图4和图5中的对等体连接API(PC API)52、62所指的RTC对等体连接(PC)API用于触发或终止朝向第三方的媒体信道。图3到图5中的本地设备API(LD API)33,43所指的设备(LD)API用于从或经由相应的本地设备捕获或重放媒体。数据信道(DC)API由图4和图5中的数据信道API(DC API)53、65所指。为了本发明的目的,数据信道(DC)API不是朝向第三方建立的,而是在虚拟单元1的第一web浏览器31朝向物理单元2的第二web浏览器41之间建立的,用于代表相关的RDS和VDI环境中的对应虚拟单元API远程地控制在物理单元1处的所述PC API 52和LD API 33。图3和图5中的WebSocket API(WS API)48所指的WebSocket(WS)API只是为了完整性而示出,并且用于在WebRTC服务器和WebRTC App之间传达非标准化信令,它如根据本发明(图5)是VDI知道的或者如现有技术(图3)中一样是非VDI知道的。图3到图5中的WebRTC媒体引擎45、51所指的媒体引擎被提供用于分配给LD API的语音、视频和数据流的编码和解码。
参照示例性实施例如上所述的本发明的具体特征也可以在其他实施例、变型或修改中实现,除非这些实现强加了其自己的禁令。
应当注意,本发明不仅适用于虚拟桌面,而且还适用于远程桌面环境。换句话说,虚拟单元或虚拟桌面单元也可以包括远程桌面单元。
描述了将WebRTC数据信道用于控制在传送诸如媒体数据以及其他之类的实时数据的上下文中的浏览器功能。然而,利用所述WebRTC数据信道,也可以将文件或其他非实时关键内容从物理单元传输到虚拟单元。
Claims (26)
1.一种控制远程或虚拟桌面环境的物理侧的可访问浏览器功能的方法,所述方法包括以下步骤:
- 在所述物理侧上的用户的物理单元(1)和在虚拟或远程侧上分配给所述用户的虚拟单元(2)之间建立虚拟桌面基础设施;
- 在所述物理单元(1)处运行第一web浏览器(31),并且在所述虚拟单元(2)处运行第二web浏览器(41);
- 分别在运行在所述物理单元(1)和所述虚拟单元(2)处的所述第一和第二web浏览器(41)之间建立WebRTC数据信道(68);和
-利用在所述物理单元(1)和所述虚拟单元(2)之间建立的所述WebRTC数据信道(68),通过所述虚拟单元(2)来远程地控制在所述物理单元(1)处运行的所述第一web浏览器(31)的所述浏览器功能;
其中,所述浏览器功能借助于在所述第一web浏览器(31)处实现的第一API来控制,其中,所述第一API是以下中的至少一个:
- 第一本地设备API(33),所述第一本地设备API(33)利用在所述物理单元(1)和所述虚拟单元(2)之间建立的所述WebRTC数据信道(68)来调用所述物理单元(1)的设备的媒体捕获或重放能力;和
- RTC对等体连接API(33),所述RTC对等体连接API(33)利用在所述物理单元(1)和所述虚拟单元(2)之间建立的所述WebRTC数据信道(68)来调用相应的WebRTC协议,所述相应的WebRTC协议建立从所述物理单元(1)到代表所述虚拟单元(2)的第三方(14)的实时数据连接。
2.根据权利要求1所述的方法,其中,所述浏览器功能涉及在所述物理单元(1 )处远程的实时数据处理。
3.根据前述权利要求中任一项所述的方法,其中,在第一WebRTC媒体引擎(51)和第二WebRTC媒体引擎(45)之间建立所述WebRTC数据信道(68),启用所述第一WebRTC媒体引擎(51)并将其分配给在所述物理单元(1)处运行的所述第一web浏览器(31)中实现的第一数据信道API(53),启用所述第二WebRTC媒体引擎(45)并将其分配给在所述虚拟单元(2)处运行的所述第二web浏览器(41)中实现的第二数据信道API(63)。
4.根据权利要求1所述的方法,其中,所述浏览器功能包括控制第一本地设备控制器(32)以用于捕获或重放朝向第三方(14)递送或接收的端到端实时数据,实现所述第一本地设备控制器(32)并将其分配给在所述物理单元(1)处运行的所述第一web浏览器(31)中启用的第一本地设备API(33)。
5.根据权利要求1所述的方法,其中,在所述物理单元(1)中实现的WebRDS应用(15)中实现无头WebRTC扩展(54)。
6.根据权利要求1所述的方法,其中无头WebRTC扩展(54)在所述第一web浏览器(31)中实现。
7.根据权利要求5或6所述的方法,其中所述无头WebRTC扩展(54)包括数据信道服务器(55)。
8.根据权利要求7所述的方法,其中所述数据信道服务器(55)与第一数据信道API(53)协作,将所述第一数据信道API(53)分配给在所述物理单元(1)处运行的所述第一web浏览器(31)中启用的第一WebRTC媒体引擎(51)。
9.根据权利要求5或6所述的方法,其中,下载所述无头WebRTC扩展(54)的JavaScript代码。
10.根据权利要求9所述的方法,其中将所述JavaScript代码运行为Web Worker。
11.根据权利要求5所述的方法,还包括将所述WebRDS应用(15)从远程WebRDS服务器(80)下载到在所述物理单元(1)处运行的所述第一web浏览器(31)的步骤,所述WebRDS应用(15)包括所述无头WebRTC扩展(54)。
12.根据权利要求5所述的方法,其中,独立于所述WebRDS应用(15)在所述第一web浏览器(31 )中实现所述无头WebRTC扩展(54)。
13.根据权利要求1所述的方法,其中,在所述虚拟单元(2)中实现VDI知道的WebRTC应用(65)。
14.根据权利要求1所述的方法,其中,在所述虚拟单元(2)处运行的所述第二web浏览器(41)中实现VDI知道的WebRTC应用(65)。
15.根据权利要求13或14所述的方法,其中,所述VDI知道的WebRTC应用(65)包括WebSocket客户端(30)。
16.根据权利要求15所述的方法,其中所述WebSocket客户端(30)与WebSocket栈(47)协作,其被实现在并将其分配给在所述虚拟单元(2)处运行的所述第二web浏览器(41)中启用的WebSocket API(48)。
17.根据权利要求13或14所述的方法,还包括通过WebSocket栈(47)经由WebRTC服务器(90)与第三方(14)建立WebSocket信令信道(49)。
18.根据权利要求17所述的方法,其中所述WebSocket栈(47)与所述VDI知道的WebRTC应用(65)的WebSocket客户端(30)协作。
19.根据权利要求17所述的方法,其中所述第三方(14)是实时数据的源和/或池。
20.根据权利要求19所述的方法,其中,所述实时数据是RTP媒体数据。
21.根据权利要求13所述的方法,其中,所述VDI知道的WebRTC应用(65)包括数据信道客户端(67)。
22.根据权利要求21所述的方法,其中所述数据信道客户端(67)与第二数据信道API(63)协作,将所述第二数据信道API分配给在所述虚拟单元(2)处运行的所述第二web浏览器 (41)中启用的第二WebRTC媒体引擎(45)。
23.根据权利要求21所述的方法,其中,所述方法包括将所述数据信道客户端(67)从远程WebRTC服务器(90)下载到在所述虚拟单元(2)处运行的所述第二web浏览器(41)的步骤。
24.根据权利要求1所述的方法,还包括通过在所述物理单元(1)处运行的所述第一web浏览器(31)中实现的第一WebRTC媒体引擎(51)与远程方(14)交换实时数据。
25.一种服务器,所述服务器被配置为当经由网络将其连接时将虚拟桌面单元(2)提供给物理单元(1),所述服务器具有在所述虚拟桌面单元(2)处运行的web浏览器(41)和在所述web浏览器(41)和在所述物理单元(1)处运行的另一web浏览器(31)之间建立的WebRTC数据信道(68),并且利用所述WebRTC数据信道(68)来控制在所述物理单元(1)处运行的所述另一web浏览器(31)的可访问浏览器功能;
其中所述服务器适于执行权利要求1-24中任一项的方法。
26.一种计算机可读介质,在其上存储有指令,当指令被执行时导致计算机设备执行权利要求1至24中任一项所述的方法的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102015005815.0 | 2015-05-06 | ||
DE102015005815 | 2015-05-06 | ||
PCT/EP2016/059788 WO2016177678A1 (en) | 2015-05-06 | 2016-05-02 | Method, server and software product for controlling physical-side browser functions of remote desktop or virtual desktop environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107580771A CN107580771A (zh) | 2018-01-12 |
CN107580771B true CN107580771B (zh) | 2021-04-09 |
Family
ID=56026806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680026236.XA Expired - Fee Related CN107580771B (zh) | 2015-05-06 | 2016-05-02 | 用于控制物理侧浏览器功能的方法和服务器 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10546037B2 (zh) |
EP (1) | EP3292681B1 (zh) |
CN (1) | CN107580771B (zh) |
WO (1) | WO2016177678A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101742258B1 (ko) * | 2016-02-29 | 2017-05-31 | 경희대학교 산학협력단 | 웹 기반 가상 데스크탑 프로토콜을 이용한 컨텐츠 제공 방법 및 장치 |
US10855755B2 (en) * | 2018-05-04 | 2020-12-01 | Citrix Systems, Inc. | WebRTC API redirection with fallbacks |
US10887354B2 (en) * | 2018-05-17 | 2021-01-05 | Vmware, Inc. | Media optimization of browser-based real-time communications applications in a virtual desktop environment |
US10558824B1 (en) | 2019-02-04 | 2020-02-11 | S2 Systems Corporation | Application remoting using network vector rendering |
US10552639B1 (en) | 2019-02-04 | 2020-02-04 | S2 Systems Corporation | Local isolator application with cohesive application-isolation interface |
US11880422B2 (en) | 2019-02-04 | 2024-01-23 | Cloudflare, Inc. | Theft prevention for sensitive information |
US10452868B1 (en) | 2019-02-04 | 2019-10-22 | S2 Systems Corporation | Web browser remoting using network vector rendering |
US11032157B2 (en) * | 2019-05-16 | 2021-06-08 | Microsoft Technology Licensing, Llc | Adaptable real-time communications plugin for virtual desktop infrastructure solutions |
CN110535871B (zh) * | 2019-09-09 | 2022-04-19 | 焦点教育科技有限公司 | 一种基于WebRTC的课堂实时视频投影方法及系统 |
CN111080766B (zh) * | 2019-12-30 | 2023-09-01 | 中科星图股份有限公司 | 一种基于WebGL的GPU加速海量目标高效渲染方法 |
US11184408B2 (en) * | 2020-01-17 | 2021-11-23 | Google Llc | Voice calling with a connected device |
CN111880946B (zh) * | 2020-07-14 | 2024-04-19 | 杭州海康威视数字技术股份有限公司 | 本地服务提供方法、装置及设备、存储介质 |
CN112565234B (zh) * | 2020-11-30 | 2022-10-14 | 武汉烽火众智数字技术有限责任公司 | 基于WebRTC的跨网传输系统及方法 |
CN112601043A (zh) * | 2020-12-07 | 2021-04-02 | 焦点科技股份有限公司 | 一种基于webRTC进行远程桌面控制的方法 |
CN115589399B (zh) * | 2022-10-11 | 2023-06-27 | 北京太格时代电气股份有限公司 | 变电所辅助监控视频远程播放方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243520A (zh) * | 2013-06-18 | 2014-12-24 | 华为终端有限公司 | 远程监控方法及装置、系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150039998A1 (en) * | 2013-07-31 | 2015-02-05 | Clearslide, Inc. | Screen sharing using scripting computer language code directly executable by web browser |
US8370510B2 (en) * | 2009-12-18 | 2013-02-05 | Microsoft Corporation | Remote application presentation over a public network connection |
US9535560B1 (en) * | 2010-12-10 | 2017-01-03 | Wyse Technology L.L.C. | Methods and systems for facilitating a remote desktop session for a web browser and a remote desktop server |
US8589800B2 (en) * | 2010-12-10 | 2013-11-19 | Wyse Technology Inc. | Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via HTTP API utilizing a transcoding server |
US20120214682A1 (en) | 2011-01-28 | 2012-08-23 | Bigwood Douglas W | Microrna signatures indicative of immunomodulating therapy for multiple sclerosis |
US20150039760A1 (en) * | 2013-07-31 | 2015-02-05 | Avaya Inc. | Remotely controlling web real-time communications (webrtc) client functionality via webrtc data channels, and related methods, systems, and computer-readable media |
WO2015021650A1 (zh) * | 2013-08-16 | 2015-02-19 | 华为技术有限公司 | 媒体流的传输方法、装置与系统 |
US9749363B2 (en) * | 2014-04-17 | 2017-08-29 | Avaya Inc. | Application of enterprise policies to web real-time communications (WebRTC) interactive sessions using an enterprise session initiation protocol (SIP) engine, and related methods, systems, and computer-readable media |
FR3023093A1 (fr) * | 2014-06-30 | 2016-01-01 | Orange | Procede d'autorisation d'etablissement d'un flux pair a pair dans un reseau de telecommunications mobile |
JP5799399B1 (ja) * | 2014-08-01 | 2015-10-28 | 株式会社応用電子 | 仮想通信システム |
-
2016
- 2016-05-02 US US15/571,366 patent/US10546037B2/en not_active Expired - Fee Related
- 2016-05-02 WO PCT/EP2016/059788 patent/WO2016177678A1/en active Application Filing
- 2016-05-02 CN CN201680026236.XA patent/CN107580771B/zh not_active Expired - Fee Related
- 2016-05-02 EP EP16723959.9A patent/EP3292681B1/en active Active
-
2019
- 2019-11-25 US US16/694,094 patent/US11354374B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243520A (zh) * | 2013-06-18 | 2014-12-24 | 华为终端有限公司 | 远程监控方法及装置、系统 |
Also Published As
Publication number | Publication date |
---|---|
US20190155861A1 (en) | 2019-05-23 |
EP3292681A1 (en) | 2018-03-14 |
WO2016177678A1 (en) | 2016-11-10 |
CN107580771A (zh) | 2018-01-12 |
US10546037B2 (en) | 2020-01-28 |
US20200117693A1 (en) | 2020-04-16 |
EP3292681B1 (en) | 2022-07-06 |
US11354374B2 (en) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107580771B (zh) | 用于控制物理侧浏览器功能的方法和服务器 | |
US11108570B2 (en) | Method and apparatus for multimedia communication, and storage medium | |
US10887354B2 (en) | Media optimization of browser-based real-time communications applications in a virtual desktop environment | |
US11700137B2 (en) | Collaborative access to virtual desktops | |
US11425113B2 (en) | System and method for using a proxy to communicate between secure and unsecure devices | |
EP2854376B1 (en) | Transmission method, device and system for media stream | |
US9794201B2 (en) | Messaging based signaling for communications sessions | |
US8972485B1 (en) | Distributing execution of applications between a local client system and a remote virtual environment | |
US9055139B1 (en) | Display protocol interception in the network for services and network-based multimedia support for VDI | |
US9762643B2 (en) | Providing hosted virtual desktop infrastructure services | |
US10999405B2 (en) | Method for processing access requests and web browser | |
CN106031122B (zh) | 一般代码转换服务 | |
US11412013B2 (en) | System and method for implementing video soft phone applications | |
US10812598B2 (en) | Unified, browser-based enterprise collaboration platform | |
US9288241B2 (en) | Web-telco convergence comprising downloading script commands to user terminals | |
US10009404B2 (en) | Enterprise class virtual desktop infrastructure | |
US8443057B1 (en) | System, method, and/or apparatus for establishing peer-to-peer communication | |
US20130326512A1 (en) | Media contention for virtualized devices | |
Emmanuel et al. | A peer-to-peer architecture for real-time communication using Webrtc | |
WO2023087925A1 (zh) | 电信通讯方法、电子设备及存储介质 | |
US20230300204A1 (en) | App pinning in video conferences | |
WO2013045470A1 (en) | A method and a system to remotely share an application between electronic devices |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210409 |
|
CF01 | Termination of patent right due to non-payment of annual fee |