Scalable web real-time communications (WebRTC) media engines, and related methods, systems, and computer-readable media

US9065969B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9065969-B2
Application numberUS-201313931968-A
CountryUS
Kind codeB2
Filing dateJun 30, 2013
Priority dateJun 30, 2013
Publication dateJun 23, 2015
Grant dateJun 23, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • H04N7/147Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9065969B2 cover?
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 o…
Who is the assignee on this patent?
Avaya Inc
What technology area does this patent fall under?
Primary CPC classification H04N7/147. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 23 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).