A thin client (sometimes also called a lean or slim client) is a computer or a computer program which depends heavily on some other computer (its server) to fulfill its traditional computational roles. This stands in contrast to the traditional fat client, a computer designed to take on these roles by itself. The exact roles assumed by the server may vary, from providing data persistence (for example, for diskless nodes) to actual information processing on the client's behalf.
Thin clients occur as components of a broader computer
infrastructure, where many clients share their computations with the
same server. As such, thin client infrastructures can be viewed as the
providing of some computing service via several user-interfaces. This is
desirable in contexts where individual fat clients have much more
functionality or power than the infrastructure either requires or uses.
This can be contrasted, for example, with grid computing.
Thin-client computing is also a way of easily maintaining computational services at a reduced total cost of ownership.
The most common type of modern thin client is a low-end computer terminal which concentrates solely on providing a graphical user interface to the end-user.
An Aleutia E3 thin client, with flash memory |
The remaining functionality, in particular the operating system, is provided by the server.
History
IBM EXX thin client |
Thin clients have their roots in multi-user systems, traditionally mainframes accessed by some sort of terminal computer. As computer graphics matured, these terminals transitioned from providing a command-line interface to a full graphical user interface, as is common on modern thin clients. The prototypical multiuser environment along these lines, Unix, began to support fully graphical X terminals, i.e., devices running X server
software, from about 1984. X terminals remained relatively popular even
after the arrival of other thin clients in the mid-late 1990s.
Modern
Unix derivatives like BSD and GNU/Linux
continue the tradition of the multi-user, remote display/input session.
Typically, X server software is not made available on thin clients,
although no technical reason for this exclusion would prevent it.
Windows NT became capable of multi-user operations primarily through the efforts of Citrix Systems, which repackaged NT 3.5.1 as the multi-user operating system WinFrame in 1995. Microsoft licensed this technology back from Citrix and implemented it into Windows NT 4.0
Terminal Server Edition, under a project codenamed "Hydra". Windows NT
then became the basis of Windows 2000 and Windows XP. As of 2011 Microsoft Windows systems support graphical terminals via the Remote Desktop Services component.
The term thin client was coined in 1993 by Tim Negris, VP of Server Marketing at Oracle Corp., while working with company founder Larry Ellison on the launch of Oracle 7.
At the time, Oracle wished to differentiate their server-oriented
software from Microsoft's desktop-oriented products. Ellison
subsequently popularized Negris's buzzword with frequent use in his speeches and interviews about Oracle products.
Size comparison - traditional Desktop PC vs Clientron U700 |
The term stuck for several reasons. The earlier term "graphical
terminal" was chosen to contrast such terminals with text-based
terminals, and thus puts the emphasis on graphics. The term thin client
was also not well-established among IT professionals, most of whom had
been working on fat-client systems. It also conveys better the
fundamental hardware difference: thin clients can be designed with much
more modest hardware, because they perform much more modest operations.
Thin clients as programs
The notion of a thin client extends directly to any client–server architecture: in which case, a thin client application is simply one which relies on its server to process most or all of its business logic. This idiom is relatively common for computer security reasons: a client obviously cannot be trusted with the logic that determines how trustworthy they are; an adversary would simply skip the logic and say "I'm as trustworthy as possible!"
However, in web development in particular, client applications are becoming fatter. This is due to the adoption of heavily client-side technologies like Ajax and Flash, which are themselves strongly driven by the highly interactive nature of Web 2.0 applications.
A renewed interest in virtual private servers,
with many virtualization programs coming to a ripe stage, means that
servers on the web today may handle many different client businesses.
This can be thought of as having a thin-client "virtual server" which
depends on the actual host in which it runs to do all of its computation
for it. The end result, at least, is the same: providing of the
computing service for many clients.
Single point of failure
The server, in taking on the whole processing load of several clients, forms a single point of failure for those clients. This has both positive and negative aspects. On the one hand, the security threat model
for the software becomes entirely confined to the servers: the clients
simply do not run the software (think of them as a screen, keyboard and
mouse - all keystrokes and mouse movements go to the server, which sends
back the screen image). Thus, only a small number of computers (the
servers) need to be rigorously secured, rather than securing every
single client computer.
On the other hand, any denial of service
attack against the server will limit the access of many clients. But
the server software is written with virtual machine technology so every
client is isolated and a client crash is easily handled and rebooted.
The single point of failure still exists, however; if the server
crashes, data loss is possible. Therefore, backups are critical.
For small networks, this single-point of failure property might even be expanded: the hosting server can be integrated with file servers and print servers particular to its clients. This simplifies the network and its maintenance, but might increase the risk against that server.
In practice redundancy is provided both in the form of additional
connectivity from server to the network as well as in the servers
themselves, using features like RAID 5
or better, distributed server (multiple networked servers appearing as
one server to the users), VMWare High Availability and Fault Tolerance
or Citrix XenApp's load balancing.
Cheap client hardware
While the server must be robust enough to handle several client
sessions at once, the clients can be assembled from much cheaper
hardware than a fat client can. Many clients have minimal RAM memory,
some do not even have a hard drive. This reduces the power consumption
of those clients, and makes the system marginally scalable: it is relatively cheap to connect additional client terminals.
The thin clients usually have a very low total cost of ownership,
but some of that is offset by requiring a robust server infrastructure
with backups and so forth. This is also reflected in terms of power consumption: the thin clients are generally very low-power and might not even require cooling fans, but the servers are higher-power and almost always require an environmentally controlled air-conditioned server room.
On the other hand, while the total cost of ownership is low, the
individual performance of the clients is also low. The processing costs
of compiling software, rendering video, or any other computationally
intensive task on any client will impact the server and the performance
hit will be shared by all clients.
Client simplicity
Gigabyte TA7 thin client |
Since the clients are made from low-cost hardware with few moving
parts, they can operate in more hostile environments than conventional
computers. However, they inevitably need a network connection to their
server, which must be isolated from such hostile environments. Since
thin clients are cheap, they offer a low risk of theft in general, and
are easy to replace if stolen or broken. Since they do not have any
complicated boot images, the problem of boot image control is centralized to the server.
On the other hand, to achieve this simplicity, thin clients sometimes
lag behind thick clients (PC Desktops) in terms of extensibility. For
example, if a local software utility or set of device drivers are needed
in order to support a locally attached peripheral device (e.g. printer,
scanner, biometric security device), the thin client operating system
may lack the resources needed to fully integrate the needed
dependencies. Modern thin clients attempt to address this limitation via
port mapping or USB redirection software. However, these methods cannot
address all use case scenarios for the vast number of peripheral types
being put to use today.
Slow bitmapped/animated graphics
Thin clients tend to be optimized for use with simple lines, curves,
and text, which can be rapidly drawn by the client using predefined
stored procedures and cached bitmap data. In this regard, thin clients
work well for basic office applications such as spreadsheets, word processing, data entry, and so forth.
However, all thin clients suffer performance problems when large
areas of the graphics display must be updated rapidly with high detail
bitmap graphics, which may also need to be redrawn several times a
second for animation purposes. In a few cases it may be possible to use a
video stream that was already previously compressed such as MPEG or H.264
video, but many graphical programs such photo editors, 3D drawing
programs, and animation tools require high-detail uncompressed bitmaps
to be displayed in order for the software to be used effectively.
Graphics-rich 3D games can be completely unusable on a thin client
unless the updated screen area is kept very small or the overall screen
resolution is very low, to reduce the amount of data sent to the client.
In an attempt to reduce network bandwidth, the server may try to
compress high-detail bitmaps on the fly before sending the data to the
client, but this adds latency to the client-server communications, and
may reduce user interface responsiveness. Many thin clients offer
options to turn off various graphics-rich user interface effects in
order to increase performance, such as not showing the contents of a
window while dragging or not displaying a desktop background.
Recent trends
Web-centric thin client |
Ultra-thin client
Traditionally, a thin client ran a full operating system for the
purposes of connecting to other computers. A newer trend is sometimes
called an ultra-thin client or a zero client, which no longer runs a full operating system: the kernel instead merely initializes the network, begins the networking protocol, and handles display of the server's output.
Web thin client
Web thin clients (running a Web operating system)
rely on web-based software for the application and data storage. While
this configuration requires minimal hardware, it is entirely dependent
on a single point of failure: the Internet connection.
RTE client
A Run Time Environment (RTE) client contains task-specific applications (e.g. Mozilla Firefox for Internet browsing) and only the minimal (often customized) underlying and supporting code (BIOS, firmware,
kernel, libraries, plug-ins, etc.) to run only those applications. It
contains all and only the code needed to accomplish its specific task,
thus its more than a zero client but less than typical thin
client computer. The RTE client does not have a general purpose
operating system - it usually lacks shells (terminal windows), is not
designed to be patched (updated online), has minimal connectivity to
external resources, and is often found in read-only media (e.g.
tamper-resistant ROM chips, CD-ROM, etc.). Attempts to inject or run any
other applications/processes/threads results in crashing the kernel
(system). Due to the need to physically update the device, RTE clients
are mostly found in stable environments demanding high security.
thin clients service provider 09611990061 http://g1thinpcs.com/
ReplyDelete