High noon in Desktop City. A mysterious gang of three paradigms has arrived
in town. Some say the three came from the East, others say from the West. Their
true names are elusive--people call them thin clients, hollow workstations,
network workstations, diskless workstations, Windows terminals, Internet
terminals, network computers (NCs), and more. Each member of the gang carries a
unique weapon: One totes a shiny new pistol named the Intelligent Console
Architecture (ICA), the second carries a trusty old rifle called X-terminal, and
the third tucks a small derringer named Web browser in a sleeve holster. Despite
the mystery surrounding this gang, its intent is clear--each member comes
gunning for a share of desktop real estate in the Windows NT market.
With guns drawn and ready to fire, these paradigms aim to reduce the
overall cost of deploying NT-based applications by minimizing cost on the
desktops. The gang offers these cost reductions in two ways: You can put
low-cost graphics terminals on the desktop or run thin client software on
existing desktop units such as Windows PCs, Macs, and UNIX systems. Either way,
your NT server's CPU, memory, and disk resources run the users' NT-based
applications.
Two of these paradigms--the ICA-based and X-based--are similar; in fact,
they're like brothers. The third paradigm--the Web browser--is a different sort
of fellow. For this discussion, let's focus on the two similar paradigms, ICA
and X. A later article will deal with the odd fellow, Web browser. So let's
sidle on up to the ICA and X paradigms for a closer look-see.
X vs. ICA
The X-based paradigm in the NT market is the same X11
protocol technology the UNIX world has known for many years. Bringing X-terminal
technology into the NT fold has resulted in some interesting changes in the X
environment: For example, you can now purchase NT software that lets you boot
diskless X-terminals from NT servers. Also, you can now run native NT
applications on X-terminals (or with X-terminal emulation software). This
capability opens a new area of interoperability--you can drop an NT server into
a 100% UNIX shop, giving existing desktops instant access to NT-based
applications, from Microsoft Word to full-blown SQL Server applications.
ICA resulted from Citrix's work on its WinFrame software. ICA is WinFrame's
underlying protocol that lets workstations access NT applications over a
network. Originally, ICA was for remote, dial-in workstations--ICA transmits a
minimum amount of information over the wire, compressing the transmitted
information to further save transmission time. Over time, while retaining its
minimum-transmission and compressed-data characteristics, ICA expanded from a
strictly dial-in protocol to one that encompasses LAN links.
ICA and X share several attributes: Both are fairly high-level protocols
that operate over TCP/IP. Both keep the application intelligence--and the
corresponding resource utilization--in the server. For example, when you run
Word on X or ICA, Word runs in the server and uses server-side CPU, memory, and
disk storage. In fact, you can think of X and ICA as network redirectors for
ordinary keyboard, monitor, and mouse operations. You can deploy both ICA and X
in standalone "terminals" or in software running in existing desktop
computers. And both protocols are multitasking and multiuser solutions: They let
you deploy one NT server to handle several desktop users.
I looked at ICA and X desktop-to-NT solutions in the Windows NT
Magazine Lab, and those I tested share one more important attribute: A
customized form of Citrix's WinFrame software drives the server. As Tim Daniels
explains in his May review ("Citrix WinFrame 1.6 Beta"), WinFrame is a
special OEM version of NT Server that lets multiple graphical terminals or
desktops run applications from a single-server system. WinFrame supports the ICA
model, but several vendors, including Insignia Solutions and Network Computing
Devices (NCD), have modified WinFrame to support X-terminal access to NT Server
applications. How many desktops you can support on one server varies, depending
on the desktop's applications and the size of the server, but a good rule of
thumb is that a reasonably configured dual-processor Pentium server can support
up to 15 desktops--by the way, plan to add 8MB of server memory for each desktop
system you want to support.
ICA and X differ in many ways, as well. First, to handle data compression
and decompression, ICA consumes extra CPU resources on both the desktop systems
and the servers. X does not add that overhead, but X consumes more network
bandwidth and is more complex to set up and maintain than ICA. For example, to
download operational and configuration information, most X-terminals must
establish communications with a special server during bootup. Also, you must
configure X-terminals to launch a command on the NT server to start a session,
and this step can be annoying. In contrast, ICA was designed as a plug-and-play
solution--most ICA terminals are ready to communicate with an application server
after power on.
At present, the vendors producing X and ICA solutions are still arguing
about which protocol--ICA or X--is best. Most vendors agree, however, that ICA
is a better fit for low-speed access (e.g., over Remote Access
Service--RAS--links or Internet connections). Also, Microsoft is including a
limited-feature ICA client in the second Windows 95 Service Pack, and this move
can certainly change the landscape of the battle.