An Optimized Hybrid Remote Display Protocol Using GPU-Assisted M-JPEG Encoding and Novel High-Motion Detection Algorithm

Total Page:16

File Type:pdf, Size:1020Kb

An Optimized Hybrid Remote Display Protocol Using GPU-Assisted M-JPEG Encoding and Novel High-Motion Detection Algorithm J Supercomput (2013) 66:1729–1748 DOI 10.1007/s11227-013-0972-1 An optimized hybrid remote display protocol using GPU-assisted M-JPEG encoding and novel high-motion detection algorithm Biao Song · Wei Tang · Tien-Dung Nguyen · Mohammad Mehedi Hassan · Eui Nam Huh Published online: 6 July 2013 © Springer Science+Business Media New York 2013 Abstract In this paper, we design a novel hybrid remote display for mobile thin- client system. The remote frame buffer (RFB) protocol and motion JPEG (M-JPEG) protocol are assigned to handle remote display tasks in the slow-motion region and high-motion region, respectively. Graphic processing units (GPU) are utilized to do a part of a real-time JPEG compression task. A novel quality of experience (QoE)- based high-motion detection algorithm is also proposed to reduce the network band- width consumption and the server-side computing resource consumption. The conti- nuity of screen delivery remains whenever the JPEG compression is applied to dif- ferent screen regions. The proposed hybrid remote display approach has many good features which have been justified by comprehensive simulation studies. Keywords Remote display protocol · RFB · M-JPEG · High-motion detection · GPU B. Song · M.M. Hassan College of Computer and Information Sciences, King Saud University, Riyadh, Kingdom of Saudi Arabia B. Song e-mail: [email protected] M.M. Hassan e-mail: [email protected] W. Tang · T.-D. Nguyen · E.N. Huh () Innovative Cloud and Security Lab, Department of Computer Engineering, Kyung Hee University, 1 Seocheon-dong, Giheung-gu, Yongin-si, Gyeonggi-do 446-701, South Korea e-mail: [email protected] W. Tang e-mail: [email protected] T.-D. Nguyen e-mail: [email protected] 1730 B. Song et al. 1 Introduction Nowadays, the rapid development of mobile network and device promotes the inves- tigation of mobile services. During the last decade, the processing power of mobile (smartphone) and portable devices (laptop, tablet PC) has been greatly improved. Despite the advances in mobile hardware and local application, the remote mobile services delivered through thin-client computing still is gaining particular interest in research and development of mobile context. According to [1], the first advantage of mobile thin-client computing is that applications need not to be tailored individually for each mobile platform. It has the potential to break the device-specific/OS-specific barrier for mobile and PC applications. Secondly, the mobile thin computing tech- nology handles the “heterogeneous degree of capability” problem for mobile and portable devices. For example, mobile phones still cannot provide enough local pro- cessing and storage resources to execute 3D virtual environments that require ad- vanced graphical hardware [2], or applications that operate on large data sets, such as medical imaging application [3]. Although the portable devices may have enough ca- pability to process 3D tasks locally, the battery consumption limits the performance and service time. Using thin-client computing, users are able to remotely access their services via a local viewer application and delegate actual information processing to the remote server. The viewer application transfers user input to the server, and renders the dis- play updates received from the server. Many types of thin-client technologies have mobile client versions for different mobile devices such as Microsoft Remote Desk- top Services (RDP) [4], and Virtual Network Computing (VNC) [5]. However, the current technologies did not provide an efficient and widely applicable remote dis- play solution for mobile thin-client computing. All existing remote display solutions can be roughly categorized into structured and pixel-based encoding. In the structured encoding domain, the remote display server intercepts elementary drawing commands from application/OS/graphic card, translates them to a format that is executable on the client device, and sends the trans- lated instructions to the client. The instructions are then received by the client, and executed on the client device to generate screen display. Citrix XenApp [6], Windows RDP [4], THINC [7], and MPEG-4 BiFS semantic remote display framework [1] be- long to this category. The above solutions perform well supporting only a limited range of applications or OS since most of them (expect THINC) need application/OS level structure information, which is usually inaccessible for an external application, such as the encoder application. Besides, these solutions require client-side hardware support to execute 3D virtual environment even if the 3D structure information is available. Thus, the structured encoding technologies are not widely applicable on both server and client side. On the other hand, the pixel-based encoding solutions are more general as com- pared to the structured encoding. The remote display server intercepts the screen pixels from the hardware framebuffer, encodes the screen updates with different com- pression techniques, and sends the encoded screen updates to the client. Due to the variety of compression techniques, the performances of existing pixel-based encod- ing solutions differ from each other. The original VNC, which adopts RFB as the An optimized hybrid remote display protocol using GPU-assisted 1731 encoding technique, suffers from high bandwidth consumption when transmitting high-motion screen updates. As the RFB protocol provides no adequate solution to support pixel-based encoding, the existing works [8, 9] divide the display in slow- and high-motion regions, which are encoded, respectively, by means of VNC draw- ing primitives and MPEG-4 AVC (a.k.a. H.264) frames. This solution fully eliminates the high bandwidth consumption problem caused by VNC encoding. However, the MPEG decoding still results in high computing resource consumption on the client device. Meanwhile, the motion detection approach is not fully optimized since the switch from RFB to MPEG cannot be done transparently. RFB-based JPEG compression technology was used in TightVNC [10] and Tur- boVNC [11] to reduce the consumption of bandwidth and client CPU. They use JPEG compression to encode the difference between the neighbor frames rather than the frame itself. If JPEG compression is applied to each frame, the whole process can be viewed as Motion JPEG (M-JPEG) encoding process. According to [12], M-JPEG has the following advantages: (i) minimum latency in image processing, and (ii) flex- ibility of splicing and resizing. Even if few network packets containing the frame information have been lost during the transmission, M-JPEG can still provide contin- uous streaming while the RFB-based JPEG compression technology may not be able to work properly. Besides, the existing thin-client applications using JPEG-based re- mote display protocol face the low frame rate problem since real-time JPEG encoding is a challenging task for CPU. The experiments in [13] show that it is impossible to guarantee 20–30 frames per second large screen JPEG compression without using parallel processing units. In this paper, we propose a novel hybrid remote display design for the mobile thin-client system. The RFB protocol is chosen to handle the slow-motion remote display task. We adopt M-JPEG as our protocol for high-motion display. To further improve the encoding efficiency and reduce the response time, graphic processing units (GPU) have been utilized to do a part of JPEG compression task. We install a NVIDIA graphic card and NVIDIA CUDA, which is a parallel computing platform and programming model, enabling dramatic increases in computing performance by harnessing the power of the GPU [14]. By using GPU-assisted M-JPEG compression, our remote display system is capable of providing real-time M-JPEG streaming with low latency and high frame rate, which is considered as the first contribution of this paper. The second contribution is that the motion detection algorithm in our display pro- tocol is able to reduce the network bandwidth consumption and the server-side com- puting resource consumption. As the M-JPEG is an intra-frame approach, the resizing and slicing of the M-JPEG frames can be done transparently. Whenever the motion detection algorithm changes the size or position of the high-motion region, the con- tinuity of screen delivery is always preserved. Our proposed algorithm can detect several high-motion regions with the consideration of the following factors: (i) the number of changed pixels, (ii) the network environment, (iii) the resource utilization situation on server side, and (iv) the video quality preference from the client side. The motion detection algorithm first assigns each 8 ∗ 8 display region a QoE value show- ing that how much the M-JPEG compression outperforms RFB encoding regarding that region. Then, the QoE values are used to form a QoE matrix, and the high-motion 1732 B. Song et al. region detection problem is solved by using a dynamic programming algorithm to get the sub-matrix with maximum summation. We also present a four-module-four-thread implementation method. The multi- thread design greatly reduces the whole compression time by running tasks in paral- lel among memory, CPU, GPU, and Network I/O. The proposed display technology with novel motion detection algorithm is compared with existing solutions. The ex- perimental results are demonstrated to support the claims. The rest of this paper is organized as follows. Section 2 discusses some related work in the thin-client domain. The description of the proposed hybrid remote display protocol can be found in Sect. 3. Section 4 contains the details of the motion detection algorithm. We show our implementation method and some performance results in Sect. 5 and conclude with suggestions for future work in Sect. 6. 2 Related work Based on the position of interception, the remote display protocols can be categorized into three distinctive groups. At application/OS layer, Microsoft RDP [4] is a well- known and widely used solution developed by Microsoft, which concerns providing a user with a graphical interface to another computer.
Recommended publications
  • Collabkit – a Multi-User Multicast Collaboration System Based on VNC
    Humboldt-Universität zu Berlin Institut für Informatik Lehrstuhl für Rechnerorganisation und Kommunikation Diplomarbeit CollabKit – A Multi-User Multicast Collaboration System based on VNC Christian Beier 19. April 2011 Gutachter Prof. Dr. Miroslaw Malek Prof. Dr. Jens-Peter Redlich Betreuer Peter Ibach <[email protected]> Abstract Computer-supported real-time collaboration systems offer functionality to let two or more users work together at the same time, allowing them to jointly create, modify and exchange electronic documents, use applications, and share information location-independently and in real-time. For these reasons, such collaboration systems are often used in professional and academic contexts by teams of knowledge workers located in different places. But also when used as computer-supported learning environments – electronic classrooms – these systems prove useful by offering interactive multi-media teaching possibilities and allowing for location-independent collaborative learning. Commonly, computer-supported real-time collaboration systems are realised using remote desktop technology or are implemented as web applications. However, none of the examined existing commercial and academic solutions were found to support concurrent multi-user interaction in an application-independent manner. When used in low-throughput shared-medium computer networks such as WLANs or cellular networks, most of the investigated systems furthermore do not scale well with an increasing number of users, making them unsuitable for multi-user collaboration of a high number of participants in such environments. For these reasons this work focuses on the design of a collaboration system that supports concurrent multi-user interaction with standard desktop applications and is able to serve a high number of users on low-throughput shared-medium computer networks by making use of multicast data transmission.
    [Show full text]
  • Apple Remote Desktop Protocol Specification
    Apple Remote Desktop Protocol Specification Demonology and foreknowable Bobby powwows almost dishonorably, though Rolland intoning his repassages aspiring. Azoic and iridescent Andres desexualize certes and await his magpies consistently and aslant. Ungrudged Virgil reacquires ornately. Free Rdp Demo Animals Way SA. Deciphering the Messages of Apple's T2 Coprocessor Duo. Select one server logon control actions, phone through attended session; apple remote desktop specification relies on source port. Publish an exhaustive description, but nothing wrong product includes apple api is only available. Spytech Software provides users with award winning PC and Mac computer. Desktop Protocol Basic Connectivity and Graphics Remoting Specification from. Remote fork and a Desktop ready for your PC Mac and Linux devices. Rdesktop A long Desktop Protocol Client. Nx client linux skarban. Realvnc multiple monitors mac Arte in zucca. For RDP exist for Microsoft Windows Mic04d and Mac OS X Mic04c. The remote desktop feature a compatible with direct mode run the Apple. VMWare Apple Remote Desktop Microsoft Remote Desktop Connection. Enter your machines. CudaLaunch Barracuda Networks. No longer need this is included in using notepad on? Recipe how the Apple Wireless Direct Link Ad hoc Protocol arXiv. Apple remote and free download mac. Ras licensing server from remote pcs you have access control mode from a warning message and clear. Open source vnc Symmetry Scribes. Live video streaming production software Tech Specs. Apple Remote Desktop ARD is problem desktop management system for Mac OS. Record level accessibility api decides what you can! Remote not Software BeyondTrust aka Bomgar Jump. Remote desktop retina display. Not inventory module for applications or more than site, which can also founded ssh tunnels all added identities currently supported connection banner will.
    [Show full text]
  • Download AKRDC User Guide
    AKRDC v3.1.0 user guide AKRDC user guide Copyright (c) 2015 anyKode. All rights reserved. AKRDC v3.1.0 user guide Table of Contents AKRDC 1 VNC servers matrix 3 Create a connection shortcut 4 Remote control session 8 Files transfer 10 Troubleshooting 11 Index a ii 1 AKRDC v3.1.0 user guide 1 AKRDC 1 AKRDC user guide The user guide is under construction, do not hesitate to contact [email protected] if you have any question. You can also ask your questions on http://www.facebook.com/anykoderdc Description AKRDC is a Remote Desktop Control software compatible with the RFB protocol (a VNC Client). The application is developed by ANYKODE, a French company. AKRDC is tested with several VNC servers like TightVNC, UltraVNC, RealVNC (without encryption), X11VNC (without encryption), Ubuntu Remote Desktop (and some other servers ready with the RFB protocol...) 1 1 AKRDC v3.1.0 user guide Languages: • English, French, Russian, Italian, German, Spanish, Japanese, Korean (please contact us if a translation is not good) Files Transfer for TighVNC and UltraVNC (and X11VNC in UltraVNC mode) servers 1 only right now: • Transfer (download and upload) files and complete directories structure. • Compressed files transfer stream (akRDC PRO only). • Compressed directory files list (with TightVNC server, akRDC PRO only) • Create / Delete directories. • Delete files. Function keys: • 3 buttons mouse (tap) • Mouse wheel emulation (VOLUME up/down keys) • Drag&drop (long tap) • Double click (double tap) • Keyboard, quick keys (CTRL C, CTRL V, CTRL ALT DEL ( see
    [Show full text]
  • Virtual Network Computing Based Remote Desktop Access
    International Journal of Computer Science and Telecommunications [Volume 3, Issue 5, May 2012] 126 Virtual Network Computing Based Remote Desktop Access ISSN 2047-3338 Md. Sanaullah Baig 1, Rajasekar M.2 and Balaji P.3 1,2,3 Department of Computer Science and Engineering, Gojan School of Business and Technology, Chennai-600052, India [email protected], [email protected], [email protected] Abstract– Cloud computing means using multiple server digital appliances, it would provide the user with the computers via a digital network as though they were one following capabilities: computer. Often, the services available is considered part of • To see the contents of a file placed on the desktop of a cloud computing. Cloud computing broadens the range of applications offered to mobile end-users with demanding remote computer applications in terms of graphical hardware, such as 3D virtual • To reboot a remote server as an administrator environments, or storage capacity, such as 3D medical imaging applications. As the cloud infrastructure is shared among This project presents a virtual network computing (VNC) multiple users, these hardware resources can be provided in a based architecture for accessing the desktop of remote cost-effective way. Mobile cloud computing can give mobile systems MS-Windows from a cellular phone. It is assumed device users a number of advantages. Company users are able to that the remote computer system is running a VNC server and share resources and applications without a high level of capital that it is attached to a network. The cellular user can see and expenditure on hardware and software resources.
    [Show full text]
  • Wireless Data Transmission Through VNC and RFB Over Web Socketing
    International Journal of Wireless Communications, Networking and Mobile Computing 2017; 4(2): 16-23 http://www.aascit.org/journal/wcnmc ISSN: 2381-1137 (Print); ISSN: 2381-1145 (Online) Wireless Data Transmission Through VNC and RFB over Web Socketing Sachin Ruikar, Manoj R. Jagdamwar Department of Electronics Engineering, Walchand College of Engineering, Sangli, Maharashtra, India Email address [email protected] (S. Ruikar), [email protected] (M. R. Jagdamwar) Citation Sachin Ruikar, Manoj R. Jagdamwar. Wireless Data Transmission Through VNC and RFB over Keywords Web Socketing. International Journal of Wireless Communications, Networking and Mobile Raspberry-Pi, Computing . Vol. 4, No. 2, 2017, pp. 16-23. Wi-Fi, Abstract Remote Frame Buffer, This research paper consists of video data transfer in the using raspberry pi. The wireless Virtual Network Computing, transmission module is used as a tool for communication media between the devices. It Web Socketing use VNC and RFB protocols over web socket to transfer and access the PC desktop remotely with the help of Raspberry- pi. Now days the popular way to access a specific system is by using VNC (Virtual Network Computing). VNC offers user to share desktops over available network. VNC basically allows user to view and control the Received: March 8, 2017 interface of another available computer remotely and can be thought of as the GUI Accepted: May 3, 2017 (graphical user interface) equivalent to Telnet. In this work VNC server is used for front Published: August 8, 2017 end system and for back end connection at server side TCP is used. There is need to develop client side which is open in browser.
    [Show full text]
  • RFB Protocol
    The RFB Protocol Tristan Richardson RealVNC Ltd (formerly of Olivetti Research Ltd / AT&T Labs Cambridge) ∗ Version 3.8 Last updated 26 November 2010 Contents 1 Introduction 3 2 Display Protocol 3 3 Input Protocol 4 4 Representation of pixel data 4 5 Protocol extensions 5 6 Protocol Messages 5 6.1 HandshakingMessages ......................... 7 6.1.1 ProtocolVersion . 8 6.1.2 Security............................. 9 6.1.3 SecurityResult . 11 6.2 SecurityTypes.............................. 12 6.2.1 None .............................. 13 6.2.2 VNC Authentication . 14 6.3 Initialisation Messages . 15 6.3.1 ClientInit . 16 6.3.2 ServerInit............................ 17 6.4 Clienttoservermessages ........................ 19 ∗James Weatherall, Andy Harter and Ken Wood also helped in the design of the RFB protocol 1 CONTENTS 2 6.4.1 SetPixelFormat . 20 6.4.2 SetEncodings.......................... 21 6.4.3 FramebufferUpdateRequest . 22 6.4.4 KeyEvent............................ 23 6.4.5 PointerEvent .......................... 25 6.4.6 ClientCutText . 26 6.5 Servertoclientmessages ........................ 27 6.5.1 FramebufferUpdate....................... 28 6.5.2 SetColourMapEntries . 29 6.5.3 Bell............................... 30 6.5.4 ServerCutText ......................... 31 6.6 Encodings................................ 32 6.6.1 Rawencoding.......................... 33 6.6.2 CopyRect encoding . 34 6.6.3 RREencoding ......................... 35 6.6.4 Hextile encoding . 36 6.6.5 ZRLEencoding......................... 38 6.7 Pseudo-encodings............................ 41 6.7.1 Cursor pseudo-encoding . 42 6.7.2 DesktopSize pseudo-encoding . 43 1 INTRODUCTION 3 1 Introduction RFB (“remote framebuffer”) is a simple protocol for remote access to graphical user interfaces. Because it works at the framebuffer level it is applicable to all window- ing systems and applications, including X11, Windows and Macintosh.
    [Show full text]
  • GZ:If Expand("
    CORE Metadata, citation and similar papers at core.ac.uk Provided by E-LIS repository BACHELOR THESIS VNC-Interface for Java X86-Emulator Dioscuri Evgeni Genev Matr.-Nr. 2151451 advisor Dr. Dirk von Suchodoletz Prof. Dr. Gerhard Schneider at the Chair of Communication Systems University of Freiburg VNC-Interface for Java X86-Emulator Dioscuri Declaration I hereby declare, that I am the sole author and composer of my Thesis and that no other sources or learning aids, other than those listed, have been used. Furthermore, I declare that I have acknow- ledged the work of others by providing detailed references of said work . I hereby also declare, that my Thesis has not been prepared for another examination or assignment, either wholly or excerpts thereof. place, date Signature i VNC-Interface for Java X86-Emulator Dioscuri Table of Contents 1 Introduction2 2 State of the art4 2.1 The hardware emulator Dioscuri..........................4 2.2 RFB and VNC....................................6 2.3 The Java library VNCj...............................8 3 Implementation9 3.1 Updating VNCj...................................9 3.2 Events........................................9 3.2.1 Keyboard events.............................. 10 3.2.2 Mouse (Pointer) events........................... 12 3.3 Framebuffer update requests and framebuffer updates............... 14 3.4 A VNC server for Dioscuri............................. 17 4 Testing 19 5 Conclusion 21 ii VNC-Interface for Java X86-Emulator Dioscuri Abstract Dioscuri ist ein in Java geschriebener X86-Emulator für die digitale Langzeitarchivierung. Es gab im Zuge des PLANETS Project eine Reihe von Experimenten für die Automatisierung von typischerweise interaktiven Abläufen. Dieses wurde bisher mit dem Emulator QEMU gemacht, der über ein eingebautes VNC-Interface verfügt.
    [Show full text]
  • Virtual Network Computing
    Virtual Network Computing In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the RFB protocol to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network. VNC is platform-independent – a VNC viewer on one operating system may connect to a VNC server on the same or any other operating system. There are clients and servers for many GUI- based operating systems and for Java. Multiple clients may connect to a VNC server at the same time. Popular uses for this technology include remote technical support and accessing files on one's work computer from one's home computer, or vice versa. VNC was originally developed at the Olivetti Research Laboratory in Cambridge, United Kingdom. The original VNC source code and many modern derivatives are open source under the GNU General Public License. VNC in KDE. There are a number of variants of VNC[1] which offer their own particular functionality; e.g., some optimised for Microsoft Windows, or offering file transfer (not part of VNC proper), etc. Many are compatible (without their added features) with VNC proper in the sense that a viewer of one flavour can connect with a server of another; others are based on VNC code but not compatible with standard VNC. VNC and RFB are registered trademarks of RealVNC Ltd. in the U.S. and in other countries. Etymology The name 'Virtual Network Computer/Computing' originates from ORL's work on a thin client called the Videotile which also used the RFB protocol.
    [Show full text]
  • VNC Vulnerability Research
    VNC vulnerability research Pavel Cheremushkin 22.11.2019 Version 1.0 Contents Preparing for the research ............................................................................................................................................ 2 System description .................................................................................................................................................... 2 Possible attack vectors .............................................................................................................................................. 3 Objects of research ................................................................................................................................................... 3 Prior research ............................................................................................................................................................ 4 Research findings ......................................................................................................................................................... 5 LibVNC ...................................................................................................................................................................... 5 TightVNC ................................................................................................................................................................... 6 TurboVNC .................................................................................................................................................................
    [Show full text]
  • SHARING Vanda, Fotolia
    COVER STORY Remote Access with VNC Remote GUI access with VNC SHARING vanda, Fotolia vanda, Once you only needed a command line to access remote computers, but today’s networks sometimes require a graphical connection. The VNC protocol provides a practical cross-platform screen sharing solution. We’ll take a close look at VNC and show you some leading no-cost VNC applications. BY JAMES MOHR work in a data center with hundreds With the X protocol, the local machine of updates. Therefore, a number of dif- of machines spread over two build- is responsible for managing the display ferent compression techniques have Iings. Usually we can perform the and windows. VNC uses the Remote been developed to further reduce the necessary management functions for the Frame Buffer (RFB) protocol, transmit- amount of information being transferred. Linux and Unix systems using ssh; how- ting mouse and keyboard events from Because it interacts directly with the ever, in a number of cases, a tool we the client to the server, then sending frame buffer, the RFB protocol – and need may not have a command-line in- screen updates back to the client. thus VNC – is platform independent. A terface, or the remote system may be The simplest method for updating the Windows machine can connect to Linux running some version of Windows that screen is to send the raw pixel data in just as well as it can connect to another requires access to the GUI. scanline order (left to right, top to bot- Windows machine. VNC can essentially Virtual Network Computing (VNC) is tom).
    [Show full text]
  • Remote Access Forensics for VNC and RDP on Windows Platform
    Edith Cowan University Research Online Australian Digital Forensics Conference Conferences, Symposia and Campus Events 1-1-2010 Remote Access Forensics for VNC and RDP on Windows Platform Paresh Kerai Edith Cowan University Follow this and additional works at: https://ro.ecu.edu.au/adf Part of the Computer Sciences Commons DOI: 10.4225/75/57b2a86540cde 8th Australian Digital Forensics Conference, Edith Cowan University, Perth Western Australia, November 30th 2010 This Conference Proceeding is posted at Research Online. https://ro.ecu.edu.au/adf/81 Proceedings of the 8th Australian Digital Forensics Conference Remote Access Forensics for VNC and RDP on Windows Platform Paresh Kerai School of Computer and Security Science Edith Cowan University Perth, Western Australia [email protected] Abstract There has been a greater implementation of remote access technologies in recent years. Many organisations are adapting remote technologies such as Virtual Network Computing (VNC) and remote desktop (RDP) applications as customer support application. They use these applications to remotely configure computers and solve computer and network issues of the client on spot. Therefore, the system administrator or the desktop technician does not have to sit on the client computer physically to solve a computer issue. This increase in adaptation of remote applications is of interest to forensic investigators; this is because illegal activities can be performed over the connection. The research will investigate whether remote protocols and applications do produce and leave valuable artefacts behind on Windows systems. The research aims to determine and retrieve any artefacts left behind remote protocols and applications in a forensic manner.
    [Show full text]
  • Desktop Sharing with SIP
    Desktop sharing with SIP Author : Willem Toorop ∗ Supervisor : Michiel Leenaars y February 2, 2009 Abstract This report describes how Desktop and Application sharing sessions can be realised using SIP. Investigated is what possibilities require the least or no adaptation of existing SIP infrastructure. An implemen- tation of the RFB protocol tunneled over a MSRP session using the sipsimpleclient library is presented as a possible solution. The research question this report tries to answer is: "How can application and desktop sharing, initiated by SIP, be realised in existing SIP infrastructure with the least possible impact on that infrastructure" Many thanks to Adrian Georgescu who came up with the RFB over MSRP idea. Research Project 1 ∗[email protected] [email protected] 1 Desktop sharing with SIP Contents 1 Introduction3 1.1 What is application and desktop sharing?...............3 1.2 What is SIP?...............................3 1.3 Why application/desktop sharing with SIP..............4 2 How does SIP work?5 2.1 Overview.................................5 2.2 Registration................................6 2.2.1 Finding the registrar.......................6 2.2.2 Authenticating to the registrar.................7 2.3 Calling out................................8 2.3.1 The SDP format.........................9 2.4 Redirections................................ 11 2.5 Other features of SIP........................... 12 3 The NAT-Traversal problem 13 3.1 What is NAT?.............................. 13 3.2 How does NAT work?.......................... 13 3.3 How does SIP deal with NAT?..................... 14 3.4 What about the sessions themselves?.................. 15 3.4.1 Industry answers......................... 15 3.4.2 The IETF answer........................ 17 3.4.2.1 STUN.......................... 18 3.4.2.2 TURN........................
    [Show full text]