City Research Online
Total Page:16
File Type:pdf, Size:1020Kb
City Research Online City, University of London Institutional Repository Citation: Al-Malki, Dana Mohammed (2006). Development of virtual network computing (VNC) environment for networking and enhancing user experience. (Unpublished Doctoral thesis, City University London) This is the draft version of the paper. This version of the publication may differ from the final published version. Permanent repository link: http://openaccess.city.ac.uk/18319/ Link to published version: Copyright and reuse: City Research Online aims to make research outputs of City, University of London available to a wider audience. Copyright and Moral Rights remain with the author(s) and/or copyright holders. URLs from City Research Online may be freely distributed and linked to. City Research Online: http://openaccess.city.ac.uk/ [email protected] School of Engineering and Mathematical Sciences Development of Virtual Network Computing (VNC) Environment for Networking and Enhancing User Experience Dana Mohammed Al‐Malki Supervisor: Dr S.H.Khan A thesis submitted in partial fulfilment of the requirements for the degree of Doctor of Philosophy in Information Engineering August 2006 i Abstract Abstract Virtual Network Computing (VNC) is a thin client developed by Real VNC Ltd, Formerly of Olivetti Research Ltd/AT&T labs Cambridge and can be used as a collaborative environment, therefore it has been chosen as the basis of this research study. The purpose of this thesis is to investigate and develop a VNC based environment over the network and to improve the users’ Quality of Experience (QoE) of using VNC between networked groups by the incorporation of videoconferencing with VNC and enhancing QoE in Mobile environments where the network status is far from ideal and is prone to disconnection. This thesis investigates the operation of VNC in different environments and scenarios such as wireless environments by investigating user and device mobility and ways to sustain their seamless connection when in motion. As part of the study I also researched all groups that implement VNC like universities, research groups and laboratories and virtual laboratories. In addition to that I identified the successful features and security measures in VNC in order to create a secure environment. This was achieved by pinpointing the points of strength and weakness in VNC as opposed to popular thin clients and remote control applications and analysing VNC according to conforming to several security measures. Furthermore, it is reasonable to say that the success of any scheme that attempts to deliver desirable levels of Quality of Service (QoS) of an effective application for the future Internet must be based, not only on the progress of technology, but on usersʹ requirements. For instance, a collaborative environment has not yet reached the desired expectation of its users since it is not capable of handling any unexpected events which can result from a sudden disconnection of a nomadic user engaged in an ongoing collaborative session; this is consequently associated with breaking the social dynamics of the group collaborating in the session. Therefore, I have concluded that knowing the social dynamics of application’s users as a group and their requirements and expectations of a successful experience can lead an application designer to exploit technology to autonomously support the initiating and maintaining of social interaction. Moreover, I was able to successfully develop a VNC based environment for networked groups that facilitates the administration of different remote VNC sessions. In addition to a prototype that uses videoconferencing in parallel to VNC to provide a better user’s QoE of VNC. The last part of the thesis was concerned with designing a framework to improve and assess QoE of all users in a collaborative environment where it can be especially applied in the presence of nomadic clients with their much frequent disconnections. I have designed a conceptual algorithm called Improved Collaborative Quality of Experience (IC‐QoE), an algorithm that aims to eliminate frustration and improve QoE of users in a collaborative session in the case of disconnections and examined its use and benefits in real world scenarios such as research teams and implemented a prototype to present the concepts of this algorithm. Finally, I have designed a framework to suggest ways to evaluate this algorithm. ii Acknowledgment Acknowledgement To begin with, I would like to offer my thanks and gratitude to Dr S H Khan, who has supervised, guided, advised and had faith in me and who has been a good mentor, counsellor and friend throughout the past years. I would also like to thank my parents and siblings who encouraged, motivated and had faith in me, my mother for offering me encouragement and not giving up on me, my father for tolerating, with all the support he has, my long absence to pursuit my studies, my brother and sisters who were my solid rock. I would like to add special thanks to my sister Amal for always being there and for her continued patience and understanding through the years where with her support things got easier to handle. I also would like to mention Dr Veselin Rakocevic for his valuable guidance in the last year of the thesis and his helpful comments and suggestions. I would like to thank the cultural attaché of Qatar, and especially His highness Mr Nasser Al‐Khalifa, who was Qatar’s ambassador in London through most of the period of my studies and is currently Qatar’s ambassador in Washington, for believing in my capabilities and giving me the chance to prove them. Finally, I would like to thank the RealVNC mailing list for their help. iii Declaration Declaration I grant powers of discretion to the University Librarian to allow this thesis to be copied in whole or in part without further reference to the author. This permission covers only single copies made for study purposes, subject to normal conditions of acknowledgements iv Abbreviations Abbreviations 2G: Second Generation Wireless 3G: Third Generation Wireless AMPS: Advanced Mobile Phone System ASP: Application Service Provision ATM: Asynchronous Transfer Mode AWT: Java Abstract Windowing Toolkit BER: Bit Error Rate BS: Base Station CAD: Computer Aided Design CC: Cellular Communication CDMA: Code division multiple access CDPD: Cellular Digital Packet Data CE: Collaborative environment CN: Correspondent Node CoA: Care‐of‐Address CSCW: Computer Supported Cooperative Work DTP: Digital Publishing DUPACK: Duplicate Acknowledgments FA: Foreign Agent FEC: Forward Error Correction GNOME: GNU Object Model Environment GUI: Graphical User Interface GSM: Global System for Mobile Communications GPRS: General Packet Radio Service HA: Home Agent HCI: Human‐Computer Interaction v Abbreviations HTML: Hypertext Mark‐up Language HTTP: Hypertext Transfer Protocol IC‐QoE: Improved Collaborative Environment IP: Internet Protocol ISDN: Integrated Services Digital Network IWF: Interworking Function KDE: K Desktop Environment LCD: liquid crystal display LDAP: Lightweight Directory Access Protocol LLC: Logical Link Control MAC: Media Access Control MAHO: Mobile‐assisted Handover MDAC: Microsoft Data Access Components MN: Mobile Node MSC: Mobile Switching centre MTSO: Mobile Telephone Switching Office NACK: Negative Acknowledgment NCHO: Network‐controlled Handover NDS: Novell Directory Services PCS: Personal Communication Services PDA: Personal Digital Assistant PPP: Point‐to‐Point Protocol QoS: Quality of Service QoE: Quality of Experience QoT: Quality of Transmission RDP: Remote Desktop Protocol RFB: Remote Frame Buffer RLP: Radio Link Protocol RSSHT: Relative Signal Strength Hysteresis and Threshold vi Abbreviations RTO: Retransmission Timeout RTT: Round trip time SACK: Selective Acknowledgment SLIP: Serial Line Internet Protocol SNR: Signal‐to‐Noise Ratio TCO: Total Cost of Ownership TDMA: Time division multiple access TCP/IP: Transmission Control Protocol/Internet Protocol UMTS: Universal Mobile Telecommunications System VNC: Virtual Network Computing W‐LAN: Wireless Local Area Network W‐WAN: Wireless Wide Area Network WYSIWIS: What You See Is What I See ZWA: Zero Window Advertisement ZWP: Zero Window Probe vii List of Figures List of Figures Figure 2.1 TCP/IP Protocol Suite........................................................................................... 12 Figure 2.2 TCP Packet Header................................................................................................ 16 Figure 2.3 Client/server application process actions and TCP [3]..................................... 19 Figure 2.4 Client/server application, using connection‐oriented transport services [7] 20 Figure 2.5 Routing for mobile hosts ...................................................................................... 27 Figure 2.6 Decision points during layer 2 handoff process................................................ 32 Figure 2.7 Connectivity between CC systems and the Internet [30]................................. 39 Figure 2.8 TCP solutions for wireless networks [37]........................................................... 43 Figure 3.1 X window system block diagram [50] ............................................................... 52 Figure 3.2 The Teleporting system structure [9]................................................................. 55 Figure 3.3 The RFB protocol [54]............................................................................................ 58 Figure 3.4 Structure of VNC system [55] ............................................................................