Independent Computing Architecture (ICA) is a protocol for an application server system, designed by Citrix Systems. The protocol lays down a specification for passing data between server and clients, but is not bound to any one platform.

Practical products conforming to ICA are Citrix's WinFrame and MetaFrame products. These permit ordinary Windows applications to be run on a suitable Windows server, and for any supported client to gain access to those applications. The client platforms need not run Windows, there are clients for Mac and Unix for example.

ICA is broadly similar in purpose to window servers such as X-Windows, but has a wider scope - 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 from the running application to the client. A key challenge of such an architecture is performance - a graphically intensive application (as most are when presented using a GUI) being served over a slow network connection requires considerable compression and optimisation to render the application usable by the client. (Bear in mind that the client may be a different platform, and does not have Windows GUI routines available locally - the server must then send the actual bitmap data over the connection). To date, such challenges have only been met with partial success, which may be why the widely predicted switch to an application server model over the internet has not occurred.