METHOD FOR THE SECURE AND DYNAMIC RELOADING OF ADDITIONAL SOFTWARE FROM A WEBRTC SERVER TO A WEBRTC CLIENT

A computer system and a computer-implemented method for secure and dynamic downloading of add-on software from a server to a client, characterized in that a specific data channel can be used to transfer the software.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is the United States National Stage under 35 U.S.C. § 371 of PCT International Patent Application No. PCT/EP2014/002940, filed on Nov. 3, 2014, and claiming priority to German application no. 10 2013 018 624.2, filed on Nov. 6, 2013.

BACKGROUND OF THE INVENTION Field of the Invention

Embodiments relate to computer-implemented methods for secure and dynamic downloading of add-on software from a WebRTC server to a WebRTC client, as well as corresponding computer systems.

Background of the Related Art

WebRTC browser manufacturers like Google or Mozilla generally deliver their browsers with certain codecs. These codecs include, for example, audio codecs such as G.711 and OPUS, as well as video codecs, of which VP8 is an example. Such codecs are an integral component of these WebRTC-compatible browsers.

However, it is not readily possible for manufacturers of WebRTC applications to safely and reliably integrate add-on codecs into their projects that were not included in the original browser version, for the purpose of generating added value for their customers. Part of the problem is that such add-on codecs are often protected by industrial property rights and can therefore be acquired and installed only through payment of a corresponding license fee.

Such add-on codecs are generally installed by downloading them in so-called browser plug-ins and then installing them. However, this poses the following disadvantages with WebRTC browsers:

    • The charter for WebRTC with IETF/W3C states that WebRTC should operate without plug-ins. This means that the codecs involved should be integrated inherently into the browser, i.e., should already be built in by the browser's manufacturer.
    • The specific problem facing browser manufacturers in fulfilling this requirement is that codecs for which industrial property rights (abbreviated as IPR) exist, and which therefore have licensing fees, cannot be provided along with manufacturers' free browsers.
    • Browser plug-ins represent a security risk, because the source of the add-on codecs installed in them cannot be securely controlled, which also makes them an additional obstacle to the acceptance of WebRTC application solutions for many customers.

The previously described problem with the secure installation of add-on codecs, using the example of audio and video codecs, is also fairly common in other add-on software that is to be installed in a WebRTC client such as a browser—especially a WebRTC browser.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the invention may, but are not required, to eliminate one or more of the above-described disadvantages and provide a method for secure and dynamic downloading of add-on software from a WebRTC server to a WebRTC client, as well as a corresponding computer system.

Embodiments may include methods, computer systems, computer programs, computer program products, and machine-readable data carriers including such computer programs.

A computer-implemented method for secure and dynamic downloading of add-on software from a WebRTC server to a WebRTC client according to an embodiment of the invention may involve the following steps: In the course of establishing the WebRTC connection between the WebRTC client and the WebRTC server, the required software is transferred using a WebRTC data channel. This makes it possible to securely and dynamically download and install the required add-on software without having to resort to a browser plug-in. The channel used is commonly called a WebRTC data channel. This WebRTC data channel itself is standardized through IETF/W3C and provides a secure transfer based on IP/UDP/DTLS/SCTP.

BRIEF SUMMARY OF THE FIGURES

FIG. 1 shows a schematic overview of one embodiment of a computer system according to an embodiment of the invention.

FIG. 2 shows a schematic representation of how the invented method is executed based on the standardized WebRTC protocol stack.

LIST OF REFERENCE INDICATORS

  • 10=Computer system
  • 12=First computer
  • 14=Second computer/WebRTC server
  • 16=Network
  • 90=Data carrier
  • 92=Computer program
  • SW=Software

DETAILED DESCRIPTION OF THE INVENTION

As noted above, a computer-implemented method for secure and dynamic downloading of add-on software from a WebRTC server to a WebRTC client according to the invention involves the following steps: In the course of establishing the WebRTC connection between the WebRTC client and the WebRTC server, the required software is transferred using a WebRTC data channel. This makes it possible to securely and dynamically download and install the required add-on software without having to resort to a browser plug-in. The channel used is commonly called a WebRTC data channel. This WebRTC data channel itself is standardized through IETF/W3C and provides a secure transfer based on IP/UDP/DTLS/SCTP.

According to one advantageous embodiment of the invented method, the software is intended for a real-time application. In particular, this software is a codec such as an audio or video codec, for example.

It can be advantageous if the WebRTC data channel is kept open and not immediately cut off after the transfer, so as to allow for rapid downloading of additional necessary add-on software, for example, without a time delay.

It can also be advantageous to transfer the software automatically between the WebRTC client and the WebRTC server as soon as the WebRTC connection is established, so that a user does not have to be concerned with handling this aspect himself. For the example of a telephone call or conference call, this can mean that an audio codec is downloaded automatically as soon as the telephone call or conference call begins. Alternatively, however, the download of a codec can also be triggered specifically by a user. Providing an install field (install button) would be advantageous in that case. An example of a payment model in this respect would be the so-called “pay as you use” concept.

Additional advantages can be derived if the software is only temporarily loaded into the WebRTC client and remains usable only for a predetermined length of time. In the case of the previously mentioned example, this means that a downloaded add-on codec is only available for use during a telephone call or conference call, and can be used only until the WebRTC client (in particular a WebRTC browser) is restarted. This also supports the “pay as you use” payment model. Of course, the downloaded add-on codec can alternatively also be permanently installed and usable, such that it is still available to the user after a restart of the WebRTC client or the WebRTC browser.

The invented method is advantageously implemented as a computer program or computer program product and can be stored on a machine-readable data carrier. For this reason, these two options are also considered to be part of the present invention.

A computer system according to an embodiment of the invention contains a first computer, on which a WebRTC client is running that is suitable for executing the previously described method for secure and dynamic downloading of add-on software from a WebRTC server to a WebRTC client. The computer system according to the invention further includes a second computer serving as the WebRTC server and through which the software to be transferred is stored or is made accessible in such a way that it can be called up by or transferred to a WebRTC client upon request. These two computers should be connected by a corresponding network, which must be configured such that it can provide a WebRTC data channel (together with the WebRTC connection between the RTC client and the WebRTC server). Obviously, the same advantages as those described with respect to the invented method can be achieved with a computer system according to the invention.

Additional advantages, features, and characteristics of the present invention are presented in the following description of advantageous embodiments with reference to the drawing.

In one embodiment a computer system 10 again includes a first computer 12, a second computer 14 being used as a WebRTC server, and a network 16 that connects the first computer 12 and the second computer 14 and is configured in such a way that WebRTC connections—to which WebRTC data channels belong—can be established. As soon as this is accomplished, the software SW can be transferred from a server 14 to the client on the first computer 12, which is represented symbolically by a corresponding arrow.

On the first computer 12, a CD-ROM 90 is shown schematically as the example of a data carrier on which a computer program or computer program product 92 can be stored, which again is shown schematically as a sheet with program code. After the computer program 90 is installed on the first computer 12, a WebRTC client running on this computer 12 can be further developed according to the invention so that it can execute the invented method. In the explanation of the invented method, it is assumed in the following that the WebRTC client is a WebRTC browser (hereinafter shortened to “browser”), which desires to download an audio codec from the WebRTC server (hereinafter shortened to “server”) 14 for a telephone call (shortened to “call”), because the standard audio codec integrated into the browser (such as G.711 or OPUS) is considered inadequate. Such an audio codec with expanded function scope is based on an H.264 or H.265, for example.

For the application of the present invention, downloads of speech codecs such as G.729 are obviously also possible.

According to the following example, in his installed or accessed browser, the user is given the option, on his user interface (e.g., in the menu item “settings”), of downloading add-on codecs. Alternatively, this can be done automatically, for example when the WebRTC client or browser is installed, when a telephone call is initiated, etc.

According to an embodiment of the invention, first a signal for establishing the connection and setting up the corresponding browser capabilities is generated. This is shown in the left column of FIG. 2. Because the designations and abbreviations used here are known in and of themselves, a detailed description is not provided. This left column and the column shown to the right of it are parts of a so-called WebRTC protocol stack. After the signal, a WebRTC user data connection is established from a browser to a predefined server address, for which WebRTC session signaling is used here. The WebRTC data channel is generated and the characteristics of that data channel are negotiated between the browser and the server application via SDP (Session Description Protocol) Offer/Answer method, for example. For the standard WebRTC, an SCTP (Stream Control Transmission Protocol) channel is used, which is secured by the DTLS (Datagram Transport Layer Security), representing an encryption protocol. Through this secure data channel, negotiated dynamically between the browser and the server, the codec file is transferred securely to the browser.

On the browser's side, the codec is installed through the browser API (Application Programming Interface). The browser API used for this can be specific to the browser's manufacturer or can also be standardized. This establishment of the WebRTC data channel and its use for transferring the codec represents the basis for the invented method and is represented in the right column of FIG. 2 as a box made of dashed lines. It can be seen from the dashed-line box that the data channel is using SCTP, which is again secured by DTLS. These protocols are part of the standard WebRTC, so they do not need any further description or explanation. The actual communication using the downloaded add-on software or codec then takes place through the left part of the right column in FIG. 2, specifically through the RTC peer connection and SRTP (Secure Real-Time Transport Protocol), which is the “actual” carrier channel for transferring the data, in particular media data such as audio and/or video data that are transferred through an individual WebRTC connection.

After the successful download and local installation of this add-on codec, the data connection between the terminal or browser and the server can be terminated. Alternatively, the WebRTC data channel can also be kept active, for more rapid downloading of additional add-on codecs or other software, for example. From this point on, for WebRTC audio applications and/or WebRTC video applications such as telephone calls or conference calls, the browser can use both codecs that are already integrated into the browser and not subject to industrial property rights (e.g., G.711, OPUS, VP8) and the above-described downloaded add-on codecs (which the browser manufacturer could not integrate into the browser when it was created because they are subject to industrial property rights and corresponding licensing fees).

Depending upon the application, it is possible for the codec download to take place automatically when a call is made or a conference call is initiated. However, it is also possible for the codec download to be initiated and carried out at the user's express request.

If the downloaded add-on codec is permanently installed, it remains available even after the browser is restarted. This type of use, for example, can incur relatively high license fees for the codec involved. It can therefore be advantageous for the downloaded add-on codec to be loaded only temporarily (i.e., held in the RAM) and for its use to be available only during a call or during a conference call, or for it to be usable only until the browser is restarted. Another fee model is possible for this, such as one in which only concrete use must be paid for. This can represent a significant advantage for customers who do not use codecs often.

In summary, according to the invention, it is possible to expand a WebRTC client, such as a browser, using downloaded add-on software (e.g., a codec) with which the WebRTC client can be configured. Using the invented method, this downloaded add-on software is not only obtained from a secure source—i.e., the WebRTC server—but also transferred over a secure route in the form of a WebRTC data channel. This allows for extremely secure expansion of WebRTC client functionality. Because this expansion is available at all times and can also be modified, the expansion is also very dynamic.

The present invention can also be used with other applications such as instant messaging or e-mail traffic.

It should be noted that the features of the invention described by referencing the presented embodiments, for example the type and configuration of individual components of the computer system or the sequence of individual steps in the method, can also be present in other embodiments, unless stated otherwise or prohibited for technical reasons.

Claims

1-9. (canceled)

10. A computer-implemented method of initiating real-time communications, comprising:

generating a data channel for real-time communication;
automatically transferring a file using the data channel upon initiation of a call; and
enabling temporary use of the file during the call, wherein the temporary use terminates upon completion of the call.

11. The computer-implemented method of claim 10, further comprising:

terminating the data channel after transferring the file.

12. The computer-implemented method of claim 10, further comprising:

maintaining the data channel after transferring the file;
transferring an additional file using the data channel.

13. The computer-implemented method of claim 10, wherein the call is an audio call or a video call.

14. The computer-implemented method of claim 10, wherein the file expands a functionality of a browser during the call.

15. The computer-implemented method of claim 14, further comprising:

enabling a modification of the expanded functionality of the browser.

16. The computer-implemented method of claim 10, wherein the file comprises software for a real-time application.

17. The computer-implemented method of claim 10, wherein the file comprises software that defines an add-on feature for a browser.

18. The computer-implemented method of claim 10, wherein the file comprises a video codec or an audio codec.

19. A system for initiating real-time communications, the system comprising:

a processor;
a memory operatively connected to the processor and storing instructions that, when executed by the processor, cause: generating a data channel for real-time communication; automatically transferring a file using the data channel upon initiation of a call; and enabling temporary use of the file during the call, wherein the temporary use terminates upon completion of the call.

20. The system of claim 19, wherein the memory stores further instructions that, when executed by the processor, cause:

terminating the data channel after transferring the file.

21. The system of claim 19, wherein the memory stores further instructions that, when executed by the processor, cause:

maintaining the data channel after transferring the file;
transferring an additional file using the data channel.

22. The system of claim 19, wherein the call is an audio call or a video call.

23. The system of claim 19, wherein the file expands a functionality of a browser during the call.

24. The system of claim 23, wherein the memory stores further instructions that, when executed by the processor, cause:

enabling a modification of the expanded functionality of the browser.

25. The system of claim 19, wherein the file comprises software for a real-time application.

26. The system of claim 19, wherein the file comprises software that defines an add-on feature for a browser.

27. The system of claim 19, wherein the file comprises a video codec or an audio codec.

28. A non-transitory, computer-readable medium storing a set of instructions that, when executed by a processor, cause:

generating a data channel for real-time communication;
automatically transferring a file using the data channel upon initiation of a call; and
enabling temporary use of the file during the call, wherein the temporary use terminates upon completion of the call.

29. A non-transitory, computer-readable medium of claim 28, wherein the call is an audio call or a video call.

Patent History
Publication number: 20200244776
Type: Application
Filed: Apr 13, 2020
Publication Date: Jul 30, 2020
Inventors: Karl Klaghofer (Munchen), Viktor Ransmayr (Munchen)
Application Number: 16/846,746
Classifications
International Classification: H04L 29/06 (20060101); G06F 8/65 (20060101);