Die grundlegende Zielsetzung dieser Funktion hat sich auch in der neuesten Generation nicht geändert: Das Rendering von Flash-Inhalten (insbesondere von Flash-basierten Videos) auf dem Endgerät anstatt auf dem Server, um einerseits Benutzern einen qualitativ bessere Darstellung zu bieten und andererseits Server- und Bandbreiten-Ressourcen zu schonen. Dennoch wurde das Feature für die aktuellen Produkt-Versionen, XenDesktop 5.5 und XenApp 6.5 signifikant überarbeitet. Es gibt zahlreiche Anpassungen und Verbesserungen, die folgenden drei relevantesten sind eine nähere Betrachtung wert:

1. Unterstützung des NPAPI Flash Player auf dem Endgerät, wodurch HDX MediaStream for Flash jetzt auch für Linux und andere Client-Plattformen verfügbar ist.

2. Bessere Performance über WAN-Strecken

3. Flexiblere Konfigurationsmöglichkeiten

Unterstützung des NPAPI Flash-Player und von Nicht-Windows Client-Plattformen

Frühere Versionen von HDX MediaStream for Flash waren ausschließlich auf den Internet Explorer und Windows ausgerichtet. Zum Rendering von Flash-Inhalten ist hier der ActiveX Flash-Player erforderlich. Diese Ausrichtung schloss von vorne herein jegliche Unterstützung von Nicht-Windows Client-Plattformen aus, da der ActiveX Flash-Player nur unter Windows funktioniert.

In XenDesktop 5.5 und XenApp 6.5 verwendet HDX MediaStream for Flash auf dem Endgerät nicht länger den ActiveX Flash-Player, sondern den NPAPI Flash-Player. Das bedeutet, das HDX MediaStream for Flash nun auch für andere Client-Plattformen in den Bereich des Möglichen gerückt ist – die Unterstützung von HDX Features auf einer breiteren Auswahl an Clients steht ohnehin mehr und mehr im Fokus der Citrix-Produktentwicklung.

Ein Manko dabei ist, dass der ActiveX Flash-Player auf Windows-basierten Client-Plattformen deutlich weiter verbreitet ist, als der NPAPI Flash-Player, obgleich dieser die gleiche Funktionalität bietet und von Adobe auch voll unterstützt wird. Beim Download des Flash-Players von der Adobe-Webseite, stellt Adobe standardmäßig den ActiveX Flash-Player zur Verfügung sofern man den Internet Explorer für den Download verwendet. Durch einen einfachen Klick auf einen Link ist das allerdings sehr leicht zu ändern.

Tatsächlich haben Benutzer, die ausschließlich den Internet Explorer auf Windows-basierten Endgeräten nutzen, eher selten den NPAPI Flash-Player installiert. Im schlimmsten Fall kann hier elegant auf das Server-seitige Flash-Rendering zurückgegriffen werden, was also keinen Schaden verursachen würde. Allerdings würden die Benutzer dann nicht in den Genuss der Vorteile von HDX MediaStream for Flash kommen. In verwalteten Umgebungen wird daher empfohlen, den NPAPI Flash-Player auf allen Windows-basierten Endgeräten zwingend auszurollen. Aber auch wenn der NPAPI Flash-Player nicht auf dem Endgerät nicht vorinstalliert wurde, kann die Situation entschärft werden. Sobald ein Benutzer in einer XenApp/XenDesktop-Sitzung Flash-basierte Inhalte aufruft, wird er automatisch aufgefordert diesen zu installieren.

Bessere Performance über das WAN

HDX MediaStream for Flash benötigte schon immer sehr geringe Bandbreiten zwischen dem Receiver und der XenApp/XenDesktop-Infrastruktur (wenn davon ausgegangen wird, dass Flash-Inhalte direkt vom Client abgerufen werden, was standardmäßig der Fall ist). Nichtsdestotrotz war vor XenDesktop 5.5 bzw. XenApp 6.5 die Performance über Verbindungen mit höheren Latenzen nicht besonders gut. Systemseitig wurde die jeweilige Round-Trip-Latenz der Verbindung ermittelt und sofern diese höher als 30ms lag wurde automatisch auf das Server-seitige Rendering zurückgegriffen. Das verursachte zwar keinen Schaden, aber die Vorteile des Client-seitigen Renderings, wie Benutzerkomfort, Skalierbarkeit und Bandbreitenbegrenzungen gingen dadurch verloren.

