Ruolo RD Session Host e RemoteFx

Prima di analizzare le novità che RemoteFx introduce quando viene attivato su un server col ruolo RD Session Host occorre analizzare alcune delle novità introdotte da Windows 2008 R2 a questo ruolo che precedentemente era conosciuto col nome di Terminal Server.

Desktop Composition

Una delle novità introdotte con il Ruolo RD Session Host è la Desktop Composition ovvero la disponibilità dell’interfaccia Aero Glass nelle sessioni remote con tutte le sue funzionalità (Flip-3D animation, Alt-Tab Preview, Taskbar live preview, animazioni 3D e trasparenze)

image

image image

I requisiti lato client per poter usufruire della Desktop Composition sono i seguenti:

  • Hardware e driver che consentano l’utilizzo dell’interfaccia Aero Glass
  • Profondità di colore (Color Depth) della sessione remota imposta a 32 bit (scheda Visualizza del client RDP)
  • Desktop Composition abilitata nella scheda Prestazioni (Experience tab) del client RDP
  • Client RDP 7.0 o superiore
  • OS Windows Vista, Windows Server 2008, Windows 7 e Windows Server 2008 R2

Sul client non è necessario abilitare il tema Aero Glass.

I requisiti lato server per poter usufruire della Desktop Composition sono i seguenti:

  • Ruolo RD Session Host
  • Feature Desktop Experience
  • OS Windows Vista, Windows 7 e Windows Server 2008 R2 (Windows Server 2008  non è supportato)

Contrariamente a quanto si potrebbe pensare non vi sono requisiti hardware lato server, quindi la Desktop Composition è disponibile anche con schede grafiche datate che non supportano l’interfaccia Aero Glass o in server RD Session Host virtualizzati. Inoltre la Desktop Composition è utilizzabile anche in connessioni WAN in quanto l’occupazione di banda è efficiente.

Questo è dovuto al fatto che il rendering delle applicazioni GDI, dei file multimediali fruiti tramite Windows Media Player e dell’interfaccia Aero Glass nelle sessioni remote è client-side.

La Desktop Composition è una soluzione Client-side che permette di sfruttare le risorse in termini di CPU/GPU di un rich client per il rendering e il rastering dei dati grafici a vantaggio della banda occupata e delle risorse del server.

Enhanced Bitmap Acceleration

Una seconda novità introdotte con il Ruolo RD Session Host è l’Enhanced Bitmap Acceleration tramite cui le risorse in termini di CPU e/o GPU del server RD Session Host sono utilizzate per eseguire sul server il rendering e i rastering di applicazioni DirectX 10.1, DXGI 1.1, Direct 2D, DirectX 9, WPF, Silverlight e Flash nelle sessioni remote e inviando al client bitmap compresse.

Il rendering di applicazioni che fanno uso di DirectX 9,10,11 richiede una GPU sul server RD Session Host, questo significa che in questo caso il server RD Session Host non potrà essere virtualizzato.

L’Enhanced Bitmap Acceleration può essere configurata tramite le seguenti group policies:

  • Set compression algorithm for RDP data
  • Optimize visual experience for Remote Desktop Services sessions

L’Enhanced Bitmap Acceleration è una soluzione Host-side che permette di rendere disponibili applicazioni grafiche anche a client remoti con schede video datate (Thin Client) sfruttano le risorse del server per eseguire il rendering. 

Per maggiori informazioni si vedano:

RemoteFX

Con il rilascio del Service Pack 1 di Windows 2008 R2 è stata resa disponibile anche RemoteFx che è un l’insieme delle seguenti tecnologie:

  • Host side rendering
  • GPU Virtualization
  • Intelligent Screen Capture
  • RemoteFX Encoder
  • RemoteFX Decoder
  • RemoteFX USB Redirection

Bisogna precisare che RemoteFx nasce con l’obbiettivo di essere utilizzata per il VDI di conseguenza la GPU Virtualization e la RemoteFX USB Redirection non sono utilizzabili in ambiente RDS. Inoltre RemoteFx, sempre nell’ottica di essere pensata principalmente per scenari VDI, è stata ottimizzata per connessioni di rete LAN a bassa latenza (banda > 10 Mbps e latenza <20ms) per ulteriori informazioni si vedano:

In ogni RemoteFX può essere utilizzato su un server RD Session  Host sfruttano:

  • Host side rendering che esegue il rendering sul server di applicazioni grafiche (Silverlight, Adobe Flash, DirectX, OpenGL v1.4) inviando poi al client bitmap compresse
  • Intelligent Screen Capture che adatta dinamicamente la trasmissione dati (quantità/compressione) alla velocità e alla banda della rete.

I requisiti lato server per poter usufruire della RemoteFx sono i seguenti:

  • CPU con supporto a SSE2 (Streaming SIMD Extensions 2)
  • L’utilizzo di RemoteFx su un server RD Session Host (al contrario dell’RD Virtualization Host) deve essere esplicitamente attivato tramite la group policy Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Remote Session Environment\Configure RemoteFX
  • Il Bilanciamento dell’utilizzo della banda di rete può essere modificato tramite la group policy Optimize visual experience when using RemoteFX

Non è richiesta invece la presenza di una GPU sul server RD Session Host quindi è possibile anche utilizzare server virtualizzati. E’ possibili anche utilizzare ASIC encoder (hardware-based application-specific integrated circuit) per maggior scalabilità, ma in questo caso è necessario usare un server RD Session Host fisico.

Per ulteriori informazioni sull’utilizzo di RemoteFx su un server RD Session Host si veda Deploying Microsoft RemoteFX on a Remote Desktop Session Host Server Step-by-Step Guide.

Si noti che anche se si rende disponibile una GPU tramite la GPU Virtualization ad un server RD Session Host virtuale la vGPU non sarebbe disponibile per le sessioni remote. L’impossibilità di avere vGPU nelle sessioni remote implica l’utilizzo driver XPDM che non supporta il rendering 3D, di conseguenza l’interfaccia Aero Glass non disponibile.

A riguardo si vedano:

RemoteFX è una soluzione Host-side che sfrutta le risorse del server consentendo l’utilizzo di applicazioni grafiche ad un vasto insieme di dispositivi client (rich clients e thin clients)

 

image

 

image

I protocolli RemoteFx sono documentati ([MS-RDPRFX]: Remote Desktop Protocol: RemoteFX Codec Extension) e progettati per poter essere estesi da  Remote Desktop Services Partners e implementati in soluzioni hardware come RemoteFX encoder/decoder (a riguardo si veda Hardware Considerations for RemoteFX). Citrix ha annunciato il suo supporto per RemoteFX estendendolo con i componenti di HDX, mentre NVIDIA, AMD, Dell e HP hanno annunciato GPU, server e thin client dedicati a scenari VDI con RemoteFX.

Per maggiori informazioni si vedano: