Blog posts tagged with 'multimedia'


23 Jun 2008 05:02 PM EDT

Sit back and listen in as I speak with Doug Brown, Citrix Technology Professional and Microsoft MVP, about the Citrix Multimedia Virtualization Initiative and the new technologies being developed by the project Apollo team in this DABCC Radio podcast...

Derek Thorslund
Product Strategist, Multimedia Virtualization

19 Mar 2008 05:21 PM EDT

As I noted in my first blog post about optimizing Flash performance on XenApp, SpeedScreen Flash Acceleration currently checks for specific binary file names such as flash8b.ocx or flash9.ocx. Therefore, new versions of Flash require the creation of hotfixes to accommodate different binary file names. After reviewing this issue, I challenged our Engineering team to come up with an improved design. They devised a creative new solution that they predict will gracefully handle Flash updates and thus eliminate the time lag between new releases of Flash and the development of new XenApp hotfixes. That enhancement is now working its way through development and test.

In the meantime, we still need hotfixes that will look for newer Flash file names. I previously highlighted that a limited release hotfix (PSE400R03W2K3091) is available for customers with active Preferred Support Services contracts who are running XenApp Presentation Server 4.0 on Windows Server 2003 (see KB article CTX115426, login with appropriate access privileges required). Subsequently, our Support department received requests for a solution for XenApp Presentation Server 4.0 on Windows Server 2000. In response, the Life Cycle Maintenance (LCM) team has created and released hotfix PSE400R04W2K012 for PS 4.0 with HRP04 on Windows Server 2000. This limited release hotfix adds support for Adobe Flash versions 7a, 8, 8b, 9, 9c and 9d. Customers with an approved support contract can obtain the Knowledge Base article describing this new hotfix by visiting our Support web site at http://support.citrix.com/article/CTX115555 (login required) or by searching for CTX115555.

Meanwhile, Adobe has released Flash 9e (9.0.115.0). I wish I could tell you that the new hotfix handles 9e but, as Aaron Parker has already identified in his blog post on stealthpuppy.com, it doesn't. However, the wheels are in motion to create a hotfix that will handle 9e. If all goes well, this might be the one that introduces Engineering's new generic solution that isn't tied to specific binary file names. Stay tuned to this blog for further updates.

Derek Thorslund
Product Strategist, Multimedia Virtualization

05 Mar 2008 02:10 PM EST

Recently I published a video blog post about RAVE (Remote Audio & Video Extensions), the technology behind SpeedScreen Multimedia Acceleration. RAVE supports high quality playback of media streams that can be decoded by a media player that uses DirectShow or DirectX Media Objects (DMO). A question came in from the field asking how a customer can determine whether SpeedScreen Multimedia Acceleration is functioning. So here are some handy tips for verifying whether RAVE is working or not. In addition, you'll find a helpful troubleshooting article in our Knowledge Center.

The quick answer is that you can probably tell by the quality of the video playback since RAVE delivers a user experience on par with running the media player locally. But here are some other telltales. When RAVE is working, a black rectangle will quickly flash by as the video begins to play. Server CPU usage will be much lower than if the video were being rendered on the server (for comparison, you can disable SpeedScreen Multimedia Acceleration on the console and try playing the same video). Searching for "FilterInt" in ProcessExplorer will show that DLL loaded by the media player's process.

Are there any enhancements that you would like to see to make it easier to discover that an additional codec needs to be installed on the client (or even on the server to support server-side rendering as a fallback)? For example, one possible enhancement would be for SpeedScreen Multimedia Acceleration to record RAVE events in the Windows Event Log.

Derek Thorslund
Product Strategist, Multimedia Virtualization

27 Feb 2008 03:17 PM EST

Scott Guthrie, a VP at Microsoft, recently blogged about a new release of Silverlight that will soon be ready for beta trial. Silverlight 1 introduced a new browser-based video player supporting a JavaScript/AJAX programming model. Silverlight 2 focuses on enabling the development of Rich Internet Applications (RIAs). An important point about RIAs is that they aren't just for the Internet. Silverlight 2 will enable "rich desktop Windows applications" for the enterprise, so it is of great interest to all of us involved with the Citrix Multimedia Virtualization Initiative. Although not offering the full 3D graphics capabilities of WPF (Windows Presentation Foundation), Silverlight is a strong subset of WPF that supports "2.5D" graphics effects including transparency. The UI framework provides support for animation, layout management, controls, data binding, and more.

Visual Studio 2008 will support Silverlight 2, as it does WPF, making it very easy for ISVs and other application developers -- even non-professionals -- to create rich client applications in their choice of programming language (C#, Visual Basic, JavaScript, etc.).

The beta release is just 4.3MB and installs in less than 10 seconds. Unlike WPF, Silverlight 2 does not require the .NET framework to be installed on the client. Silverlight applications run within a browser (Internet Explorer, Firefox or Safari) but can be migrated to standalone desktop applications using WPF and the .NET framework.

No doubt Silverlight 2 will be a big topic at Microsoft's upcoming sold-out MIX08 conference in Las Vegas!

Derek Thorslund
Product Strategist, Multimedia Virtualization

01 Feb 2008 06:21 PM EST

Our project Apollo technology for remoting Vista Aero and any multimedia application that can run on Vista just keeps getting better. This video gives you a sneak peek at the latest version of Apollo, demonstrated by Juan Rivera (Citrix Development Manager) in the Tech Lab at Citrix Summit 2008 in Orlando.

31 Jan 2008 05:02 PM EST

Recently, I blogged about three ways of delivering telephony functions to Citrix Presentation Server users. A reader commented: "I currently use the Avaya Softphone via Citrix for Remote Call Center agents, allowing complete in-the-office phone features that allow us to not rent office space." You can learn more about publishing the Avaya IP Softphone in the following document on Avaya's web site: http://support.avaya.com/elmodocs2/ip_agent/R7.0/125772.pdf

Derek Thorslund
Product Strategist, Multimedia Virtualization

09 Jan 2008 03:04 PM EST

Whereas Citrix NetScaler is all about delivering web applications with outstanding performance, availability and security, the SpeedScreen Browser Acceleration feature of Citrix Presentation Server is focused on optimizing the performance of the web browser used to access those applications. Many Citrix customers deliver Internet Explorer and/or Mozilla Firefox to their users through Presentation Server for reasons well articulated by Brian Mirrotto and Rob Patterson in their iForum 2005 presentation Take Control of Your Users' Web Browser; in particular, easier management, better performance and improved security (see also Resolve Web browser security and compatibility issues). SpeedScreen Browser Acceleration ("SpeedBrowse" for short) improves the usability of Internet Explorer when accessing web pages that contain JPEG and non-transparent GIF images, two very common digital image file formats. (SpeedScreen Image Acceleration takes over for photographs and other high detail images.) It also optimizes the performance of Outlook and Outlook Express when viewing HTML-based email.

SpeedBrowse actually consists of several sub-features that work in tandem to improve browser responsiveness and reduce bandwidth consumption. Here's a high-level summary of the most important pieces that make up the SpeedBrowse feature:

  • Optional automatic disabling of GIF animations. By default, SpeedBrowse disables Internet Explorer's "Play animations in web pages" option. This setting reduces bandwidth consumption and enables the resulting static GIF images to be delivered over the SpeedBrowse virtual channel.
  • High-level browser hooking. SpeedBrowse uses high level hooks into Internet Explorer to intercept JPEG and GIF images before they are decompressed. Images can be sent to the client in their native compressed form, minimizing bandwidth consumption.
  • Dynamic JPEG image recompression. JPEG offers multiple levels of compression. By recompressing a JPEG image at a higher, more "lossy" level of compression, bandwidth consumption can be further reduced, at the expense of image quality. Presentation Server Enterprise Edition and Platinum Edition offer a "Determine when to compress" option that dynamically evaluates image size and available network bandwidth to automatically decide how much compression to apply.
  • Background image delivery. SpeedBrowse sends compressed images in chunks over a separate SpeedBrowse virtual channel so as not to block the Thinwire command protocol. The user can scroll and use the Back and Stop buttons of the browser with excellent responsiveness as images are downloaded at lower priority in the background.
  • Client-side image caching. SpeedBrowse caches compressed image chunks on the client. If the server detects that a chunk is already in the client's image store, it will not resend that chunk. It only needs to send an identifier. By caching image chunks on the client, web pages that are revisited display much faster and bandwidth consumption is reduced because the server does not need to retransmit previously sent images. Furthermore, decompressed images are added to the client's cache as bitmaps so that these images don't need to be decompressed each time they are drawn. This provides a significant performance boost when a web page is scrolled because scrolling generates multiple drawing operations for each image on the page.

Of course, there are some limitations, too. SpeedBrowse is not compatible with web pages that include Adobe Flash content. And it would be nice to see an enhancement to handle PNG images, which offer more vibrant color than GIFs.

When you look at the multiple facets of SpeedScreen Browser Acceleration, you can see why it adds up to a tremendous feature for accelerating web browser performance. A study by Doculabs (click for summary press release or full report) published shortly after SpeedBrowse was introduced concluded that Presentation Server provides "200% to 250% more efficient network bandwidth utilization than locally installed browsers (depending on the configuration and tuning options selected)" and "may provide users with a two-fold or greater increase in page loading performance" on low bandwidth connections. This testing was done against a set of 99 web pages including commercial sites such as Google, Yahoo and Microsoft.com. 50% of the pages were graphically intense (over 95% of the total page download coming from image loading). Using a browser delivered via Citrix Presentation Server resulted in a transfer of 55% less data than when browsing with a locally installed browser, resulting in noticeably faster response times. The SpeedBrowse feature is a big contributor to this outstanding performance.

In the time since the Doculabs report was written, we've witnessed the emergence of numerous Javascript-enabled web sites (Gmail, for example). These days, there's a lot more data getting sent down to the browser, which now is becoming a pseudo operating system executing all these applications. It's often a lot less network intensive to send the image representation of the web page through ICA rather than downloading the entire page to the client. This is especially important if the client is at the end of a limited bandwidth pipe.

Derek Thorslund
Product Strategist, Multimedia Virtualization

18 Dec 2007 11:38 AM EST

We recently conducted some tests to confirm that Office Communications Server 2007 can be delivered via Citrix Presentation Server 4.5. While these are not "official" test results, I thought many of you might appreciate an early look at what we found in case you're considering rolling out OCS 2007.

Office Communications Server, the successor to Microsoft Live Communications Server 2005, is Microsoft's entry in the Unified Communications space. It brings together Voice-over-IP (VoIP), Instant Messaging (IM), audio and video conferencing, and integration with Microsoft Office. OCS includes presence information so you can see at a glance whether someone is available to receive your phone call or instant message.

We didn't test video conferencing. That would require USB webcam support on Presentation Server. Our focus was on the Instant Messaging and Microsoft Office integration features of OCS 2007.

We published the Office Communicator client on Presentation Server and successfully used its Instant Messaging and presence functions. OCS integrates presence information from multiple sources including the Outlook calendar and Out-of-Office Assistant. From an e-mail message in Outlook, you can view the presence information for each addressee and then initiate real-time communications from within the message without switching applications.

Office Communicator can also be used to control a physical telephone set. For example, you can instruct Office Communicator to place a call in your behalf and, leveraging your telephone system, it will ring your phone (office, home, or mobile) and then call the other party and bridge the connections. You can't yet use Office Communicator on Presentation Server as a pure softphone with voice-over-ICA; one of the reasons is that softphones need to open the audio driver more than once (ringtone/busytone, voice) and the current audio driver in PS 4.5 FP1 doesn't support that. (We previewed an enhanced audio driver for softphone support and voice-over-ICA in the Tech Lab at iForum in October and I'll blog on various aspects of voice-over-IP in the new year.)

If you have any experiences running Office Communicator on Presentation Server that you'd like to share, please write a comment on this blog post. And I'll keep you informed as we learn more about delivering Unified Communications via Presentation Server and XenDesktop.

Derek Thorslund
Product Strategist, Multimedia Virtualization

12 Dec 2007 04:24 PM EST

I'm back from my 7-day Eastern Caribbean cruise and of course the first thing on my mind is my Multimedia Virtualization blog! We've just migrated the Citrix blog site to an updated system so I had a few transitional issues to work through, but now I'm ready to share with you Part 2 of my series on optimizing Adobe Flash performance on Citrix Presentation Server. (Click here to read Part 1.)

There's definitely more to optimizing Adobe Flash than configuring SpeedScreen Flash Acceleration ("SpeedFlash") and making sure you have any required hotfixes to handle newer versions of Flash. One of the features of Presentation Server that can have a very substantial positive impact on Flash performance (animations and video) is Queuing & Tossing. This feature shows up in the management console as "Discard queued images which are replaced by other images" or "Discard redundant graphics operations", depending on which version of Presentation Server you're running.

The Queuing & Tossing feature of Thinwire briefly queues GDI draw commands and, before sending them over ICA, inspects the stack in reverse order (LIFO) to allow tossing of obsolete commands (those which have been overwritten by subsequent commands). The queuing period is short enough (30ms) that it doesn't degrade the responsiveness of the application; in fact, performance is significantly improved because draw commands that are logically redundant are discarded.

The tossing algorithm was enhanced in Presentation Server 4.5 (Ohio) to look for more graphics constructs. The tossing algorithm now uses a 1-bit-per-pixel map of the session screen. And it can detect complete self-contained 'frames'. As a result, Thinwire will either send the entire frame to the client as a self-contained entity or toss it completely. These improvements to the tossing algorithm further reduce the amount of data that needs to be sent over the wire. Along with reduced network bandwidth consumption, network efficiency (data bytes per frame) is increased. And the user experience is better because the entire frame gets updated at once rather than in pieces.

So, just how big a difference does all of this make? I recently spoke with one of our engineers who has been taking performance measurements with Flash videos. In his testing, he found that enabling Queuing & Tossing reduced bandwidth consumption by more than 3 times!

In addition to the new framing behavior of Queuing & Tossing in PS 4.5, just-in-time output behavior has further improved Flash performance. Flash video playback with PS 4.5 is noticeably smoother. And CPU consumption is lower, which increases server scalability (number of simultaneous Flash users per server).

There's still quite a bit more to tell you about Adobe Flash performance optimization, so stay tuned for my next installment on this topic.

Derek Thorslund
Product Strategist, Multimedia Virtualization

27 Nov 2007 12:00 AM EST

In my conversations with customers at our iForum App Delivery Expo in Las Vegas a few weeks ago, the topic of Adobe Flash came up several times. It became apparent to me that many Citrix system administrators are looking for guidance on how best to configure Presentation Server to support access to web sites with Flash content, and they're wondering what future enhancements Citrix has on our technology roadmap. So here is the first in a series of blog posts about optimizing Flash performance.

Flash is indeed a key focus area for the Citrix Multimedia Virtualization Initiative. Over the past few years we introduced various enhancements and tweaks to Presentation Server to help customers optimize the user experience when viewing Flash animations and videos. We also offer NetScaler to dramatically accelerate the delivery of web applications, including apps with Flash content. And there's more to come...

The reason for this continued attention to Flash is the growing prevalence of Flash-based content. Based on input I received from two leading Content Delivery Network vendors, it looks like Adobe Flash has now captured at least 10% of the enterprise market and is enjoying rapid growth. And a Forrester survey ("Enterprise Browser and Desktop Trends") of over 2,000 large enterprises found the Adobe Flash player installed on 98% of desktops.

The obvious starting point in our discussion of Flash performance is the SpeedScreen Flash Acceleration feature ("SpeedFlash" for short) introduced in Presentation Server 3.0. You can enable SpeedFlash to be on at all times or just over low bandwidth connections (less than 150Kbps). SpeedFlash automatically adjusts the Flash player to use simpler graphics (for example, no smoothing or anti-aliasing). These simpler graphics can be more effectively compressed, thereby reducing bandwidth consumption. CPU usage is reduced, too, which translates into higher scalability (more concurrent users per server).

SpeedFlash looks for specific binary file names. Here's where things can go wrong. The SpeedFlash code in Presentation Server 4.0 looks for flash.ocx and won't do its trick unless it finds that file. You may be running a version of the Flash player with a different binary file name. Presentation Server 4.5 was updated to also accept flash8.ocx, flash8b.ocx or flash9.ocx. But what do you do if you're still running Presentation Server 4.0?

There's a hotfix for PS 4.0 [NOTE: this hotfix is for Windows Server 2003] that adds support for Adobe Flash versions 7a, 8, 8b, 9, 9c, and 9d. You'll find the details at http://support.citrix.com/article/CTX115426 (login required). [NOTE: If you have trouble with this link even after logging in, just do a search for CTX115426. I've noticed that the link can take a long time to resolve. An approved support contract is required to access limited release hotfixes and hotfix articles.] The hotfix number is PSE400R03W2K3091. And I expect there will be future hotfixes as new versions of Flash are introduced that have a different binary file name or require new SpeedFlash code to achieve the task of adjusting the Flash player to use simpler graphics.

[UPDATE: A hotfix for PS 4.0 with HRP04 on Windows Server 2000 was made available on March 10th. Customers with an approved support contract can find the article describing this hotfix at CTX115555. The hotfix number is PSE400R04W2K012. This hotfix adds support for Adobe Flash versions 7a, 8, 8b, 9, 9c, and 9d.]

So, does it work? Obviously the current SpeedScreen Flash Acceleration technology is not as advanced as SpeedScreen Multimedia Acceleration, which leverages client-side resources to greatly improve server scalability and provide a just-like-local user experience for a long list of media types that can be decoded with a DirectShow codec. Yet the measurements I've seen for SpeedFlash show an impressive 22% average reduction in bandwidth consumption (the actual figure will vary according to the content).

If your users will be accessing Flash videos, I recommend setting SpeedFlash to be always on, rather than limiting it to just low bandwidth (dial-up) connections.

Audio settings are also important to consider since if you're watching a Flash video it more than likely has an audio track, too. I recommend Presentation Server's Medium Quality setting as the best compromise between sound quality and bandwidth consumption. The Low Quality setting does not make for a very good user experience, and the High Quality setting uses up a lot of bandwidth (roughly 1 Mbps). Improvements to audio support are another part of the Citrix Multimedia Virtualization Initiative (see "Now playing - The Ulysses Audio Codec").

I'll have some more "secrets" for optimizing Flash performance in a subsequent blog post.

Derek Thorslund
Product Strategist, Multimedia Virtualization


Page: 1 2  Next >>