SIMPLE chat: Proposal to address congestion
"Miguel A. Garcia" <[email protected]>
| Newsgroups | gmane.ietf.simple |
|---|---|
| Message-ID | <[email protected]> |
According to Cullen, the SIMPLE chat draft should say something to
address congestion. This is not an area of my expertise, so I may have
something wrong. But let me give it a try.
My proposal is to add one more section, 6.4, to address congestion.
Please comment and propose changes to the text if you are not satisfied.
6.4. Congestion Avoidance
Congestion can occur when multiple heterogeneous interfaces are used
by a diversity of users who are participating in a chat room. Some
of these users might have fast path capable of high throughputs while
other users might be slow paths with constrained throughputs. It is
therefore possible that a subset of the participants of the chat room
are able to send and receive messages at a high rate or with large
contents (e.g., pictures), whereas others are not able to keep the
pace.
Additionally, since MSRP uses a connection-oriented transport
protocol such as TCP, it is expected that the TCP congestion
avoidance mechanisms will also be activated should congestion occur.
While this document does not mandate a particular MSRP-specific
mechanism to avoid congestion in any of the paths, something that is
deemed outside the scope of this document, this document provides
some recommendations for implementors to consider.
It is RECOMMENDED that MSRP switches implement one or more MSRP-
specific strategies to detect and avoid congestion. Possible
strategies (but definitely not a comprehensive list) include:
o If the MSRP switch is writing data to a send buffer and detects
that the send buffer associated to that TCP connection is getting
full (e.g., close to 80% of its capacity), the MSRP switch marks
the associated MSRP sessions making use of that TCP connection as
"congested".
o Prior to sending a new MSRP message to a user, the MSRP switch
verifies the congested flag associated to that MSRP session. If
the MSRP session is marked as congested, the MSRP switch can apply
a congestion avoidance mechanism, such as:
* The MSRP switch can discard regular MSRP messages sent to that
user while the TCP send buffer is congested. In order to
inform the user of the congestion, the MSRP switch can send a
regular MSRP message indicating the user that some messages are
discarded due to network congestion.
* The MSRP can implement a temporary policy to disallow the
distribution of messages larger than a certain size to MSRP
sessions marked as congested. Similarly, the user should be
inform of this fact by the MSRP switch sending a regular MSRP
message indicating this condition.
--
Miguel A. Garcia
+34-91-339-3608
Ericsson Spain