I was wondering if someone knew the origin of the client server model. Where does the term come from (paper, software application, book)?
This is a good question.
It appears that the term server was commonly used already in 1960s. For example, RFC 5, which was published in 1969, already uses the term, and it seems that it was in a common use already back then.
However, the term client in this context seems to be much more recent; the earliest references that I was able to find are from 1978. The following paper seems to be the earliest hit:
I did not find the full text of this paper. It seems that it was published in the Proceedings of the Second International Symposium on Operating Systems Theory and Practice, which was held in October 1978. A preview is available here; I am quoting the relevant part (emphasis mine):
This looks like a good candidate of the first paper that uses the client-server terminology. Note the way it is written: the authors clearly assume that the reader is familiar with the term "server", but they are here introducing the unfamiliar term "client"—so strange that they have to justify its use.
I checked various resources, including the digital libraries of IEEE and ACM, and I was not able to find any hits that predate 1978. However, already in 1979 there was at least one paper that is boldly using the new term "client" in its title. Unsurprisingly, it is citing Israel et al. (1978).
OED knows the term, but again the earliest use is by Isreal et al.
Edit: Here are some further comments on the term "server". Looking at various papers written in 1960s, it seems that the term "server" was primarily used in the context of queueing theory; there a "server" can be any kind of entity that provides some service.
Whenever a "server computer" was mentioned in computer science papers written in 1960s, it was typically related to the applications of queueing theory in the context of computer systems. Perhaps this is the origin of the term in our field?
I am not sure what is the first instance of a "server" used in this sense without any direct connection to queueing theory.
However, RFC 5 from 1969 that I mentioned above seems to be already using the term "server" in the context of client-server systems and computer networks, without any explicit references to queueing theory. Of course the term "client" was not introduced yet, so they used the words "server-host" and "user-host".
Windows originally had no system at all for networking PCs. Unless, you wish to count direct connection peer to peer which rapidly became unwieldy and unsafe for data storage. Novell stepped into the rather obvious gap and produced what eventually became Novell Netware which was designed to make up for the poor connectivity of early Microsoft products.
Novell more or less invented the idea of the file server and made those capabilities available to DOS and Windows-based systems. The idea was to designate one machine to manage the network and control access to shared devices, such as disk drives and printers. Novell then arranged the various categories.. printers, disks, users, user groups etc. ...in a really intuitive (i.e. EZ to understand) tree/branch structure. An idea which Microsoft still hasn't caught on to...Novell started doing this back in the late 70's and early 80's. Microsoft jumped into the networking biz with NT4.0 somewhere around 1996 but just 'cause your the biggest, don't mean you're the best.
Originally the "Client-Server" model of computing was a little different to the dumb terminal to mainframe earlier models and the later web browser to backend web server models.
With Client-Server systems there was a sharing of processing between parts of the system, with the server handling the data and the client retrieving this data and then performing additional processing on it and managing it's graphical display.
One of the first examples of this was with Oracle Forms 4.0, released in 1992. An Oracle database server responded to requests over a TCP/IP network from a PC-based client running the Oracle Forms application. Data management and retrieval was handled by the server and the client processed the returned data and the user interface to this.
It was during the development of Oracle Forms 4.0 that I first heard the phrase "Client-Server" used during a customer familiarisation event at Oracle's HQ in Redwood Shores CA in May 1991. The words "server" and "client" were often mentioned but had not previously been coined linked together. Richard Moulding of the British company BT first started to use the phrase Client-Server during discussions. This was quickly picked up by the other participants, it then making its way into product literature and hence into general use in the computing community.
Later web-based client-server systems initially had lighter clients due to the simple web browsers available. The client then being limited to displaying the interface prepared on the server. Later browsers with Java and scripting tools enabled data to be manipulated in the browser, a more similar model to corporate client-server systems like Oracle Forms.
Perhaps it's easier to understand client-server computing and distributed processing if one looks at the history of networking. The ARPAnet came into being in the 1960s using Honeywell minicomputers as message processors. By 1973 ARPAnet supported transferring files across the network.
Digital Equipment Corporation (DEC) released DECnet 1.0 in 1975. It supported network connections (LAN and WAN) between minicomputers and mainframes, providing functionality such as file transfers, remote logins and virtual terminals. In the late '70s, Datapoint shipped ARCnet, a LAN that supported resource sharing and file serving.
Before the IBM PC arrived, a number of companies were selling CP/M systems (8-bit computers). Those micro systems typically had floppy drives. Because hard drives were expensive, there was a demand for a solution for sharing a hard disk. Several companies jumped into the market with file server products that would enable a CP/M computer to share a hard drive. Local area network operating systems from Novell and Corvus supported file sharing by CP/M computers before the IBM PC gained widespread acceptance, and later added disk and printer sharing for PCs.
Novell was founded in 1979 and it initially manufactured and sold hardware, including smart terminals, a dot matrix printer and the Nexus, a high-end CP/M-based workstation ($13-$18,000 dollars).
Novell's claim to fame for the Nexus products was that they would eventually connect to a Novell LAN that was in development. Novell's printers, terminals and Nexus computers did not sell well so Novell's leadership decided to re-organize the company and after 1983 it focused on software, file servers and boards for networking. Novell NetWare sales exploded in the 1980s. Novell had the predominant file server in terms of sales, but it was not the first file server
In 1984 Sybase was founded and it introduced the SQL client-server architecture, distributed processing with the SQL database on a server and applications running on clients that sent query requests to the server.