Application and Desktop Sharing

Slides:



Advertisements
Similar presentations
ITIS 1210 Introduction to Web-Based Information Systems Chapter 36 How Music and Audio Work on the Internet.
Advertisements

EE436 CS422 Wireless Networking Technologies and Aplications Video Streaming via ad-hoc Network Group 5 Ali Karaduman Mehmet Kopan Onur Özbek M.Burak Şenol.
The Real Time Streaming Protocol (RTSP)
Lightweight Scalable Tool Sharing for the Internet Agustín J. González Department of Electronics Engineering Federico Santa María University Valparaíso,
INTRODUCTION Toomeeting Conference (TMC) is the easiest and more accessible multimedia videoconferencing solution on market. TMC offers a large portfolio.
                      Digital Video 1.
A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University.
I Power Multimedia Technology Video Data. Video data Video is a sequence of individual pictures or frames, taken one after another. These are played back.
1 Video and Audio Over The Net Mahdi ZandakbariVesal Hajiabbas.
Method of Frame Buffer Transmission over Reliable Multicast Network Choon Jin NG Masahiro Takatsuka.
Video Streaming © Nanda Ganesan, Ph.D..
Using Multimedia on the Web
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.
CS 1308 Computer Literacy and the Internet. Creating Digital Pictures  A traditional photograph is an analog representation of an image.  Digitizing.
INF Web Design Using Multimedia on the Web Sound - Part 2.
Digital Camcorder and Video Computer Multimedia. Two most important factors that make up a video Frames per second ( fps ) The resolution ( # of pixels.
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal Video Conference Archives Indexing System.
1 How Streaming Media Works Bilguun Ginjbaatar IT 665 Nov 14, 2006.
Multimedia Over IP: RTP, RTCP, RTSP “Computer Science” Department of Informatics Athens University of Economics and Business Λουκάς Ελευθέριος.
BASS Application Sharing System Omer Boyaci September 10,
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
1 Lecture 17 – March 21, 2002 Content-delivery services. Multimedia services Reminder  next week individual meetings and project status report are due.
Stream video Liane Tarouco Leandro Bertholdo RNP POP/RS.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
Aug 25, 2005 page1 Aug 25, 2005 Integration of Advanced Video/Speech Codecs into AccessGrid National Center for High Performance Computing Speaker: Barz.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 28 Multimedia.
Chapter 28. Network Management Chapter 29. Multimedia
1 IRI-h a Java-based Distance Education System Department of Computer Science Old Dominion University Norfolk, VA 23529, USA.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 20 – Multimedia Session Protocols Klara Nahrstedt Spring 2012.
Class 9 LBSC 690 Information Technology Multimedia.
Investigating the Performance of Audio/Video Service Architecture I: Single Broker Ahmet Uyar & Geoffrey Fox Tuesday, May 17th, 2005 The 2005 International.
Fs Streaming Media a presentation by Florian Seidel.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Multiplexing Team Members: Cesar Chavez Arne Solas Steven Fong Vi Duong David Nguyen.
Multimedia in Web Introduction. Multimedia Elements in Web Page Images Voice Music Animation Video Text & Numbers.
Tutorial 11 Solutions. Question 1 Q1. What is meant by interactivity for streaming stored audio/video? What is meant by interactivity for real-time interactive.
Multimedia Streaming I. Fatimah Alzahrani. Introduction We can divide audio and video services into three broad categories: streaming stored audio/video,
California State University, LA Presented by Amanda Steven StevenAamirObaid.
A CROSS PLATFORM REMOTE DESKTOP CONNECTION SUITE A.V.D.S.S.BHADRI RAJU D.RAMESH BABU U.JAYASREE G.NANIBABU.
Week-5 (Lecture-1) Streaming media: Audio video content over internet Played immediately No wait for download file Use the data packet Advantages: Video.
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
1 /13 SPICE* Roadmap Presentation for KVM Forum 2011 Alon Levy, Red Hat *or Spice or spice.
INTERNET PROTOCOL TELEVISION (IP-TV)
PNG/JPG Detection Algorithm
RTP Payload format for Application and Desktop Sharing
1.01 Investigate graphic types and file formats.
Chapter 14 User Datagram Program (UDP)
Chapter 6: Video.
INTERNET PROTOCOL TELEVISION (IP-TV)
Chapter 2 Introduction Application Requirements VS. Transport Services
Design and Implementation of Audio/Video Collaboration System Based on Publish/subscribe Event Middleware CTS04 San Diego 19 January 2004 PTLIU Laboratory.
3.01F Publishing Animated Videos
Remote Demos Remote Demo.
Overview What is Multimedia? Characteristics of multimedia
File Transfer Issues with TCP Acceleration with FileCatalyst
Chapter 7 Multimedia 7.1 Introduction to multimedia
Chapter 7 Multimedia 7.1 Introduction to multimedia
Digital television systems - (DTS)
Chapter 7 Multimedia 7.1 Introduction to multimedia
Lesson 5: Multimedia on the Web
Chapter 7 Multimedia 7.1 Introduction to multimedia
Networks – Data Transmission
Beyond FTP & hard drives: Accelerating LAN file transfers
Chapter 7 Multimedia 7.1 Introduction to multimedia
New Tools In Education Minjun Wang
Presentation transcript:

Application and Desktop Sharing Omer Boyaci November 1, 2007 www.cs.columbia.edu/~boyaci/appshare

Overview Introduction Demo Architecture Challenges Features Conclusion

Application Sharing Models Application specific + Efficient - Participants need application - Application has to be modified Generic - Inefficient (sometimes) + Participants don't need application + All applications are supported

Application Sharing Models Application specific + Efficient - Participants need application - Application has to be modified Generic - Inefficient (sometimes) + Participants don't need application + All applications are supported

Overview Introduction Demo Architecture Challenges Features Conclusion

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 Desktop sharing is also supported.

Screenshot

Screenshot (2)

Screenshot (Overlapped Windows) 1 4 2 3

Screenshot (Multicast App. Tool) 1 4 2 3 4

Screenshot (Ultra VNC) 1 4 2 3 4

Screenshot (App & Desk Sharing) 1 4 2

Supported Platforms/OS *Client is Java based.

Overview Introduction Demo Architecture Challenges Features Conclusion

Demo Demo

Overview Introduction Demo Architecture Challenges Features Conclusion

System Architecture Client/Server Software Architecture

System Architecture Client/Server Software Architecture Screen Updates

System Architecture Client/Server Software Architecture Keyboard Mouse Events

Client (Viewer) Architecture Client can Connect to server Wait for incoming connections Client supports TCP UDP (+Multicast)

Client (Viewer) Architecture Client receives these commands Open new window Window size changed Pixel update Close window Client sends BFCP (Binary Floor Control Protocol) commands Keyboard and mouse events

Windows Server Architecture

Windows Server Architecture

Windows Server Architecture

Windows Server Architecture

Overview Introduction Demo Architecture Challenges Features Conclusion

Challenges Different client bandwidths/speeds Late Joiner The effects of packet loss Reliable multicast

Multimedia Support (Movies)

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

Multimedia Support (Movies) Composite image comparing JPEG and PNG: notice artifacts in JPEG versus solid PNG background.

Multimedia Support (PNG vs JPG) Size x 360x150 162K Size 4x 720x300 648K 1:20 1:4 1:5 1:30

Multimedia Support (PNG vs JPG) Ethernet (60Mb/s)

Multimedia Support (PNG vs JPG) Wireless (4Mb/s)

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

Sharing a Movie (Media Player)

Sharing a Movie File Capturing from the Frame Buffer is expensive. Instead Transcode the movie on the fly to JPGs FFmpeg (subproject of mplayer) FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading audio/video codec library. FFmpeg is developed under Linux, but it can compiled under most operating systems, including Windows. FFmpeg-Java (subproject of FMJ) Java wrapper (JNA: Java Native Access)

Sharing a Movie (Our Method)

Sharing a Movie File Movie File (wmv,mpg,divx) decodeNextFrame() encodeFrameToJPG() FFmpeg-Java Java Client JPG images Java Streaming Server Java Client UDP/Multicast

Demo Demo Multimedia Support

Challenges Different client bandwidths/speeds Late Joiner The effects of packet loss Reliable multicast

Different Client Bandwidths/Speeds

Different Client Bandwidths/Speeds Possible Solutions Slowest one Average speed Fastest one

Different Client Bandwidths/Speeds Possible Solutions Slowest one Problem: Penalize everybody except the slowest Average speed Fastest one

Different Client Bandwidths/Speeds Possible Solutions Slowest one Problem: Penalize everybody except the slowest Average speed Possible solution Fastest one

Different Client Bandwidths/Speeds Possible Solutions Slowest one Problem: Penalize everybody except the slowest Average speed Possible solution (Can we do better?) Fastest one

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

Different Client Bandwidths/Speeds

Different Client Bandwidths/Speeds

Challenges Different client bandwidths/speeds Late Joiner The effects of packet loss Reliable multicast

Late Joiner Force server to generate full screen update

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

Different Client Bandwidths/Speeds

Different Client Bandwidths/Speeds

Different Client Bandwidths/Speeds

Different Client Bandwidths/Speeds

Different Client Bandwidths/Speeds

Different Client Bandwidths/Speeds

Different Client Bandwidths/Speeds

Different Client Bandwidths/Speeds

Challenges Different client bandwidths/speeds Late Joiner The effects of packet loss Reliable multicast

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

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

The effects of Packet Loss

Challenges Different client bandwidths/speeds Late Joiner The effects of packet loss Reliable multicast

Reliable Multicast RTP Library stores last N rtp packets Clients send NACK for lost packets RTP Library resend the requested packets

The effects of Packet Loss

Overview Introduction Demo Architecture Challenges Features Conclusion

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

Listening Client Client waits for incoming connections It can display windows from multiple user Can be used for RGB cable replacement

Overview Introduction Demo Architecture Challenges Features Conclusion

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.

Thanks Questions?