Secured Web Oriented Videoconferencing System For Educational Purposes Using WebRTC Technology R. Vápeník, M. Michalko, J. Janitor and F. Jakab Department of Computer and Informatics, Faculty of Electrical Engineering and Informatics Technical University of Košice, Letná 9, 042 00 Košice, Slovak Republic roman.vapenik@cnl.sk, miroslav.michalko@cnl.sk, jozef.janitor@cnl.sk, frantisek.jakab@cnl.sk Abstract This work deals with the means of videoconferencing systems ran by web browsers. It analyzes certain contemporary videoconferencing solutions and technologies used for multimedia streaming. It also describes the WebRTC technology terminology and presents the reader with its benefits. It sketches certain options for security enhancements for visual stream transmission via computer network. Based on the proposed concept it was possible to create an experimental web oriented videoconferencing system with a dual layer security policy in which students and teachers are able to communicate via chat and share files with each other besides audio and video communication. I. INTRODUCTION By 2020, 90% of data transmitted over the Internet will have the visual character. This is confirmed by many studies dealing with this issue, for example from Gantz and Reinsel [1], Tkac [2] and Cisco Inc. [3]. Communication using video is a modern, saving time and effort and it is therefore very popular. Systems dealings with video conferencing are therefore widespread. Each of them has some disadvantages. Hardware video conferencing systems are the best in terms of image quality and the experience in the communications, but it is often very expensive. Usually it is a device that can be considered as furniture or even to the whole room with equipment according to certain standards. Procure them cannot therefore anyone, quite the contrary, is intended close group of people [4]. Software video conferencing systems are nowadays very popular. Their biggest advantage is price - most of them are in fact free. They are therefore economically available to the general community. Of course, these public versions are not complete and if you are looking for more options of software systems you have to pay extra money. However, this addition supplement is incomparably less than the cost of hardware video conferencing systems [4]. Managing them is challenging. Not everyone knows the complicated architecture of these systems. For some, the problem is no longer the installation itself. In addition, when you install or update may cause problems - the setup file may be infected. The executable file is in fact the best hidden viruses or Trojans [4]. The aim of this work is to create video conferencing system that is as simple as possible for the end user. Will not require any installation, be easy to use and understand. II. MAIN GOALS OF THIS WORK The main goal of this work was to create a pilot webbased videoconferencing system. The user should be able to share its resources, such as video, audio and data. In addition, the protection of the system should be granted. This task requires several sub-tasks. The first of these was the analysis streaming technologies. Furthermore, it was necessary to become familiar with existing videoconferencing solutions. Using this analysis to create a view of the problems of current videoconferencing systems and their possible solutions. One of the main tasks of this work was to design security extensions, which could be implemented on a web-based videoconferencing system. The result should be a system which allows users to interact with Web browsers. Give them the security of their communications and create a confortable and easy interface for media sharing. III. ANALYSIS OF VIDEOCONFERENCING SYSTEMS There are many videoconferencing systems providing basic or the advanced options of communication between two or more users. As an illustration in the following chapters are some of them A. Software solutions Skype Figure 1 Software videoconferencicng system Skype [5]
The most famous software solution of communication between users is Skype (Figure 1). Skype is a communications program allowing running Internet telephony and video. In addition offering the ability to communicate using text messages and it also includes file-sharing. Skype in addition to the basic functions offered for a fee and advanced communication options. The program allows you to make calls to traditional telephone networks or receive calls from mobile networks. After paying the fee even offers the possibility to voice mail [6]. B. Hardware solutions Telepresence A cheaper alternative of hardware video conference system is LifeSize (Figure 3). He offers a customizable solution that requires a much lower cost than Telepresence. It consists mostly of HD camera, which scans the user and hardware that takes care of the actual processing of video and audio. Then it streams that flow into the network to another user. This hardware can be connected to a television or display device and produces a life-size picture. LifeSize does not offer experience as strong as the Telepresence, because it does not have a special adapted room, furniture or other accessories, but is a good compromise because of its cost and quality of services [10]. C. Web-oriented solutions Hangout Figure 2 Hardware videoconferencing system Telepresence [7] The best-known hardware solutions include Cisco Telepresence (Figure 2). This is not just an ordinary video conferencing system. Telepresence is a whole set of technologies which allow a person should feel that companion with whom to communicate, is in the same room with him. This system consists of one entire room. The whole room is adapted to standards to be met by all Telepresence room in the world. These include of course layout screens and cameras, microphones, tables and chairs. But in addition includes trivial things such as the material from which are produced chairs, lighting in the room, flower, which should be located in any room or the color and texture of the walls. All these conditions create an amazing atmosphere that truly evokes the impression that communicates who is on the other side of the world, sitting in the same room [8]. The disadvantage of this system is its cost. Device across one room, three large screens, microphones, cameras, etc., is all very expensive and few people can afford it. LifeSize Figure 4 Web-oriented videoconferencing system Hangout [11] Addition to typical software and hardware solutions, there are largely extended web-based video conferencing system. One of them is the Hangout from Google (Figure 4). Hangout allows communication of two or more users. The service is accessible from the websites of Google mail Gmail, through websites Google+ (Google's social networking site) or through mobile applications on operating systems Android and ios. To establish a connection user must be logged in your account, which must give Google a few of own personal data. This service is linked with social network Google+, which is recorded all communications made through the Hangout. Google Hangout uses its own proprietary protocol, not the standard protocol XMPP. So Third party products cannot establish a connection with Hangout [12]. WebRTC WebRTC (Figure 5) is an open project which allows you to communicate in real time via a web browser, using a simple JavaScript. This project is in no small measure supported by three web browsers - Google Chrome, Mozilla Firefox and Opera [13]. Figure 3 Hardware videoconferencing system LifeSize [9]
common room and conferences which are visible to each user of the system. Private contains two layers, each with its own security. Each private room has its own unique identifier - a token, which is clearly described (Figure 7). When room is created, this identifier is generated using pseudorandom function. Without it, the entrance to the room excluded because URL address of room contains this identifier. Figure 5 Web-oriented videoconferencing system WebRTC [14] WebRTC is a videoconferencing system that is based on communication between two web browsers. Communication allows two or more users. It does not require installation of additional plug-ins or any additional applications. Provide the communication using video and audio, through text messaging and user s desktop sharing, and part of the system allows sharing files between users [15]. The biggest advantage of this technology is its simplicity. With a few lines of source code written in JavaScript can be used WebRTC functionality. However, the use WebRTC API requires initial configuration as a signaling, and search for a client, security settings, and many others. In addition, for full functionality of WebRTC is necessary some new layer protocols. However, most of the work carried out by the browser itself, which processes data in three areas using three basic components of WebRTC: - MediaStream - accessing the local input devices - RTCPeerConnection - setting the remote audio and visual data, - RTCDataChannel - sharing data between end points [15]. WebRTC architecture is made up of a number of standards, including the browser and application API, as well as many other protocols and data formats required for correct functionality. For this, it was desirable to develop and introduce new rules to be implemented in web browsers [13]. IV. CONCEPT OF VIDEOCONFERENCING SYSTEM This videoconferencing system is based on WebRTC technology. Therefore it is connection type browser-tobrowser, which allows communication without installing any additional applications or plugins into the browser. The whole processing of inputs, outputs and transmission runs on client`s devices, there is no server, so eavesdropping by third parties is excluded in this concept. In addition, it does not require any registration or giving personal information, which are mandatory for another web-oriented videoconferencing system Hangout from Google. A. Architecture of system Figure 6 shows the system architecture. As is visible, it consists of two parts - the public (left panel) and private (right). The public part that has no security consists of one Figure 6 Architecture of system Figure 7 Unique identifier of private room The second layer of the private part of system is the conference. It is protected by a password that is requested from the user who creates a private conference room (Figure 8). This password is, of course, required by users who want to join the conference. The client who wants to access the private conference needs from the founder or already connected users get a unique token (or URL) of private room and password. Figure 8 Password to private conference B. Types of conferences In this system, there are four types of conferences: many-to-many, one-to-many, one-to-one and one-way. They differ by participant s interconnection and direction of distribution of signal between them. The first type is a one-to-one (Figure 9). It is a classic case of a videoconferencing system for two people. Stream flows from the client K1 to the second and from the client K2 to the first. Both therefore shows stream by on the other end connections.
Figure 9 One-to-one conference type Conference-type "one-to-many" (Figure 10) is applicable in relation teacher-students or instructorstudents. K1 client as a "teacher" sees all other clients (students), so from all of them stream is delivered to him. But "students" does not see each other. The only stream that is transmitted to them is from the main client K1. stream from the users. At the one-way conference, own resources displayed to the user when the first client is connecting to follow the stream. Receiving participant does not have his own stream displayed at all. It is therefore just like watching TV, when we see images transmitted from the studio, but not own image. And people in the studio do not see the picture of our living room. The last type of conference is many-to-many, in which all clients can see streams from all other clients. In this type there are two solutions to the distribution of information. One of them is called "Full Mesh" topology (Figure 12), where information is distributed from each client to each. In this case, there is a problem with the procedural load on all participants. Each of them must process and render stream from all other clients as well their data must be sent to all other machines. This may be a problem in case of greater number of users and a weaker computing machine. Figure 10 One-to-many conference type Figure 12 Many-to-many conference type with Full Mesh topology The second solution is topology Star (Figure 13). Out of all participants choose one that has the best computing resources and become supernode. All streams from users are redirected to this client and they will distribute to other client. Other clients are not so loaded, because they will send and receive streams only from the supernode. Figure 11 One-way conference type Figure 13 Many-to-many conference type with Star topology One-way conference (Figure 11) is like typical television broadcasting. Client K1 sends its source to all connected participants. However, he does not receive any
V. EXPERIMENTAL IMPLEMENTATION OF VIDEOCONFERENCING SYSTEM Figure 14 shows case study of secured web oriented videoconferencing system. At the same time in this private conference were connected one teacher and five students. One-to-many topology was used so teacher saw all students, but the student could see only himself/herself and teacher s screen (Figure 15). Figure 14 Videoconferencing system teacher s view Figure 15 Videoconferencing system - student s view All the current videoconferencing systems are clientserver based in terms of architecture. That is why the demand for the end-user is minimal as for the computing system. The whole performance load of the process is routed to and managed by the server that is design for it. WebRTC is a solution that does not make use of the server s performance it is a peer-to-peer architecture. That means that the computing process at the client side is much more demanding compared to the client-server architecture. As a result, it is important to think about the requirements that need to be met and what the client device must be able to process. This secured videoconferencing system offers sharing of its local inputs in many ways. That is why the load depends on the choice of the following peripherals video input (local webcam), audio input (microphone) and data input (chat, filesharing). The least demanding sources of performance load are data inputs that can be neglected compared to the other ones. The demandingness of process computation of the audio input depends on the codec settings processing the sound (quality setting, bitrate), but the most demanding part of the input process from all of the sources is the local video camera, hence the video input. In the WebRTC technology, video is compressed with the VP8 codec that is a proprietary protocol by Google Inc., comparable to the commercial H.264/AVC codec. From the recent available technologies side of view is the effectiveness of processing very high. Despite the fact that it uses peer-to-peer protocol, where every connected user processes everything it is important to have a look at the load of the clients. In this case a teachers computer was tested (Intel Core i5-2410m 2,3 GHz; 4GB RAM; Windows 7 64bit). It needs to process much higher load than the other connected clients. The teachers computer processes streams from all the students and also needs to send its input data to all five client devices. The test was successful and with an overall amount of six connected users, the load on the processor was approximately around 65%. By further tests it was derived that the maximum number of clients in one conference should by at most nine so that clients with weaker computing power would not encounter problems with information processing. Based on this decision, the whole design of the system was altered so that a mosaic of 3 by 3 screens of users is generated during the connection process. VI. CONCLUSION The task of this work was to create a system that would allow communication between students and teachers. This system was built as a web videoconferencing system with security features. It is used to allow communication in four forms - video and audio form, in the form of text chats and files sharing between users. An important feature of this system is its security. In addition to the primary security control of information exchange and of course the secure transmission of video, audio and data, the system was extended to the two-level security videoconferencing virtual rooms. When you create a private room is used a unique token that uniquely describes a given room. The user who wants to join in this room must know this token, respectively founder of this virtual room have to give it. In the room may be several conferences, which are differentiated from each other by their names. When accessing to a particular conference user is prompted for the conference password. This password is the second level of system security. User's password must match those that were specified when creating the conference. The videoconferencing system has been tested on most operating systems - Windows 7, Windows 8, Unix and Android. Thus, it is multiplatform and in addition is functional on multiple distribution of web browsers. ACKNOWLEDGMENT This publication is the result of the Project implementation: University Science Park TECHNICOM for Innovation Applications Supported by Knowledge Technology, ITMS: 26220220182, supported by the Research & Development Operational Programme funded
by the ERDF. We support research activities in Slovakia/This project is being co-financed by the European Union. REFERENCES [1] GANTZ, John; REINSEL, David. The digital universe in 2020: Big data, bigger digital shadows, and biggest growth in the far east. IDC iview: IDC Analyze the Future, 2012. [2] TKACH, Robert W. Network traffic and system capacity: Scaling for the future. In: Optical Communication (ECOC), 2010 36th European Conference and Exhibition on. IEEE, 2010. p. 1-22. [3] Cisco Visual Networking Index: Forecast and Methodology, 2013 2018 [4] VÁPENÍK, Roman: Zabezpečený webovo orientovaný videokonferenčný systém. Diploma thesis. Technical university of Košice, Faculty of electrotechnical engineering and informatics, 2014, p. 17 [5] Skype User Interface Concept by Leonardo Zakour [online]. Available on internet: http://www.inspirationsweb.com/design/skype-user-interfaceconcept-by-leonardo-zakour/ [6] BASET, Salman A.; SCHULZRINNE, Henning. An analysis of the skype peer-to-peer internet telephony protocol. arxiv preprint cs/0412017, 2004. [7] TelePresence spojenie s Cisco Keňa [online]. Available on internet: http://tp.cnl.sk/ [8] SZIGETI, Tim, et al. Cisco TelePresence Fundamentals. Cisco Press, 2009. [9] Keep up in the latest insider video conferencing industry news [online]. Available on internet: http://www.conferencingadvisors.com/blog/?tag=lifesize [10] PAN, Hui. Telecom Mergers & Acquisitions Monthly Newsletter November 2009. Information Gatekeepers Inc. [11] G+ Hangout Etiquette: Do's and Don'ts [online]. Available on internet: http://kateharperblog.blogspot.sk/2011/08/g-hangoutetiquette.html [12] XU, Yang, et al. Video telephony for end-consumers: measurement study of Google+, ichat, and Skype. ACM, 2012. p. 371-384. [13] JOHNSTON, Alan B.; BURNETT, Daniel C. WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web. Digital Codex LLC, 2012. [14] Chrome and Firefox now talking to each other through WebRTC chats (video) [online]. Available on internet: http://www.engadget.com/2013/02/04/chrome-and-firefox-nowtalking-to-each-other-through-webrtc-chat/ [15] GRIGORIK, Ilya; Secure Communication in WebRTC. High- Performance Browser Networking. O Reilly Media, 2013