Thin clients occur as components of a broader computing infrastructure, where many clients share their computations with a server or server farm. The server-side infrastructure uses cloud computing software such as application virtualization, hosted shared desktop (HSD) or desktop virtualization (VDI). This combination forms what is known as a cloud-based system, where desktop resources are centralized at one or more data centers. The benefits of centralization are hardware resource optimization, reduced software maintenance, and improved security.
Thin client hardware generally supports common peripherals, such as keyboards, mice, monitors, jacks for sound peripherals, and open ports for USB devices (e.g., printer, flash drive, webcam). Some thin clients include (legacy) serial or parallel ports to support older devices, such as receipt printers, scales or time clocks. Thin client software typically consists of a graphical user interface (GUI), cloud access agents (e.g., RDP, ICA, PCoIP), a local web browser, terminal emulators (in some cases), and a basic set of local utilities.
In using cloud-based architecture, the server takes on the processing load of several client sessions, acting as a host for each endpoint device. The client software is narrowly purposed and lightweight; therefore, only the host server or server farm needs to be secured, rather than securing software installed on every endpoint device (although thin clients may still require basic security and strong authentication to prevent unauthorized access). One of the combined benefits of using cloud architecture with thin client desktops is that critical IT assets are centralized for better utilization of resources. Unused memory, bussing lanes, and processor cores within an individual user session, for example, can be leveraged for other active user sessions.
The simplicity of thin client hardware and software results in a very low total cost of ownership, but some of these initial savings can be offset by the need for a more robust cloud infrastructure required on the server side.
Thin client computing is known to simplify the desktop endpoints by reducing the client-side software footprint. With a lightweight, read-only operating system (OS), client-side setup and administration is greatly reduced. Cloud access is the primary role of a thin client which eliminates the need for a large suite of local user applications, data storage, and utilities. This architecture shifts most of the software execution burden from the endpoint to the data center. User assets are centralized for greater visibility. Data recovery and desktop repurposing tasks are also centralized for faster service and greater scalability.
While the server must be robust enough to handle several client sessions at once, thin client hardware requirements are minimal compared to that of a traditional PC laptop or desktop. Most thin clients have low-energy processors, flash storage, memory, and no moving parts. This reduces the cost and power consumption, making them affordable to own and easy to replace or deploy. Numerous thin clients also use Raspberry Pis.[2] Since thin clients consist of fewer hardware components than a traditional desktop PC, they can operate in more hostile environments. And because they typically don't store critical data locally, risk of theft is minimized because there is little or no user data to be compromised.
Modern thin clients have come a long way to meet the demands of today's graphical computing needs. New generations of low energy chipset and CPU (Central Processing Unit) combinations improve processing power and graphical capabilities. To minimize latency of high resolution video sent across the network, some host software stacks leverage multimedia redirection (MMR) techniques to offload video rendering to the desktop device. Video codecs are often embedded on the thin client to support these various multimedia formats. Other host software stacks makes use of User Datagram Protocol (UDP) in order to accelerate fast changing pixel updates required by modern video content. Thin clients typically support local software agents capable of accepting and decoding UDP.
Some of the more graphically intense use cases remain a challenge for thin clients. These use cases might include applications like photo editors, 3D drawing programs, and animation tools. This can be addressed at the host server using dedicated GPU cards, allocation of vGPUs (virtual GPU), workstation cards, and hardware acceleration cards. These solutions allow IT administrators to provide power-user performance where it is needed to a relatively generic endpoint device such as a thin client.
To achieve such simplicity, thin clients sometimes lag behind desktop PCs 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 required dependencies (although dependencies can sometimes be added if they can be identified). Modern thin clients address this limitation via port mapping or USB redirection software. However, these methods cannot address all scenarios. Therefore, it is good practice to perform validation tests of locally attached peripherals in advance to ensure compatibility. Further, in large distributed desktop environments, printers are often networked, negating the need for device drivers on every desktop.
While running local productivity applications goes beyond the normal scope of a thin client, it is sometimes needed in rare use cases. License restrictions that apply to thin clients can sometimes prevent them from supporting these applications. Local storage constraints may also limit the space required to install large applications or application suites.
Thin clients have their roots in multi-user systems, traditionally mainframes accessed by some sort of computer terminal. As computer graphics matured, these terminals transitioned from providing a command-line interface to a full graphical user interface, as is common on modern advanced thin clients. The prototypical multi-user environment along these lines, Unix, began to support fully graphical X terminals, i.e., devices running display server software, from about 1984. X terminals remained relatively popular even after the arrival of other thin clients in the mid-late 1990s.[citation needed] Modern Unix derivatives like BSD and Linux continue the tradition of the multi-user, remote display/input session. Typically, X software is not made available on non-X-based 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 Windows NT 3.51 as the multi-user operating system WinFrame in 1995, launched in coordination with Wyse Technology's Winterm thin client. 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[update] Microsoft Windows systems support graphical terminals via the Remote Desktop Services component. The Wyse Winterm was the first Windows-display-focused thin client (AKA Windows Terminal) to access this environment.
The term thin client was coined in 1993[3] by Tim Negris, VP of Server Marketing at Oracle Corporation, 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' buzzword with frequent use in his speeches and interviews about Oracle products. Ellison would go on to be a founding board member of thin client maker Network Computer, Inc (NCI), later renamed Liberate.[4]
A common thin client definition is a computer that uses resources housed inside a central server as opposed to a hard drive. A thin client connects to a server-based environment that hosts the majority of applications, memory, and sensitive data the user needs. Thin clients can also connect to servers based in the cloud.
In many instances, a thin client computer is an effective replacement for a personal computer (PC). It can also be a superior solution, particularly because it enables an IT team to set up a virtual desktop infrastructure (VDI). With a thin client setup, you can acquire new workstations for employees working remotely or in-house at a lower cost than if you give each one their own desktop. Further, you have the option to centralize your security solution by protecting the server the various thin clients connect to.
A thick client costs more to deploy. With a thick client, you have an all-in-one system, and hence, you have to pay for the various components that come with it. Also, a thick client has many more moving parts, which results in additional disadvantages. For example, they are harder to maintain and are more likely to break down earlier, particularly because each component has its own individual life cycle. Thick clients consume more energy because each individual component has to be powered. Also, cooling down several thick clients may require more fan power than cooling a central server that provides for several thin clients, resulting in additional energy expenses.
However, a thick client also comes with more features. In some instances, additional features can be helpful, particularly if they support functions you may need at a later date. For example, if you need to deploy a memory-intensive application, a thin client may not come with enough memory out of the box, whereas a thick client is more likely to pack enough memory for more demanding applications.
A thin client is used for desktop virtualization, shared services, or browser-based computing. With a virtualized desktop setup, including one where each user has a remote desktop, each individual desktop exists within a virtual machine, which is simply a partition inside a centralized server. NComputing is a popular desktop virtualization solution. Several partitions exist side by side, and each one serves a different user. Each of these users has their own applications and operating system, similar to when they use a normal PC.
df19127ead