Multiple User Queues

Question:

How would the server act in case of several users sending messages at the same time, is it in a first in, first served basis, or is there any type of queuing available like the server would send up to 100 messages from one user, then switch to send up to 100 messages from another user etc&


Answer:

Each user has a separate queue in the system. Each queue is served at the same priority using a round-robin algorith. This means that if more then users access the system at the same time they all get the same prioriy and do not have to wait for each other.

Example:

Time: 9:21 a.m.
1.) User #1 puts 10000 messages to it's ougoing message queue at 9:51 a.m.
2.) Ozeki Message Server will start sending the messages at full capacity.

Time 9:54 a.m.
3.) Ozeki Message Server delveired 743 messages for User #1 and 9257 remains in the outgoing queue of User #1.
4.) User #2 puts 20 messages to it's ougoing message queue.
5.) Ozeki Message Server will assign 50% capacity to User #1 and 50% capacity to User #2.
6.) User #1 will have the 744th message sent
7.) User #2 will have the 1st message sent
8.) User #1 will have the 745th message sent
9.) User #2 will have the 2nd message sent
10.) User #1 will have the 746th message sent
11.) User #2 will have the 3rd message sent
...
Time 9:55 a.m.
12.) User #1 will have the 763rd message sent
13.) User #2 will have the 20th message sent
14.) There are no more outgoing messages for User #2


Time 9:56 a.m.
15.) Ozeki Message Server assigns 100% capacity to User #1
16.) All the remaining messages for User #1 are sent.

Question:

The database scheme at this point does not seem to allow this, but would it be possible?


Answer:

If you use a database, you access the system with the user assigned to the database plugin. The name of this user is: Database Plugin 1. This user gets the same priority as any other user of the system. If you install two instances of the database plugin, you will have two users.

Question:

Another thing still regarding message queuing is what about messages sent by the same user, let�s imagine I send 10.000 messages and then I send just one and I have priority to send this one message over the 10.000 sent previously? Would the system and database be able to handle this, like having a queue numbering system so that the 10.000 messages would be sent at a lower priority than the 1 message sent later.


Answer:

For a a single message queue the system uses a First Come First Served (FCFS) algorithm. Each user has only one outgoing message queue. There is no option in the server to give a message a higher priority in this message queue. You should set up two user accounts to achieve this.

More information