Method of Frame Buffer Transmission over Reliable Multicast Network Choon Jin NG Masahiro Takatsuka.

Slides:



Advertisements
Similar presentations
Push Technology Humie Leung Annabelle Huo. Introduction Push technology is a set of technologies used to send information to a client without the client.
Advertisements

TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
CCNA – Network Fundamentals
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Multimedia Systems As Presented by: Craig Tomastik.
Virtual Network Computer Recorder A Tool for Remote Learning.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Csc333 Data communication & Networking Credit: 2.
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
Measurements of Congestion Responsiveness of Windows Streaming Media (WSM) Presented By:- Ashish Gupta.
Compression & Huffman Codes
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Lecture 2 Protocol Layers CPE 401 / 601 Computer Network Systems slides are modified from Dave Hollinger.
Secure Multimedia Multicast: Interface and Multimedia Transmission GROUP 2: Melissa Barker Norman Lo Michael Mullinix server router client router client.
1 Version 3 Module 8 Ethernet Switching. 2 Version 3 Ethernet Switching Ethernet is a shared media –One node can transmit data at a time More nodes increases.
Compression & Huffman Codes Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Using Redundancy and Interleaving to Ameliorate the Effects of Packet Loss in a Video Stream Yali Zhu, Mark Claypool and Yanlin Liu Department of Computer.
Multicast Transport Protocols: A Survey and Taxonomy Author: Katia Obraczka University of Southern California Presenter: Venkatesh Prabhakar.
Gursharan Singh Tatla Transport Layer 16-May
Introduction to Streaming © Nanda Ganesan, Ph.D..
Process-to-Process Delivery:
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
Lecture 10 Data Compression.
1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He.
VNC VNC demo Windows  TightVNC  ajklinux1.uncc.edu Ubuntu  Gtk VNC Viewer.
Final Year Project Presentation by Daire O’Neill 4EE.
BASS Application Sharing System Omer Boyaci September 10,
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
1 Lecture 17 – March 21, 2002 Content-delivery services. Multimedia services Reminder  next week individual meetings and project status report are due.
University of the Western Cape Chapter 12: The Transport Layer.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Multimedia Specification Design and Production 2012 / Semester 1 / L3 Lecturer: Dr. Nikos Gazepidis
Transmission Control Protocol
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Data Link Layer Part I – Designing Issues and Elementary.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 4 Switching Concepts.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Class 9 LBSC 690 Information Technology Multimedia.
Push Technology Humie Leung Annabelle Huo. Introduction Push technology is a set of technologies used to send information to a client without the client.
Streaming and Content Delivery SECTIONS 7.4 AND 7.5.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Protocols and Architecture Slide 1 Use of Standard Protocols.
© Jörg Liebeherr (modified by Malathi Veeraraghavan) 1 Overview Formats, Data Transfer, etc. Connection Management.
Multi-media Data compression
4343 X2 – The Transport Layer Tanenbaum Ch.6.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Application and Desktop Sharing
The Transport Layer Implementation Services Functions Protocols
VNC
Compression & Huffman Codes
RTP Payload format for Application and Desktop Sharing
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
TCP.
TCP - Part I Karim El Defrawy
Remote Demos Remote Demo.
Multimedia and Networks
Process-to-Process Delivery:
CS412 Introduction to Computer Networking & Telecommunication
TRANSMISSION CONTROL PROTOCOL
PART 5 Transport Layer.
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Introduction to Computer Networks
Process-to-Process Delivery: UDP, TCP
Transport Layer 9/22/2019.
Presentation transcript:

Method of Frame Buffer Transmission over Reliable Multicast Network Choon Jin NG Masahiro Takatsuka

Overview Introduction Overall issues with screen sharing Limitation of available prototypes Solution Conclusion

Introduction to Screen Sharing Screen sharing is important in many CSCW applications. AT&T Virtual Network Computing (VNC), Microsoft’s Remote Desktop Protocol (RDP), Apple Remote Desktop (ARD) to perform remote administration. Also in MSN Messenger, Adobe Connect, Skype, WebEx, Vsee & etc for participants to share contents.

Scaling CSCW Collaboration With bandwidth increase, collaboration technologies has been increasingly complicated. Involves more and more participants. Number of connection increase.

Screen Sharing Modes 1 to 1 Typical screen sharing. 1 to * Does not scale more than 5-10 participants. Need to duplicate same packet to all nodes. * to * Consume tremendous network resources if packet duplication is required for all nodes. Latency is important factor in CSCW!

Problems with current approach To scale, improve performance such as TightVNC. Most systems are designed for unicast connectivity. Suitable for sharing with 1 person up till about 10 on a single media. Attempt to improve with multicast screen sharing. Benefit of multicast: Nb <= c; N =1 E.g. TightProjector, Teleteaching’s multicast VNC Based on unreliable network. Less efficient: (1) Overheads (2) Less compression (3) Retransmission Net effect: (1) Lower resolution (2) Lower colour

RMVNC: New proposal Method of reliable multicast Server multicast frame buffer to clients. Client module: Initialization on frame buffer parameters. Clients also send all keyboard/mouse commands. Uses unicast. Should be lightweight. Global module: Transmit all common data. E.g. Frame buffers to client. Uses multicast. Reliable Multicast VNC (RMVNC)

RMVNC: About VNC Protocol Its protocol is called Remote Frame Buffer (RFB). RFB provides protocol flexibility. E.g. Raw, Rect, RRE, CoRRE, Tight, ZRLE. Stateful compression. Each client connection regarded as a single session requiring compression state tracking.

RMVNC: Problem with multicast Multicast is unreliable and unordered Multicast broadcast same data to everyone Stateful compression will not work Hence, prerequisite: Need reliability and FIFO ordering Now, all clients need to achieve the same state.

RMVNC: Data transmission Screen pooling: Push model instead of pull. Reliable multicast Allows stateful compression No individual state tracking required No need retransmission unless packet loss Still, since all data are same, need to synchronize state.

RMVNC: Possible Solutions “Flushing” states? Reset compression states whenever new client connects. Reduced compression efficiency. Transfer states to client Able to keep states and continue data streaming More consistent compression efficiency

RMVNC: Z-lib compression PKZip, Zip, gzip, ARG, zlib All use dictionary compression followed by a variable-length decoder. For z-lib: LZ77 adaptive dictionary algorithm followed by the Huffman coding. What is dictionary compression? What is variable-length decoder? Is a lossless data compression algorithm.

RMVNC: Z-lib compression What is LZ77 dictionary compression? Recently transmitted words are stored in a buffer. Known as “sliding window”. Repeating words are replaced with pointers. the_rain_in_Spain_falls_mainly_in_the_plain the_rain_ Sp ……

RMVNC: Z-lib compression What is Huffman coding? “go go gophers” Statistics of words collected. Frequent words are assigned shorter binary code. Infrequent words are assigned longer binary code. Represented with binary tree. charbinary 'g'10 'o'11 'p'0100 'h'0101 'e'0110 'r'0111 's'000 ' 001

RMVNC: State transfer For RFB protocols, we can transfer z-lib compressor states: (1) Sliding window dictionary buffer (2) Huffman tree. In z-lib, data are transmitted in blocks. Each has its own independent Huffman tree. All blocks refer to the same dictionary. Hence only dictionary buffer transfer is required.

RMVNC: State transfer Sending RFB message from server to client. New RFB sub-message defined. Allows transfer of compression state to clients. Field TypeDescription Message type4 Padding- Encoder TypeThe encoding used. State lengthThe state data’s length in bytes unit. State dataThe state data.

RMVNC: State transfer Z-lib state transfer message format. Field TypeDescription # of decNumbers of decoder used. Dec mode Zlib decoding mode: METHOD, FLAG, DICT0,1,2,3,4, DONE, BAD. Adler 32The checksum value of the dictionary. [i] Dict length The length of dictionary[i] in unit of bytes followed by its data. Note that [i] = [0.. #dec - 1]. Dict data

Experiment 1: Unicast vs Multicast 60 PCs were used. Unicast: UltraVNC Multicast: RMVNC 10 pictures were sent. Number of pictures successfully received recorded.

Result 1: Unicast vs Multicast

Result 1: UltraVNC RMVNC

Result 1: RMVNC

Experiment 2: Desktop activities Bandwidth Compared RMVNC with other multicast solution: TightProjector (TP) Teleteaching’s Multicast VNC (MVNC) Same desktop activities are applied on all prototypes. Using web browser and word processor.

Result 2 : Desktop activities Bandwidth RMVNC and TP transmitting 24-bits. MVNC transmitting 8-bits. RMVNC use Tight encoding. MVNC uses Hextile encoding.

Experiment 3: Major Static Content Bandwidth Compared RMVNC with other multicast solution: TightProjector (TP) Teleteaching’s Multicast VNC (MVNC) Test static screen with little dynamic content.

Result 3: Major Static Content Bandwidth TP and RMVNC transmit frame buffer only when screen changes with compression. MVNC re-transmit all time at 8-bit! TP spikes when animation change. Has no compression.

Experiment 4: Video Bandwidth The same YouTube video was played on all 3 prototypes. To test intense screen activities.

Result 4: Video Bandwidth No advantage for all prototypes. But RMVNC was observed having a much smoother video replay. Being able to encode more image information using stateful compression.

Result 4: TightProjector

Result 4: RMVNC

Conclusion This paper introduce one method to transfer frame buffer over reliable multicast network. Provides insight on other possible solutions: Redesigning protocol Compression for single unit block without reliability For reliable multicast, need to consider other factors such as network waiting buffer.

Questions & Answers