|
Background-Early
Computers
|
|
Take a look at the
history of computing to get an new insight into our
familiar modern
computing environments
|
The first
computers were, in essence, automated counting and calculating
devices. Series of number patterns were fed into these counting
devices by setting the positions of switches or contacts.
The sole purpose of the computer was to calculate according
to the set of instructions and data it was given. There was
no real-time interaction machines as we know it today, just
a string of number going in and coming out.

The process of getting information into, and out of, these
machines underwent a gradual evolution from switches and contacts,
to hole-punched cards, paper tape, magnetic media, and, eventually
interactive typewriter style terminals.
The next period of computing was
typified by the use of simple I/O (input/output) terminals.
These terminals were comprised of a keyboard for input and
a text based CRT display for the computer output. Due the
high cost and complexity of early computer hardware, there
was an inherent assumption that multiple users would share
a single computer. When more users needed access to the computer
it was logical to add more input/output devices rather than
more computers. The power (and cost) of the computer could
be centralized in one place while "dumb" terminals
provided a way for multiple users to use the system at the
same time. This concept has grown to become the character
based terminals we associate with Mainframe (also "Mini"
and "Midrange") computers today.
Enter
the Personal Computer
|
A
completely different approached arose with advent of low cost
microprocessors and the rise of the Personal Computer. It
soon became feasible for an individual to have access to a
computer that was used by them alone, and, it could be operated
in a standard office or home environment! While having in
common the keyboard input device and text output device of
the "dumb" terminal, these units had their own local
processing power and storage.
The availability of dedicated processing power for each computer
user allowed new types of applications to be conceived and
developed. It was in this era that number calculating "spreadsheets",
word processors and graphical computer games were developed.
The Graphical User
Interface (GUI)
|
As the idea of Personal Computing caught on, it became apparent
that the interface was still too complicated for the average
person to master. Researchers at XEROX developed the concept
of the Graphical User Interface (GUI), a way to interact with
a computer using images and body motions, rather than cryptic
commands. The GUI was first commercialized on personal computers,
the ideal platform since all of the processing power was dedicated
to only one user at a time.
 |
 |
|
The Apple LISA |
The
Graphical User Interface, however, was not a good match for
the centralized computers of the day. These systems were large
and expensive and their power was dedicated to repetitive
business and scientific tasks. To allocate enough power to
run these new "personal" applications and their
complicated graphics was not practical. As a result businesses
and individuals began adopting Personal Computers at an amazing
rate. With a minimal investment, individuals and businesses
could take advantage of the productivity gains, and entertainment
value, of these new systems.
Personal productivity and entertainment were not the only
applications for the new lower cost microprocessors. On the
high end were also graphical "Workstations", a more
powerful form of Personal Computer used for demanding applications
such an engineering, design and scientific visualization.
Client/Server
Architecture
|
 |
Co-operative Processing:
Hooking up the new world of Personal Computers with
the old world of centralized computing
|
While the Personal Computer brought dramatic productivity
gains through new types of applications it still lacked important
characteristics of centralized computing systems such as reliability,
security and the ability to share information instantly among
many users in multiple locations. To improve upon this situation
"Network Operating Systems" (NOS) were developed.
These were software products that when added to PC's allowed
them to act as centralized servers (i.e. Client to Server),
or, to communicate directly to each other (i.e. Peer to Peer).
A well known example is Novell Netware, a Client/Server Network
Operating System provide centralized access to accounts, passwords,
stored files, and, shared printing resources. Products like
Netware greatly improved the early PC environment and met
the needs of many smaller compute environments. However, for
large system requirements the sheer processing power, reliability
and efficiency of mainframes computers was still out of reach.
The First PC Networks-
sharing files
|
The earliest PC's networks had simple clients (individual
PC's running programs) and storage servers (PC's that stored
files and managed passwords and printers). Each computer was
connected to a common wiring system which allowed two way
data communication. Data files and program files for multiple
PC's could be stored on one computer and "served"
out to all the others as needed. This made it unnecessary
to keep a separate copy of every file on every computer, and,
it allowed changes made by one person to be instantly accessed
by other users on the network. This is the simplest type of
network known as Client/Server- programs run on each Client
PC, but the information is accessed from, and stored, on the
Server Machine.
True Client/Server
Computing- sharing compute power
|
Beyond the simple file sharing arrangement of early PC networks,
other more powerful architectures arose. The next development
was the effort to merge the best of both worlds into an environment
of co-operative processing. The idea was to allow each type
of computer to do what it was best at and to combine those
strengths into a system that would be equal to the combined
power of all the available computers. Now it was theoretically
possible to view and manipulate information on personal computers,
easily store it on servers, and, process it in synchronization
with huge amounts of data being created and accessed by thousands
of other users on large mainframe systems.
This began many years of software and hardware development
efforts to shift the presentation and processing of data from
where it was collected and stored on mainframes, to Personal
Computers. This stimulated, and actually required, an unprecedented
growth in new technologies for networking computers together.
Shared databases, Ethernet cabling, printer technology, modems
and other ways of transmitting data over long distances, all
are examples of the technological boom that supported this
trend. A practical example is as follows:
A- Sales Operators, working at old style terminals, collect
and store customer order information in the mainframe. (This
is often still the most efficient method for doing very
specific tasks such as data entry and lookup)
B- The Sales Manager, working at a PC running a Client/Server
application, sees a graphical report of all the Sales data.
The Sales Manager saves a version of the report as a spreadsheet
file on their local PC file server.
C- This spreadsheet file can then be viewed by the V.P.
of Sales and reviewed
D- The V.P. of Sales adds their sales forecast to the spreadsheet
and saves the file back to the local PC file server.
E- The Sales Manager reads the forecast from the V.P. of
Sales. By making entries in their PC Client/Server application,
the necessary adjustments are made on the mainframe data.
F- The updated information in the mainframe database is
instantly visible to the Sales Operators working at their
terminals.
While still somewhat cumbersome and complicated, this arrangement
did combine the strengths of the two types of systems. The
downside was the cost and manpower needed to build and maintain
the required software and hardware components. As more and
more power and functionality was needed on the PC client,
a seemingly endless process of hardware and software updates
was required.
The
Personal Computer becomes a "Fat Client"
|
By the 1990's a typical PC
network required so many specialized devices and layers of
software to function that industry observers began referring
to the typical business PC as a bloated “Fat Client”.
Studies were done and analysis published about the true cost
of PC based computing and the results were shocking. Businesses
were spending inordinate amounts of money on never ending
software and hardware upgrades. Productivity gains were increasingly
being diminished by problems with reliability and compatibility.
Manpower requirements had escalated due to complexity and
special skills required to make it all work together, and,
to keep it running effectively.
However, it was not possible at this point to go back to
the “good old days” of centralized computers and
dumb terminals. Millions of people were getting real productivity
benefits from the wide range of powerful applications that
had evolved only on Personal Computers. These applications
simply were not available in the old paradigm, that is, until
Thin Client/Server Based computing came along.
Thin
Client/Server Based Computing
|
|
Thin Client:
Access to any application, from any device, anywhere
over any connection
|
What is Thin Client/Server Based Computing?
Thin Client/Server Based Computing is defined by the fact
that the application is executed on the server and displayed
on the client system. Therefore, a "thin client"
terminal need only have sufficient power to render the display
of the user session.
This is in contrast to standard PC's in which the application
and the display run on the same local desktop computer. You
may ask at this point, "how is that different than the
type of computing provided by mainframes?". The answer
is "It's Not!". In fact, the only substantial differences
is that when we say an application is running "Thin Client"
or "Server Based" we are referring to graphical
Microsoft Windows applications instead of text based mainframe
applications. These include popular applications such as Microsoft
Office, WordPerfect, Lotus Notes, Netscape, etc. using the
familiar GUI from Microsoft Windows and Windows NT.
The PC Server
becomes a Mainframe
|
The transformation of the single user Windows Operating System
into a mainframe style "multi-user" host is directly
attributed to the work of Edward
Iacobucci and the company he founded called Citrix
Systems. Mr. Iacobucci was a lead member of the IBM/Microsoft
team that developed OS/2, the (planned) replacement for MS-DOS.
He saw the opportunity to use this new operating system to
bring the benefits of mainframe computing down to the personal
computer level. The first product Citrix released, called
"Winview", was based on OS/2 and allowed multiple
users to access DOS and Windows 3.1 compatible applications
running on a single host PC.
As often occurs in industry, the agreement between Microsoft
and IBM broke down. This led to the development of a new Microsoft
operating system for PC architectures called "Windows
NT". Seizing the opportunity, Citrix
Systems developed similar Multi-User extensions for Windows
NT as it has done successfully for OS/2. Since then Citrix
has brought this technology to all current versions of Windows
NT, including NT version 4.0, Windows 2000, and now, Windows
2003.
UNIX- been there,
done that
|
For a proper understanding of Thin Client Computing technology
it is critical to understand something about UNIX.
The concept of multiple users running graphical applications
on one host computer while rendering the display somewhere
else was first realized in the UNIX
environment. UNIX is a robust operating system with a history
going back to the early 1970's. It's powerful graphical environment
is known as the X Windowing System. X Windows was designed
from it's inception to separate the processing of an application
from the rendering of the display graphics. This design allows
the user to choose the ideal machine to process an application,
and, where they would like that application to display. In
addition, it allowed for the use of lower cost "X Terminals"
as the user interface device. With X Terminals, larger more
powerful (and expensive) computer resource could be shared
freely by many users. The X Terminal was, by all rights, the
first modern "thin client" device.
In short, UNIX has made available multi-user application hosting
and remote display of applications for many years. However,
it must be made clear that these applications are written
for UNIX systems and are not Microsoft Windows compatible
programs.
Access Any Application
from Anywhere
|
What does this all mean? And how can I use
Thin Client technology?
The implication of this evolution is that it is now possible
to deliver virtually any kind of application to end users
anywhere in the world! We are free from having to run all
of our PC programs on our local desktop computers. Now we
can take advantage of powerful servers running Windows applications
for us as we have with existing mainframe and UNIX applications.
Thin Client/Server based computing comes in many variations.
In all cases the "Thin Client" part means that end
user device is only displaying the application, while the
"Server Based" part means that application is actually
executing on a different machine.
A "Thin Client" device is most often a dedicated
"dumb terminal" with the ability to display applications
running on a host server. These machines have the advantage
of being low cost, low maintenance, and, have no moving parts.
They can be completely loaded and configured for operation
in a matter of minutes, and, they can be maintained, updated
and even re-configured remotely. In comparison to standard
PC's, Thin Clients require significantly less work to install
and maintain. There is also the added benefit of no longer
needing to load software on each user's computer, a huge manpower
savings in large, and often changing, compute environments.
There are a wide range of Thin Client devices available today.
Each offers one or more more protocols which allow remote
display of Server Based applications. The most common examples
are the Citrix Independent Computing Architecture (ICA), Microsoft
Remote Display Protocol (RDP), and, the previously mentioned
X Windows System. In addition to these graphical protocols,
there is also software which can emulate, and thereby replace,
old style text based terminals. Examples of these terminal
emulations are the DEC VT family, 3270 (IBM mainframe), 5250
(IBM Midrange), and, ANSI terminal types.
What about
PC's in a Thin Client Infrastructure?
|
It is important to point out that it is now common to utilize
an existing PC as a Thin Client device. Simply by adding the
appropriate software, a PC can display applications running
on a Host Server. Why would one do this? In many cases a PC
is already in use and may be perfectly suitable to this application
and therefore there is no need to replace it! In other cases
the PC may continue to run some applications locally and gain
access to new applications via Thin Client technology. Perhaps
the most common scenario though is when the existing PC is
not powerful enough to run newer operating systems and applications
and therefore is given a new lease on life by becoming a Thin
Client!
In addition to IBM compatible computers, the Apple Macintosh,
UNIX workstations, LINUX machines, and other types of computers,
can be configured as Thin Client device. As you can imagine,
this opens up new worlds of possibilities. It has now become
common place to deliver the latest Windows NT based applications
to older PC's, UNIX, Macintosh and LINUX desktops.
What about the
Web and the Internet?
|
 |
Citrix created the "NFuse"
product which allows the publishing of Server Based
applications to a Web Browser
|
The same technology that allows Server Based application
to display on Thin Client desktops allows for applications
to be displayed across the Internet. As long as the client
can connect to the server, applications can be displayed.
The path the connection takes is not important, Thin Client
works well over LAN, WAN, Internet, and, dial-up connections.
In addition to running Server Based applications via the
Internet it is also possible to launch and display application
via a Web Browser. With a standard desktop interface users
normally would click icons to launch applications. With Browser
Based execution, users click on web page hyperlinks to launch
their applications.
This is one more delivery option for Thin Client technology
that is very desirable and convenient for organizations that
want to deliver their applications via the Internet, and/or,
within a Web browser for internal use.
About the Author: Steve Greenberg is the founder
and President of Thin Client Computing in Scottsdale, Arizona.
He has designed and implemented mission critical solutions
for clients such as Motorola, Lucent Technologies, and, Chase
Manhattan. Email Steve at: steveg@thinclient.net
|