Für XenDesktop 5.5 und XenApp 6.5 wurde das HDX Flash-Protokoll dahingehend verbessert, dass es jetzt deutlich weniger geschwätzig ist. Dadurch toleriert das System mehr Latenz. Sobald eine Flash-Applikation oder ein Flash-Video auf dem Client abgespielt wird, gibt es typischerweise kaum noch nötige Interaktionen zwischen dem Client und dem Server, so dass die Latenz der Verbindung dann keine Rolle mehr spielt. Eine der Stärken von Citrix Produkten liegt darin, dass Funktionen und Protokolle immer auf eine ausgezeichnete WAN-Performance ausgerichtet sind. Die neue Generation von HDX MediaStream for Flash erfüllt diesen Standard jetzt voll und ganz.

Unterstützung für die Konfiguration von “Whitelists”

HDX MediaStream for Flash rendert Flash-Inhalte auf eher “unnatürliche” Weise – ausserhalb des Browsers, der in der XenApp/XenDesktop-Infrastruktur ausgeführt wird. Das funktioniert grundsätzlich sehr gut, aber es wird auch immer einige Webseiten und Flash-Inhalte geben für das nicht zutrifft. Natürlich wird versucht, diese Inhalte auf ein Minimum zu reduzieren – es wurden in diesem Bereich auch schon gute Fortschritte erzielt – trotz allem ist eine 100%ige Kompatibilität mit aktuellen und zukünftigen Flash-Inhalten nicht realistisch.

Zur Entschärfung des Problems konnte in früheren Versionen HDX MediaStream for Flash für spezielle Webseiten (die durch eine vollständige oder teilweise unvollständige URL, wie z.b. http://*problemseite.com/Flash/* identifiziert wurden) mittels Policy durch den Administrator deaktiviert werden. Für die meisten Inhalte war diese Vorgehensweise sehr effektiv, mit Ausnahme von einigen wenigen problematischen Seiten.

Seit XenDesktop 5.5 und XenApp 6.5 ist die Anwendung dieser Policy deutlich flexibler geworden. Jetzt kann über eine Liste exakt definiert werden, welches Verhalten beim Aufruf des jeweiligen URL-Musters erfolgen soll: Client-seitiges Renderung über HDX MediaStream for Flash, Server-seitiges Rendering ohne HDX MediaStream for Flash oder ein vollständiges Blockieren des Inhaltes. Die Liste ist alphabetisch sortiert, so dass ein Eintrag sehr schnell durch einen nachfolgenden spezifischeren Eintrag verfeinert werden kann. Administratoren können so die Funktion grundsätzlich deaktivieren oder sehr selektiv für bestimmte Flash-Inhalte aktivieren. Der folgende Sceen-Shot zeigt, wie eine solche Konfiguration beispielsweise aussehen könnte:

Verbessungen basierend auf Kunden-Feedback

Der Vorteil bei der Entwicklung einer zweiten Generation einer Funktion besteht im Vorliegen von umfassenden Feedback von Kunden – benutzerseitig und aus Administrator-Sicht – zur vorherigen Version.  Auf Basis dieses Feedbacks wurden in HDX MediaStream for Flash in XenDesktop 5.5 und XenApp 6.5 zahlreiche Zusatzfunktionen, Verbesserungen und Optimierungen umgesetzt.

Aufgrund der Fülle dieser Anpassungen kann an dieser Stelle nicht auf alle im Einzelnen eingegangen werden, aber hier ein Beispiel dazu. Ein spezieller Kunde nutzte diese Funktion in der Vergangenheit und war grundsätzlich zufrieden damit. Trotz allem fand der Kunde heraus, dass bei einigen seiner Flash-Videos die Zeitspanne für das Puffern ausgesprochen lang dauerte – der Flash-Player konnte den Video-Inhalt (.flv file) also nur sehr langsam abrufen. Bei näherer Betrachtung wurde festgestellt, dass der Kunde für die Bereitstellung seiner Flash-Videos ein Content Delivery Network (CDN) verwendet. Das führte zum Problem, da der Server des Kunden geografisch vom Client entfernt lag. Das CDN lieferte das Video über HDX MediaStream for Flash auf den Client basierend auf dem geografischen Standort des Servers. Der Flash-Player auf dem Client hat die flv-Datei daher von einem entfernten Content-Server abgerufen, was die schlechte Performance verursachte. In Zusammenarbeit mit dem Kunden wurde eine neue Policy entwickelt, die im Flash-Player ein Zurücksetzen des geografischen Standortes erlaubt, sobald Flash-Inhalte von einem CDN abgefordert werden. So kann der korrekte geografische Standort festgelegt und der Inhalt effizient bereitgestellt werden. Und alle waren glücklich und zufrieden…