Upload
john-wildes
View
1.873
Download
7
Tags:
Embed Size (px)
DESCRIPTION
VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out - TechEd Europe 2010
Citation preview
VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside OutBernhard TritschImmidio – www.immidio.com [email protected]
Agenda
Windows User Session Remoting TechnologiesGraphics Device Interface (GDI)Video and AudioDirectX and OpenGLWindows Presentation Foundation (WPF)Flash and SilverlightSummary
Session Requirements
These are the things you should be familiar with1. Remote Desktop or Virtual Desktop concepts2. Computer graphics fundamentals3. Graphics and multimedia formats, such as GDI, DirectX,
WPF, OpenGL, WMV or Flash
Desktop Composition
GDI/GDI+
WPF
DirectX/OpenGL
Video/Audio
Silverlight
Flash
Client Host
Desktop Remoting Architecture
TS/RDS Device DriverTermdd.sys
Rdpwd.sys
Tdtcp.sys
TS/RDS Service
RDP ProtocolExtension
Rdpwsx.dll,IWTSProtocol.dll
CSRSS
Per-Session
Apps
TCP/IP
Network Card Drv.
Win32k.sys
Display Driver???.sys
Kbdclass.sys
Mouclass.sys
SystemSpace
SessionSpace
PDs
DWM
UserInit
Shell
Startup Module
Winlogon
HooksSMSS
LSM
Wd???.sys
PDs
Display DriverRdpdd.sys
3rd PartyProtocol ExtensionWsx???.dll
Redirector
FiltersSrvc.
TCP/IP
Network Card Drv.
Mstscax.dll
RDS Client
Connection Negotiation
Client
Host
GDI parameters3D settingsVideo formats…
What is Rendering?
Device Context
Vector graphics format (shapes, primitives)
Rendering
Raster image (pixels or dots)
Client Rendering versus Host Rendering
?
?
Client Window Manager Host Window Manager
Client-Side Rendering
Screen Scraping
Host-Side Rendering
RenderCapture
CompressEncrypt
DecryptUncompress
DisplayGPU
Most Popular Windows Remoting Protocols
Microsoft RDP and Microsoft RDP 7.1 with RemoteFX (formerly known as Calista)
Citrix ICA and HDX for XenApp and XenDesktop (formerly known as PortICA)
Quest EOP (Experience Optimized Protocol, RDP+)
VMware/Teradici PCoIP (PC over IP)
Ericom Blaze (RDP+)
Red Hat RHEV SPICE (Simple Protocol for Independent Computing Environments, through acquisition of Qumranet)
HP RGS (Remote Graphics Solution)
Oracle/Sun ALP (Appliance Link Protocol, Sun Ray)
Oracle/Sun/Tarantella AIP (Adaptive Internet Protocol)
Compression
LosslessCompress
ion
LossyCompress
ion
Traditional Microsoft RDP
RDP
HostClient
PartiallyClient-SideRendering
PartiallyHost-SideRendering
LosslessCompression
Citrix ICA/HDX
ICA/HDX
HostClient
Client-SideRendering
LossyCompression
Microsoft RDP with RemoteFX – Optimized for LAN
RemoteFX
HostClient
Host-SideRendering
Hyper-V + RCC Engine (Render, Capture, Compress)
Hyper-V VDI + RemoteFX
W7 SP1 Guest OS
vGPU Driver
WS2008R2 SP1 Hyper-V
Parent Partition
RCC
VMBUS
Hyper-VIntegrated
Shared MemoryComms
RDP
GPU
vGPU output rendered to physical GPU via DirectX
Screen deltas captured from GPU
First phase of CODEC runs on GPU
Inter-VM Communications
Protocol Fundamentals (e.g. Authn, Encryption)
vGPU (WDDM) driver exposes parent GPU to guest OS.
RemoteFX Hardware ASIC and
Driver
RCC = Render, Capture, Compress
Optionally offloads CODEC from CPU/GPU increasing fidelity and scale.
Split Screen Protocol Comparison
MicrosoftRDP 7
Windows 7 on Hyper-V
CitrixHDX3D
Windows 7on physical PC
MicrosoftRDP 7.1 with
RemoteFXWindows 7 SP1
on Hyper-V
TeradiciPCoIP (Host
Card)Windows 7
on physical PC
with hardware acceleration
MicrosoftRDP 7
Windows 7 on Hyper-V
CitrixICA/HDX
Windows 7on XenServer
QuestEOP
Windows 7on Hyper-V
VMware/Teradici
PCoIP (SW)Windows 7on vSphere
without hardware acceleration
Example: SW - 0msLAN-01-WordpadScrolling
GDI Primitives
Font 1
Font 2
GDI
2D Vector
Graphics
Images(Bitmaps
)Fonts
Font 2
Font 2
Big Font 4
Font 3
Desktop/Application Remoting
Untitled - Notepad
_ File Edit Format View Help
GDI
GDIRendering
HostClient
Protocol ComparisonGraphics Device Interface – GDI
videosHW - 0msLAN-01-WordpadScrollingHW - 50ms2Mbit-01-WordpadScrollingSW - 50ms2Mbit-01-WordpadScrolling SW - 200ms2Mbit-01-WordpadScrollingHW - 200ms2Mbit-02-PDFScrollingSW - 200ms2Mbit-02-PDFScrolling
Audio/Video Coding and Decoding
Audio Signal
Spatial Model
Temporal Model
Discrete Cosine
Transform
Quantization
Entropy Encoder
KeyFrame
DeltaFrame
DeltaFrame
DeltaFrame
KeyFrame
WMV Redirection
WMV
HostClient
VideoRendering
Protocol ComparisonAudio/Video
videosHW - 50ms6Mbit-04-WMVHDHW - 200ms6Mbit-04-WMVHDSW - 200ms6Mbit-04-WMVHDHW - 0msLAN-05-Quicktime480pHW - 50ms2Mbit-05-Quicktime480pSW - 50ms2Mbit-05-Quicktime480p
Direct3D and GDI
Windows Application Windows Application
GDIDirect3D API
HAL Device
Device Driver Interface (WDDM)
Graphics Hardware
DirectX/OpenGL
_ File Edit Format View Help
Untitled - Notepad
_ File Edit Format View Help
OpenGL and GDI
Windows Application
OpenGL32
OpenGL Installable Client Driver
Windows Application
GDI
Device Driver Interface (DDI, WDDM)
Graphics Hardware
Generic OpenGL Module
OpenGL Support
3D DDI Support
IHV-specific Win32 DDI
DirectX/OpenGL
_ File Edit Format View Help
Untitled - Notepad
_ File Edit Format View Help
DirectX/OpenGL Remoting (RDP)
Bitmaps
HostClient
DirectX/OpenGL
_ File Edit Format View Help
DirectX/OpenGL
_ File Edit Format View Help
DirectX/OpenGL
Rendering
DirectX/OpenGL Compatibility
Tech WinXPLocal
Win7Local
XPRDP5
HDX3DXP
Win7RDP7
HDX3DWin7
SW D3D ✓ ✓ ✓ ✓ ✓ ✓
HW D3D9 ✓ ✓ ✗ ✓ ✓ ✓
HW D3D 10/11 ✗ ✓ ✗ ✗ ✓ ✓
SW OpenGL ✓ ✓ ✓ ✓ ✓ ✓
HW OpenGL ✓ ✓ ✗ ✓ ✗ ✓
Protocol ComparisonDirectX and OpenGL
videos
HW - 0msLAN-22-HWDX9RollercoasterHW - 200ms2Mbit-22-HWDX9-RollercoasterHW - 50ms2Mbit-24-HWDX10CustomResolveHW - 0msLAN-20-SWOpenGL-SeascooterHW - 50ms2Mbit-20-SWOpenGL-SeascooterSW - 50ms2Mbit-20-SWOpenGL-SeascooterHW - 200ms2Mbit-21-HWOpenGL-Cloth
Windows 7 Desktop Rendering (WPF)
Presentation Framework
Presentation Core
Device Driver Interface (DDI, WDDM)
Graphics Hardware
.NET CLRVisual System
Media Integration Layer (MIL)Composition
System
Render Engine
DirectX User32
Message Transport
GDI
WPF Remoting over Microsoft RDP
Bitmaps
HostClient
WPFRendering
Protocol ComparisonWindows Presentation Foundation
videosHW - 0msLAN-08-WPFAppMeediOSHW - 50ms2Mbit-08-WPFAppMeediOSSW - 50ms2Mbit-08-WPFAppMeedios
Adobe Flash and Microsoft Silverlight
Adobe FlashHugh amount of Flash/Flex content availableAnimates on top of video rendering
Microsoft SilverlightWeb-based subset of WPF (.NET Framework, including XAML)
Flash Remoting over Microsoft RDP
Bitmaps
HostClient
FlashRendering
Flash Remoting over Citrix HDX (<30ms Latency)
Flash
HostClient
FlashRendering
Flash Remoting over Citrix HDX (>30ms Latency)
Bitmaps
HostClient
FlashRendering
Protocol ComparisonFlash and Silverlight
videosHW - 0msLAN-06-FlashDemoHW - 50ms2Mbit-06-FlashDemoSW - 50ms2Mbit-06-FlashDemoHW - 0msLAN-09-SilverlightPhotoGalleryHW - 50ms2Mbit-09-SilverlightPhotoGallerySW - 50ms2Mbit-09-SilverlightPhotoGallery
Protocol Comparison Bonus TrackUser Experience
videosHW - 200ms2Mbit-30-UserExp-WhackamoleSW - 200ms2Mbit-30-UserExp-Whackamole
Summary – Part 1Protocol RDP 7 RDP 7.1
RemoteFX (w/o ASIC)
Citrix ICA/HDX
Citrix HDX 3D Pro (1:1)
VMware PCoIP
SW
Teradici PCoIP
HW (1:1)
Quest EOP
GDI WMV Quicktime DirectX OpenGL SW OpenGL HW WPF Silverlight Flash
LAN | WAN
Summary – Part 2
Remoting protocols play a significant role for different Virtual Desktop products and solutionsCritical network factors
Bandwidth – the protocols take all they get, 2 MBit/s required for good UXLatency – at 50ms things start getting tough (sometimes even at 20ms)Packet loss – should stay under 1%
The new concepts require additional hardware (GPUs for the masses)
Microsoft RDP 7.1 with RemoteFX on the LAN (partner enhancements for WAN)Citrix HDX 3D on both LAN and WANTeradici PCoIP on the LAN
Session Evaluations
Tell us what you think, and you could win!
All evaluations submitted are automatically entered into a daily prize draw*
Sign-in to the Schedule Builder at http://europe.msteched.com/topic/list/ * Details of prize draw rules can be obtained from the Information Desk.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to
be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS
PRESENTATION.