Display servers have been around for a long time. The most widely used display server is the X-Window system deployed on most Unix based systems. In this model the entire application is run on the server, the client merely accepts input from the user and displays the output of the application. All input is passed directly to the server and is not interpreted on the client. The primary advantage of this architecture is that the client and client configuration is very simple. All the client has to do is support simple drawing primitives and convert all keyboard and mouse input into messages to the server.
The primary disadvantage of this architecture is that since all keystrokes, mouse movements etc. are sent to the server the bandwidth usage of this architecture is relatively high and if the network in question is based on a wide area network, then network latency can play a very import part in the overall user experience. More recently the Citrix WinFrame and the Microsoft Terminal Server products employ a similar display server approach to allow existing fat client applications to be deployed in a thin client environment. In an unlimited bandwidth scenario or in a local area network these products would perform well but since most organizations have finite bandwidth availability to their clients other approaches have gained prominence.