# Thin client

Thin client is een begrip uit de computerwereld. Het is een naam voor een relatief lichte computer die uitsluitend beeldinformatie, toetsaanslagen en muisacties uitwisselt tussen de gebruiker en een centrale computeromgeving.

## Architectuur

Bij server based computing (SBC) en Cloud computing wordt nagenoeg alle dataverwerking, berekeningen en opslag voor rekening genomen door een centrale server of serverfarm. De werkplekken zijn in dit geval uitgerust met minimale hardware, bestaande uit een toetsenbord, muis en beeldscherm, aangesloten op een Thin client. Feitelijk acteert de server als host (gastheer) voor alle gebruikersapparatuur. Aan de serverkant wordt dan gebruik gemaakt van cloud computing software zoals applicatie- of desktop-virtualisatie. Deze combinatie vormt een zogenaamd cloud gebaseerd computersysteem.

## Verschil met de personal computer

De ‘Thin client’ contrasteert met de Thick client, doorgaans een pc of laptop die op een bedrijfsnetwerk is aangesloten en waar het uitvoeren van applicaties en de verwerking van de data gedecentraliseerd (op de werkplek) plaatsvindt.

## Voordelen van thin clients

* Optimalisatie van hardware bronnen. Geheugengebruik en processor verwerkingskracht wordt dynamisch toegewezen aan gebruiker sessies die deze het hardst nodig hebben;
* Minder software-onderhoud. Applicaties en updates hoeven niet langer uitgerold te worden over alle werkplekken, maar alleen op de centrale servers.
* Minder dataverkeer. Het communicatieprotocol dat gebruik wordt tussen de Thin Clients en de centrale computeromgeving, vereist weinig bandbreedte.
* Verbeterde beveiliging. Gevoelige data zijn gecentraliseerd en daardoor eenvoudig af te schermen en te monitoren. Gevoelige gegevens komen niet in gevaar bij verlies of diefstal van de desktop.
* Betere beheersbaarheid. Het is voor de gebruiker niet mogelijk om persoonlijke programma’s of device drivers te installeren, die mogelijk conflicteren met de reeds aanwezige programmatuur en ook het onbedoeld introduceren van computervirussen wordt vermeden.

## Nadelen van thin clients

* Forse vereisten voor de centrale serveromgeving. De som van de benodigde verwerkingskracht die de werkplekken ontbeert, moet geleverd worden door een krachtige server of een set parallel werkende servers, waarbij de gebruiker sessies gebalanceerd over verdeeld worden over de serverbatterij (ook wel 'serverfarm' genoemd)
* Matige multimedia prestaties. Moderne thin clients hebben een lange ontwikkeling doorgemaakt om te voldoen aan de eisen van de grafische weergave van vandaag de dag. Om de hoge resolutie videobeelden vloeiend te kunnen tonen wordt het decoderen door de chipset in de thin client gedaan. Toch zijn er in grafisch opzicht nog steeds beperkingen. Het bewerken van foto’s en de 3D modellering van CAD programma’s wordt als onwerkbaar ervaren.
* Gebruikersbeperkingen. Het is voor de gebruiker niet mogelijk om persoonlijke programma’s of device drivers te installeren.

## Randapparatuur

Thin clients ondersteunen de gebruikelijke randapparatuur, zoals toetsenborden, muizen, monitoren, speakers, hoofdtelefoons en microfoons en USB poort apparatuur, zoals printers, USB-sticks en webcams. Sommige Thin clients hebben seriële en parallelle poorten ter ondersteuning van oude apparatuur.

## Zero client

Een zero client wordt ook wel een ultra thin client genoemd. Deze bevat geen besturingssysteem of device drivers. Het principe is beduidend anders dan bij een standaard thin client. Feitelijk is een thin client een afgeslankte pc, terwijl de zero client een verlegstuk is van de systeembus van de server. Hierbij worden de data van de systeembus over het netwerk gestuurd.

