[go: up one dir, main page]

|
|
Log in / Subscribe / Register

Client/server confusion?

Client/server confusion?

Posted Feb 14, 2012 3:33 UTC (Tue) by Max.Hyre (subscriber, #1054)
Parent article: Wayland - Beyond X (The H)

Back when I started paying attention to X, everyone carefully pointed out that ``client'' and ``server'' were backwards wrt general usage. I.e., the client was the application back on the mainframe, and the server is X here on my laptop.

In this thread, a lot of the uses of those two words don't make sense (I think) unless seen from the other point of view.

Are people playing fast and loose with the words, or (more likely) am I just painfully confused? (Keep in mind that I have to take a break from discussions of X every ten or fifteen minutes to re-clarify.)


to post comments

Client/server confusion?

Posted Feb 14, 2012 3:44 UTC (Tue) by dlang (guest, #313) [Link]

people are playing fast and loose with words (including me)

Client/server confusion?

Posted Feb 14, 2012 4:07 UTC (Tue) by neilbrown (subscriber, #359) [Link] (11 responses)

The problem is that general usage is wrong (so common ....).

Machines are not clients or servers. They are ... machines.

Machines run processes. Each process can be a server or a client or both.
In the context of a particular service (e.g. X11 or DNS or SMTP to HTTP) a particular process is usually either a client or a server, not both (though there are proxies).

So Xorg is a server that runs on my laptop. xterm is a client that runs in my basement, on a machine that also runs apache and exim (servers) and squirrelmail, which is both a client (of the pop server that runs on the same machine) and - via apache - a server that serves HTTP to where-ever.

I blame MS-Windows for creating the false distinction between server-machines and client-machines, because you purchased either a 'server' version of MS-Windows or a 'client' version. There really is no such thing. There are only client and server processes.

(and "main-frame"??? Seriously? Does that term even mean anything since about 1980? except to Hollywood)

Client/server confusion?

Posted Feb 14, 2012 6:29 UTC (Tue) by shmerl (guest, #65921) [Link] (1 responses)

Well, Hollywood isn't the only user of supercomputers.

Client/server confusion?

Posted Feb 14, 2012 21:26 UTC (Tue) by neilbrown (subscriber, #359) [Link]

The reference to Hollywood was to the way characters in movies and TV shows will throw around the word "mainframe" because it sounds impressive, not because it is actually the correct term. I wasn't suggesting that Hollywood actually used mainframes.

Client/server confusion?

Posted Feb 14, 2012 6:33 UTC (Tue) by JohnMorris (guest, #73531) [Link] (1 responses)

> (and "main-frame"??? Seriously? Does that term even mean anything since about 1980? except to Hollywood)

http://blogs.nasa.gov/cm/blog/NASA-CIO-Blog/posts/post_13...

Client/server confusion?

Posted Feb 14, 2012 21:39 UTC (Tue) by neilbrown (subscriber, #359) [Link]

I know IBM like to keep the term "main-frame" for their Z-series, but they look a whole lot more like mini-computers to me.

The point of a main-frame is that there were other subordinate frames. The main-frame had the cpu and core-memory. The other frames had tape drives and drum storage and modems punch-card readers and other specialised equipment.

So yes - people still use the term. But does it really *mean* anything? Or it is just an IBM marketing term?

Client/server confusion?

Posted Feb 14, 2012 9:55 UTC (Tue) by epa (subscriber, #39769) [Link] (1 responses)

Curious - why run xterm on the remote machine and send X11 protocol over the network? Wouldn't it make more sense to run a local xterm with an ssh session inside that?

Client/server confusion?

Posted Feb 14, 2012 21:32 UTC (Tue) by neilbrown (subscriber, #359) [Link]

> Curious - why run xterm on the remote machine and send X11 protocol over the network?

Hmm.. I cannot give a good answer, though I know I did this all the time back when I was a sys-admin.

I guess it was a poor example. How about "rhythmbox is a client that runs on the box in the corner which is plugged into the nice speakers". Wouldn't want to run that locally on my notebook - speakers are too tinny.

Client/server confusion?

Posted Feb 14, 2012 16:21 UTC (Tue) by ThinkRob (guest, #64513) [Link]

(and "main-frame"??? Seriously? Does that term even mean anything since about 1980? except to Hollywood)
Oh yeah. Definitely.

Client/server confusion?

Posted Feb 14, 2012 17:38 UTC (Tue) by Max.Hyre (subscriber, #1054) [Link] (2 responses)

Ahem. Note the length of your response. I defy you to ask the question so succinctly and clearly as I just did. :-)

The distinction you note is indeed accurate, machines per se are neither, but then how do you differentiate the two processes? Standing way back and squinting, it appears that in most (all non-X?) cases, the client is the process ``closest'' to the human, the one most directly supplying the info of interest thereto. The server is the process ``furthest'' from the human, gathering or generating said info. Thus, Horde off at my ISP is the server for e-mail, while Thunderbird here on my laptop is the client.

However, X's idea is that the process writing to my screen is the server, offering display services to the processes gathering or generating the info.

My head hurts...where's that aspirin?

Client/server confusion?

Posted Feb 14, 2012 18:56 UTC (Tue) by nybble41 (subscriber, #55106) [Link]

> ... how do you differentiate the two processes?

Server processes manage resources--data, compute capacity, I/O devices, etc. Client processes initiate relationships with server processes for the purpose of accessing those resources.

Client/server confusion?

Posted Feb 14, 2012 21:53 UTC (Tue) by neilbrown (subscriber, #359) [Link]

I'm not really sure what you are defying me to do ... but I would expect to need more words to correct a misconception that to teach a new concept..

> the client is the process ``closest'' to the human
> The server is the process ``furthest'' from the human

This paints a very consumer-oriented view of computing. The human is just receiving services from something far away.

I don't see it that way. I want my device (in my hand even) to be providing services. I want my mail server, my file server, my media server, my git server all to run on my phone (with suitable backups of course, possibly on my wife's phone or in my freedom box) Then any old keyboard+screen could provide display and input services to my mobile-computing-device, and it could provide information services to me.

Both the client and the server are close to me - close enough that I can control them, not be controlled by them.

Client/server confusion?

Posted Feb 14, 2012 19:31 UTC (Tue) by leoc (guest, #39773) [Link]

IBM still sells many metric tons of mainframes every year.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds