CN104253856A - 可缩放Web实时通信媒体引擎以及相关的方法、系统 - Google Patents
可缩放Web实时通信媒体引擎以及相关的方法、系统 Download PDFInfo
- Publication number
- CN104253856A CN104253856A CN201410387390.2A CN201410387390A CN104253856A CN 104253856 A CN104253856 A CN 104253856A CN 201410387390 A CN201410387390 A CN 201410387390A CN 104253856 A CN104253856 A CN 104253856A
- Authority
- CN
- China
- Prior art keywords
- webrtc
- client
- behalf
- virtual web
- web rtc
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1108—Web based protocols, e.g. webRTC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
Abstract
本发明涉及可缩放Web实时通信媒体引擎以及相关的方法、系统。在此公开了可缩放Web实时通信(WebRTC)媒体引擎,以及相关的方法、系统和计算机可读介质。在一个实施例中,一种用于提供可缩放WebRTC媒体引擎的方法包括实例化一个或多个虚拟WebRTC代理,每个对应于多个WebRTC客户端中的一个或多个。所述方法还包括建立多个WebRTC交互流,每个将所述一个或多个虚拟WebRTC代理中的一个与所述多个WebRTC客户端中的对应的一个或多个连接。所述方法还包括从所述一个或多个虚拟WebRTC代理接收所述多个WebRTC交互流的内容作为输入,并且综合所述多个WebRTC交互流的所述内容。所述方法还包括经由对应的一个或多个虚拟WebRTC代理将综合的内容引导到所述多个WebRTC交互流的一个或多个。
Description
技术领域
本公开的技术一般地涉及Web实时通信(WebRTC)交互会话。
背景技术
Web实时通信(webRTC)正致力于开发用于将实时通信功能集成到Web客户端(例如Web浏览器)中以使得能够与其他Web客户端进行直接交互的行业标准。这一实时通信功能可由Web开发者通过标准标记标签(例如由超文本标记语言的第5版本(HTML5)提供的标准标记标签)和客户端侧脚本应用编程接口(API)(诸如JavaScriptAPI)访问。有关WebRTC的更多信息可以在由Alan B.Johnson和Daniel C.Burnett(2012 Digital Codex LLC)所作的“WebTRC:APIs and RTCWEB Protocols of the HTML5 Real-time Web”中找到,其全部内容在此通过引用被并入本文。
WebRTC提供了用于在点对点交互会话和多方交互会话中建立实时视频、音频和/或数据流的内置能力。WebRTC标准正在由万维网联盟(W3C)和互联网工程任务组(IETF)的联合开发。关于WebRTC标准的当前状态的信息可以在例如http://www.w3c.org和http://www.ietf.org处找到。
为了建立WebRTC交互会话(例如实时视频、音频和/或数据交换),两个Web客户端可以从WebRTC应用服务器检索WebRTC使能的Web应用,例如HTML5/JavaScript Web应用。通过Web应用,这两个Web客户端参与媒体协商以进行通信并就定义WebRTC交互会话的特性的参数达成一致。该媒体协商被称为WebRTC“要约/应答”(offer/answer)交换。当WebRTC要约/应答交换完成后,Web客户端随后可以相互建立直接对等连接,并可以开始媒体或数据的实时交换。Web客户端之间的对等连接通常使用安全实时传输协议(SRTP)来传输实时媒体流,并且可以将各种其他协议用于实时数据互换。
在多方WebRTC交互会话中,在被称为“全网格”或“全分布”的体系中,每个参与的Web客户端可以被直接连接到每一个其他参与的Web客户端。然而,“全网格”体系可能对计算资源和带宽利用导致显著的负担。多方WebRTC交互会话还可以由每个Web客户端都连接到的中央媒体服务器处理。由于被WebRTC使用的新媒体扩展,以及在不同的Web客户端类型和客户端版本中的WebRTC媒体栈的实现之间的变化,实现这样的中央媒体服务器可能造成挑战。
发明内容
在详细的描述中公开的实施例提供了可缩放Web实时通信(WebRTC)媒体引擎。相关的方法、系统和计算机可读介质也被公开了。在一些实施例中,两个或更多个WebRTC客户端通过其试图建立WebRTC交互会话的WebRTC服务器提供了可缩放WebRTC媒体引擎。WebRTC媒体引擎实例化(instantiate)一个或多个虚拟WebRTC代理,并且使得所述两个或更多个WebRTC客户端中的每一个与所述一个或多个虚拟WebRTC代理建立WebRTC交互流。WebRTC媒体引擎随后综合来自建立的WebRTC交互流的音频和/或视频内容,并且经由一个或多个虚拟WebRTC代理向WebRTC交互流提供综合的内容。通过这种方式,WebRTC媒体引擎可以以可缩放的方式提供WebRTC交互流内容的综合,而不需要全网格体系,并且不会对本地计算资源产生过度的负担。
在这点上,在一个实施例中,提供了一种用于提供可缩放WebRTC媒体引擎的方法。该方法包括由在计算设备上执行的WebRTC媒体引擎实例化一个或多个虚拟WebRTC代理,每个对应于多个WebRTC客户端中的一个或多个。该方法还包括建立多个WebRTC交互流,每个将一个或多个虚拟WebRTC代理中的一个与多个WebRTC客户端中的对应的一个或多个连接。该方法还包括从一个或多个虚拟WebRTC代理接收多个WebRTC交互流的内容作为输入。该方法还包括综合多个WebRTC交互流的内容。该方法还包括经由一个或多个虚拟WebRTC代理将综合的内容作为输出引导到多个WebRTC交互流的一个或多个。
在另一个实施例中,提供了一种用于提供可缩放WebRTC媒体引擎的系统。该系统包括至少一个通信接口,以及与该至少一个通信接口相关联的WebRTC服务器。该WebRTC服务器包括被配置为实例化一个或多个虚拟WebRTC代理的WebRTC媒体引擎,每个对应于多个WebRTC客户端的一个或多个。WebRTC媒体引擎还被配置为建立多个WebRTC交互流,每个将一个或多个虚拟WebRTC代理中的一个与多个WebRTC客户端的对应的一个或多个连接。WebRTC媒体引擎还被配置为从一个或多个虚拟WebRTC代理接收多个WebRTC交互流的内容作为输入。该WebRTC媒体引擎还被配置为综合多个WebRTC交互流的内容。该WebRTC媒体引擎还被配置为经由一个或多个虚拟WebRTC代理将综合的内容作为输出引导到多个WebRTC交互流中的一个或多个。
在另一个实施例中,提供了非暂时性计算机可读介质。该非暂时性计算机可读介质上存储有计算机可执行指令以使得处理器实现一种方法,该方法包括实例化一个或多个虚拟WebRTC代理,每个对应于多个WebRTC客户端的一个或多个。由计算机可执行指令实现的方法还包括建立多个WebRTC交互流,每个将一个或多个虚拟WebRTC代理中的一个与多个WebRTC客户端中的对应的一个或多个连接。由计算机可执行指令实现的该方法还包括从一个或多个虚拟WebRTC代理接收多个WebRTC交互流的内容作为输入。由计算机可执行指令实现的该方法还包括综合多个WebRTC交互流的内容。由计算机可执行指令实现的该方法还包括经由一个或多个虚拟WebRTC代理将综合的内容作为输出引导到多个WebRTC交互流中的一个或多个。
附图说明
包括在说明书中并形成本说明书的一部分的附图示出了本公开的几个方面,并且与描述一起用于解释本公开的原理。
图1是示出在多个WebRTC客户端之间经由包括可缩放WebRTC媒体引擎和虚拟WebRTC代理的WebRTC服务器的Web实时通信(WebRTC)交互会话的概念图;
图2是示出图1的WebRTC服务器和WebRTC媒体引擎的用于为多方WebRTC交互会话提供音频、视频和/或数据综合的示例性操作的流程图;
图3是示出在包括图1的WebRTC媒体引擎和虚拟WebRTC代理的示例性系统中的示例性通信流的示图;
图4是示出在使用由WebRTC媒体引擎管理的单个虚拟WebRTC代理的多个WebRTC客户端之间的WebRTC交互会话的概念图;
图5A-5C是示出用于提供可缩放WebRTC媒体引擎和虚拟WebRTC代理的更详细的示例性操作的流程图;
图6是可以包括图1的WebRTC服务器和WebRTC媒体引擎的示例性基于处理器的系统的框图。
具体实施方式
现在参考附图,描述本公开的几个示例性实施例。词语“示例性”在此处被用来表示“作为例子、实例或图示”。在此处被描述为“示例性”的实施例不必被解释为相对于其他实施例是优选的或有优势的。
详细的说明书中公开的实施例提供了可缩放Web实时通信(WebRTC)媒体引擎。相关的方法、系统和计算机可读介质也被公开了。在一些实施例中,两个或更多个WebRTC客户端通过其试图建立WebRTC交互会话的WebRTC服务器提供了可缩放WebRTC媒体引擎。WebRTC媒体引擎实例化一个或多个虚拟WebRTC代理,并且使得所述两个或更多个WebRTC客户端中的每一个与所述一个或多个虚拟WebRTC代理建立WebRTC交互流。WebRTC媒体引擎随后综合来自建立的WebRTC交互流的音频、视频和/或数据内容,并且经由所述一个或多个虚拟WebRTC代理向WebRTC交互流提供综合后的内容。通过这种方式,WebRTC媒体引擎可以在不需要全网格体系的情况下并且在不对本地计算资源导致过大的负担的情况下,以可缩放的方式提供WebRTC交互流内容的综合。
在这点上,在一个实施例中,提供了一种用于提供可缩放WebRTC媒体引擎的方法。所述方法包括由在计算设备上执行的WebRTC媒体引擎实例化一个或多个虚拟WebRTC代理,每个对应于多个WebRTC客户端中的一个或多个。所述方法还包括建立多个WebRTC交互流,每个将所述一个或多个虚拟WebRTC代理中的一个与所述多个WebRTC客户端中的对应的一个或多个连接。该方法还包括从所述一个或多个虚拟WebRTC代理接收多个WebRTC交互流的内容作为输入。所述方法还包括综合所述多个WebRTC交互流的所述内容。所述方法还包括经由所述一个或多个虚拟WebRTC代理将综合后的内容作为输出引导到所述多个WebRTC交互流的一个或多个。
图1示出了提供了在此公开的可缩放WebRTC媒体引擎的示例性交互通信系统10。特别地,示例性交互通信系统10提供了在计算设备16上执行的包括可缩放WebRTC媒体引擎14的WebRTC服务器12。可缩放WebRTC媒体引擎14处理虚拟WebRTC代理的实例化,并且协调由虚拟WebRTC代理提供的WebRTC交互流的音频、视频和/或数据内容的综合。在此使用的“虚拟WebRTC代理”指的是浏览器的实例或者在可缩放WebRTC媒体引擎14的控制下在计算设备16上执行的其他WebRTC使能的客户端应用。“WebRTC交互会话”指的是用于在两个或更多个端点之间执行WebRTC要约/应答交换、建立对等连接以及开始WebRTC交互流的操作。在此公开的“WebRTC交互流”指的是根据WebRTC标准和协议在两个或更多个端点之间传递的交互媒体流和/或交互数据流。作为非限制性的例子,组成WebRTC交互流的交互媒体流可以包括实时音频流和/或实时视频流,或者其他实时媒体或数据流。组成WebRTC交互流的数据和/或媒体可以在此被统称为“内容”。
在图1中,多个WebRTC交互流18(1)-18(N)在计算设备16和对应的多个计算设备20(1)-20(N)之间传递。应当理解,计算设备16和20(1)-20(N)可以都位于同一个公共或专用网络内,或者可以位于分立的、通信地耦接的多个公共或专用网络内。图1的交互通信系统10的一些实施例可以规定计算设备16和20(1)-20(N)中的每一个可以是具有网络通信能力的任意计算设备,例如智能电话、平板电脑、专用Web装置、媒体服务器、桌面或服务器计算机、或者为特定目的构建的通信设备(作为非限制性的例子)。计算设备16和20(1)-20(N)分别包括通信接口22和24(1)-24(N),用于将计算设备16和20(1)-20(N)连接至一个或多个公共和/或专用网络。在一些实施例中,计算设备16和20(1)-20(N)的元件可以分布在一个以上的计算设备16和20(1)-20(N)上。虽然图1为了图示起见示出了两个计算设备20(1)和20(N)(即N=2),应当理解,在示例性交互通信系统10的实施例中的计算设备20的数量可以大于两个。
图1的计算设备20(1)-20(N)分别包括WebRTC客户端26(1)-26(N)。WebRTC客户端26(1)-26(N)中的每一个可以是WebRTC使能的Web浏览器应用、专用通信应用、移动应用、或者无界面(interface-less)应用(例如守护进程(daemon)或服务应用)(作为非限制性的例子)。WebRTC客户端26(1)-26(N)实现了分别在计算设备20(1)-20(N)与计算设备16之间提供实时WebRTC交互会话所需的协议、编解码器和应用编程接口(API)。
如图1所示,计算设备20(1)-20(N)通信地耦接到各自的用于接收音频输入的音频输入设备28(1)-28(N)(例如麦克风),以及用于产生音频输出的音频输出设备30(1)-30(N)(例如扬声器或耳机)。计算设备20(1)-20(N)还通信地耦接到各自的用于接收视频输入的视频输入设备32(1)-32(N)(例如照相机、网络摄像头或其他视频源),以及用于显示视频输出的视频输出设备34(1)-34(N)(例如显示器)。音频输入设备28(1)-28(N)、音频输出设备30(1)-30(N)、视频输入设备32(1)-32(N)、和/或视频输出设备34(1)-34(N)可以集成到各自的计算设备20(1)-20(N)中,并且/或者它们可以是通信地耦接到各自的计算设备20(1)-20(N)的外围设备和/或虚拟设备。在一些实施例中,计算设备20(1)-20(N)可以通信地耦接到比图1所示的更多或更少的设备。
为了建立WebRTC交互会话,WebRTC客户端26(1)-26(N)中的每一个经由对应的超文本传输协议(HTTP)/超文本安全传输协议(HTTPS)连接38(1)-38(N)从WebRTC服务器12的WebRTC应用提供器36下载WebRTCWeb应用(未示出)。在一些实施例中,WebRTC Web应用可以包括利用HTML5提供丰富的用户接口并且利用JavaScript处理用户输入并与WebRTC应用提供器36通信的HTML5/JavaScript Web应用。WebRTC客户端26(1)-26(N)随后通过经由WebRTC应用提供器36交换WebRTC会话描述对象(未示出)参与WebRTC要约/应答交换。交换的WebRTC会话描述对象用于确定用于期望的WebRTC交互会话的媒体类型和能力。
典型地,在WebRTC要约/应答交换完成后,通过一个或多个对等连接在WebRTC客户端26(1)-26(N)之间直接建立起WebRTC交互流。例如,在全网格体系中,WebRTC客户端26(1)-26(N)全部相互连接,WebRTC客户端26(1)-26(N)中的每一个接收并综合从其他WebRTC客户端26接收到的WebRTC交互流。然而,这会导致大量计算资源和/或网络带宽的消耗,并且在WebRTC客户端26(1)-26(N)之间提供有限的缩放性和兼容性。
在这点上,虚拟WebRTC代理40(1)-40(X)由可缩放WebRTC媒体引擎14提供。在一些实施例中,虚拟WebRTC代理40的数量X可以少于或等于WebRTC客户端26的数量N(即1≤X≤N)。在图1的例子中,随着WebRTC应用提供器36从WebRTC客户端26(1)-26(N)接收WebRTC要约/应答交换,可缩放WebRTC媒体引擎14实例化对应于WebRTC客户端26(1)-26(N)的虚拟WebRTC代理40(1)-40(X)。在一些实施例中,可缩放WebRTC媒体引擎14可以通过在计算设备16上发起WebRTC客户端的一个或多个实例(例如Web浏览器)来实例化虚拟WebRTC代理40(1)-40(X)。一些实施例可以规定,虚拟WebRTC代理40(1)-40(X)在操作系统的虚拟实例内执行。
在实例化之后,每个虚拟WebRTC代理40(1)-40(X)由可缩放WebRTC媒体引擎14引导从虚拟WebRTC应用提供器42下载虚拟WebRTC应用(未示出)。一些实施例可以规定,虚拟WebRTC应用提供器42通信地耦接到可缩放WebRTC媒体引擎14。在一些实施例中,虚拟WebRTC应用提供器42可以集成到可缩放WebRTC媒体引擎14和/或WebRTC应用提供器36中,或者组成可缩放WebRTC媒体引擎14和/或WebRTC应用提供器36的元件。虚拟WebRTC应用包括用于与虚拟WebRTC代理40(1)-40(X)的WebRTC API交互的专用指令。虚拟WebRTC代理40(1)-40(X)可以经由虚拟WebRTC应用分别与WebRTC客户端26(1)-26(N)通信,以及与可缩放WebRTC媒体引擎14通信。
可缩放WebRTC媒体引擎14使得虚拟WebRTC代理40(1)-40(X)与对应的WebRTC客户端26(1)-26(N)建立WebRTC交互流18(1)-18(N)。在这样做时,可缩放WebRTC媒体引擎14和/或虚拟WebRTC代理40(1)-40(N)可以修改在WebRTC客户端26(1)-26(N)之间传递的数据以帮助建立WebRTC交互流18(1)-18(N)。例如,与WebRTC交互流18(1)-18(N)中的每一个的端点的位置和/或身份相关的数据可以被修改以允许虚拟WebRTC代理40(1)-40(X)充当用于它们的对应的WebRTC客户端26(1)-26(N)的代理服务器。
当WebRTC交互流18(1)-18(N)建立后,可缩放WebRTC媒体引擎14从虚拟WebRTC代理40(1)-40(X)接收WebRTC交互流18(1)-18(N)的内容作为输入。在一些实施例中,可缩放WebRTC媒体引擎14提供虚拟音频接收机(RX)44(1)-44(X)、虚拟视频接收机46(1)-46(X)、和/或虚拟数据接收机48(1)-48(X),对应的虚拟WebRTC代理40(1)-40(X)通信地耦接到它们。随着WebRTC交互流18(1)-18(N)开始,虚拟WebRTC代理40(1)-40(X)将从对应的WebRTC交互流18(1)-18(N)接收到的音频信号转发给虚拟音频接收机44(1)-44(X)。虚拟WebRTC代理40(1)-40(X)还将从对应的WebRTC交互流18(1)-18(N)接收到的视频信号转发给虚拟视频接收机46(1)-46(X),并且将从对应的WebRTC交互流18(1)-18(N)接收到的数据转发给虚拟数据接收机48(1)-48(X)。
可缩放WebRTC媒体引擎14随后将从虚拟WebRTC代理40(1)-40(X)接收到的WebRTC交互流18(1)-18(N)的内容综合。一些实施例可以规定,WebRTC交互流18(1)-18(N)的内容的综合由可缩放WebRTC媒体引擎14的媒体综合功能提供器49执行。综合WebRTC交互流18(1)-18(N)的内容可以包括选择性地组合WebRTC交互流18(1)-18(N)的音频、视频和/或数据内容以生成综合的内容。综合WebRTC交互流18(1)-18(N)的内容还可以包括生成音频、视频和/或数据内容,并且将其添加到WebRTC交互流18(1)-18(N)的内容中。例如,可缩放WebRTC媒体引擎14可以通过向来自虚拟音频接收机44(1)-44(X)、虚拟视频接收机46(1)-46(X)和/或虚拟数据接收机48(1)-48(X)的输入添加内容来向WebRTC交互流18(1)-18(N)注入内容。在一些实施例中,综合WebRTC交互流18(1)-18(N)的内容可以包括应用音频处理算法。作为非限制性例子,N最响亮算法(即包括音频内容中N个最响亮参与者)、最响亮和最长算法(优先最响亮或者已经产生最长时间量输出的音频源)、或者N-1算法(包括除与接收端点关联的音频源之外的所有音频源)、或者它们的组合,可以被应用到WebRTC交互流18(1)-18(N)的音频内容。一些实施例可以规定,综合多个WebRTC交互流的内容可以包括选择多个WebRTC交互流的一个或多个的视频内容,组合多个WebRTC交互流的两个或更多个的视频内容,修改多个WebRTC交互流的一个或多个的视频内容,或者它们的组合。根据在此公开的一些实施例,可以针对虚拟WebRTC代理40(1)-40(X)和/或WebRTC客户端26(1)-26(N)的特定几个生成自定义的综合的内容。
综合的内容随后由可缩放WebRTC媒体引擎14经由虚拟WebRTC代理40(1)-40(X)作为输出引导到WebRTC交互流18(1)-18(N)。在一些实施例中,媒体综合功能提供器49被配置为将综合的内容引导到虚拟音频发射机(Tx)50(1)-50(X)、虚拟视频发射机52(1)-52(X)、和/或虚拟数据发射机54(1)-54(X),对应的虚拟WebRTC代理40(1)-40(X)通信地耦接到它们。
在图1的例子中,虚拟WebRTC代理40(1)-40(X)由可缩放WebRTC媒体引擎14实例化。这一安排可能在已知WebRTC客户端26(1)-26(N)是不兼容的或者具有有限的兼容性的情况下是有用的。作为非限制性例子,WebRTC客户端26(1)-26(N)可以是具有对WebRTCAPI的不同级别的支持的Web浏览器。为了修正这种不兼容性,WebRTC客户端26(1)-26(N)中的一个或多个的特定客户端类型和/或客户端版本可以由WebRTC应用提供器36和/或可缩放WebRTC媒体引擎14确定。在一些实施例中,WebRTC客户端26(1)-26(N)中的一个或多个的客户端类型和/或客户端版本可以基于作为WebRTC要约/应答交换的一部分而接收的数据、在可缩放WebRTC媒体引擎14和WebRTC客户端26(1)-26(N)之间的查询/响应(query/response)交换、HTTP头部、或由WebRTC客户端26(1)-26(N)提供的其他数据来确定。可缩放WebRTC媒体引擎14可以随后实例化具有对应于各自的WebRTC客户端26(1)-26(N)的客户端类型和/或客户端版本的客户端类型和/或客户端版本的虚拟WebRTC代理40(1)-40(X)。结果是,因为WebRTC客户端26(1)-26(N)中的每一个与同一类型和版本的虚拟WebRTC代理40直接通信,WebRTC客户端26(1)-26(N)之间的不兼容性得以解决。
相反地,在已知WebRTC客户端26(1)-26(N)是兼容的情况下,可缩放WebRTC媒体引擎14可以使用单个虚拟WebRTC代理在WebRTC客户端26(1)-26(N)之间提供WebRTC交互会话。提供单个虚拟WebRTC代理可以保留计算设备16的计算资源并且进一步增加WebRTC服务器12的缩放性。下面参考附图4更详细地讨论这一实施例。
为了一般地描述图1的可缩放WebRTC媒体引擎14的用于提供虚拟WebRTC代理40(1)-40(X)的示例性操作,提供了图2。为了清楚起见,在描述图2时引用图1的元件。在图2的例子中,操作以可缩放WebRTC媒体引擎14实例化一个或多个虚拟WebRTC代理40(1)-40(X)开始,每个对应于多个WebRTC客户端26(1)-26(N)中的一个或多个(方框56)。一些实施例可以规定,如果多个WebRTC客户端26(1)-26(N)被确定为是兼容的,则实例化单个虚拟WebRTC代理。在一些实施例中,如果多个WebRTC客户端26(1)-26(N)被确定为不兼容,则可以为多个WebRTC客户端26(1)-26(N)中的每一个建立虚拟WebRTC代理40。作为非限制性例子,可缩放WebRTC媒体引擎14可以通过在计算设备16上发起WebRTC客户端的一个或多个实例(例如Web浏览器)来实例化所述一个或多个虚拟WebRTC代理40(1)-40(X)。
可缩放WebRTC媒体引擎14随后建立多个WebRTC交互流18(1)-18(N),每个将所述一个或多个虚拟WebRTC代理40(1)-40(X)中的一个与多个WebRTC客户端26(1)-26(N)中的对应的一个或多个连接(方框58)。根据此处的一些实施例,可缩放WebRTC媒体引擎14和/或虚拟WebRTC代理40(1)-40(X)可以修改在WebRTC客户端26(1)-26(N)之间传递的数据以帮助WebRTC交互流18(1)-18(N)的建立。例如,与WebRTC交互流18(1)-18(N)中的每一个的端点的位置和/或身份相关的数据可以被修改以允许虚拟WebRTC代理40(1)-40(X)充当它们的对应WebRTC客户端26(1)-26(N)的代理服务器。
可缩放WebRTC媒体引擎14接下来从所述一个或多个虚拟WebRTC代理40(1)-40(X)接收多个WebRTC交互流18(1)-18(N)的内容作为输入(方框60)。在一些实施例中,这可以通过使用由可缩放WebRTC媒体引擎14提供的虚拟音频接收机44、虚拟视频接收机46和虚拟数据接收机48来完成,如图1所示。WebRTC媒体引擎14随后综合多个WebRTC交互流18(1)-18(N)的内容(方框62)。一些实施例可以规定,WebRTC交互流18(1)-18(N)的内容的综合由可缩放WebRTC媒体引擎14的媒体综合功能提供器49执行。综合WebRTC交互流18(1)-18(N)的内容可以包括选择性地组合WebRTC交互流18(1)-18(N)的音频、视频和/或数据内容以生成综合的内容。
可缩放WebRTC媒体引擎14随后经由所述一个或多个虚拟WebRTC代理40(1)-40(X)将综合的内容作为输出引导到多个WebRTC交互流18(1)-18(N)(方框64)。一些实施例可以规定,可缩放WebRTC媒体引擎14使用对应的虚拟WebRTC代理40(1)-40(X)通信地耦接到的虚拟音频发射机50(1)-50(X)、虚拟视频发射机52(1)-52(X)、和/或虚拟数据发射机54(1)-54(X)来引导综合的内容。从而,可缩放WebRTC媒体引擎14可以以高效且可缩放的方式提供来自多个WebRTC交互流18(1)-18(N)的内容的综合,同时自动地解决在多个WebRTC客户端26(1)-26(N)之间的任意潜在不兼容性问题。
为了说明在使用图1的虚拟WebRTC代理40(1)-40(X)建立WebRTC交互会话期间的示例性通信流,提供了图3。在图3中,图1的WebRTC客户端26(1)、虚拟WebRTC代理40(1)、WebRTC服务器12、虚拟WebRTC代理40(X)以及WebRTC客户端26(N)中的每一个都使用垂直虚线表示。应当理解,WebRTC服务器12包括WebRTC应用提供器36和可缩放WebRTC媒体引擎14,为了清楚起见它们被从本例中省略。进一步应当理解,对于本例,WebRTC客户端26(1)和26(N)中的每一个都已从WebRTC服务器12下载了WebRTC使能的Web应用,例如HTML5/JavaScript WebRTC应用。
如图3所示,经由虚拟WebRTC代理40(1)和40(X)的WebRTC交互会话的建立以WebRTC客户端26(N)向WebRTC服务器12发送会话描述对象(SDP)开始(在本例中,经由HTTPS连接)。WebRTC会话描述对象被称为SDP对象A并由箭头66指示。SDP对象A表示WebRTC要约/应答交换中的“要约”,并指定WebRTC客户端26(N)支持并优选的在WebRTC交互会话中使用的媒体类型和能力。
WebRTC服务器12(即可缩放WebRTC媒体引擎14)实例化对应于WebRTC客户端26(N)的虚拟WebRTC代理40(X),如箭头68所指示。在一些实施例中,WebRTC客户端26(N)的客户端类型和/或客户端版本可以基于SDP对象A、可缩放WebRTC媒体引擎14与WebRTC客户端26(N)之间的查询/响应交换、HTTP头部、或由WebRTC客户端26(N)提供的其他数据确定。虚拟WebRTC代理40(X)可以被实例化为具有已知与WebRTC客户端26(N)兼容的客户端类型和/或客户端版本。WebRTC服务器12随后向WebRTC客户端26(1)转发SDP对象A,如箭头70所示。
在WebRTC客户端26(1)从WebRTC服务器12接收到SDP对象A之后,作为响应,WebRTC客户端26(1)经由HTTPS向WebRTC服务器12发送被称为SDP对象B的WebRTC会话描述对象,如箭头72所示。本例中的SDP对象B表示WebRTC要约/应答交换中的“应答”。WebRTC服务器12随后实例化对应于WebRTC客户端26(1)的虚拟WebRTC代理40(1),如箭头74所示。一些实施例可以规定,WebRTC客户端26(1)的客户端类型和/或客户端版本可以基于SDP对象B、可缩放WebRTC媒体引擎14与WebRTC客户端26(1)之间的查询/响应交换、HTTP头部、或由WebRTC客户端26(1)提供的其他数据确定。虚拟WebRTC代理40(1)可以被实例化为具有已知与WebRTC客户端26(1)兼容的客户端类型和/或客户端版本。WebRTC服务器12随后向WebRTC客户端26(N)转发SDP对象B,如箭头76所示。
继续参考图3,WebRTC客户端26(1)和26(N)随后开始“打孔”(holepunching)以确定分别建立与虚拟WebRTC代理40(1)和40(X)的直接通信的最佳方式。这由图3中的双向箭头78和80指示。打孔是一种经常使用诸如交互式连接建立(ICE)的协议的技术,其中WebRTC客户端26(1)和26(N)都与不受限制的第三方服务器(未示出)建立连接,该第三方服务器揭示内部和外部地址信息以用于直接通信。
当由箭头78和80指示的ICE打孔成功后,WebRTC客户端26(1)和26(N)开始密钥协商以建立安全对等连接。在典型的端对端体系中,密钥协商直接发生在WebRTC客户端26(1)和26(N)之间。然而,在本例中,WebRTC客户端26(1)和26(N)的每一个与其对应的虚拟WebRTC代理40(1)和40(X)协商,如双向箭头82和84所示。如果密钥协商成功完成,对等连接被建立在WebRTC客户端26(1)和虚拟WebRTC代理40(1)之间,以及在WebRTC客户端26(N)和虚拟WebRTC代理40(X)之间,如双向箭头86和88所示。
在与它们对应的虚拟WebRTC代理40(1)和40(X)建立起对等连接后,WebRTC客户端26(1)和26(N)开始交换WebRTC媒体和/或数据流。如图3所示,WebRTC媒体和/或数据流从WebRTC客户端26(1)和26(N)传递到它们各自的虚拟WebRTC代理40(1)和40(X),如双向箭头90和92所示。虚拟WebRTC代理40(1)和40(X)随后向WebRTC服务器12发送WebRTC交互流18(1)和18(N)的内容,如双向箭头94和96所示。WebRTC服务器12综合WebRTC交互流18(1)和18(N)的内容,并将综合的内容引导到虚拟WebRTC代理40(1)和40(X),如双向箭头98和100所示。虚拟WebRTC代理40(1)和40(X)随后向对应的WebRTC客户端26(1)和26(N)转发综合的内容,如箭头102和104所示。以这种方式,WebRTC服务器12可以选择性地综合WebRTC交互流18(1)-18(N)的内容并向WebRTC客户端26(1)和26(N)提供综合的内容。
如以上参考图1所述,如果已知WebRTC客户端26(1)-26(N)是兼容的,可缩放WebRTC媒体引擎14可以在WebRTC客户端26(1)-26(N)之间使用单个虚拟WebRTC代理实现WebRTC交互会话。为了说明这个实施例,提供了图4。在图4中,示出了图1的示例性交互通信系统10。在本例中,然而,假设已知WebRTC客户端26(1)-26(N)是兼容的。例如,WebRTC客户端26(1)-26(N)可以是同一类型和版本的WebRTC使能的Web浏览器。因而,在图4的实施例中,可缩放WebRTC媒体引擎14实例化WebRTC客户端26(1)-26(N)可连接到的单个虚拟WebRTC代理106。虚拟WebRTC代理106在可缩放WebRTC媒体引擎14的引导下从虚拟WebRTC应用提供器42下载虚拟WebRTC应用(未示出)。虚拟WebRTC应用可以包括用于使得虚拟WebRTC代理106能够与WebRTC客户端26(1)-26(N)并且与可缩放WebRTC媒体引擎14通信的专用指令。在一些实施例中,虚拟WebRTC应用可以使得可缩放WebRTC媒体引擎14能够控制虚拟WebRTC代理106如何将音频、视频和/或数据内容引导到WebRTC客户端26(1)-26(N)。
在图4的例子中,可缩放WebRTC媒体引擎14使得虚拟WebRTC代理106与WebRTC客户端26(1)-26(N)建立WebRTC交互流18(1)-18(N)。虚拟WebRTC代理106随后可以利用其内置WebRTCAPI将WebRTC交互流18(1)-18(N)的内容引导到可缩放WebRTC媒体引擎14的媒体综合功能提供器49以用于综合。在一些实施例中,虚拟WebRTC代理106可以使用WebRTC API提供媒体综合功能本身。在综合之后,虚拟WebRTC代理106可以将来自可缩放WebRTC媒体引擎14的综合的内容引导到WebRTC交互流18(1)-18(N)中。
图5A-5C被提供以更详细地说明用于图1的WebRTC应用提供器36和可缩放WebRTC媒体引擎14通过使用虚拟WebRTC代理40、106提供WebRTC内容的综合的示例性一般过程。为了说明的目的,图5A-5C参考图1和4的示例性交互通信系统10的元件。图5A详细说明了用于确定试图建立WebRTC交互会话的WebRTC客户端26(1)和26(N)的兼容性、以及如果WebRTC客户端26(1)和26(N)是兼容的则提供单个虚拟WebRTC代理106的操作。图5B示出用于在WebRTC客户端26(1)和26(N)是不兼容的情况下、或者如果出于某些其他理由而需要多个虚拟WebRTC代理40时提供多个虚拟WebRTC代理40(1)和40(X)的操作。图5C说明了用于综合WebRTC交互流18(1)和18(N)的内容的操作。
在图5A中,处理以可缩放WebRTC媒体引擎14确定第一WebRTC客户端26(1)和第二WebRTC客户端26(N)的客户端类型和/或客户端版本开始(方框108)。一些实施例可以规定,该确定可以是基于WebRTC要约/应答交换、HTTP头部、或由WebRTC客户端26(1)和/或26(N)提供的其他数据做出的。基于客户端类型和/或客户端版本,可缩放WebRTC媒体引擎14确定是否已知第一WebRTC客户端26(1)和第二WebRTC客户端26(N)是兼容的(方框110)。
如果第一WebRTC客户端26(1)和第二WebRTC客户端26(N)被确定是兼容的,可缩放WebRTC媒体引擎14可以使用单个虚拟WebRTC代理106在第一WebRTC客户端26(1)和第二WebRTC客户端26(N)之间实现WebRTC交互会话,如以上参考图4讨论的。于是,可缩放WebRTC媒体引擎14实例化与第一WebRTC客户端26(1)和第二WebRTC客户端26(N)都兼容的虚拟WebRTC代理106(方框112)。作为非限制性例子,可缩放WebRTC媒体引擎14可以执行与第一WebRTC客户端26(1)和/或第二WebRTC客户端26(N)具有同一客户端类型和/或版本的WebRTC客户端。可缩放WebRTC媒体引擎14随后在第一WebRTC客户端26(1)和虚拟WebRTC代理106之间建立第一WebRTC交互流18(1)(方框114)。可缩放WebRTC媒体引擎14还在第二WebRTC客户端26(N)和虚拟WebRTC代理106之间建立第二WebRTC交互流18(N)(方框116)。然后处理在图5C的方框118处继续。
回到图5A的判定方框110,如果可缩放WebRTC媒体引擎14确定第一WebRTC客户端26(1)和第二WebRTC客户端26(N)是不完全兼容的,可缩放WebRTC媒体引擎14可以使用两个虚拟WebRTC代理40(1)和40(X)在第一WebRTC客户端26(1)和第二WebRTC客户端26(N)之间实现WebRTC交互会话,如以上参考图1所讨论的。于是,处理在图5B的方框120处继续。可缩放WebRTC媒体引擎14实例化与第一WebRTC客户端26(1)兼容的第一虚拟WebRTC代理40(1)(方框120)。可缩放WebRTC媒体引擎14还实例化与第二WebRTC客户端26(N)兼容的第二虚拟WebRTC代理40(X)(方框122)。在一些实施例中,虚拟WebRTC代理40(1)和40(X)分别具有与WebRTC客户端26(1)和26(N)相同的客户端类型和/或客户端版本。
可缩放WebRTC媒体引擎14随后在第一WebRTC客户端26(1)和第一虚拟WebRTC代理40(1)之间建立第一WebRTC交互流18(1)(方框124)。可缩放WebRTC媒体引擎14还在第二WebRTC客户端26(N)和第二虚拟WebRTC代理40(X)之间建立第二WebRTC交互流18(N)(方框126)。因为第一WebRTC客户端26(1)和第二WebRTC客户端26(N)中的每一个直接与它们各自的兼容虚拟WebRTC代理40(1)和40(X)进行交互,而不会产生关于WebRTC交互流18(1)和18(N)的兼容性问题。随后处理在图5C的方框118继续。
现在参考图5C,可缩放WebRTC媒体引擎14从虚拟WebRTC代理40(1)和40(X)、或者当合适时从虚拟WebRTC代理106接收WebRTC交互流18(1)和18(N)的内容作为输入(方框118)。在一些实施例中,这可以通过使用由可缩放WebRTC媒体引擎14提供的虚拟音频接收机44、虚拟视频接收机46和虚拟数据接收机48来完成,如图1所示。可缩放WebRTC媒体引擎14随后综合WebRTC交互流18(1)和18(N)的内容(方框128)。综合WebRTC交互流18(1)和18(N)的内容可以包括选择性地组合WebRTC交互流18(1)和18(N)的音频、视频和/或数据内容以生成综合的内容。
可缩放WebRTC媒体引擎14随后经由虚拟WebRTC代理40(1)和40(X)、或者当合适时经由虚拟WebRTC代理106,将综合的内容作为输出引导到WebRTC交互流18(1)和18(N)(方框130)。一些实施例可以规定,可缩放WebRTC媒体引擎14使用对应的虚拟WebRTC代理40(1)-40(X)通信地耦接到的虚拟音频发射机50、虚拟视频发射机52和/或虚拟数据发射机54来引导综合的内容。可缩放WebRTC媒体引擎14接下来确定在WebRTC交互流18(1)和18(N)之间是否存在至少两个激活的WebRTC交互流18(方框132)。如果WebRTC交互流18(1)和18(N)仍然是激活的,处理回到图5C的方框132。否则,可缩放WebRTC媒体引擎14在合适时终止剩余的激活的WebRTC交互流18(1)或18(N)(方框134)。
图6以适合于执行指令以执行在此描述的功能的示例性计算机系统138的示例性形式提供处理系统136的示意图表示。在一些实施例中,处理系统136可以执行指令以执行图1的可缩放WebRTC媒体引擎14的功能。在这一点上,处理系统136可以包括计算机系统138,其中用于使得处理系统136执行在此讨论的方法中的任意一个或多个的一组指令可以被执行。处理系统136可以连接(作为非限制性例子,联网)到局域网(LAN)、内联网、外联网或互联网中的其他机器。处理系统136可以在客户端-服务器网络环境中运行,或作为端对端(或分布式)网络环境中的对等机器。虽然只示出了单个处理系统136,术语“控制器”和“服务器”也应当被认为包括单独地或联合地执行一组(或多组)指令以执行在此讨论的方法中的任意一个或多个的机器的任意集合。处理系统136可以是服务器、个人计算机、桌面计算机、膝上型计算机、个人数字助理(PDA)、计算平板电脑、移动设备或者任意其他设备,并且可以表示服务器或用户的计算机(作为非限制性例子)。
示例性计算机系统138包括处理设备或处理器140、主存储器142(作为非限制性例子,只读存储器(ROM)、闪存、诸如同步DRAM(SDRAM)的动态随机存取存储器(DRAM)等)和静态存储器144(作为非限制性例子,闪存、静态随机存取存储器(SRAM)等),它们可以经由总线146互相通信。或者,处理设备140可以直接地或经由一些其他连接方式连接到主存储器142和/或静态存储器144。
处理设备140表示一个或多个处理设备,例如微处理器、中央处理单元(CPU)等。更特别地,处理设备140可以是复杂指令集(CISC)微处理器、精简指令集(RISC)微处理器、超长指令字(VLIW)微处理器、实现其他指令集的处理器、或者执行指令集的组合的处理器。处理设备140被配置为执行用于实现在此讨论的操作和步骤的指令148和/或缓存的指令150中的处理逻辑。
计算机系统138还可以包括网络接口设备152的形式的通信接口。它还可以包括或者不包括接收当执行指令148、150时传送到计算机系统138的输入和选择的输入装置154。它还可以包括或不包括输出装置156(包括但不限于显示器158)。显示器158可以是视频显示单元(作为非限制性例子,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备(作为非限制性例子,键盘)、光标控制设备(作为非限制性例子,鼠标)、和/或触摸屏设备(作为非限制性例子,平板输入设备或屏幕)。
计算机系统138可以包括或不包括数据存储设备160,其包括使用驱动器162将在此描述的功能存储在计算机可读介质164中,计算机可读介质164上存储了实现在此描述的方法或功能的任意一个或多个的一组或多组指令166(例如软件)。作为非限制性例子,所述功能可以包括处理系统136、参与的用户设备、和/或许可服务器的方法和/或其他动能。在被计算机系统138执行期间,所述一组或多组指令166也可以完全地或至少部分地位于主存储器142和/或处理设备140内。主存储器142和处理设备140还组成机器可访问的存储接介质。指令148、150和/或166可以进一步经由网络接口设备152在网络168上被发送或接收。网络168可以是内部网络或者互联网络。
虽然计算机可读介质164在示例性实施例中被示为单个介质,术语“机器可访问的存储介质”应当被认为包括存储所述一组或多组指令166的单个介质或多个介质(作为非限制性例子,集中式或分布式数据库、和/或关联的缓存和服务器)。术语“机器可访问的存储介质”还应当被认为包括能够存储、编码或携带由机器执行并且使得机器执行在此公开的方法中的任意一个或多个的一组指令148、150和/或166的任意介质。术语“机器可访问的存储介质”应当对应地被认为包括但不限于固态存储器、光磁介质和载波信号。
在此公开的实施例可以以硬件和存储在硬件中的指令实现,并且,作为非限制性例子,可以位于随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM或者本领域中已知的任意其他形式的计算机可读介质中。示例性存储介质被耦接到处理器,使得处理器能够从存储介质读取信息并且向存储介质写入信息。或者,存储媒体可以集成到处理器。所述处理器和所述存储介质可以位于专用集成电路(ASIC)中。ASIC可以位于远程站中。或者,处理器和存储介质可以作为分立组件位于远程站、基站或服务器中。
还应当注意,在这里的任意示例性实施例中描述的操作步骤被描述为提供例子和讨论。,除所示的顺序之外,描述的操作可以以多种不同顺序被执行。而且,单个操作步骤中描述的操作可以实际上在多个不同步骤中被执行。此外,在示例性实施例中讨论的一个或多个操作步骤可以被组合。应当理解,在流程图中示出的操作步骤可以有多种不同的修改,这对于本领域技术人员而言是显然的。本领域技术人员还应当理解,信息和信号可以用多种不同技术和技巧中的任意一种来表示。作为非限制性例子,上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以由电压、电流、电磁波、粒子的磁场、粒子的光场或它们的任意组合来表示。
本公开的上述描述被提供以使得本领域技术人员能够制造或使用本公开。对本公开的各种修改对本领域技术人员而言是显然的,并且在不偏离本公开的精神或范围的情况下,在此定义的基本原理可以被应用到其他变型中。从而,本公开并不应受限于在此描述的例子和设计,而应当符合与在此公开的的原理和新特征一致的最大范围。
Claims (10)
1.一种用于提供可缩放Web实时通信(WebRTC)媒体引擎的方法,包括:
由在计算设备上执行的WebRTC媒体引擎实例化一个或多个虚拟WebRTC代理,每个虚拟WebRTC代理对应于多个WebRTC客户端中的一个或多个;
建立多个WebRTC交互流,每个WebRTC交互流将所述一个或多个虚拟WebRTC代理中的一个与多个WebRTC客户端中的对应的一个或多个连接;
从所述一个或多个虚拟WebRTC代理接收所述多个WebRTC交互流的内容作为输入;
综合所述多个WebRTC交互流的所述内容;以及
经由所述一个或多个虚拟WebRTC代理将综合的内容作为输出引导到所述多个WebRTC交互流中的一个或多个。
2.根据权利要求1所述的方法,其中综合所述多个WebRTC交互流的所述内容包括将N最响亮算法、最响亮和最长算法、或N-1算法、或它们的组合应用到所述多个WebRTC交互流中的一个或多个的音频内容。
3.根据权利要求1所述的方法,其中综合所述多个WebRTC交互流的所述内容包括选择所述多个WebRTC交互流中的一个或多个的视频内容,组合所述多个WebRTC交互流中的两个或更多个的视频内容,修改所述多个WebRTC交互流中的一个或多个的视频内容,或者它们的组合。
4.根据权利要求1所述的方法,还包括确定所述多个WebRTC客户端的所述一个或多个的客户端类型或客户端版本、或它们的组合。
5.根据权利要求4所述的方法,其中确定所述多个WebRTC客户端的所述一个或多个的客户端类型或客户端版本、或它们的组合是基于WebRTC要约/应答交换、在WebRTC媒体引擎和所述多个WebRTC客户端中的所述一个或多个之间的查询/响应交换、或超文本传输协议(HTTP)头部、或它们的组合来进行的。
6.根据权利要求4所述的方法,其中实例化所述一个或多个虚拟WebRTC代理包括:
基于客户端类型或客户端版本或它们的组合,确定所述多个WebRTC客户端中的第一WebRTC客户端与所述多个WebRTC客户端中的第二WebRTC客户端是兼容的;以及
实例化与第一WebRTC客户端和第二WebRTC客户端兼容的虚拟WebRTC代理。
7.根据权利要求4所述的方法,其中实例化所述一个或多个虚拟WebRTC代理包括:
基于客户端类型或客户端版本或它们的组合,确定所述多个WebRTC客户端中的第一WebRTC客户端与所述多个WebRTC客户端中的第二WebRTC客户端是不兼容的;
实例化与第一WebRTC客户端兼容的第一虚拟WebRTC代理;以及
实例化与第二WebRTC客户端兼容的第二虚拟WebRTC代理。
8.一种用于提供可缩放Web实时通信(WebRTC)媒体引擎的系统,包括:
至少一个通信接口;以及
与所述至少一个通信接口相关联的WebRTC服务器,所述WebRTC服务器包括WebRTC媒体引擎,所述WebRTC媒体引擎被配置为:
实例化一个或多个虚拟WebRTC代理,每个虚拟WebRTC代理对应于多个WebRTC客户端中的一个或多个;
建立多个WebRTC交互流,每个WebRTC交互流将所述一个或多个虚拟WebRTC代理中的一个与所述多个WebRTC客户端中的对应的一个或多个连接;
从所述一个或多个虚拟WebRTC代理接收所述多个WebRTC交互流的内容作为输入;
综合所述多个WebRTC交互流的所述内容;以及
经由所述一个或多个虚拟WebRTC代理将综合的内容作为输出引导到所述多个WebRTC交互流中的一个或多个。
9.根据权利要求8所述的系统,其中所述WebRTC媒体引擎还被配置为确定所述多个WebRTC客户端中的所述一个或多个的客户端类型或客户端版本、或它们的组合。
10.一种非暂时性计算可读介质,在其上存储有使得处理器实现一种方法的计算机可执行指令,包括:
实例化一个或多个虚拟Web实时通信(WebRTC)代理,每个对应于多个WebRTC客户端中的一个或多个;
建立多个WebRTC交互流,每个将所述一个或多个虚拟WebRTC代理中的一个与所述多个WebRTC客户端中的对应的一个或多个连接;
从所述一个或多个虚拟WebRTC代理接收所述多个WebRTC交互流的内容作为输入;
综合所述多个WebRTC交互流的所述内容;以及
经由所述一个或多个虚拟WebRTC代理将综合的内容引导到多个WebRTC交互流中的一个或多个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/931,968 US9065969B2 (en) | 2013-06-30 | 2013-06-30 | Scalable web real-time communications (WebRTC) media engines, and related methods, systems, and computer-readable media |
US13/931,968 | 2013-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104253856A true CN104253856A (zh) | 2014-12-31 |
CN104253856B CN104253856B (zh) | 2017-10-17 |
Family
ID=51410341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410387390.2A Active CN104253856B (zh) | 2013-06-30 | 2014-06-30 | 可缩放Web实时通信媒体引擎以及相关的方法、系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9065969B2 (zh) |
CN (1) | CN104253856B (zh) |
DE (1) | DE102014108903B4 (zh) |
GB (1) | GB2517834B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113966599A (zh) * | 2019-06-12 | 2022-01-21 | 皇家飞利浦有限公司 | 实时通信会话的功能的动态修改 |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9892028B1 (en) | 2008-05-16 | 2018-02-13 | On24, Inc. | System and method for debugging of webcasting applications during live events |
US10430491B1 (en) | 2008-05-30 | 2019-10-01 | On24, Inc. | System and method for communication between rich internet applications |
US10860279B2 (en) * | 2009-11-24 | 2020-12-08 | Clearslide, Inc. | Method and system for browser-based screen sharing |
US8706812B2 (en) | 2010-04-07 | 2014-04-22 | On24, Inc. | Communication console with component aggregation |
US11438410B2 (en) | 2010-04-07 | 2022-09-06 | On24, Inc. | Communication console with component aggregation |
US10164929B2 (en) | 2012-09-28 | 2018-12-25 | Avaya Inc. | Intelligent notification of requests for real-time online interaction via real-time communications and/or markup protocols, and related methods, systems, and computer-readable media |
US9363133B2 (en) | 2012-09-28 | 2016-06-07 | Avaya Inc. | Distributed application of enterprise policies to Web Real-Time Communications (WebRTC) interactive sessions, and related methods, systems, and computer-readable media |
US9294458B2 (en) | 2013-03-14 | 2016-03-22 | Avaya Inc. | Managing identity provider (IdP) identifiers for web real-time communications (WebRTC) interactive flows, and related methods, systems, and computer-readable media |
US10205624B2 (en) | 2013-06-07 | 2019-02-12 | Avaya Inc. | Bandwidth-efficient archiving of real-time interactive flows, and related methods, systems, and computer-readable media |
US9525718B2 (en) | 2013-06-30 | 2016-12-20 | Avaya Inc. | Back-to-back virtual web real-time communications (WebRTC) agents, and related methods, systems, and computer-readable media |
US9065969B2 (en) * | 2013-06-30 | 2015-06-23 | Avaya Inc. | Scalable web real-time communications (WebRTC) media engines, and related methods, systems, and computer-readable media |
US9112840B2 (en) | 2013-07-17 | 2015-08-18 | Avaya Inc. | Verifying privacy of web real-time communications (WebRTC) media channels via corresponding WebRTC data channels, and related methods, systems, and computer-readable media |
US9614890B2 (en) | 2013-07-31 | 2017-04-04 | Avaya Inc. | Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, and related methods, systems, and computer-readable media |
US9531808B2 (en) | 2013-08-22 | 2016-12-27 | Avaya Inc. | Providing data resource services within enterprise systems for resource level sharing among multiple applications, and related methods, systems, and computer-readable media |
CN104427296B (zh) * | 2013-09-05 | 2019-03-01 | 华为终端(东莞)有限公司 | 视频会议中媒体流的传输方法与装置 |
US10225212B2 (en) | 2013-09-26 | 2019-03-05 | Avaya Inc. | Providing network management based on monitoring quality of service (QOS) characteristics of web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media |
US11429781B1 (en) | 2013-10-22 | 2022-08-30 | On24, Inc. | System and method of annotating presentation timeline with questions, comments and notes using simple user inputs in mobile devices |
US10263952B2 (en) | 2013-10-31 | 2019-04-16 | Avaya Inc. | Providing origin insight for web applications via session traversal utilities for network address translation (STUN) messages, and related methods, systems, and computer-readable media |
US9769214B2 (en) | 2013-11-05 | 2017-09-19 | Avaya Inc. | Providing reliable session initiation protocol (SIP) signaling for web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media |
CN104683402B (zh) * | 2013-11-29 | 2019-01-08 | 华为终端(东莞)有限公司 | 通信方法和用户设备 |
US10129243B2 (en) | 2013-12-27 | 2018-11-13 | Avaya Inc. | Controlling access to traversal using relays around network address translation (TURN) servers using trusted single-use credentials |
US9280401B2 (en) * | 2014-01-09 | 2016-03-08 | Theplatform, Llc | Type agnostic data engine |
FR3017762A1 (fr) * | 2014-02-14 | 2015-08-21 | Orange | Notification d'une information de consommation de bande passante a un fournisseur de service dans un reseau de telecommunications |
US10581927B2 (en) | 2014-04-17 | 2020-03-03 | Avaya Inc. | Providing web real-time communications (WebRTC) media services via WebRTC-enabled media servers, and related methods, systems, and computer-readable media |
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 |
US9912705B2 (en) | 2014-06-24 | 2018-03-06 | Avaya Inc. | Enhancing media characteristics during web real-time communications (WebRTC) interactive sessions by using session initiation protocol (SIP) endpoints, and related methods, systems, and computer-readable media |
US10785325B1 (en) | 2014-09-03 | 2020-09-22 | On24, Inc. | Audience binning system and method for webcasting and on-line presentations |
US20160191461A1 (en) * | 2014-12-31 | 2016-06-30 | Futurewei Technologies, Inc. | TURN Relay Service Reuse For NAT Traversal During Media Session Resumption |
CN106161179B (zh) * | 2015-03-26 | 2019-12-20 | 中兴通讯股份有限公司 | 一种基于网页的实时通信的媒体处理方法与装置 |
JP6088632B1 (ja) * | 2015-12-22 | 2017-03-01 | 西日本電信電話株式会社 | 音声映像通信システム、サーバ、仮想クライアント、音声映像通信方法、および音声映像通信プログラム |
DE102016213389A1 (de) * | 2016-07-21 | 2018-01-25 | Telequest & Internet Solutions Gmbh | Vorrichtung und Verfahren zur effizienten Realisierung anonymisierter IP-Telefonie |
US10587658B2 (en) | 2017-03-03 | 2020-03-10 | At&T Intellectual Property I, L.P. | Real time communication hub for multiple secure connections through shared session |
US11082246B1 (en) * | 2017-03-10 | 2021-08-03 | Infinesse Corporation | Synchronization source (SSRC) mapping for real-time interactive multipoint server-routed conferencing with dynamic renegotiation of multimedia-sending participants |
US20190014158A1 (en) * | 2017-07-10 | 2019-01-10 | Genband Us Llc | Devices and methods providing a centrally managed web communication feature |
US11188822B2 (en) | 2017-10-05 | 2021-11-30 | On24, Inc. | Attendee engagement determining system and method |
US11281723B2 (en) | 2017-10-05 | 2022-03-22 | On24, Inc. | Widget recommendation for an online event using co-occurrence matrix |
US10979476B2 (en) | 2018-04-16 | 2021-04-13 | Infrared5, Inc. | System and method for verifying and providing compensation for participation in real-time streaming of multimedia over a decentralized network |
US10848553B2 (en) * | 2018-04-16 | 2020-11-24 | Infrared5, Inc. | System and method for real-time secure multimedia streaming over a decentralized network |
US11184406B1 (en) * | 2018-08-20 | 2021-11-23 | Shashank | System and methods for secure user interface session recording, transmission, and replay without third party disclosure |
AU2020257179A1 (en) * | 2019-04-18 | 2021-10-21 | Genesys Cloud Services Holdings II, LLC | A system and method for analyzing web application network performance |
EP3820104A1 (en) * | 2019-11-08 | 2021-05-12 | Koninklijke Philips N.V. | A system and method for dynamic modification of functionality of a real-time communications session |
EP4005218A4 (en) * | 2019-07-23 | 2023-04-26 | Lazar Entertainment Inc. | SYSTEMS AND METHODS FOR DELIVERING LIVE MEDIA CONTENT |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050141694A1 (en) * | 2003-12-26 | 2005-06-30 | Alcatel | Real-time communications call center server |
CN1697419A (zh) * | 2003-12-26 | 2005-11-16 | 阿尔卡特公司 | 实时通信呼叫中心服务器 |
WO2008076905A2 (en) * | 2006-12-15 | 2008-06-26 | Casabi, Inc. | Proxy-based communications architecture |
US20100040050A1 (en) * | 2001-10-25 | 2010-02-18 | Johnston Alan B | Communication session quality indicator |
CN102238235A (zh) * | 2011-07-01 | 2011-11-09 | 中兴通讯股份有限公司 | 一种交互式业务的代理方法及装置 |
CN102904733A (zh) * | 2006-09-15 | 2013-01-30 | 微软公司 | 分布式、可缩放、可插入的会议体系结构 |
US20130091286A1 (en) * | 2011-10-10 | 2013-04-11 | Salesforce.Com, Inc. | Slipstream bandwidth management algorithm |
Family Cites Families (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7145898B1 (en) | 1996-11-18 | 2006-12-05 | Mci Communications Corporation | System, method and article of manufacture for selecting a gateway of a hybrid communication system architecture |
US6714967B1 (en) | 1999-07-30 | 2004-03-30 | Microsoft Corporation | Integration of a computer-based message priority system with mobile electronic devices |
US7379993B2 (en) | 2001-09-13 | 2008-05-27 | Sri International | Prioritizing Bayes network alerts |
US7107316B2 (en) | 2001-09-20 | 2006-09-12 | International Business Machines Corporation | Controlling throughput of message requests in a messaging system |
ATE448661T1 (de) | 2001-12-13 | 2009-11-15 | Sony Deutschland Gmbh | Adaptive dienstqualitätsreservierung mit vorheriger ressourcenzuweisung für mobilfunksysteme |
US8605711B1 (en) * | 2001-12-17 | 2013-12-10 | Verizon Business Global Llc | Small office or home office (SOHO) IP phone service |
US7266591B1 (en) * | 2001-12-17 | 2007-09-04 | Verizon Business Global Llc | Providing content delivery during a call hold condition |
WO2003060671A2 (en) | 2002-01-04 | 2003-07-24 | Lab 7 Networks, Inc. | Communication security system |
US8856236B2 (en) | 2002-04-02 | 2014-10-07 | Verizon Patent And Licensing Inc. | Messaging response system |
AU2004264582B2 (en) | 2003-06-05 | 2010-05-13 | Intertrust Technologies Corporation | Interoperable systems and methods for peer-to-peer service orchestration |
US20050084082A1 (en) | 2003-10-15 | 2005-04-21 | Microsoft Corporation | Designs, interfaces, and policies for systems that enhance communication and minimize disruption by encoding preferences and situations |
US20050177380A1 (en) * | 2004-02-09 | 2005-08-11 | Pritchard Gordon W. | System, computer program and method for enabling individual client users to recruit, connect to, and manage a remote workforce through a shared network |
US7636348B2 (en) * | 2004-06-30 | 2009-12-22 | Bettis Sonny R | Distributed IP architecture for telecommunications system with video mail |
FR2872983A1 (fr) | 2004-07-09 | 2006-01-13 | Thomson Licensing Sa | Systeme de pare-feu protegeant une communaute d'appareils, appareil participant au systeme et methode de mise a jour des regles de pare-feu au sein du systeme |
US8473617B2 (en) | 2004-12-31 | 2013-06-25 | Sony Corporation | Media client architecture for networked communication devices |
US20060159063A1 (en) * | 2005-01-19 | 2006-07-20 | Gopesh Kumar | A System and Method for Businesses to advertise to receive and measure incoming Prospect Leads through a unique, empowered Independent Agent framework |
EP1877904B1 (en) | 2005-05-05 | 2015-12-30 | Cisco IronPort Systems LLC | Detecting unwanted electronic mail messages based on probabilistic analysis of referenced resources |
US8606950B2 (en) | 2005-06-08 | 2013-12-10 | Logitech Europe S.A. | System and method for transparently processing multimedia data |
US7730309B2 (en) | 2005-07-27 | 2010-06-01 | Zimmermann Philip R | Method and system for key management in voice over internet protocol |
CN100456834C (zh) | 2005-10-17 | 2009-01-28 | 华为技术有限公司 | H.264多媒体通信的服务质量监测方法 |
US20070143408A1 (en) | 2005-12-15 | 2007-06-21 | Brian Daigle | Enterprise to enterprise instant messaging |
US8015484B2 (en) | 2006-02-09 | 2011-09-06 | Alejandro Backer | Reputation system for web pages and online entities |
US20070255662A1 (en) | 2006-03-30 | 2007-11-01 | Obopay Inc. | Authenticating Wireless Person-to-Person Money Transfers |
US20080162642A1 (en) | 2006-12-28 | 2008-07-03 | International Business Machines Corporation | Availability Filtering for Instant Messaging |
CA2678714C (en) * | 2007-02-21 | 2012-05-22 | Avaya Canada Corp. | Bootstrapping in peer-to-peer networks with network address translators |
US8693392B2 (en) * | 2007-02-21 | 2014-04-08 | Avaya Canada Corp. | Peer-to-peer communication system and method |
US8737596B2 (en) * | 2007-09-29 | 2014-05-27 | Alcatel Lucent | Real-time collaboration center |
US8300632B2 (en) * | 2008-02-21 | 2012-10-30 | Avaya Inc. | System and method for distributed call monitoring/recording using the session initiation protocol (SIP) |
GB2468758B (en) | 2009-03-16 | 2012-01-11 | Avaya Inc | Advanced availability detection |
GB2468759B (en) | 2009-03-16 | 2012-10-03 | Avaya Inc | Advanced availability detection |
US8194508B2 (en) * | 2009-11-05 | 2012-06-05 | Seagate Technology Llc | Waveform based bit detection for bit patterned media |
US9043488B2 (en) | 2010-03-29 | 2015-05-26 | Damaka, Inc. | System and method for session sweeping between devices |
US20120001932A1 (en) | 2010-07-02 | 2012-01-05 | Burnett William R | Systems and methods for assisting visually-impaired users to view visual content |
US8743781B2 (en) | 2010-10-11 | 2014-06-03 | Damaka, Inc. | System and method for a reverse invitation in a hybrid peer-to-peer environment |
US8832271B2 (en) | 2010-12-03 | 2014-09-09 | International Business Machines Corporation | Identity provider instance discovery |
US9178917B2 (en) | 2010-12-16 | 2015-11-03 | Palo Alto Research Center Incorporated | Custodian routing with network address translation in content-centric networks |
FR2993071B1 (fr) | 2012-07-03 | 2016-05-06 | Videodesk | Systeme d'affichage d'une page web |
US10164929B2 (en) | 2012-09-28 | 2018-12-25 | Avaya Inc. | Intelligent notification of requests for real-time online interaction via real-time communications and/or markup protocols, and related methods, systems, and computer-readable media |
US9363133B2 (en) * | 2012-09-28 | 2016-06-07 | Avaya Inc. | Distributed application of enterprise policies to Web Real-Time Communications (WebRTC) interactive sessions, and related methods, systems, and computer-readable media |
US10084848B2 (en) | 2012-10-16 | 2018-09-25 | At&T Intellectual Property I, L.P. | Centralized control of user devices via universal IP services registrar/hub |
CN104704795B (zh) | 2012-10-19 | 2018-04-27 | 统一有限责任两合公司 | 通过使用具有webRTC功能的网络浏览器创建虚拟SIP用户代理的方法和系统 |
US8867731B2 (en) * | 2012-11-05 | 2014-10-21 | Genesys Telecommunications Laboratories, Inc. | System and method for web-based real time communication with optimized transcoding |
US9131067B2 (en) * | 2012-11-05 | 2015-09-08 | Genesys Telecommunications Laboratories, Inc. | System and method for out-of-band communication with contact centers |
US9112975B2 (en) * | 2012-11-05 | 2015-08-18 | Genesys Telecommunications Laboratories, Inc. | System and method for web-based real time communication with contact centers |
US9001975B2 (en) | 2012-12-11 | 2015-04-07 | Genesys Telecommunications Laboratories, Inc. | Contact center recording service |
US9984374B2 (en) | 2013-02-25 | 2018-05-29 | Genesys Telecommunications Laboratories Inc. | Mobile expert desktop |
US9258292B2 (en) * | 2013-01-14 | 2016-02-09 | Futurewei Technologies, Inc. | Adapting federated web identity protocols |
US9307031B2 (en) | 2013-02-04 | 2016-04-05 | Oracle International Corporation | Generic model for customizing protocol behavior through javascript |
US9668166B2 (en) | 2013-02-05 | 2017-05-30 | Qualcomm Incorporated | Quality of service for web client based sessions |
US20140237057A1 (en) | 2013-02-21 | 2014-08-21 | Genesys Telecommunications Laboratories, Inc. | System and method for processing private messages in a contact center |
US9552338B2 (en) | 2013-03-11 | 2017-01-24 | Futurewei Technologies, Inc. | Mechanisms to compose, execute, save, and retrieve hyperlink pipelines in web browsers |
US9178998B2 (en) | 2013-03-12 | 2015-11-03 | Avaya Inc. | System and method for recording calls in a WebRTC contact center |
US9430757B2 (en) | 2013-03-13 | 2016-08-30 | Genesys Telecommunications Laboratories, Inc. | Rich personalized communication context |
US9294458B2 (en) * | 2013-03-14 | 2016-03-22 | Avaya Inc. | Managing identity provider (IdP) identifiers for web real-time communications (WebRTC) interactive flows, and related methods, systems, and computer-readable media |
US8695077B1 (en) | 2013-03-14 | 2014-04-08 | Sansay, Inc. | Establishing and controlling communication sessions between SIP devices and website application servers |
US9158534B2 (en) | 2013-03-15 | 2015-10-13 | Wolters Kluwer United States Inc. | Smart endpoint architecture |
US20140282054A1 (en) * | 2013-03-15 | 2014-09-18 | Avaya Inc. | Compensating for user sensory impairment in web real-time communications (webrtc) interactive sessions, and related methods, systems, and computer-readable media |
US9191297B2 (en) | 2013-03-28 | 2015-11-17 | Hcl Technologies Limited | Providing feedback to media senders over real time transport protocol (RTP) |
US8861692B1 (en) * | 2013-05-15 | 2014-10-14 | Verizon Patent And Licensing Inc. | Web call access and egress to private network |
US10055742B2 (en) | 2013-05-15 | 2018-08-21 | Verizon Patent And Licensing Inc. | Call transfers for web-delivered calls |
US20140348044A1 (en) | 2013-05-21 | 2014-11-27 | Ecrio, Inc. | Real-Time Rich Communications Client Architecture |
US10205624B2 (en) | 2013-06-07 | 2019-02-12 | Avaya Inc. | Bandwidth-efficient archiving of real-time interactive flows, and related methods, systems, and computer-readable media |
US9781167B2 (en) | 2013-06-21 | 2017-10-03 | Verizon Patent And Licensing Inc. | WebRTC data channel facilitating IMS support of RCS features |
US9525718B2 (en) * | 2013-06-30 | 2016-12-20 | Avaya Inc. | Back-to-back virtual web real-time communications (WebRTC) agents, and related methods, systems, and computer-readable media |
US9065969B2 (en) * | 2013-06-30 | 2015-06-23 | Avaya Inc. | Scalable web real-time communications (WebRTC) media engines, and related methods, systems, and computer-readable media |
US20150006610A1 (en) * | 2013-06-30 | 2015-01-01 | Avaya Inc. | Virtual web real-time communications (webrtc) gateways, and related methods, systems, and computer-readable media |
US9112840B2 (en) * | 2013-07-17 | 2015-08-18 | Avaya Inc. | Verifying privacy of web real-time communications (WebRTC) media channels via corresponding WebRTC data channels, and related methods, systems, and computer-readable media |
US9282125B2 (en) | 2013-07-30 | 2016-03-08 | Unify Gmbh & Co. Kg | Apparatus and method for communications involving a legacy device |
US9614890B2 (en) | 2013-07-31 | 2017-04-04 | Avaya Inc. | Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, and related methods, systems, and computer-readable media |
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 |
-
2013
- 2013-06-30 US US13/931,968 patent/US9065969B2/en active Active
-
2014
- 2014-06-25 DE DE102014108903.0A patent/DE102014108903B4/de active Active
- 2014-06-30 GB GB1411584.4A patent/GB2517834B/en active Active
- 2014-06-30 CN CN201410387390.2A patent/CN104253856B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100040050A1 (en) * | 2001-10-25 | 2010-02-18 | Johnston Alan B | Communication session quality indicator |
US20050141694A1 (en) * | 2003-12-26 | 2005-06-30 | Alcatel | Real-time communications call center server |
CN1697419A (zh) * | 2003-12-26 | 2005-11-16 | 阿尔卡特公司 | 实时通信呼叫中心服务器 |
CN102904733A (zh) * | 2006-09-15 | 2013-01-30 | 微软公司 | 分布式、可缩放、可插入的会议体系结构 |
WO2008076905A2 (en) * | 2006-12-15 | 2008-06-26 | Casabi, Inc. | Proxy-based communications architecture |
CN102238235A (zh) * | 2011-07-01 | 2011-11-09 | 中兴通讯股份有限公司 | 一种交互式业务的代理方法及装置 |
US20130091286A1 (en) * | 2011-10-10 | 2013-04-11 | Salesforce.Com, Inc. | Slipstream bandwidth management algorithm |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113966599A (zh) * | 2019-06-12 | 2022-01-21 | 皇家飞利浦有限公司 | 实时通信会话的功能的动态修改 |
CN113966599B (zh) * | 2019-06-12 | 2024-03-19 | 皇家飞利浦有限公司 | 实时通信会话的功能的动态修改 |
Also Published As
Publication number | Publication date |
---|---|
DE102014108903A1 (de) | 2014-12-31 |
GB2517834A (en) | 2015-03-04 |
CN104253856B (zh) | 2017-10-17 |
GB201411584D0 (en) | 2014-08-13 |
US9065969B2 (en) | 2015-06-23 |
GB2517834B (en) | 2016-02-17 |
US20150002619A1 (en) | 2015-01-01 |
DE102014108903B4 (de) | 2023-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104253856A (zh) | 可缩放Web实时通信媒体引擎以及相关的方法、系统 | |
CN104253857B (zh) | 背靠背虚拟web实时通信代理以及相关的方法、系统 | |
US10389787B2 (en) | Method, apparatus and system for transmitting media stream | |
CN104253742B (zh) | 虚拟web实时通信网关以及相关的方法、系统 | |
KR102110698B1 (ko) | 단말기 상호 연결 방법, 장치 및 저장 매체 | |
CN105282008B (zh) | 在网络实时通信交互会话期间增强媒体特性的方法和系统 | |
CN102904959B (zh) | 网络加速方法和网关 | |
WO2015032277A1 (zh) | 视频会议中媒体流的传输方法与装置 | |
CN104348710A (zh) | 用于获取和关联web实时通信交互流特性的方法和系统 | |
CN108494817A (zh) | 数据传输方法、相关装置及系统 | |
CN103348657B (zh) | 流媒体播放方法、设备及系统 | |
CN104753989B (zh) | 基于Web-based OS运行环境的屏幕影像传输播放方法及装置 | |
CN111694625B (zh) | 一种车盒向车机投屏的方法和设备 | |
WO2012122767A1 (zh) | 一种云计算的实现方法、系统及终端 | |
CN105227418A (zh) | 数据通道建立方法和通信设备 | |
CN108696899A (zh) | Sip消息传输与接收方法及传输与接收装置 | |
CN102118397B (zh) | 一种基于手机的远程会议通信方法和系统 | |
CN106911732A (zh) | 一种网站访问加速方法及装置 | |
CN101236553A (zh) | 网页信息协同浏览系统及方法 | |
Li et al. | 6G cloud-native system: Vision, challenges, architecture framework and enabling technologies | |
WO2024067529A1 (zh) | 基于rdma的建连方法、装置、设备及存储介质 | |
CN104780591B (zh) | 终端设备间业务互操作实现方法、装置、系统及相关设备 | |
CN113014544A (zh) | 基于webRtc无中心媒体链路建立方法及装置 | |
US20180367446A1 (en) | Dual network interface implementation in multipath networking | |
CN109768905A (zh) | 一种PPPoE报文传输的方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |