Citrix Presentation Server 4.5 (previously codenamed "Project Ohio") will be released soon. In this article, I'll describe its new features.
In my mind, the most important thing about PS 4.5 is what it is not. Presentation Server 4.5 is NOT a major overall of PS 4. PS 4.5 has several new features—some of which are really cool—but none of which are architecturally significant or game changing. I think this is okay though. As an admin familiar with PS 4, you can "upgrade" your knowledge to 4.5 after poking around the admin consoles for about 30 minutes. All of the "hard core" stuff—farms, data stores, zones, data collectors, application publishing—is identical in PS 4.5 as it was back in 4.0.
In fact, Citrix Presentation Server has not changed significantly since MetaFrame XP was released. Again, I don't mean this in a bad way. I mean sure, PS 3 added real delegated administration, more useful policies, and enhancements to the way that inter-farm communication works. And yeah, PS 4 introduced a brand-new printing architecture, application isolation environments, and integration with the Citrix Access Gateway and Advanced Access Control. But in both cases, the core architecture remained the same throughout. (This is great news for someone like, say, an independent analyst who makes his living teaching architecture classes. This means that the class content from 2004 is pretty solid even today.)
That said, there are a few new features of 4.5 that are kind of cool. Maybe these aren't things that are going to make you want to upgrade, but certainly if you do upgrade you'll at least have something to show for it.
The most noticeable change you'll see after you install Presentation Server 4.5 is that Citrix moved a lot things around in terms of what's configured where. (I won't go into that here since I kind of ranted about it yesterday.) But once you get past that, there are some things that are kind of cool.
Health Monitoring and Recovery
This is the productized version of an ongoing project within Citrix known as "Project Kevlar." One of the problems that occasionally happens in current Presentation Server environments is that a server sometimes freaks out and partially breaks. The key word here is "partially." If a server totally freaks out and crashes or blue screens or otherwise vanishes, Presentation Server does a really good job of realizing that and not sending any users to the dead server.
But what happens when a server half freaks out? For instance, maybe the Terminal Server subsystem is screwed up so that no one is actually able to log on. This would be bad. But imagine you have a multi-server environment. You probably configured the Presentation Server load balancing so that it routes new users connections to the server with the fewest users. Well if one server isn't letting anyone log on, guess which server is going to have the fewest users on it? And of course the data collector will see that the broken server has the fewest users, so every single new connection will be sent to that server. Of course every one of those connections will fail. This means that one freaked out server can essentially take down your entire farm.
This is exactly the problem that Presentation Server 4.5's health monitoring and recovery (HMR) functionality addresses. HMR performs two functions:
- It conducts tests against the servers in your farms.
- If a particular test fails, it performs some action.
PS 4.5 ships with a handful of preconfigured tests. You can use the SDK to write tests that do anything you want. Tests might include things such as performing a sample logon, making a request to the IMA service, requesting a Citrix XML ticket, or enumerating a list of terminal services sessions. You can configure these tests to run as often as you want, for example, every 10 minutes.
If any test fails, the system can perform a certain action. This action might be as simple as writing an item to the event log. You can also configure actions that restart the Citrix IMA service, remove the server from load-balancing, or even reboot a server.
One of the cool things is that while you configure multiple tests on individual or groups of servers in your farm, you can also set a farm-wide "safety net" that specifies a certain maximum percentage of servers that can be automatically taken offline by HMR. (By default this is 10%.) This prevents one poorly-written test from accidentally taken your entire farm offline.
Administrator Configuring Logging
While we're talking about preventing accidents, another new feature of 4.5 is administrator configuration logging. Basically this means that you can configure a separate, stand-alone database that logs every single change that's made to the data store by an administrator. This database hooks in at the IMA service level, so it picks up all changes—regardless of whether they were invoked via the Java console, the MMC, a CPSCOM (previously MFCOM) script, or a command-line tool.
For now there aren't any really great options for actually viewing these reports. You're limited to basic HTML reports accessible via the MMC reports center. Personally I'm hoping that someone like Jason Conger writes a "real" interface for this just like his "real" web interface for Resource Manager.
The other limit of this admin configuration logging is that it doesn't have any provisions for "rolling back" changes that didn't work, so you're on your own there. But at least now we have a place to look to see whether anyone changed anything when a bunch of published apps just randomly disappear.
A new version of the Application Isolation Environment engine
Citrix first introduced Application Isolation Environments (AIEs) in PS 4 a few years ago. This is the technology that lets you install multiple applications on a single server that ordinarly conflict with each other. You can use AIE to "trick" the applications into using custom registry and file system areas so that they don't step on each other.
The AIE technology is a major component of Citrix's Streaming Server (Project Tarpon) since it relies on the ability to stream an app to a client without that app conflicting with anything else. In PS 4, the overhead of using AIE was huge, and it really slowed things down when it was in use. Since Tarpon relies on AIE, the AIE technology in PS 4.5 has been majorly overhauled. This means that while a lot of people are focusing on the new coolness of Tarpon, even if you don't want to use Tarpon you'll still be able to benefit from the re-engineered AIE subsystem.
While we're talking about this, I guess I should mention that PS 4.5 will be integrated with Citrix's Streaming Server / Tarpon product. This happens in two ways:
- A PS 4.5 server can also be a Citrix Streaming Server, meaning it can stream applications down to non-Presentation Server Windows workstations.
- A PS 4.5 server can be a Citrix Streaming Server client, meaning you can use another Citrix Streaming Server to stream applications to the Presentation Server instead of manually installing the apps or using IM.
In reality, the first option will only be used in small environments or for playing around in a lab. But the second option, where you stream (and presumably then publish) applications to Citrix Presentation Servers, will probably get to be fairly popular. It certainly fits well into Citrix's dynamic desktop initiative (where a user logs onto a server, and any apps they need that aren't there are streamed to that server on demand).
ICA Display Enhancements
PS 4.5 has a couple of features that should make ICA perform a bit better in certain situations.
- SpeedScreen Progressive Display. A sixth technology was added to the SpeedScreen lineup for PS 4.5 called Progressive Display. When enabled, highly-complex graphical items in motion can temporarily be sent to the client at a lower resolution so that they can be displayed in real time. Once the motion stops, the image will "snap" back up to the full resolution. This means that the user can get a good interactive experience while scrolling or moving an on-screen object.
- Improved Tossing and Queuing Algorithm. In some situations, there would be more screen updates going from a Presentation Server to a client than the network could handle. In this case, the ICA protocol driver on the server would send as many packets as it could to the client, but when it got behind, it would randomly drop bits of the screen as it tried to keep up. The result was that screen motions looked choppy and weird. In PS 4.5, the ICA protocol driver on the server has an improved technique for deciding which graphical elements can be discarded (tossed) and which should be held and sent together to the client (queing). Think of it like this: If you had some 15 frame per second screen activity, and the network could only support 20% of that, what would you rather have, a few random chunks that make up 20% of each frame, or 100% of each frame at a reduced frame rate of 3 frames per second?
The logon process has always been very resource intensive for a Citrix Presentation Server. In fact, in some cases as server can be brought to its knees just by more than a few users logging in at the exact same time.
To fix this, Citrix added a new load evaluator rule in PS 4.5 that lets you specify the "resource cost" of a user logon. You can use this rule to temporarily show a server as "full" whenever the logon rate exceeds a set level.
Tertiary Component Updates
Along with Presentation Server 4.5, Citrix is updating Web Interface to 4.5 and the first-tier ICA clients to Version 10. (We'll look at each of these more in-depth in the coming weeks.)
What didn't change?
Like I said in the beginning of this article, 4.5 is just a minor update to Presentation Server. There are several components that only received minor updates
- Printing (Same engine as PS 4, but of course with all the hotfixes "built in." There are some new policy items that mostly refine how client printer settings work.)
- Licensing (No changes that I've found, except that the graphical FlexLM configuration exe has been removed from the LS folder. You can just use the one from PS 4 or any lother FlexLM installation.)
- Policies (Several new policy items, but everything else is the same.)
- Resource Manager (You can apply templates to servers to make them easier to configure.)
- Installation Manager (You can install applications into Isolation Environments with IM.)