## Protocollen

Enkele protocollen die worden gebruikt voor thin client – server communicatie zijn:
* ALP Appliance Link Protocol is een bitmap-gebaseerd netwerkprotocol met encryptiebeveiliging dat door Sun Microsystems wordt toegepast.
* AIP Adaptive Internet Protocol, een protocol dat gebruikers programma's aanbiedt die op verschillende besturingssystemen draaien, via de Sun Secure Global Desktop Server.
* ICA protocol ontwikkeld door Citrix voor MetaFrame
* NX door NoMachine ontwikkeld protocol dat het X11 protocol comprimeert en optimaliseert door middel van caching voor betere prestaties
* RDP Remote Desktop Protocol, het standaard protocol ontwikkeld door Microsoft voor toegang tot een Microsoft Terminal Server
* HTML over http gebruikt voor toegang tot webapplicaties
* VNC Virtual Network Computing, maakt het delen van een (virtuele) desktop mogelijk
* X11 een protocol om grafische Unix applicaties te kunnen gebruiken op een X Window terminal, ondersteund in nagenoeg alle Unix varianten
* XML over http toegepast in het AJAX model voor webapplicaties

## Verschijningsvormen

Het basisprincipe van een thin client kan in hardware, software of een combinatie hiervan worden uitgevoerd. In de context van de hardware-variant wordt de naam thin client vaak gebruikt als een marketingconcept voor computerapparatuur ontworpen om thin client software op te draaien. Enkele bekende voorbeelden zijn de Sun Ray van Sun, de NC van Oracle e.a. en de hardware van diverse producenten voor Server Based Computing. Bekende voorbeelden van op software gebaseerde thin clients zijn LTSP, de NoMachine NX client, PXES, VNC en Webapplicaties.

### Sun Ray

De Sun Ray is een virtual display client van de computerfabrikant Sun Microsystems. Een Sun Ray heeft een eigen processor gebaseerd op de AMD-microprocessorarchitectuur, maar geen harde schijf, dat wil zeggen dat hij opstart via het netwerk met behulp van een aparte computer (server). De typische gedachte bij een virtual display client is dat er geen lokale staat is van de computer. Dit houdt in dat een gebruiker zijn sessie kan voortzetten – met behulp van een pasje - op een andere virtual display client op een aantal etages hoger (of lager).

### Network computer

