Citrix technology that permits multiple users to share the CPU ,network cards ,I/O ports and other resources at the server console simultanoesly.
This permit to run applications in a separate protected sessions on the server without interference from other users.


Is the multi-channel remote presentation services protocol developed by Citrix.
TYpically use 10-20 Kbps of bandwith to send info between the server and the ICA client.
On the server the ICA protocol separates an applicationìs logic from its user interface and sends the user interface and audio to the client device.
On the ICA client ,the user sees the application's user interface and hears the audio ;uses the ICA protocol to send keystrokes ,mouse movement back to the server.
ICA protocol :

ICA Packet Overview

Consists of a required one byte command followed by optional data.

Components :

Only Command is always present in the packet.

ICA Packet Encapsulation

The ICA packet encapsulates data by passing it through a series of drivers such as encryption ,compression and framing.
After the data is encapsulated within the necessary drivers ,the ICA packet is placed on the transport layer and sent to ICA client.
At the ICA client ,the ICA packet passes through the same layers in the opposite order.

Virtual Channels

ICA protocol uses the virtual channels to extend its capabilities to include data types ,such as audio and video ,and client devices such as badge readers ,wands and scanners.

Can support up to 32 virtual channels

ICA protocols bundles the channels within an ICA packet rather than sending one packet per virtual channel.
Examples of virtual channels : audio ,clipboard ,drive mapping ,font and keyboard layout ,parallel port mapping,printer spooling ,serial port mapping ,speedscreen control channel ,ICA display.

ICA display support : vector graphics ,anti aliasing routines ,screen theorical resolution 64.000x64.000 ,high color depth (65.535) ,multiple monitos at the client ,command and object intelligent compression with state persistence ,intellignet caching of bitmanps ,cross.session persisten caching.

An administrator can configure ICA connection settings that determine graphics performance over the CIA display virtual channel using the TWOCONFIG command.


Is the ICA protocol agent that reduces the latency by reducing the amounts of bandwith consumed.
Consists of several components :

S.L.R. is disabled by default for ICA conneciton over a LAN.


It provides the framework for server to server comunication and allows XP to perform in both small and large enterprises.
IMA is a centralyzed management facility constructed on a collection of core subsystems that define and control the execution of products in XP server enterprise.
IMA runs on all XP servers and operate in a peer to peer model.

Citrix Management Console
Replaces the Citrx Server Administration ,Published Application Manager ,Citrix Licensing and Load Balancing Administration utilities found in Metaframe 1.8.
It can be run on any system with a Java Runtime Environment (JRE) version 1.3 or higher ,TCP/IP and one of the following os : W2k (Pro,server,advanced server,data center) ,NT 4.0 (server or workstation),NT server 4.0 TSE.

IMA Subsystems

Subsystem is a data link library (DLL)file.
Make IMA modular and extensible.
Subsystems interact via a messaging layer ,which routes data among the subsystems on XP servers in the farm.
IMA includes :

Data Store

Keeps configuration and tracks XP server farm info that does nnot change frequently.
Is a database that uses : MS Access ,SQL server ,Oracle.In previuos versions of Metaframe ,data was stored in the registry of each servers ;each servers shared the info with every server in the farm.
Data store contains the following info :

When a change to static info occurs ,XP server sends the info to the data store ,at the same time ,the server sends out a broadcast (not UDP) containing all of the data that has changed.
If all XP servers in the farm receive the data .they can update their local host cache.
If XP servers did not receive the broadcast they must wait until their local host cache receives its next update from the data store.
Changes are sent to the local host cache every 15 minutes.

Local Host Cache

Exist on every XP server in the farm.
Contains a subset of the configuration data that is kept in the data store.
When a server joins a server farm ,it receives a copy of the info in the data store and saves it to a local host cahce.
If a server is rebooted ,it reads its local host cahce to get info it needs to partecipate in the server farm.
LHC is checked for coherency every 15 minutes.
A refresh can be forced by stopping and starting the server's IMA service.
Stopping and starting IMA service does not affect the connected user sessions ,but users attempt to log on ,will be refused.
The LHC is stored in the Program Files7Citrix/Independent Management Architecture\IMALHC.MBD.
LHC is stored in MS access format ,the data is encrypted ,is not a subsystem.


Contains a subset of servers within the farm.
Each zone has a data collector that gathers and disseminates info to servers in the zone and to data collectors in other zones.
By default the zone is the equivalent of the TCP/IP subnet and all serers are added to the default zone.

A zone is designed to enhance the performance of XP serer farm by allowing geographycally related servers to be grouped together ,whether they are connected to the same network subnet or not.
The data collctor's assignments in the zone are :

Data Collectors

Is an in-memory databse that maintains zone specific data.
Store dynamic non configuration info ,such as server loads ,active sessions and disconnected sessions ,and users and liceses in use.
Is the ICA master browser for the zone (in mixed mode).
By default the first server in the zone is the data collector.
If the server designated to data collector goes down ,another server in the zone is elected based on its priority.
The priority determines which servers will be the data collector.
The administrator can settign the priority in the CMC.
The following are the levelsof priority :

The election process use the TCP not UDP as was the case of Metaframe 1.8.
XP does not use backup data collectors ,if goes down a new data collector is elected.
256 are the maximum number of servers in the zone.
It possbile to use a dedicated data collector for the zone.
Servers shuold be demoted to use the Not Preferred priority prior to moving them to another zone.This reduces the possibility of causing data collector elections in the server's new zone.


XP uses a listener ports and idle sessions to make the connections to a server.
When XP is setup :

The listener prots deliver incoming connectionss to idle sessions ,which are preinitialized and ready to accept the incoming connection.
When an initialized session combines with an incoming connection ,the idle session becomes an ICA session and a new idle session is created to await another connection.
Adding ICA listener ports does not consume substantial resources beyond the initial 3.4 MB used by the two idle sessions.
If multiple network cards are installed ,the number of listener ports could be multiplied by the number of network cards.
HKEY_LOCAL_MACHINE\CurrentControSet\Control\Terminal Server\IdleWinstationPoolCount.
For performance reasons the number of idle sessions should not exceed ten.
The valid states of an ICA connection include : Listen ,ConnQ ,Conn ,Active ,Idle ,Disc ,Shadow ,Down ,Init.


Reduces the number of licenses require dby ICA clients to access XP servers.
It allows ICA clients to run multiple ICA sessions on multiple XP servers while using only one connction license.
When an ICA client esteblish an ica session ,it is given an identifier that identifies the physical device used to connect to the server.
Data collector uses the identifier to track connected sessions and to direct physical devices back to the correct disconnected sessions.
If another ICA sessions are started from the same physical device ,no additional licenses are consumed even if a connection goes to another different server.