44

VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Embed Size (px)

DESCRIPTION

VIR401 RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out - TechEd Europe 2010

Citation preview

Page 1: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out
Page 2: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside OutBernhard TritschImmidio – www.immidio.com [email protected]

Page 3: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Agenda

Windows User Session Remoting TechnologiesGraphics Device Interface (GDI)Video and AudioDirectX and OpenGLWindows Presentation Foundation (WPF)Flash and SilverlightSummary

Page 4: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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

Page 5: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Desktop Composition

GDI/GDI+

WPF

DirectX/OpenGL

Video/Audio

Silverlight

Flash

Page 6: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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

Page 7: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Connection Negotiation

Client

Host

GDI parameters3D settingsVideo formats…

Page 8: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

What is Rendering?

Device Context

Vector graphics format (shapes, primitives)

Rendering

Raster image (pixels or dots)

Page 9: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Client Rendering versus Host Rendering

?

?

Client Window Manager Host Window Manager

Page 10: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Client-Side Rendering

Page 11: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Screen Scraping

Page 12: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Host-Side Rendering

RenderCapture

CompressEncrypt

DecryptUncompress

DisplayGPU

Page 13: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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)

Page 14: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Compression

LosslessCompress

ion

LossyCompress

ion

Page 15: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Traditional Microsoft RDP

RDP

HostClient

PartiallyClient-SideRendering

PartiallyHost-SideRendering

LosslessCompression

Page 16: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Citrix ICA/HDX

ICA/HDX

HostClient

Client-SideRendering

LossyCompression

Page 17: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Microsoft RDP with RemoteFX – Optimized for LAN

RemoteFX

HostClient

Host-SideRendering

Hyper-V + RCC Engine (Render, Capture, Compress)

Page 18: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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.

Page 19: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out
Page 20: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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

Page 21: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

GDI Primitives

Font 1

Font 2

GDI

2D Vector

Graphics

Images(Bitmaps

)Fonts

Font 2

Font 2

Big Font 4

Font 3

Page 22: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Desktop/Application Remoting

Untitled - Notepad

_ File Edit Format View Help

GDI

GDIRendering

HostClient

Page 23: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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

Page 24: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Audio/Video Coding and Decoding

Audio Signal

Spatial Model

Temporal Model

Discrete Cosine

Transform

Quantization

Entropy Encoder

KeyFrame

DeltaFrame

DeltaFrame

DeltaFrame

KeyFrame

Page 25: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

WMV Redirection

WMV

HostClient

VideoRendering

Page 26: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Protocol ComparisonAudio/Video

videosHW - 50ms6Mbit-04-WMVHDHW - 200ms6Mbit-04-WMVHDSW - 200ms6Mbit-04-WMVHDHW - 0msLAN-05-Quicktime480pHW - 50ms2Mbit-05-Quicktime480pSW - 50ms2Mbit-05-Quicktime480p

Page 27: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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

Page 28: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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

Page 29: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

DirectX/OpenGL Remoting (RDP)

Bitmaps

HostClient

DirectX/OpenGL

_ File Edit Format View Help

DirectX/OpenGL

_ File Edit Format View Help

DirectX/OpenGL

Rendering

Page 30: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

DirectX/OpenGL Compatibility

Tech WinXPLocal

Win7Local

XPRDP5

HDX3DXP

Win7RDP7

HDX3DWin7

SW D3D ✓ ✓ ✓ ✓ ✓ ✓

HW D3D9 ✓ ✓ ✗ ✓ ✓ ✓

HW D3D 10/11 ✗ ✓ ✗ ✗ ✓ ✓

SW OpenGL ✓ ✓ ✓ ✓ ✓ ✓

HW OpenGL ✓ ✓ ✗ ✓ ✗ ✓

Page 31: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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

Page 32: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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

Page 33: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

WPF Remoting over Microsoft RDP

Bitmaps

HostClient

WPFRendering

Page 34: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Protocol ComparisonWindows Presentation Foundation

videosHW - 0msLAN-08-WPFAppMeediOSHW - 50ms2Mbit-08-WPFAppMeediOSSW - 50ms2Mbit-08-WPFAppMeedios

Page 35: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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)

Page 36: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Flash Remoting over Microsoft RDP

Bitmaps

HostClient

FlashRendering

Page 37: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Flash Remoting over Citrix HDX (<30ms Latency)

Flash

HostClient

FlashRendering

Page 38: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Flash Remoting over Citrix HDX (>30ms Latency)

Bitmaps

HostClient

FlashRendering

Page 39: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Protocol ComparisonFlash and Silverlight

videosHW - 0msLAN-06-FlashDemoHW - 50ms2Mbit-06-FlashDemoSW - 50ms2Mbit-06-FlashDemoHW - 0msLAN-09-SilverlightPhotoGalleryHW - 50ms2Mbit-09-SilverlightPhotoGallerySW - 50ms2Mbit-09-SilverlightPhotoGallery

Page 40: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

Protocol Comparison Bonus TrackUser Experience

videosHW - 200ms2Mbit-30-UserExp-WhackamoleSW - 200ms2Mbit-30-UserExp-Whackamole

Page 41: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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

Page 42: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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

Page 43: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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. 

 

Page 44: VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned Inside Out

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