Network Computer (afgekort tot NC) is een handelsmerk van Oracle. Het werd tussen 1996 en 2000 door Oracle en een alliantie van bedrijven waaronder Sun en Acorn gebruikt voor een diskloze desktopcomputer die voldeed aan bepaalde minimumspecificaties. Het werd ook gebruikt als marketingterm om dit concept te promoten bij bedrijven en consumenten (ook al betrof het in essentie geen nieuw concept).
NC was voornamelijk bedoeld als merknaam voor een bepaald type werkplek computers die vanwege hun schijfloze ontwerp en gebruik van goedkope componenten en software significant goedkoper en makkelijker te beheren hadden moeten zijn dan standaard fat client pc's. Ten gevolge van de prijsdaling van pc's en de groeiende mogelijkheden om een pc als schijfloos station of thin client in te zetten is de NC nooit zo populair geworden als Larry Ellison (Oracle's CEO) hoopte en is uiteindelijk in de vergetelheid verdwenen.

### Server based computing

Server based computing is de aanduiding voor de op MS Windows technologie gebaseerde variant van het thin client concept. Het houdt in dat een centrale server MS Windows/pc-applicaties uitvoert die normaal gesproken op decentrale pc's zouden draaien. De schermuitvoer wordt naar een thin client gestuurd die deze in een grafische MS Windows omgeving aan de gebruiker presenteert.

### LTSP

LTSP is een aanvullend softwarepakket voor Linux waarmee grote aantallen thin client-terminals op een Linuxserver kunnen worden aangesloten. Applicaties draaien in de regel op de server en accepteren input en tonen output op de thin client. LTSP is beschikbaar als een set van packages die op ieder Linuxsysteem te installeren zijn. Het wordt ook standaard geïnstalleerd in enkele distributies, zoals K12Ltsp, SkoleLinux en EduLinux. Een pure LTSP-terminal bestaat uit een pc die geconfigureerd is om te booten van een LTSP-server. Als de terminal opstart, laadt hij de benodigde LTSP-client software van de LTSP-server in zijn RAM-geheugen en draait vanaf dan als een zelfstandige schijfloze X-terminal. Dit is veruit het eenvoudigste type terminal om te configureren en beheren en draait goed op de meeste standaard pc's, inclusief pc's die voor gebruik met Microsoft Windows als verouderd worden beschouwd.

### NoMachine NX client

De NoMachine NX client is een clientapplicatie die werkplekcomputers onder zowel Windows als Unix in staat stelt via het efficiënte NX-protocol grafische Unix-applicaties op een centrale server te benutten met de schermuitvoer op het lokale scherm. De NoMachine NX client is de referentieclient voor gebruik met NX. Veel open-source-ontwikkelaars zijn hier echter niet gelukkig mee, aangezien de software closed source is en niet op alle architecturen functioneert die Linux ondersteunt, zoals PowerPC.

### PXES

PXES Universal Linux Thin Client, ofwel kortweg PXES, is een micro Linux distributie speciaal voor gebruik als thin client. PXES is begin 2001 ontwikkeld door Diego Torres Milano om (schijfloze) werkstations over een netwerk te kunnen booten met behulp van PXE maar kan ook van een CDROM of harddisk worden gestart als de netwerkkaart of het BIOS van de machine PXE niet ondersteunt. Eenmaal opgestart kan de thin client elke Unix/Linux XDM (X Display Manager) server die het grafische inlogscherm presenteert benaderen evenals een Microsoft Terminal Server via RDP (Remote Desktop Protocol), Citrix ICA-server, VNC-server, NoMachine NX of FreeNX server. PXES downloadt opstartbestanden via TFTP in plaats van NFS (Network File System), waardoor het goed bruikbaar is in omgevingen zonder Unix/Linux NFS-server of bij langzame WAN- of VPN-verbindingen.

### VNC

Virtual Network Computing (VNC) is een manier om het bureaublad van een computer te gebruiken op een andere computer, hiermee kan een computer op afstand worden beheerd. Toetsaanslagen en muisbewegingen gaan van een VNC client naar een VNC-server, scherminformatie wordt de andere richting opgestuurd. VNC is uitgevonden door AT&T. De originele broncode is open source onder de GNU General Public License. VNC is platformonafhankelijk en er zijn clients en servers in veel versies voor vrijwel ieder besturingssysteem, ook voor Java. VNC is erg populair om vanaf afstand technische ondersteuning te bieden, en om vanaf een willekeurige plek gebruik te maken van de documenten op de computer thuis.

### Webapplicaties

De term Webapplicatie wordt gebruikt voor een programma dat op een webserver draait en via de webbrowser kan worden benaderd. Een webapplicatie bestaat uit één of meerdere scripts (zie server-side scripting) die gebruikmaken van dezelfde brongegevens op een webserver. Die brongegevens kunnen bijvoorbeeld in een database staan. Webapplicaties zijn populair omdat de webbrowser als thin client vrijwel overal en op alle besturingssystemen beschikbaar is. Daarnaast zijn ze geliefd omdat een webapplicatie voor duizenden gebruikers kan worden onderhouden en vernieuwd zonder de software op duizenden computers te moeten distribueren en installeren. Er zijn Webapplicaties ontwikkeld voor Webmail, online winkels, online veilingen, wiki's, discussieforums, Weblogs, MMORPG's en vele andere toepassingen.