Independent Computing Architecture (ICA) es un protocolo de servidor de aplicaciones propietario desarrollado por Citrix Systems . El protocolo define la especificación para la comunicación entre el servidor y los clientes, pero no está integrado en ninguna de las plataformas. El puerto predeterminado es TCP 1494.
Los productos de software Citrix WinFrame y Citrix Presentation Server (anteriormente llamado Metaframe) implementan estos protocolos. Permiten que las aplicaciones comunes de Microsoft Windows se ejecuten en un servidor de Windows y que los clientes admitidos se conecten a esas aplicaciones. Además de Windows, ICA también es compatible con algunas plataformas de servidores Unix y se puede utilizar para brindar acceso a las aplicaciones que se ejecutan en esas plataformas. Las plataformas de clientes no tienen por qué ser Windows, existen clientes para Apple Macintosh , Unix, Linux y varios smartphones . El software de cliente ICA también está integrado en algunas plataformas de hardware de cliente ligero .
ICA realiza tareas muy parecidas al sistema X Window . También proporciona al servidor la entrada del usuario y al usuario la salida gráfica de las aplicaciones que se ejecutan en el servidor.
La principal dificultad de una arquitectura de este tipo es el rendimiento. Las aplicaciones gráficamente intensivas, como la mayoría de las aplicaciones GUI , cuando se transfieren a través de una conexión lenta, requieren un alto grado de compresión y optimización de la representación de la aplicación. La máquina cliente puede estar en una plataforma diferente y no tener la misma funcionalidad de GUI localmente, en cuyo caso el servidor puede necesitar pasar datos de mapa de bits a través de la conexión. Según las capacidades del cliente, los servidores también pueden delegar algún procesamiento de gráficos al cliente, como la representación de contenido multimedia.