RTP Payload format for Application and Desktop Sharing

Slides:



Advertisements
Similar presentations
Streaming Video over the Internet
Advertisements

ITIS 1210 Introduction to Web-Based Information Systems Chapter 36 How Music and Audio Work on the Internet.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 28 Real-Time Traffic over the Internet.
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
The Real Time Streaming Protocol (RTSP)
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Portable Image File Viewer ENEE 408G: Multimedia Signal Processing Seun Fabayo John Glancy Gordon Krauthamer.
RTP/RTCP – Real Time Transport Protocol/ Real Time Control Protocol Presented by Manoj Sivakumar.
A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University.
Layer 2 Switch  Layer 2 Switching is hardware based.  Uses the host's Media Access Control (MAC) address.  Uses Application Specific Integrated Circuits.
Method of Frame Buffer Transmission over Reliable Multicast Network Choon Jin NG Masahiro Takatsuka.
VPresent Collaborative Presentation System on Mobile Devices.
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.
1 CMSCD1011 Introduction to Computer Audio Lecture 10: Streaming audio for Internet transmission Dr David England School of Computing and Mathematical.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 14 Multimedia Networking.
Daniel Johnson. Playing a media file stored on a remote server on a local client.
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal Video Conference Archives Indexing System.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
BASS Application Sharing System Omer Boyaci September 10,
1 Lecture 17 – March 21, 2002 Content-delivery services. Multimedia services Reminder  next week individual meetings and project status report are due.
IETF 61 (November 2004) MMUSIC1 Application sharing Henning Schulzrinne Jonathan Lennox Jason Nieh Ricardo Baratto Columbia University.
Optimizing Bandwidth Utilization Defiana Arnaldy, M.Si
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 28 Multimedia.
Chapter 28. Network Management Chapter 29. Multimedia
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
1 Presented By: Eyal Enav and Tal Rath Eyal Enav and Tal Rath Supervisor: Mike Sumszyk Mike Sumszyk.
1 IRI-h a Java-based Distance Education System Department of Computer Science Old Dominion University Norfolk, VA 23529, USA.
Chapter 15 Chapter 15 Multimedia and Networks Multimedia Systems.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
Multimedia Streaming I. Fatimah Alzahrani. Introduction We can divide audio and video services into three broad categories: streaming stored audio/video,
1 Internet Telephony: Architecture and Protocols an IETF Perspective Authors:Henning Schulzrinne, Jonathan Rosenberg. Presenter: Sambhrama Mundkur.
California State University, LA Presented by Amanda Steven StevenAamirObaid.
1 VRoIP (Virtual Reality over IP) NCHC TDW TaskForce Jacky Chih-Lung Chang
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
SURENDRA INSTITUTE OF ENGINEERING & MANAGEMENT PRESENTED BY : Md. Mubarak Hussain DEPT-CSE ROLL
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
INTERNET PROTOCOL TELEVISION (IP-TV)
Application and Desktop Sharing
PNG/JPG Detection Algorithm
The Transport Layer Congestion Control & UDP
Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Klara Nahrstedt Spring 2012
Chapter 14 User Datagram Program (UDP)
PART 5 Transport Layer Computer Networks.
Introduction to Networking
TCP Transport layer Er. Vikram Dhiman LPU.
PRESENTATION ON Sky X TECH. SUBMETTED TO:- SUBMETTED BY:-
Chapter 2 Introduction Application Requirements VS. Transport Services
Chapter 25 Multimedia TCP/IP Protocol Suite
Remote Demos Remote Demo.
Introduction to Local Area Networks
Multimedia and Networks
Real Time Streaming Protocol
Process-to-Process Delivery:
File Transfer Issues with TCP Acceleration with FileCatalyst
Digital television systems - (DTS)
Beyond FTP & hard drives: Accelerating LAN file transfers
Lecture 21 and 22 5/29/2019.
New Tools In Education Minjun Wang
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Presentation transcript:

RTP Payload format for Application and Desktop Sharing Omer Boyaci & Henning Schulzrinne November 18, 2008 Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Application Sharing Sharing an application with multiple users There is only one copy of the application Participants do not need application itself Briefly, participants receive screen updates send keyboard and mouse events Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Terminology Application Host (AH) Participant Remoting protocol Human Interface Protocol (HIP) Different modes of remote access Remote Desktop Connection (Full or partial)Screen Sharing Application Sharing Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Screenshot Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Screenshot (2) Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Architecture Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Remoting protocol

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Architecture Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Human Interface Protocol (HIP)

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Architecture Binary Floor Control Protocol (BFCP) manages the ownership of AH side human interface devices. Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Multimedia Support (Movies) Composite image comparing JPEG and PNG: notice artifacts in JPEG versus solid PNG background. draft-boyaci-avt-png-00 Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Comparison of Sharing Systems in terms of web page visiting performance Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Multimedia Support (Movies) Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Comparison of Sharing Systems in terms of multimedia performance Unlimited Bandwidth BASS-Theora BASS-JPEG Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Comparison of Sharing Systems in terms of multimedia performance 3Mb/s Bandwidth BASS-Theora BASS-JPEG Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Remoting Messages Application host (AH) to participants WindowStateInfo RegionUpdate MoveRectangle MousePointerInfo Participants to AH (NACK messages) PLI (Picture Loss Indication) NACK request Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 HIP Messages MousePressed MouseReleased MouseMoved MouseWheelMoved KeyPressed KeyReleased KeyTyped Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 VNC problems Client-pull based No multicast support Same encoding for all updates CPU usage increases for each new user Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

TeleTeachingTool (VNC based) Problems Modified VNC protocol and clients (TTT server is pushing updates) No compression (only hextile encoding) because packets can get lost Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Open Issues Transport Protocol RTP MSRP Custom Made Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Open Issues How to do retransmission requests for UDP clients Current proposal NACK-based solution NACK suppression to prevent floods RTP-library level retransmissions Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Current Internet Drafts draft-boyaci-avt-app-sharing-00 draft-boyaci-avt-png-00 Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Backup Slides Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Protocol Message Structures Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Common remoting/hip Header Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 A Window Record Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

A Region Update Message Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

The MoveRectangle Message Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

The MousePressed Message Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

The KeyPressed Message Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 The KeyTyped Message Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Comparison of Sharing Systems Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Screenshot (Overlapped Windows) 1 4 2 3 Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Screenshot (Multicast App. Tool) 1 4 2 3 4 Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Screenshot (Ultra VNC) 1 4 2 3 4 Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Screenshot (BASS) 1 4 2 Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Comparison of Sharing Systems Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 VNC problems Client-pull based No multicast support Same encoding for all updates CPU usage increases for each new user Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

TeleTeachingTool (VNC based) Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Information about BASS Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Supported Platforms/OS *Client is Java based. Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Client (Viewer) Architecture Client can Connect to server Wait for incoming connections Client supports TCP UDP (+Multicast) Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

BASS Windows Server Architecture Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

BASS Windows Server Architecture Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

BASS Windows Server Architecture Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

BASS Windows Server Architecture Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Challenges Different client bandwidths/speeds Late Joiner The effects of packet loss Reliable multicast Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Multimedia Support (Movies) Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Multimedia Support (Movies) Our system uses PNG to compress and transmit the region updates PNG is lossless and effective for computer generated images but ineffective for real world captures like pictures or movies JPG is more suitable for photographic images However, JPG is lossy and not effective for computer generated images (text, line, shapes,...) Our system should use both Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Multimedia Support (Movies) Composite image comparing JPEG and PNG: notice artifacts in JPEG versus solid PNG background. Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Multimedia Support (PNG vs JPG) Size x 360x150 162K Size 4x 720x300 648K 1:20 1:4 1:5 1:30 Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Multimedia Support (PNG vs JPG) Ethernet (60Mb/s) Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Multimedia Support (PNG vs JPG) Wireless (4Mb/s) Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

PNG/JPG Detection Algorithm Region> 40,000px ? -1,0,1 coordinates PNG Size counter YES Time Stamp New Region ? Create a record & Start Checking Region record YES NO Detected ? Continue Checking Use Detected Format NO YES Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Sharing a Movie (Media Player) Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Sharing a Movie File Capturing from the Frame Buffer is expensive. Instead Transcode the movie to Theora beforehand Then stream the theora directly to participants Java client supports theora playback Negligible CPU usage during playback on the server Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Sharing a Movie (Our Method) Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Sharing a Movie File Movie File (wmv,mpg,divx) FFMpeg2Theora Java Client Theora Movie Java Streaming Server Java Client UDP/Multicast Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Challenges Different client bandwidths/speeds Late Joiner The effects of packet loss Reliable multicast Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Possible Solutions Slowest one Average speed Fastest one Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Possible Solutions Slowest one Problem: Penalize everybody except the slowest Average speed Fastest one Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Possible Solutions Slowest one Problem: Penalize everybody except the slowest Average speed Possible solution Fastest one Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Possible Solutions Slowest one Problem: Penalize everybody except the slowest Average speed Possible solution (Can we do better?) Fastest one Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Possible Solutions Slowest one Problem: Penalize everybody except the slowest Average speed Possible solution (Can we do better?) Fastest one The best solution Client bandwidths are fully utilized Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Challenges Different client bandwidths/speeds Late Joiner The effects of packet loss Reliable multicast Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Late Joiner Force server to generate full screen update Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Late Joiner Force server to generate full screen update Problems Misbehaving clients can degrade performance If Join/Leave rate is high, too much burden on server Solution Generate full screen updates if really necessary Otherwise start the new client from last full screen update Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Different Client Bandwidths/Speeds Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Challenges Different client bandwidths/speeds Late Joiner The effects of packet loss Reliable multicast Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

The effects of Packet Loss This problem applies to Multicast UDP The PNG images can be large Regular desktop can be ~900KB ~600 Ethernet packets One packet loss wastes all PNG image Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

The effects of Packet Loss Solution Small PNG images Around ~1500 bytes Consist of a few scanlines Disadvantages Increased CPU usage (client&server) Lower compression ratio (%20 lower) Advantages One packet loss = no update for a few scanlines Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

The effects of Packet Loss Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Challenges Different client bandwidths/speeds Late Joiner The effects of packet loss Reliable multicast Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Reliable Multicast RTP Library stores last N rtp packets Clients send NACK for lost packets RTP Library resend the requested packets Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

The effects of Packet Loss Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Overview Introduction Demo Architecture Challenges Features Conclusion Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Recording Clients can record the whole/part session Anybody can play these files locally These files can be streamed to receivers via streaming server Streaming server supports multiple receivers Also late joiners Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Listening Client Client waits for incoming connections It can display windows from multiple user Can be used for RGB cable replacement Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00

Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00 Conclusion Application sharing allows users to share a single application with multiple participants. Participants don't need the application. It is not specific to a single application. Extra features like recording is added. Boyaci & Schulzrinne, draft-boyaci-avt-app-sharing-00