The first server that the client meets is the Front Server. This server holds
information about users and message servers.
The information for the user is:
- IM_USER - id, login,
password
- IM_USER_PERMISSION - user,
permission_id
- IM_USER_SETUP - user_id,
name, value
Contact List information
- IM_USER_GROUP - owner_id,
group_id, group_name, user_list
- IM_USER_USER - owner_id,
user_id, screen_name, xbit
The information about the servers is:
- IM_SERVER - type,
address:port, load, status, private_key, suported_protocols =
0.1,0.2,...,X
When user is served by some server the information i written down to:
- IM_USER_LOCATION - user_id,
connected = 0,1, created, served_by = server:port, magic_cookie,
protocol_ver, program_initials, user_ip
The Message Server is
the second server that the client meets. This is the server that is
responsible of redirecting instant messages through the whole network.
This server keeps information about the users served by it:
- IM_SERVER_USER - user_id,
screen_name, magic_cookie, user_ip, contact_list =
encoding;[Group_name1,Group_ID1|Group_name2,Group_ID2..];[User_Name1,
User_ID_1, {Group_ID1,Group_ID2,..}], user_permission, created
Also every MS server keeps information about the users in the contact
list of the client it is serving
- IM_USER_LOCATION -
user_id, server:port, status=ONL, IDL, OFF, BSY, last_action = time of
the last event received from this user
This server holds information about the messages and the sessions
- IM_EVENT - unique_id,
TYPE, CMD, TO_ID, FROM_ID, ATTRIBUTE, time
- IM_SESS - unique_ID,
USeR_ID, CREATED, LASTACTION, IN_BOX, USR_PERMISSION, USER_AGENT = , STAT
When the client tries to enter MS the MS server checks his/her
credentials and it they are ok it creates IM_SESS record and deletes
IM_SERVER_USER record