Independent Computing Architecture
Independent Computing Architecture (ICA) is a proprietary protocol for an application server system, designed by Citrix Systems. The protocol lays down a specification for passing data between server and clients, but is not bound to any one platform.
Practical products conforming to ICA are Citrix's WinFrame, Citrix XenApp (formerly called MetaFrame/Presentation Server), and Citrix XenDesktop products. These permit ordinary Windows applications to be run on a suitable Windows server, and for any supported client to gain access to those applications. Besides Windows, ICA is also supported on a number of Unix server platforms and can be used to deliver access to applications running on these platforms. The client platforms need not run Windows; for example, there are clients for Mac, Unix, Linux, and various smartphones. ICA client software is also built into various thin client platforms.
ICA is broadly similar in purpose to window servers such as the X Window System. It also provides for the feedback of user input from the client to the server, and a variety of means for the server to send graphical output, as well as other media such as audio, from the running application to the client.
Key challenges of such an architecture are network latency and performance—a graphically intensive application (as most are when presented using a GUI) being served over a slow or bandwidth-restricted network connection requires considerable compression and optimization to render the application usable by the client. The client machine may be a different platform, and may not have the same GUI routines available locally—in this case the server may need to send the actual bitmap data over the connection. Depending on the client's capabilities, servers may also off-load part of the graphical processing to the client, e.g. to render multimedia content. ICA runs natively over TCP port 1494 or may be encapsulated in Common Gateway Protocol (CGP) on TCP 2598. ICA supports the concept of channels at a session layer to encapsulate rich media redirection or USB extension within ICA.
Client software
- Citrix ICA Client (DOS, OS/2)
- Citrix Presentation Server Client (Mac, Java)
- Citrix Receiver (Linux, Unix, Windows, Mac OS X, iOS, Android, Chrome)
- Citrix XenApp/XenDesktop Plugin (Windows)
See also
External links
- A Slashdot discussion giving insights on how ICA works
- A web page contains a description of the ICA file syntax.