Independent Computing Architecture
Independent Computing Architecture (ICA) це закритий протокол для сервера додатків, розробленого компанією Citrix Systems. Протокол визначає специфікацію обміну даними між сервером і клієнтами, але не вбудований ні в одну з платформ. За замовчуванням використовується порт TCP 1494.
Програмні продукти Citrix WinFrame і Citrix Presentation Server (раніше називався Metaframe) реалізують ці протоколи. Вони дозволяють виконувати звичайні програми Microsoft Windows на Windows-сервері, а підтримуваним клієнтам підключатися до цих додатків. Крім Windows, ICA також підтримується деякими серверними платформами Unix і можуть використовуватися для надання доступу до додатків, виконуваних на цих платформах. Клієнтські платформи не обов'язково повинні бути Windows, є клієнти для Apple Macintosh, Unix, Linux і різних смартфонів. Клієнтське ПЗ ICA також вбудовано в деякі апаратні платформи тонких клієнтів.
ICA виконує завдання, багато в чому схожі з X Window System. Він також надає серверу введення користувача, а користувачеві графічний вивід від додатків, що виконуються на сервері.
Основна трудність такої архітектури — це продуктивність. Графічно ємні додатки, а такими є більшість GUI-додатків, будучи переданими через повільне з'єднання, вимагають високого ступеня стиснення та оптимізації відтворення додатку. Клієнтська машина може бути на іншій платформі і не мати таких же GUI функцій локально — в цьому випадку серверу може знадобитися передавати bitmap дані через підключення. Залежно від можливостей клієнта сервери можуть також делегувати частину графічної обробки клієнту, наприклад вимальовування мультимедійного контенту.