Independent Computing Architecture
# Independent Computing Architecture

Independent Computing Architecture (ICA) (Arquitectura de Cómputo Independiente), o Citrix ICA, es un protocolo propietario para un sistema servidor de aplicaciones, diseñado por Citrix Systems. El protocolo crea una especificación para pasar datos entre el servidor y los clientes, pero no está ligado a ninguna plataforma en particular.
Productos prácticos conforme al ICA son WinFrame, Citrix XenApp (antes llamado MetaFrame/Presentation Server), y Citrix XenDesktop. Estos permiten que aplicaciones ordinarias de Windows puedan correr en un servidor de Windows conveniente, y que cualquier cliente soportado pueda ganar acceso a esas aplicaciones. Además de Windows, el ICA también soporta un número de plataformas de servidores Unix y puede ser usado para dar acceso a aplicaciones corriendo en estas plataformas. Las plataformas cliente no necesitan correr Windows; por ejemplo, hay clientes para el Mac, Unix, Linux, y varios smartphones. El software cliente del ICA también está incorporado en varias plataformas de cliente ligero.
El ICA es bastante similar en propósito a los servidores de ventanas tales como el X Window System. También provee retroalimentación de la entrada del usuario desde el cliente al servidor y una variedad de medios para que el servidor envíe salida gráfica, así como otros medios tales como audio, desde la aplicación que está ejecutando hacia el cliente.
Los retos clave de la arquitectura son la latencia de la red y el desempeño - una aplicación gráficamente intensiva (como lo son la mayoría cuando se presentan usando una GUI) que es servida sobre una conexión de red lenta o de ancho de banda restringido requiere considerable compresión y optimización para hacer la aplicación usable por el cliente. La máquina del cliente puede ser una plataforma diferente, y puede no tener disponibles localmente las mismas rutinas GUI - en este caso el servidor puede necesitar enviar los datos de bitmap reales sobre la conexión. Dependiendo de las capacidades del cliente, los servidores también pueden dejar parte del procesamiento gráfico al cliente, ej. para reproducir contenido multimedia. El ICA corre nativamente sobre el puerto TCP 1494 o puede ser encapsulado en el Common Gateway Protocol (CGP) en el TCP 2598. El ICA soporta el concepto de canales en una capa de sesión para encapsular la redirección de medios ricos o la extensión de USB dentro del ICA.

# Independent Computing Architecture
## Software cliente

* Citrix ICA Client (Dos, OS/2)
* Citrix Presentation Server Client (Mac, Java)
* Citrix Receiver (Linux, Unix, Android, iOS)
* Citrix XenApp Plugin (Windows)
* mRemote
* PXES
* rdesktop
* Thinstation (a través de Citrix Receiver)
* Terminals
Una lista más completa puede ser encontrada en: Comparación de software de escritorio remoto