For many years, Citrix Systems' MetaFrame thin-client solution has helped administrators manage enterprise applications from a central location and has let users access those applications from just about anywhere. Citrix recently released a new version of its thin-client solution called Citrix MetaFrame Presentation Server 3.0. This new version comes on the heels of its predecessor, Citrix MetaFrame XP Presentation Server, Feature Release 3 (FR3), which Citrix released only a year earlier. The close proximity of these two versions begs the question: Should you upgrade to MetaFrame Presentation Server 3.0 if you just upgraded to MetaFrame XP Presentation Server FR3? What about if you're still using MetaFrame XP FR2 or earlier-is an upgrade advisable then? To help answer these questions, let's look at the enhancements that both versions have brought to this thin-client solution. The enhancements new to MetaFrame Presentation Server 3.0 include

  • centralized licensing
  • better delegation of administrative roles
  • improved session reliability
  • new SpeedScreen-based features
  • the ability to hide applications
  • improved user logon process
  • digital dictation
  • enhanced Citrix policies
  • improved support for large server farms
  • The enhancements added to MetaFrame XP Presentation Server FR3 and still present in MetaFrame Presentation Server 3.0 include

  • an improved console
  • improved printing capabilities
  • remote server access
  • support for Microsoft SQL Server Desktop Engine (MSDE)
  • the Mlicense tool
  • the ability to use PNAgent as a pass-through client
  • Centralized Licensing
    The Citrix licensing software is a much-needed add-on that has finally arrived. This software, which ships with MetaFrame Presentation Server 3.0, gives you a central point from which to manage the licenses for all Citrix products. You can install the Citrix licensing software on any server; it doesn't need to be installed on a dedicated box. For example, I installed the licensing software on the server that runs MetaFrame's Independent Management Architecture (IMA) data store.

    You manage and monitor the licenses through the License Management Console, which is a Web-based application. You can track license usage in real time, or you can run reports on historical license usage. You can even set alerts to notify you when licenses are about to expire.

    Better Delegation of Administrative Roles
    As your server farm grows and spreads out geographically, the need for more specific delegation of administrative roles arises. MetaFrame Presentation Server 3.0 addresses this need by letting you customize permissions based on servers or applications. For example, suppose you have administrators throughout the world. You can grant your administrators in Europe the privileges necessary to manage the servers in Europe but disable their ability to control the servers in North America and vice versa.

    To assign administrative privileges to a specific group of servers, first open the Management Console for Presentation Server 3.0, right-click the Servers node, click Create New Folder, name the folder, and add the servers you want this administrator to manage to the folder. Then, click the MetaFrame Administrators node, right-click the administrator's name, and click Properties. In the Properties dialog box, select Permissions in the left pane. As Figure 1 shows, you can then expand the Servers node, select the folder you created, and assign the administrative privileges in the right pane.

    Improved Session Reliability
    Have you ever had a session on your PC drop because your IP connection failed for a split second? Have you ever had a session on your wireless handheld device drop because you lost the signal? When a session loses network connectivity in MetaFrame Presentation Server 3.0, the session freezes instead of drops. The session freezes until the network connection is restored (at which time you can again access the GUI) or the specified wait period ends. (By default, the session will freeze and wait up to 180 seconds for the connection to be restored. If the connection isn't restored in that time frame, the session drops.)

    Session Reliability is enabled by default. If you want to disable this feature or modify the wait period, open the Management Console for Presentation Server 3.0, right-click your server-farm node, then click Properties. In the Properties dialog box, select Session Reliability in the left pane. As Figure 2 shows, you can then disable Session Reliability or change the wait period in the right pane.

    New SpeedScreen-Based Features
    SpeedScreen is a technology that Citrix created to improve the performance of published applications over slow communications links. You'll find a new SpeedScreen-based feature or an improvement to an existing one in almost every major release. For example, in MetaFrame XP Presentation Server FR3, Citrix introduced SpeedScreen Browser Acceleration, and in MetaFrame Presentation Server 3.0, Citrix introduced SpeedScreen Flash Acceleration and SpeedScreen Multimedia Acceleration. These three features are important enhancements.

    SpeedScreen Browser Acceleration improves the performance of published applications that use GIF and JPEG images in HTML pages. Examples of such applications include Microsoft Internet Explorer (IE) 5.5 or later, Microsoft Outlook, and Outlook Express. SpeedScreen Browser Acceleration causes the HTML pages to load text first so that you have immediate access to the information. As the HTML pages receive the image packets in the background, the image starts to progressively compose until you see the completed sharp image. The HTML pages also enable responsive scrolling, which means you can start scrolling immediately-you don't have to wait until the page loads in its entirety.

    SpeedScreen Flash Acceleration improves the presentation of flash animations through an ICA session. This feature uses lossy compression technology to reduce the size of images, which speeds up their display on the client side. SpeedScreen Flash Acceleration reduces the size of an image by removing some of the information that would be necessary for advanced editing of that image. Thus, you probably won't want to use this feature if your users work with Adobe Systems' Adobe Photoshop (.psd) images, x-ray images, or other types of images in which the preservation of image data is crucial.

    SpeedScreen Multimedia Acceleration improves the performance of streaming audio or video. The stream runs as smooth as if it were running locally on the user's machine. SpeedScreen Multimedia Acceleration doesn't put any significant load on the server CPU because it makes the client machine's CPU render the data. In addition, this feature requires little network bandwidth because it compresses the data that's traveling through the communications link.

    To use the three SpeedScreen features, your clients must be running Citrix ICA 7.0 or later. You also need to configure your clients to use at least 16-bit color. All three features are enabled by default. To disable a SpeedScreen feature, open the Management Console for Presentation Server 3.0, right-click your server-farm node, then select Properties. In the Properties dialog box, click the SpeedScreen feature you want to disable, then clear the check box that enables that feature. Note that, for SpeedScreen Browser Acceleration, you can allow or not allow Macromedia Flash Player to load. If your applications don't need to use Macromedia Flash Player, selecting the Do not allow option will greatly preserve bandwidth and improve performance.

    Hide Disabled Applications
    In MetaFrame Presentation Server 3.0, you can hide a disabled application, which can be helpful if you need to troubleshoot a problematic problem. To disable and hide an application, open the Management Console for Presentation Server 3.0 and expand the Applications node. Right-click the application you want to hide and select Properties. In the Properties dialog box, choose Application Name from the left pane. In the right pane, select the Disable Application check box, then select the Hide Disabled Application check box.

    Improved User Logon Process
    In MetaFrame Presentation Server 3.0, Citrix has improved the application logon process. When a user double-clicks an application, he or she now sees a dialog box that displays the progress of the application launch process. There's no period of seeming inactivity between the time the user double-clicks an application and the time MetaFrame Presentation Server 3.0 opens it. Thus, if the application takes a bit longer to open, the user won't try to launch it again.

    Digital Dictation
    Digital dictation lets users plug a microphone into their desktops and record meeting notes or even run voice-recognition software. This feature is supported in the advanced and enterprise editions of MetaFrame Presentation Server 3.0 only.

    Enhanced Citrix Policies
    One area in which MetaFrame XP Presentation Server FR3 needed work was policies. For example, you could apply policies to only users and user groups. Citrix has finally made the necessary improvements in MetaFrame Presentation Server 3.0. You can now apply policies to not only users and user groups but also server groups, IP addresses, and client groups. Some of the other policy improvements include

    • the ability to set a preferred zone as well as a failover zone for users
    • the ability to control sound quality and session bandwidth consumption
    • the ability to configure print jobs so that they route from the server directly to the printer, avoiding the transit stop at the client desktop

    To add a new policy, open the Management Console for Presentation Server 3.0, right-click the Policies node, and select Create New Policy. After naming this policy, right-click it and select Properties. In the Properties dialog box, which Figure 3 shows, configure the policy.

    Improved Support for Large Farms
    Citrix has refined the way in which the zone data collectors monitor and handle server load. In the previous MetaFrame versions, the zone data collectors share their load information with one another, which increases network traffic. In small or midsized server farms, this extra traffic isn't a problem. However, in large farms, the extra traffic sometimes negatively affects performance. In MetaFrame Presentation Server 3.0, the zone data collectors no longer share their load information, which reduces network traffic between zones.

    An Improved Console
    In MetaFrame XP Presentation Server FR3, Citrix changed the name of the console from Citrix Management Console to simply Management Console. Along with the name change, Citrix made some GUI enhancements and added some features. Although the Management Console name didn't carry over to MetaFrame Presentation Server 3.0 (Citrix changed it to Management Console for Presentation Server 3.0), the enhancements and features did carry over.

    If you're still using MetaFrame XP FR2 or earlier (hereafter simply referred to as the early MetaFrame versions), you'll definitely notice the GUI enhancements, especially in the various Properties dialog boxes. In the early MetaFrame versions, the Properties dialog boxes list the property headings in tabs at the top. In MetaFrame Presentation Server 3.0, the property headings are in a listing at the left. To view the properties under a particular heading, you simply click that heading in the left pane and the properties appear in the right pane.

    Compared with the early MetaFrame versions, MetaFrame Presentation Server 3.0's Properties dialog box for the server-farm node contains five new features: ICA Keep-Alive, Information, SpeedScreen Browser Acceleration, SpeedScreen Flash Acceleration, and SpeedScreen Multimedia Acceleration. I already covered the SpeedScreen features, so let's look at the other two features.

    ICA Keep-Alive. In the Management Console for Presentation Server 3.0, you often have to troubleshoot problems with user sessions. Sometimes you know a user isn't on the system any more, but the console indicates that the user session is active. You can configure ICA Keep-Alive to query user sessions at regular intervals (e.g., every 60 seconds). If a session doesn't respond to a query, ICA Keep-Alive automatically places this session in disconnect mode. Previously, you had to use registry hacks to achieve this functionality.

    Information. The Information feature provides a snapshot of what's going on in your environment. The snapshot provides detailed data, such as the pooled licenses in use, published resources, number of connected users, and number of servers in the farm.

    Improved Printing Capabilities
    Over the years, MetaFrame has come a long way in printing capabilities, especially with the addition of a universal print driver in MetaFrame XP FR1. MetaFrame Presentation Server 3.0 continues to use the universal print driver and offers several printing enhancements, such as support for color printing and high-resolution printing (up to 600 dpi). However, the most notable printing enhancement is the feature that automatically installs network printer drivers.

    In the early MetaFrame versions, adding a new network printer meant you had to manually install the network printer driver on each server in the farm. With MetaFrame Presentation Server 3.0, the print driver for a network printer is automatically detected by the connecting client's machine, automatically installed, and, later on, automatically replicated to other servers. If a driver isn't on your compatibility list (which you configure), MetaFrame Presentation Server 3.0 blocks its installation.

    Unfortunately, automated driver installation works only with network printers. It doesn't work with drivers for client printers or local printers.

    In general, printing is one of the most complained about areas of server-based computing. However, because Citrix is a leader in that field, I would expect a more vigilant effort from Citrix to fix all the problems. Although Citrix has made much improvement in the printing area, running a stable printing environment, in my opinion, still requires the use of third-party software.

    Remote Server Access
    In the early MetaFrame versions, accessing a server's desktop for troubleshooting or maintenance was a complicated, annoying task because you had to configure an ICA connection. I found that using the Terminal Services client or Remote Desktop in Windows XP or Windows 2000 was a much quicker alternative to accessing MetaFrame servers. However, with MetaFrame Presentation Server 3.0, you can access a MetaFrame server from the Management Console for Presentation Server 3.0. You simply expand the Servers node in the directory tree, right-click any server, and select Launch ICA Session, as Figure 4 shows. You can connect to the desktop through the published resource or launch an ICA session to the server's desktop. If you're using Windows Server 2003, you can alternatively connect to the server's console.

    If you want to connect to the console but the Connect to Server's Console option is shaded, you need to enable remote console access. To do that, right-click your server-farm node and select Properties. In the left pane, click MetaFrame Settings, then select the Enable remote connections to the console check box in the right pane.

    MSDE Support
    With the early MetaFrame versions, you have to install the Independent Management Architecture (IMA) data store on a server running IBM DB2, Oracle, Microsoft Access, or Microsoft SQL Server. However, Access isn't robust enough for large farms, and purchasing DB2, Oracle, or SQL Server is expensive. With MetaFrame Presentation Server 3.0, you can run MSDE, which is a lightweight version of SQL Server 2000. MSDE offers better performance and more stability than Access and it's free. Having MSDE support is definitely a boon for MetaFrame.

    If you're currently using Access but want to upgrade to MSDE, the migration is a walk in the park. Citrix provides scripts to automate the migration process. You just need to follow these steps:

    1. Install MSDE. You can download MSDE from http://www.microsoft.com/sql/msde/howtobuy/default.asp.

    2. Place the MetaFrame Presentation Server 3.0 CD-ROM in the server that hosts Access and the IMA data store. Go to \Support\MSDE in the CD-ROM's root directory. You'll find three files: migratetomsde.exe, readme.txt, and setupmsdeforwindows.cmd.

    3. Run setupmsdeforwindows.cmd. When the script finishes running, reboot the server.

    4. Run migratetomsde.exe. This script will migrate your data from Access to MSDE. You can run it with the default settings, or you can type

    migratetomsde.exe /?

    and press Enter to check out the available switches that let you customize the settings.

    The Mlicense Tool
    I don't think I've ever met anyone who enjoyed working with licenses. Licensing MetaFrame 1.8 and earlier was particularly a hassle, but licensing has greatly improved since then. One licensing tool that Citrix has added is Mlicense, a command-line tool that lets you simultaneously manage licenses for multiple products. The way this tool works is that you place all the serial numbers from your MetaFrame servers into a text file, then use Mlicense to automatically generate an XML file from the text file. MetaFrame Presentation Server 3.0 uploads the XML file to the Citrix Activation System (CAS) Web site, which processes the XML file and outputs another XML file back to you for use with Mlicense again.

    Now that you have a general idea of how the tool works, let's look at the specific commands to use. If you open a command-prompt window and type

    mlicense /?

    you'll see the four basic parameters that you can use with this tool:

    mlicense \[ add |
      activate | backup |
      extract_unactivated \]

    As this syntax shows, you can add and activate licenses, back up your licenses' serial numbers, and extract the serial numbers of unactivated licenses. You can use the following switches with the parameters:

    • /I, which you use to specify the pathname of the input file (i.e., the text file that contains the serial numbers)
    • /O, which you use to specify the pathname of output file (i.e., the XML file that Mlicense uploads to the CAS Web site)
    • /L, which you use to limit the number of serial numbers in each output file
    • /Q, which you use to overwrite previously created output files

    As the /I switch implies, you first need to create an input file that contains your licenses' serial numbers. I used the Management Console for Presentation Server 3.0 to obtain all the serial numbers, then copied them into a text file. Each serial number must be on a separate line.

    Next, you need to use the Mlicense command with the /I and /O switches to generate an output file from the input file. For example, the command

    mlicense /I C:\temp\serialnumbers.txt
      /O C:\temp\filetouploadtocas.xml

    tells Mlicense to use the C:\temp\serialnumbers.txt file to generate an output file named filetouploadtocas.xml in the C:\temp directory. By default, the output file can hold as many as 2000 serial numbers. If you want the output file to hold fewer serial numbers, you can use the /L switch followed by how many serial numbers you want each file to hold. For example, the command

    mlicense /I C:\temp\serialnumbers.txt
      /O C:\temp\filetouploadtocas.xml
      /L 50 /Q

    tells Mlicense to include a maximum of 50 licenses in each output file. So, if you had 100 licenses in your input file, Mlicense would create two output files. The /Q switch tells Mlicense to overwrite any existing files. So, for example, if filetouploadtocas1.xml and filetouploadtocas2.xml already exist, Mlicense overwrites these files so that the new serial numbers would be in filetouploadtocas1.xml and filetouploadtocas2.xml. Without the /Q switch, Mlicense creates new files and increments the number in the filename by 1. So, for example, if filetouploadtocas1.xml and filetouploadtocas2.xml exist, Mlicense would create two new output files named filetouploadtocas3.xml and filetouploadtocas4.xml.

    After MetaFrame Presentation Server 3.0 uploads the output files to the Web site, CAS processes them and sends them back to you in another XML file. At this point, you need to use Mlicense's activate parameter to activate the licenses. For example, if CAS sends you the file fileoutputfromcas.xml, you run the command

    mlicense activate
      /I fileoutputfromcas.xml

    You use the backup parameter to back up all the serial numbers in the IMA data store for backup and disaster-recovery purposes. For example, the command

    mlicense backup
      /O C:\temp\backup.txt

    writes the serial numbers to the backup.txt file in the C:\temp directory. (If you create a backup file in a temporary directory, make sure you later remove the file from that directory.)

    You use the extract_unactivated parameter to run Mlicense against the data store and extract the serial numbers from the unactivated licenses (i.e., the licenses not yet sent to the CAS Web site). For example, the command

    Mlicense extract_unactivated
      /O C:\temp\unactivated.xml

    extracts the serial numbers for the unactivated licenses and writes those numbers to the unactivated.xml file. When you're ready to activate those licenses, you can upload the unactivated.xml file to the CAS Web site, then activate the XML file CAS sends you.

    PNAgent as a Pass-Through Client
    Non-Win32 (e.g., DOS, Win16, UNIX, Macintosh) users don't automatically have access to Program Neighborhood, which is the Win32 interface of the ICA client. Program Neighborhood offers many dynamic features that other ICA client versions lack. For example, when Win32 users authenticate to Program Neighborhood, they receive a list of their applications; to launch one of these applications, all the Win32 users have to do is double-click it. Non-Win32 users have to customize a connection to every application they want to access.

    With the early MetaFrame versions, the only way non-Win32 users can take advantage of Program Neighborhood is if you install an ICA pass-through client on the MetaFrame server, then publish Program Neighborhood as an application. These users can then connect to the Program Neighborhood client and, based on their user credentials, access the published applications that you've configured for them. However, when these users launch an application, they're launching it through another launched application-in other words, they're using an application within an application-which can cause the desired application to run slowly.

    MetaFrame Presentation Server 3.0 offers another option: using PNAgent as a pass-through client. Instead of publishing Program Neighborhood as an application, you can publish the desktop of a server on which you've installed PNAgent. The users then connect to the published desktop, where they have access to all their published applications.

    Haven't Upgraded Yet?
    MetaFrame Presentation Server 3.0 offers many new enhancements that can make your job easier. If you're running MetaFrame XP FR2 or earlier, I highly recommend that you upgrade to MetaFrame Presentation Server 3.0 because you're missing out on numerous new features and performance enhancements. If you're running MetaFrame XP Presentation Server FR3, I recommend that you seriously consider upgrading. MetaFrame Presentation Server 3.0 is a featured-filled release that's worth the time and effort to upgrade to.