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

Concepts bullet XMPP / Jabber server

What is a jabber/XMPP server?

An XMPP/jabber server provides basic messaging, presence, and XML routing features. You can write or customize server software that you can use to run your own XMPP service, either over the Internet or on a local area network.
Here is a non-extensive list on site and here is another list from