Acquiring and correlating web real-time communications (webrtc) interactive flow characteristics, and related methods, systems, and computer-readable media
US-2015039687-A1 · Feb 5, 2015 · US
US9065969B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9065969-B2 |
| Application number | US-201313931968-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 30, 2013 |
| Priority date | Jun 30, 2013 |
| Publication date | Jun 23, 2015 |
| Grant date | Jun 23, 2015 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Scalable Web Real-Time Communication (WebRTC) media engines, and related methods, systems, and computer-readable media, are disclosed herein. In one embodiment, a method for providing a scalable WebRTC media engine comprises instantiating one or more virtual WebRTC agents, each corresponding to one or more of a plurality of WebRTC clients. The method further comprises establishing a plurality of WebRTC interactive flows, each connecting one of the one or more virtual WebRTC agents with the corresponding one or more of the plurality of WebRTC clients. The method also comprises receiving contents of the plurality of WebRTC interactive flows as input from the one or more virtual WebRTC agents, and synthesizing the contents of the plurality of WebRTC interactive flows. The method additionally comprises directing the synthesized contents as output to one of more of the plurality of WebRTC interactive flows via the corresponding one or more virtual WebRTC agents.
Opening claim text (preview).
What is claimed is: 1. A method for providing a scalable Web Real-Time Communications (WebRTC) media engine, comprising: instantiating, by a WebRTC media engine executing on a computing device, one or more virtual WebRTC agents, each corresponding to one or more of a plurality of WebRTC clients; establishing a plurality of WebRTC interactive flows, each connecting one of the one or more virtual WebRTC agents with the corresponding one or more of the plurality of WebRTC clients; receiving contents of the plurality of WebRTC interactive flows as input from the one or more virtual WebRTC agents; synthesizing the contents of the plurality of WebRTC interactive flows; and directing the synthesized contents as output to one or more of the plurality of WebRTC interactive flows via the one or more virtual WebRTC agents. 2. The method of claim 1 , wherein synthesizing the contents of the plurality of WebRTC interactive flows comprises applying an N loudest algorithm, a loudest and longest algorithm, or an N−1 algorithm, or combinations thereof, to an audio content of one or more of the plurality of WebRTC interactive flows. 3. The method of claim 1 , wherein synthesizing the contents of the plurality of WebRTC interactive flows comprises selecting a video content of one or more of the plurality of WebRTC interactive flows, combining video contents of two or more of the plurality of WebRTC interactive flows, modifying a video content of one or more of the plurality of WebRTC interactive flows, or combinations thereof. 4. The method of claim 1 , further comprising determining a client type or a client version, or a combination thereof, of the one or more of the plurality of WebRTC clients. 5. The method of claim 4 , wherein determining the client type or the client version, or the combination thereof, of the one or more of the plurality of WebRTC clients is based on a WebRTC offer/answer exchange, a query/response exchange between the WebRTC media engine and the one or more of the plurality of WebRTC clients, or a Hyper Text Transfer Protocol (HTTP) header, or a combination thereof. 6. The method of claim 4 , wherein instantiating the one or more virtual WebRTC agents comprises: determining, based on the client type or the client version, or the combination thereof, that a first WebRTC client of the plurality of WebRTC clients is compatible with a second WebRTC client of the plurality of WebRTC clients; and instantiating a virtual WebRTC agent compatible with the first WebRTC client and the second WebRTC client. 7. The method of claim 4 , wherein instantiating the one or more virtual WebRTC agents comprises: determining, based on the client type or the client version, or the combination thereof, that a first WebRTC client of the plurality of WebRTC clients is not compatible with a second WebRTC client of the plurality of WebRTC clients; instantiating a first virtual WebRTC agent compatible with the first WebRTC client; and instantiating a second virtual WebRTC agent compatible with the second WebRTC client. 8. A system for providing a scalable Web Real-Time Communications (WebRTC) media engine, comprising: at least one communications interface; and a WebRTC server associated with the at least one communications interface and comprising a WebRTC media engine configured to: instantiate one or more virtual WebRTC agents, each corresponding to one or more of a plurality of WebRTC clients; establish a plurality of WebRTC interactive flows, each connecting one of the one or more virtual WebRTC agents with the corresponding one or more of the plurality of WebRTC clients; receive contents of the plurality of WebRTC interactive flows as input from the one or more virtual WebRTC agents; synthesize the contents of the plurality of WebRTC interactive flows; and direct the synthesized contents as output to one or more of the plurality of WebRTC interactive flows via the one or more virtual WebRTC agents. 9. The system of claim 8 , wherein the WebRTC media engine is configured to synthesize the contents of the plurality of WebRTC interactive flows by applying an N loudest algorithm, a loudest and longest algorithm, or an N−1 algorithm, or combinations thereof, to an audio content of one or more of the plurality of WebRTC interactive flows. 10. The system of claim 8 , wherein the WebRTC media engine is further configured to determine a client type or a client version, or a combination thereof, of the one or more of the plurality of WebRTC clients. 11. The system of claim 10 , wherein the WebRTC media engine is configured to determine the client type or the client version, or the combination thereof, of the one or more of the plurality of WebRTC clients based on a WebRTC offer/answer exchange, a query/response exchange between the WebRTC media engine and the one or more of the plurality of WebRTC clients, or a Hyper Text Transfer Protocol (HTTP) header. 12. The system of claim 10 , wherein the WebRTC media engine is configured to instantiate the one or more virtual WebRTC agents by: determining, based on the client type or the client version, or the combination thereof, that a first WebRTC client of the plurality of WebRTC clients is compatible with a second WebRTC client of the plurality of WebRTC clients; and instantiating a virtual WebRTC agent compatible with the first WebRTC client and the second WebRTC client. 13. The system of claim 10 , wherein the WebRTC media engine is configured to instantiate the one or more virtual WebRTC agents by: determining, based on the client type or the client version, or the combination thereof, that a first WebRTC client of the plurality of WebRTC clients is not compatible with a second WebRTC client of the plurality of WebRTC clients; instantiating a first virtual WebRTC agent compatible with the first WebRTC client; and instantiating a second virtual WebRTC agent compatible with the second WebRTC client. 14. A non-transitory computer-readable medium having stored thereon computer-executable instructions to cause a processor to implement a method, comprising: instantiating one or more virtual Web Real-Time Communications (WebRTC) agents, each corresponding to one or more of a plurality of WebRTC clients; establishing a plurality of WebRTC interactive flows, each connecting one of the one or more virtual WebRTC agents with the corresponding one or more of the plurality of WebRTC clients; receiving contents of the plurality of WebRTC interactive flows as input from the one or more virtual WebRTC agents; synthesizing the contents of the plurality of WebRTC interactive flows; and directing the synthesized contents as output to one or more of the plurality of WebRTC interactive flows via the one or more virtual WebRTC agents. 15. The non-transitory computer-readable medium of claim 14 having stored thereon the computer-executable instructions to cause the processor to implement the method, wherein synthesizing the contents of the plurality of WebRTC interactive flows comprises applying an N loudest algorithm, a loudest and longest algorithm, or an N−1 algorithm, or combinations thereof, to an audio content of one or more of the plurality of WebRTC interactive flows. 16. The non-transitory computer-readable medium of claim 14 having stored thereon the computer-executable instructions to cause the processor to implement the method, further comprising determining a client type or a client version, or a combination thereof, of the one or more of the plurality of WebRTC clients. 17. The non-transitory computer-readable medium of claim 16 ha
Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals (selecting H04Q) · CPC title
Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15) · CPC title
Network streaming of media packets · CPC title
Session establishment or de-establishment · CPC title
Web based protocols, e.g. webRTC · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.