Independent Computing Architecture (ICA) är ett patentskyddat applikationsserverprotokoll utvecklat av Citrix Systems . Protokollet definierar specifikationen för kommunikation mellan servern och klienterna, men är inte inbyggt i någon av plattformarna. Standardporten är TCP 1494.
Programvaran Citrix WinFrame och Citrix Presentation Server (tidigare kallad Metaframe) implementerar dessa protokoll. De tillåter vanliga Microsoft Windows -applikationer att köras på en Windows-server och klienter som stöds att ansluta till dessa applikationer. Förutom Windows stöds ICA även av vissa Unix -serverplattformar och kan användas för att ge åtkomst till applikationer som körs på dessa plattformar. Klientplattformar behöver inte vara Windows, det finns klienter för Apple Macintosh , Unix, Linux och olika smartphones . ICA-klientmjukvaran är också inbyggd i vissa hårdvaruplattformar för tunna klienter .
ICA utför uppgifter ungefär som X Window System . Den förser även servern med användarinmatning och användaren med grafisk utdata från applikationer som körs på servern.
Den största svårigheten med en sådan arkitektur är prestanda. Grafiskt intensiva applikationer, som de flesta GUI- applikationer är, kräver, när de överförs via en långsam anslutning, en hög grad av komprimering och optimering av applikationens rendering. Klientmaskinen kan vara på en annan plattform och inte ha samma GUI-funktionalitet lokalt, i vilket fall servern kan behöva skicka bitmappsdata över anslutningen. Beroende på klientens kapacitet kan servrar också delegera viss grafikbearbetning till klienten, till exempel rendering av multimediainnehåll.