BASS Application Sharing System Omer Boyaci September 10, 2008 www.cs.columbia.edu/~boyaci/appshare.

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)
Wireless Audio Conferencing System (WACS) Mehmet Ali Abbasoğlu Furkan Çimen Aylin Deveci Kübra Gümüş.
EE442—Multimedia Networking Jane Dong California State University, Los Angeles.
1 Solutions to Performance Problems in VOIP over Wireless LAN Wei Wang, Soung C. Liew Presented By Syed Zaidi.
Portable Image File Viewer ENEE 408G: Multimedia Signal Processing Seun Fabayo John Glancy Gordon Krauthamer.
Implementation of Proxy/Buffering Strategies in Mpeg transmission for intermittent connectivity CS218 Samarth Pal, Ujjwal Lahoti, Xiaoyong Su Tutor: Dr.
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal Video Conference Archives Indexing System.
Chapter 14 User Datagram Program (UDP)
Lightweight Scalable Tool Sharing for the Internet Agustín J. González Department of Electronics Engineering Federico Santa María University Valparaíso,
Introducing MagicInfo Videowall 2
                      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.
Method of Frame Buffer Transmission over Reliable Multicast Network Choon Jin NG Masahiro Takatsuka.
Hjemmeeksamen 1 INF3190. Oppgave Develop a monitoring/administration tool which allows an administrator to use a client to monitor all processes running.
Video Streaming © Nanda Ganesan, Ph.D..
VPresent Collaborative Presentation System on Mobile Devices.
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.
Daniel Johnson. Playing a media file stored on a remote server on a local client.
Page 1 Transform SCN Sample, Compress, Network Transporting computer imagery over IP networks.
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal Video Conference Archives Indexing System.
Mobile Navigation With SVG Christian Schmitt SVG Open 2005.
Multimedia Over IP: RTP, RTCP, RTSP “Computer Science” Department of Informatics Athens University of Economics and Business Λουκάς Ελευθέριος.
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.
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal VideoConference Archives Indexing System.
Remote Controller & Presenter Make education more efficiently
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
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.
Class 9 LBSC 690 Information Technology Multimedia.
Fs Streaming Media a presentation by Florian Seidel.
Image File Formats. What is an Image File Format? Image file formats are standard way of organizing and storing of image files. Image files are composed.
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.
Real Time Streaming Protocol (RTSP)
Multimedia in Web Introduction. Multimedia Elements in Web Page Images Voice Music Animation Video Text & Numbers.
GIF vs. JPEG GIF and JPEG (JPG) image formats are different. You should know which to use when. Here are some examples.
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.
Adobe Flash Professional CS5 – Illustrated Unit E: Optimizing and Publishing a Movie.
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.
Application and Desktop Sharing
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)
PRESENTATION ON Sky X TECH. SUBMETTED TO:- SUBMETTED BY:-
Design and Implementation of Audio/Video Collaboration System Based on Publish/subscribe Event Middleware CTS04 San Diego 19 January 2004 PTLIU Laboratory.
Overview What is Multimedia? Characteristics of multimedia
File Transfer Issues with TCP Acceleration with FileCatalyst
Networks – Data Transmission
Beyond FTP & hard drives: Accelerating LAN file transfers
New Tools In Education Minjun Wang
Presentation transcript:

BASS Application Sharing System Omer Boyaci September 10,

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)

Screenshot (Multicast App. Tool)

Screenshot (Ultra VNC)

Screenshot (BASS) 1 2 4

Supported Platforms/OS *Client is Java based.

Overview Introduction Demo Architecture Challenges Features Conclusion

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

BASS 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)

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 360x K Size 4x 720x K 1:30 1:20 1:51:4

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

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

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

Sharing a Movie (Media Player)

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 –

Sharing a Movie (Our Method)

Sharing a Movie File Movie File (wmv,mpg,divx) Theora Movie FFMpeg2Theora Java Streaming Server Java Client Java Client UDP/Multicast

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

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

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

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

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?