Independent Computing Architecture (ICA) is a
proprietary protocol
In telecommunications, a proprietary protocol is a communications protocol owned by a single organization or individual.
Intellectual property rights and enforcement
Ownership by a single organization gives the owner the ability to place restricti ...
for an
application server system, designed by
Citrix Systems
Citrix Systems, Inc. is an American multinational cloud computing and virtualization technology company that provides server, application and desktop virtualization, networking, software as a service (SaaS), and cloud computing technologies. ...
. The protocol lays down a specification for passing data between server and clients, but is not bound to any one platform. Citrix's ICA is an alternative to Microsoft's
Remote Desktop Protocol
Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft which provides a user with a graphical interface to connect to another computer over a network connection. The user employs RDP client software for this purpose, while ...
(RDP).
Practical products conforming to ICA are Citrix's
WinFrame
Citrix Virtual Apps (formerly WinFrame, MetaFrame, Presentation Server and XenApp) is an application virtualization software produced by Citrix Systems that allows Windows applications to be accessed via individual devices from a shared server ...
,
Citrix XenApp
Citrix Virtual Apps (formerly WinFrame, MetaFrame, Presentation Server and XenApp) is an application virtualization software produced by Citrix Systems that allows Windows applications to be accessed via individual devices from a shared server ...
(formerly called MetaFrame/Presentation Server), and
Citrix XenDesktop products. These permit ordinary
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
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
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
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
Mac or MAC most commonly refers to:
* Mac (computer), a family of personal computers made by Apple Inc.
* Mackintosh, a raincoat made of rubberized cloth
* A variant of the word macaroni, mostly used in the name of the dish mac and cheese
* Mac, ...
, Unix,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
, and various smartphones. ICA client software is also built into various
thin client
In computer networking, a thin client is a simple (low-performance) computer that has been optimized for establishing a remote connection with a server-based computing environment. They are sometimes known as ''network computers'', or in ...
platforms.
ICA is broadly similar in purpose to window servers such as the
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting ...
. 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
Network delay is a design and performance characteristic of a telecommunications network. It specifies the Latency (engineering), latency for a bit of data to travel across the network from one communication endpoint to another. It is typically ...
and performance—a graphically intensive application (as most are when presented using a
GUI
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
) 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 i
Common Gateway Protocol(CGP) on TCP 2598. ICA supports the concept of channels at a
session layer
In the seven-layer OSI model of computer networking, the session layer is layer 5.
The session layer provides the mechanism for opening, closing and managing a session between end-user application processes, i.e., a semi-permanent dialogue. ...
to encapsulate
rich media
Interactive media normally refers to products and services on digital computer-based systems which respond to the user's actions by presenting content such as text, moving image, animation, video and audio. Since its early conception, variou ...
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)
*
SAP
Sap is a fluid transported in xylem cells (vessel elements or tracheids) or phloem sieve tube elements of a plant. These cells transport water and nutrients throughout the plant.
Sap is distinct from latex, resin, or cell sap; it is a separ ...
See also
*
Desktop virtualization
Desktop virtualization is a software technology that separates the desktop environment and associated application software from the physical client device that is used to access it.
Desktop virtualization can be used in conjunction with applicati ...
*
HP RGS
*
Remote Desktop Protocol
Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft which provides a user with a graphical interface to connect to another computer over a network connection. The user employs RDP client software for this purpose, while ...
External links
A Slashdot discussion giving insights on how ICA works
Citrix Systems
Remote desktop
Remote desktop protocols
{{software-eng-stub