Buon giorno a tutti Sorriso

In questa prima parte del blog vedremo le funzionalità di RemoteFX tramite i servizi di remote desktop service in Windows 2008 R2 Sp1, nella seconda parte vedremo le nuove funzionalità di Remote FX in Windows Server 8 !!!

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)

imageimage

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.

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

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:

Il RemoteFX  sfrutta:

  • 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

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.

Codec, vGpu

RemoteFX sfrutta l’architettura basata su Virtual Channel del protocollo RDP, estendendolo con un nuovo canale dedicato. Questo significa che le varie funzionalità del protocollo RDP (sicurezza, compressione, autenticazione) non vengono re-implementate da RemoteFX, che viaggia invece come flusso all’interno della pipe del protocollo base.

RemoteFX consiste in un codec software che si prende carico di analizzare i frame generati da ciascuna sessione RDP, di raccogliere le differenze rispetto ai precedenti, comprimere le informazioni raccolte e prepararle per l’invio tramite la connessione RDP.

Vediamo gli altri elementi che completano la piattaforma:

Hyper-V R2 con il Service Pack 1 mette a disposizione delle macchine virtuali una vGPU, una GPU virtuale, che sarà riconosciuta dalle macchine virtuali Windows 7 SP1 e dalle applicazioni al loro interno, e verrà sfruttata dai componenti di RemoteFX.

Per poter mettere a disposizione le vGPU, sarà necessario avere sul server delle GPU fisiche. Quest’ultime saranno utilizzate da RemoteFX, insieme alle CPU del server, per l’elaborazione dei frame grafici prima del loro invio nel tunnel RDP e saranno condivise tra le differenti macchine virtuali.

Per ridurre il carico di lavoro sulle GPU e sulle CPU del server, la piattaforma RemoteFX supporta inoltre l’utilizzo di chip dedicati che possono essere utilizzati per effettuare l’offload di alcune delle operazioni che avvengono lato server, come la compressione dei frame prima del loro invio verso i client remoti, consentendo così di aumentare la densità di VM o di sessioni utente ospitabili nello stesso server fisico.

I client remoti

Una volta che il traffico RemoteFX è stato preparato, compresso ed inserito nel tunnel RDP, potrà essere elaborato da client remoti utilizzando differenti opzioni.

I client potranno optare per una elaborazione solo software, che sfrutterà la CPU della macchina per ricostruire i frame e l’immagine completa del desktop o delle applicazioni; sarà possibile affiancare la GPU alla CPU, riducendo così il carico di lavoro ed ottimizzando le performance; oppure sarà possibile utilizzare dei decoder/chip dedicati che si prenderanno carico di rielaborare l’immagine.

L’utilizzo di chip dedicati di decoding di RemoteFX consentirà di utilizzare “thin client” o dispositivi anche con caratteristiche hardware/software limitate come dispositivi di accesso alle macchine VDI e alle sessioni RDS, abilitando comunque l’accesso ad una “Windows Experience” completa.

Host-side o Client-side rendering ?

RemoteFX utilizzando le GPU lato server, è quindi una soluzione di “Host-side rendering”, che consente di sfruttare la potenza di calcolo del server per abilitare una esperienza remota ottimale anche a thin client (con chip hardware dedicato).

Redirezione completa di dispositivi USB

Mentre con la versione 7.0 del protocollo RDP era possibile redirigere dalla macchina locale alla macchina VDI o alla sessione RDS remota “solo” dispositivi USB come drive esterni, fotocamere digitali che supportano il Picture Transfer Protocol, lettori musicali portatili che supportano il Media Transfer Protocol, ora con RemoteFX è stato implementato il supporto completo per la redirezione di dispositivi USB.

Buona Giornata a tutti … ci vediamo nel prossimo post per  le novità in Windows Server 8 Sorriso

Gianluca Maestri
Sr Support Engineer
Microsoft Enterprise Platform Support