Differences between revisions 6 and 7
Revision 6 as of 2009-03-16 03:33:56
Size: 8139
Editor: anonymous
Comment: converted to 1.6 markup
Revision 7 as of 2014-03-14 00:13:12
Size: 0
Editor: ?pulchras
Comment: compiled on GettingStarted page
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Understanding Thin Clients =

Skolelinux, Edubuntu and a number of other Linux and Windows based systems use what are called thin client PCs. For the ordinary user, these behave very much like ordinary computers. However, for the administrator they are cheaper and far easier to maintain. If you are going to use or maintain thin clients on a network, it is important to understand the basics of how they work and their limitations. This will hopefully do this.

== The Basic Idea ==

If you manage a large network of computers, running around to each one fixing issues can be an incredibly time consuming experience -- particularly if your network is spread over a large area. For any administrator, it is preferable to have some means to centrally control all computers rather than spending valuable time running around to each.

As most people are aware, all of the interesting programmable bits of a computer are in the (usually oblong) computer case itself. All of the rest (mouse, keyboard, monitor, printer) are "simple peripherals" which tend to do simple things and break down less often. So really when you are fixing a computer, you usually just need access to the computer itself and can use your own keyboard, mouse, monitor, etc.

With this in mind, a possible solution to avoid running around to computers might be to use extremely long cables for the mouse, keyboard and monitor and keep the computers themselves together in one central room. So when you install a computer you would place the computer case itself in the central storage and connect 200 foot long mouse, keyboard and video cables which you would trail out to the user's room. The user could then just work away without physical access to the computer. If a problem occurred you could go to the case in the centre and connect your own mouse and keyboard.

This sounds like a silly joke but it is effectively what thin clients do.

It turns out that you can't have 500 foot long cables for monitors, mice and keyboards and even so, it would seem silly to have so many long cables. However, it is possible to send the signals from mouse, keyboard and monitor cables across computer networks and computer networks can span effectively infinite distances.

However, you cannot just plug a mouse, keyboard and monitor into a network. Instead you place a very small, low powered computer at the person's desk. This is called the thin client. Its sole purpose is to send and receive the mouse, keyboard and monitor signals across the network. When the user moves/clicks the mouse or presses a key, the thin client sends the signal across the network to the central computer room. The centralised computer runs all programs and sends the screen picture back across the network to the thin client which displays it to the user.

== How Many Central Computers? ==

It would be understandable at this point to have a mental picture of a central room full of computers, one for each desktop and wonder can this really make sense? This is where the real savings happen. When you have a full computer on every desk, you can't avoid having one for each person. However, suppose you could buy a single powerful computer which could run all the programs for a large number of people. It could consolidate a large number of individual PCs into one and could talk to many thin clients. This machine is called a "thin client server".

The question is how many thin clients could one thin client server take? The answer varies, but with Skolelinux a single Eur4000 thin client server can serve up to 40-50 users simultaneously. So 40-50 desktops can be run off one large server.

Another great benefit of thin clients is that because all programs run centrally, users' files are automatically available from every thin client. If you login as user joebloggs you will see the desktop, files, etc belonging to joebloggs regardless of which thin client you sit at, anywhere on the network.

Thin clients are also convenient for security. It is very difficult to secure large numbers of expensive computers scattered around a network. If your thin clients are of little value, you only have to secure the server room.

== Thin Client Computer Requirements ==

The thin client computers themselves need to be of a very minimal standard. The minimum spec quoted for Skolelinux is around Pentium 1 133MHz with 24MB RAM. They mainly need to have a PXE or network bootable card (which costs about Eur20). They need no hard drive at all.

You can therefore recycle old office computers, such as those typically donated to schools. These can't normally run up-to-date software but can be used as thin clients. Pessimistically, if you needed to spend Eur40 on each thin client and Eur4000 on a thin client server, the total hardware cost of 50 thin clients would be Eur6000 -- that is, Eur120 per computer. So thin clients are very economic too.

So, the idea of thin clients is that you can place a mouse, keyboard and and monitor at desks all over your network and let users login and work at a central computer. To facilitate this, you place a very small "thin client" computer on each user's desk. This acts as a sort of adaptor between the network and the mouse, keyboard and monitor.

== Limitations of Thin Clients ==

A little healthy scepticism should be injected at this point. Surely there must be some catch here. Can this really work as well as a normal desktop? The truth is that thin clients have certain limitations and these should be understood so as not to expect too much and be disappointed.

Floppys, USB disks, cameras, etc.
    If you think about thin clients in terms of the "very long cables" model, if you wanted to access a floppy/usb drive, you would need to insert the disk into the computer way back in the server. This is effectively the case. So, even if you do see a floppy drive in the thin client, you probably cannot use it in practice.
    Just like the monitor, keyboard and mouse signal, it is possible to send the sound card signal (to your speakers) across the network. However, this is very costly in terms of network usage so it is not usually recommended for large scale deployment.
    In normal operation, most computer screens change quite infrequently (partially, every second or two) so sending the picture across the network is no problem. If you wish to play a full screen video, the entire screen must be refreshed many times per second. Like sound, this is too costly in network bandwidth and really just doesn't work, so video playback on thin clients is not practical.
    Thin clients use considerably more network capacity than ordinary desktops. It is estimated that each thin client should use an average of around 2-3MBit/sec. On an ordinary (100MBit/sec) network, you cannot indefinitely add more thin clients. Skolelinux deals with this by creating a separate private network for each thin client server and its thin clients. This prevents thin clients from jamming up the network.

For those who need heavy multimedia applications, dedicated desktop computers (running Linux, Windows, OS X or whatever) are usually needed. The USB/floppy issue is usually best approached by using the network. The user goes to a dedicated desktop to transfer files onto the network and then can access them (read and write) on the thin clients. Alternatively, they can email the files to themselves and access their email from the thin clients. Once they have the files, working from the thin client works fine of course.

== Epilogue ==

Thin clients provide a very cost-effective and time-effective way of providing core desktop computing applications (Email, Web, Office Applications, Instant Messaging, ...) across large networks. They have their limitations particularly in the area of multimedia work and are therefore be used in combination with traditional locally installed desktops.
Further Reading

    * http://developer.skolelinux.no/arkitektur/arkitektur.html.en
    * http://www.skolelinux.org/portal/documentation/howtos/network_booting/