[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Simple] Flood control in the msrp-switch
This is an issue, and in my opinion not at all unsimilar to the one
experienced when using MSRP relays. If a connected client keeps sending
faster than a slow client can receive, the buffer size at the MSRP
switch will grow infinitely large.
In the end the policy for this should be decided by whomever runs the
MSRP chat switch, but I would imagine that the primary use for having
such a service is just that, i.e. chat. That means it should probably
not be used as some sort of large file distribution service. To this end
I would imagine that throttling incoming connections would not be a bad
idea.
If this incoming throttling rate is set to a reasonable value, one can
also consider dropping connections to clients that cannot keep up with
the amount of data sent to them. The alternative would be to drop part
of the data to be sent to this slow client, which personally I would not
prefer to do.
If you don't want to do either of this things, the only other thing I
could think of is some fancy many-to-many congestion control algorithm,
but really I wouldn't know where to begin dreaming that up...
Any thoughts?
Hi Ruud,
I agree that dropping some of the data while keeping the connection
alive is not an option. What you are saying makes sense to me. In other
words, you could have throttling as a parameter which is set per
chat-room. So a typical use-case would be to enable throttling for
public rooms with many participants (no flooding of the channel
possible) while private rooms for example, which DO want to have to
possibility to transfer larger amount of data (such as sending a
large-message to a grouup; as defined in the OMA SIMPLE-IM-TS
specifications), it is disabled.
In any case where (whether throttling is enabled or disabled) and the
msrp-switch still doesn't manage to write data to the slow participants,
it simply has to kick them out of the room. The kicked-client could then
choose to re-try be re-connection to the room or close the session.
Sebastian
_______________________________________________
Simple mailing list
Simple at ietf.org
https://www.ietf.org/mailman/listinfo/simple