BASS Application Sharing System - PowerPoint PPT Presentation

1 / 71
About This Presentation
Title:

BASS Application Sharing System

Description:

Sharing an application with multiple users. There is only one copy of ... Movie File (wmv,mpg,divx) Movie File (wmv,mpg,divx) Theora Movie. FFMpeg2Theora. Java ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 72
Provided by: kentaya
Category:

less

Transcript and Presenter's Notes

Title: BASS Application Sharing System


1
BASS Application Sharing System
Omer Boyaci September 10, 2008 www.cs.columbia.ed
u/boyaci/appshare
2
Overview
  • Introduction
  • Demo
  • Architecture
  • Challenges
  • Features
  • Conclusion

3
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

4
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

5
Overview
  • Introduction
  • Demo
  • Architecture
  • Challenges
  • Features
  • Conclusion

6
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.

7
Screenshot
8
Screenshot (2)
9
Screenshot (Overlapped Windows)
1
4
2
3
10
Screenshot (Multicast App. Tool)
1
4
2
3
4
11
Screenshot (Ultra VNC)
1
4
2
3
4
12
Screenshot (BASS)
1
4
2
13
Supported Platforms/OS
Client is Java based.
14
Overview
  • Introduction
  • Demo
  • Architecture
  • Challenges
  • Features
  • Conclusion

15
Demo
  • Demo

16
Overview
  • Introduction
  • Demo
  • Architecture
  • Challenges
  • Features
  • Conclusion

17
System Architecture
  • Client/Server Software Architecture

18
System Architecture
  • Client/Server Software Architecture

Screen Updates
19
System Architecture
  • Client/Server Software Architecture

Keyboard Mouse Events
20
Client (Viewer) Architecture
  • Client can
  • Connect to server
  • Wait for incoming connections
  • Client supports
  • TCP
  • UDP (Multicast)

21
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

22
BASS Windows Server Architecture
23
BASS Windows Server Architecture
24
BASS Windows Server Architecture
25
BASS Windows Server Architecture
26
Overview
  • Introduction
  • Demo
  • Architecture
  • Challenges
  • Features
  • Conclusion

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

28
Multimedia Support (Movies)
29
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

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

31
Multimedia Support (PNG vs JPG)
Size x 360x150 162K Size 4x 720x300 648K
120
130
15
14
32
Multimedia Support (PNG vs JPG)
Ethernet (60Mb/s)
33
Multimedia Support (PNG vs JPG)
Wireless (4Mb/s)
34
PNG/JPG Detection Algorithm
Regiongt 40,000px ?
-1,0,1
coordinates
PNG Size
counter
YES
Time Stamp
New Region ?
Create a record Start Checking
Region record
YES
NO
Detected ?
Use Detected Format
Continue Checking
NO
YES
35
Sharing a Movie (Media Player)
36
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

37
Sharing a Movie (Our Method)
38
Sharing a Movie File
Movie File (wmv,mpg,divx)
Movie File (wmv,mpg,divx)
FFMpeg2Theora
Java Client
Theora Movie
Java Streaming Server
Java Client
UDP/Multicast
39
Challenges
  • Different client bandwidths/speeds
  • Late Joiner
  • The effects of packet loss
  • Reliable multicast

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

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

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

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

45
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

46
Different Client Bandwidths/Speeds
47
Different Client Bandwidths/Speeds
48
Challenges
  • Different client bandwidths/speeds
  • Late Joiner
  • The effects of packet loss
  • Reliable multicast

49
Late Joiner
  • Force server to generate full screen update

50
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

51
Different Client Bandwidths/Speeds
52
Different Client Bandwidths/Speeds
53
Different Client Bandwidths/Speeds
54
Different Client Bandwidths/Speeds
55
Different Client Bandwidths/Speeds
56
Different Client Bandwidths/Speeds
57
Different Client Bandwidths/Speeds
58
Different Client Bandwidths/Speeds
59
Challenges
  • Different client bandwidths/speeds
  • Late Joiner
  • The effects of packet loss
  • Reliable multicast

60
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

61
The effects of Packet Loss
  • Solution
  • Small PNG images
  • Around 1500 bytes
  • Consist of a few scanlines
  • Disadvantages
  • Increased CPU usage (clientserver)
  • Lower compression ratio (20 lower)
  • Advantages
  • One packet loss no update for a few scanlines

62
The effects of Packet Loss
63
Challenges
  • Different client bandwidths/speeds
  • Late Joiner
  • The effects of packet loss
  • Reliable multicast

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

65
The effects of Packet Loss
66
Overview
  • Introduction
  • Demo
  • Architecture
  • Challenges
  • Features
  • Conclusion

67
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

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

69
Overview
  • Introduction
  • Demo
  • Architecture
  • Challenges
  • Features
  • Conclusion

70
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.

71
Thanks
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com