Title: Multimedia Support in Enterprise Remote Desktop Environment transport mechanisms for WANs
1Multimedia Support in Enterprise Remote Desktop
Environment transport mechanisms for WANs
- Presentation by Marcin Lubonski
- Supervisors Dr Valerie Gay (UTS), Dr Andrews
Simmonds (UTS), Dr Steve Parry (Citrix Systems) - University of Technology Sydney
- Email marcin_at_it.uts.edu.au
2Presentation Roadmap
- Introduction
- How do thin-client systems and video fit
together? - Research motivation and brief methodology
overview - Process
- Define goals
- Data collection
- Analyse results and formulate hypothesis
- Verify initial proposition by prototyping
- Summary
- Future directions and Open Issues
3Thin-client systems - overview
- Def. Thin-client system Thin-client Remote
Desktop System - You probably used/seen one
- Usually by the universities, in enterprise
environment, for personal purposes - Popular systems on the market
- Citrix Presentation Server, MS Terminal Services,
VNC, NX, X server, Sun Ray, Sun Tarantella, etc. - Designed in 80s 90s to work in LAN with classic
desktop apps. - The challenge complex graphics and multimedia
4Research Motivation
- Research objective Better multimedia experience
in thin-client over WAN - Address limitations such as
- Long-delay links on thin-client protocols
performance - TCP performance (especially in WAN)
- Common transport layer for
- real-time
- interactive applications
5Research Outline
- Thin-client architectures and technologies
(S-o-A) - Performance evaluation of thin-client protocols
- Proposition of a transport protocol for
thin-client - Implementation, integration with thin-client
protocol and evaluation - Continuous dissemination of results and
applicability in other areas
6Local and remote display architecture
User Input
GUI Application
Display and Windowing System
Operating System
Video Device Driver
Video Graphics Card
7Video in Remote Desktop Systems (1)
- Multimedia extension in Citrix Presentation
Server RAVE (Citrix Systems, 2001)
Application
DirectShow
DirectSound
Graphics Device Interface (GDI)
User-level
Kernel-level
Device Driver Interface (DDI)
DirectDraw ( HAL DDI)
DirectSound ( HAL DDI)
Windows - specific
Video Device Driver
Sound Device Driver
Video Graphics Card
Sound Card
Sockets
Thin-client
8Video in Remote Desktop Systems (2)
- Virtual Display Architecture THINC system
- Source (R. Baratto, 2001)
Application
X Server
ALSA-based Sound Driver
THINC Virtual Video Driver
THINC Sound Server
Video Graphics Card
Sound Card
Sockets
Thin-client
9Thin-client protocol stacks
- Thin-client protocols are system specific, often
proprietary and closed-source - Thin-client protocol characteristics
() Updated version based on (J. Nieh, 2003)
10Thin-client Protocol-Multiple Application Streams
- Thin-client protocols combine multiple
application streams, e.g. desktop updates, video,
file system operations
Stream 1 Video
Stream 2 Desktop Updates
GUI Application
Packet Scheduling
.
Stream n File System
Application-layer
Transport-layer
Single Connection
11Transport-level Limitations
- Current thin-client protocols stack
transport-level limitations - Application flows not separated on transport
layer (Real-time and reliable data multiplexed) - Reliable transport for real-time data
- Stream-oriented not message-oriented transport
used - Transport protocol not suited for WAN environment
12Presentation Roadmap
- Introduction
- Research overview and brief methodology overview
- How do thin-client systems and video fit
together? - Process
- Define goals
- Collect supporting data
- Analyse results and formulate hypothesis
- Verify initial proposition by prototyping
- Summary
- Future directions and Open Issues
13Tests Motivation and Methodology Used
- Performance Engineering Process
- Tests goal identify the main performance
limitations - Thin-client protocol interflow interference
- Multimedia quality degradation with packet loss,
delay and jitter (impact of TCP) - Reliability impact on
- performance of real-time applications
- response time of interactive app. (network delay)
Define goals ? Collect supporting data ? Analyse
results and formulate hypothesis ? Verify initial
proposition by prototyping
14Data collection
- Tests run for mainstream thin-client systems
- WAN characteristics emulated in testbed
- Automated to minimize human errors
- Used methods for application quality assessment
- Replay of pre-recorded user sessions (response
time), - Slow-motion benchmarking (J. Nieh, 2003) and
Video Quality Index (video), - Peak Signal to Noise Ration and Frame Marking
(video), - Transport protocol tunnelling (TCP congestion
control).
15Data collection - Testbed Design
16Test Scenarios and Metrics Used
- Test scenarios
- Response time tests for interactive applications,
- Video quality assessment with network packet
loss, delay, jitter, - Video quality vs. TCP congestion control.
- Metrics
- Response time
- average response time between user clicks,
- reported by application delay between
application-level messages. - Video quality
- Peak Signal to Noise Ratio,
- Slow-motion Benchmarking with Video Quality
Index.
17Response Time Results
18Video Quality Index Delay (large rcwnd)
19Observed Frame Rate Network Delay
20Observed vs. theoretical TCP throughput
21Other Results
- Presented here only delay results
- Delay the main performance prohibiting factor
also refer to (A. Lai et al., 2002) - Video quality (VQI, PSNR) vs loss, delay, jitter,
reordering, or/and corruption - Response time vs loss, delay, etc.
- User session scalability tests vs. concurrent
users
22Formulate Hypothesis
- Impact of TCP
- Retransmissions Longer response time
- Unfair network share - TCP RTT-bias
- Congestion Control throughput underutilization
- Data flows multiplexing anomalies
- Interflow interference
- Late or unnecessary retransmissions (when
multiplexed with unreliable/partially reliable
data) - ? New Transport Layer with Video Support for
Thin-client
23Transport Layer with Video Support for Thin-client
24Transport Layer with Video Support for Thin-client
- Basic design objectives
- Minimise delay for real-time and interactive
applications protocol should support for both
reliable and unreliable/partially reliable
delivery semantics - Limit interference of separate application flows
- independent data flows separation should be
supported by transport layer without a need to
open multiple parallel sockets - Preserve application-level message boundaries -
Delivery semantics should support
message-boundaries in contrast to stream-oriented
TCP-like delivery
25Prototyping Protocol Architecture
Stream 1 Video
GUI Application
Packet Scheduling
Stream 2 Desktop Updates
Stream n File System
Application-layer
Transport-layer
Stream 1
Stream 2
Stream n
- Tight coupling between thin-client and transport
protocols required
26Why tight coupling? - Classic Encapsulation
11
Video Stream
18
Desktop Updates
Application Buffer
File System Operations
27
Packet scheduling
10
16
25
17
14
15
26
Thin-client Protocol Packetization
14
15
10
16
25
Transport Protocol Packetization
27Why tight coupling? - Advanced Protocols
13
29
20
File System Operations Buffer
Desktop Updates Buffer
12
28
19
Video Buffer
11
27
18
Packet scheduling
10
16
25
17
14
15
26
Thin-client Protocol Packetization
14
15
10
16
25
Transport Protocol Packetization
28Packet Encapsulation in Proposed Protocol
13
28
20
File System Operations Buffer
Desktop Updates Buffer
12
27
19
Video Buffer
11
26
18
Packet scheduling
10
16
25
17
14
15
Thin-client Protocol Packetization
14
15
10
25
Transport Protocol Packetization
29Prototyping the Solution
- SCTP as transport for thin-client
- SCTP Pros
- Multiple streams support - no interflow
interference, no head-of-queue problem - Reliable and unreliable traffic (PR-SCTP
extensions) - real-time vs. interactive - Connection Heartbeat prevents connection
timeout - Comprehensive application notification API -
application can adapt to network state - SCTP Cons
- RTT-bias due to TCP NewReno congestion control
- FIFO packet scheduling (no support for packet
priority)
30Implementation - Extensions to SCTP
- To address SCTP limitations
- TCP NewReno RTT-bias
- Separate congestion control and flow control in
SCTP implementation - Allow configurable congestion control for each
SCTP stream - Dumb FIFO Packet Scheduling
- Modify packet scheduling algorithm to Shortest
Deadline First (possibly experiment with
Weighted-Fair Queuing)
31Implementation - Choice of Thin-client System
- Integrate with the system supporting multimedia
i.e. Citrix Presentation Server or THINC - Pains working with a commercial solution
- Access to the system sources, Platform dependant
solution, Architectural concerns, Legal issues - Difficulties working with academic system
- Legal Issues (still !!!), Limited Support
- Altogether THINC wins!
32Verification - Performance Tests
GUI App
GUI App
Thin-client
Application video quality, response time, per
stream goodput
THINC
THINC
Transport retransmissions, link utilization
TCP
SCTP
TCP
SCTP
IP
IP
WAN Environment
Client
Server
33Presentation Roadmap
- Introduction
- Research overview and brief methodology overview
- How do thin-client systems and video fit
together? - Process
- Define goals
- Collect supporting data
- Analyse results and formulate hypothesis
- Verify initial proposition by prototyping
- Summary
- Future directions and Open Issues
34Future Work and Open Issues
- Open Issues
- No suitable congestion control exists for
multimedia - Protocol Platform Independence
- Future Work possible directions
- RTP over SCTP
- Thin-client over SCTP and Wireless Networks
- Extra Reliability by Congestion Control Block
(CCB) Scaling - SCTP multihoming and mobility
- Subflow SCTP 1..n CCBs per each SCTP stream
- QoS-aware application-layer multicast based on
SCTP - Reduce Delay Even More - Forward Error Correction
35Conclusions
- Thin-client Systems not Ready for Multimedia
- No Transport Support for Multimedia Extensions
- Main Performance Problems
- Network Delay Impact (late retransmissions,
unfair throughput share) - TCP Limitations (only reliable transport
semantic, too conservative congestion control) - We Proposed Protocol
- Configurable Congestion Control, Reliable and
Unreliable semantic, Application Streams
Separation
36References
- Baratto R. A., Kim L. N., and Nieh J., "THINC a
virtual display architecture for thin-client
computing," in Proceedings of the twentieth ACM
symposium on Operating systems principles.
Brighton, United Kingdom ACM Press, 2005, pp.
277-290. - Citrix Systems Inc., "SpeedScreen Multimedia
Acceleration a.k.a Remoting Audio and Video
Extensions," Citrix Systems, Engineering
Functional Specification, July 2003. - Lai A. and Nieh J., "Limits of wide-area
thin-client computing," in Proceedings of the
2002 ACM SIGMETRICS international conference on
Measurement and modeling of computer systems.
Marina Del Rey, California ACM Press, 2002, pp.
228-239. - Jason N., Yang S. Jae , and Novik N., "Measuring
thin-client performance using slow-motion
benchmarking," ACM Transactions of Computer
Systems, vol. Vol. 21, pp. 87-115, 2003.
37Metrics used
- Video Quality Index with slow-motion
benchmarking - Frame Marking - Custom metric based on Peak Noise
to Signal Ratio (PSNR)
Marker
38Slow-motion Benchmarking
- Full speed video playback
- Slow-motion video playback
39Theoretical TCP Throughput
- Throughput
- 1/sqrt(p)
- 1/RTT
- Packet loss (p)
- Different in LAN, WAN, WLAN
- Delay (RTT)
- LAN - lt 10ms
- WAN 100-300ms
- Sattellite gt 500ms
40TCP Reno - RTT Bias
41Transport Protocol Tunnelling
42Video Quality vs. Congestion Control