Instant Messaging (IM)
Client-Server model
XMPP / Jabber protocol
XMPP / Jabber server

Concepts bullet Client-Server model

What is a client-server model/architecture?

Highly simplified, a client-server model is a process that involves two computer programms, in which one programme, the client, makes a request to the one playing the role of the server, which can satisfy the request.
Although the client/server idea can be used by programs within a single computer, it is a more important idea in a network. In a network, the client/server model provides a convenient way to interconnect programs that are distributed efficiently across different locations.