Individual transactions might be usefully described as server-client, but the overall system is not server based. So...serverless.
Also, the internet is a peer-to-peer system. But "peer-to-peer" is an abstract paradigm, because ultimately, (a) two peers need to know about each other, and (b) one peer needs to initiate every transaction.
I realize we're just arguing semantics here, and I'm not sure what point I'm trying to make, but it's an interesting discussion nonetheless...
I'm pretty sure you are just making up new definitions. It's kinda like saying that whoever says the first word in class is the teacher and the rest are student.
The fact is that both peers send packets and the first packet isn't particularly significant, except from a stateful connection or firewall perspective.
> Clients therefore initiate communication sessions with servers which await incoming requests.
> Both client-server and master-slave are regarded as sub-categories of distributed peer-to-peer systems.
Dogs walk on four feet, therefore anything that walks on four feet is a dog?
> Both client-server and master-slave are regarded as sub-categories of distributed peer-to-peer systems.
Dogs are canids, that doesn't mean all canids are dogs.
The client-server model really entails more than having one party that sends a packet before the other. Some illuminating details and a shallow comparison to the peer-to-peer architecture can be found in the article you linked.
In bittorrent example, the seeders are pure servers, and those cheating aps which only connect to seeds are pure clients. Yes, many trackers actively try to detect and discourage pure clients, but this is not enforced by the protocol itself.
1) An application which runs on a network and services clients 2) A dedicated computer which runs server applications.