Independent Management Architecture (IMA) provides the framework for server communications and is the management foundation for MetaFrame Presentation Server. IMA is a centralized management service comprised of a collection of core subsystems that define and control the execution of products in a server farm. IMA enables servers to be arbitrarily grouped into server farms that do not depend on the physical locations of the servers or whether the servers are on different network subnets.
IMA runs on all servers in the farm. IMA subsystems communicate through messages passed by the IMA Service through default TCP ports 2512 and 2513. The IMA Service starts automatically when a server is started. The IMA Service can be manually started or stopped through the operating system Services utility.
IMA can be defined as a SERVICE, PROTOCAL and as a DATASTORE.
IMA Service: IMA Service is the central nervous system of Presentation Servers. This service is responsible for just about everything server-related, including tracking users, sessions, applications, licenses, and server load.
IMA Data store: Which stores Presentation server configuration information, such as published applications, total licenses, load balancing configuration, security rights, Administrator Accounts, Printer configuration, etc?
IMA Protocol: Which is used for transferring the ever-changing background information between Presentation servers, including server load, current users and connections, and licenses in use.
Ports used by IMA:
2512: Used for Server to Server Communication
2513: Used for CMC to Data store Communication
“Independent Management Architecture” is a term Citrix uses to describe the various back-end components that make up a CPS environment. In the real world, IMA consists of three components that we actually care about.
It is a database (called the “IMA Data Store”) used for storing Citrix Presentation server configuration information, such as published applications, load balancing configuration, security rights, policies, printer configuration, etc.
A Windows service (called the “IMA Service”) that runs on every Presentation Server that handles things like server-to-server communication.
A protocol (called the “IMA Protocol”) for transferring the ever-changing background information between Presentation Servers, including server load, current users and connections, licenses in use, etc.
In Presentation Server, the IMA protocol does not replace the ICA protocol. The ICA protocol is still used for client-to-server user sessions. The IMA protocol is used for server-to-server communication in performing functions such as licensing and server load updates, all of which occur “behind the scenes.”
If we open IMA data store database with SQL Enterprise Manager, we’ll see it has four tables:
IMA data store is not a real relational database. It’s actually an LDAP database. IMA Data Store Size 1MB per server.
We can’t access the IMA data store directly through SQL Enterprise Manager. (technically you can, but if you run a query you’ll get meaningless hex results.) If we try to edit any of the contents of the data store directly in the database, it will be definitely corrupt.
There’s a tool on the Presentation Server installation CD called “dsview.” There is another tool called “dsedit” a “write-enabled” version of dsview
There are many reasons that the IMA Service doesn’t start
1. IMA Service load time
2. IMA Service subsystem
3. Missing Temp directory
4. Print spooler service
5. ODBC configuration
6. Roaming Profile
Check the Windows Registry setting: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMARuntime\CurrentlyLoadingPlugin
If there is no value specified in the CurrentlyLoadingPlugin portion of the above Windows Registry entry then the IMA service could not connect to the data store or the local host cache is missing or corrupt.
If a CurrentlyLoadingPlugin value is specified the IMA Service made a connection to the data store and the value displayed is the name of the IMA Service subsystem that failed to load.
If administrators see an “IMA Service Failed” error message with an error code of 2147483649 when starting the Presentation Server the local system account might be missing a Temp directory which is required for the IMA Service to run.
Change the IMA service startup account to the local administrator and restart the server. If the IMA Service is successful in starting under the local administrator account then it is likely that a missing Temp directory for the local system account is causing the problem.
If the Temp directory is not present then manually create one as >Temp. For example: C:\Windows\Temp
Also verify that the TMP and TEMP system environment variables point to the temporary directory. Restart the server to restart the IMA Service