독립 컴퓨팅 아키텍처
Independent Computing ArchitectureICA(Independent Computing Architecture)는 Citrix Systems가 설계한 애플리케이션 서버 시스템의 독점 프로토콜이다.프로토콜은 서버와 클라이언트 간의 데이터 전송을 위한 규격을 제시하지만, 하나의 플랫폼에 구속되지는 않는다.Citrix의 ICA는 마이크로소프트의 RDP(원격 데스크톱 프로토콜)의 대안이다.
ICA를 준수하는 실용적인 제품은 Citrix WinFrame, Citrix XenApp(이전의 MetaFrame/Presentation Server) 및 Citrix XenDesktop 제품이다.이것은 일반적인 Windows 응용 프로그램이 적절한 Windows 서버에서 실행되도록 허용하며, 지원되는 모든 클라이언트가 해당 응용 프로그램에 대한 액세스를 얻도록 허용한다.윈도우즈 외에도 ICA는 많은 유닉스 서버 플랫폼에서 지원되며 이러한 플랫폼에서 실행되는 애플리케이션에 대한 액세스를 제공하는 데 사용될 수 있다.클라이언트 플랫폼은 윈도우를 실행할 필요가 없다. 예를 들어 Mac, Unix, Linux 및 다양한 스마트폰용 클라이언트가 있다.ICA 클라이언트 소프트웨어는 또한 다양한 씬 클라이언트 플랫폼에 내장되어 있다.
ICA는 X 윈도우 시스템과 같은 윈도우 서버와 용도가 대체로 비슷하다.또한 클라이언트에서 서버로 사용자 입력의 피드백을 제공하고, 서버가 실행 중인 애플리케이션에서 클라이언트로 오디오와 같은 다른 미디어뿐만 아니라 그래픽 출력을 전송할 수 있는 다양한 수단을 제공한다.
그러한 아키텍처의 주요 과제는 네트워크 지연 시간과 성능이다. 그래픽 집약적인 애플리케이션(대부분 GUI를 사용하여 제공되는 경우)은 느린 네트워크 연결이나 대역폭 제한이 있는 네트워크 연결을 통해 제공되기 때문에 클라이언트가 애플리케이션을 사용할 수 있도록 하기 위해 상당한 압축과 최적화가 필요하다.클라이언트 컴퓨터는 다른 플랫폼일 수 있으며 로컬에서 사용할 수 있는 동일한 GUI 루틴을 가지고 있지 않을 수 있다. 이 경우 서버는 연결을 통해 실제 비트맵 데이터를 전송해야 할 수 있다.클라이언트의 능력에 따라 서버는 멀티미디어 컨텐츠를 렌더링하기 위해 그래픽 처리의 일부를 클라이언트에 오프로드할 수도 있다.ICA는 기본적으로 TCP 포트 1494를 통해 실행되거나 TCP 2598의 CGP(Common Gateway Protocol)에서 캡슐화될 수 있다.ICA는 ICA 내에서 리치 미디어 리디렉션이나 USB 확장을 캡슐화하는 세션 계층의 채널 개념을 지원한다.
클라이언트 소프트웨어
- Citrix ICA 클라이언트(DOS, OS/2)
- Citrix Presentation Server Client(Mac, Java)
- Citrix Receiver(Linux, Unix, Windows, Mac OS X, iOS, Android, Chrome)
- Citrix XenApp/XenDesktop 플러그인(윈도우즈)
- SAP