If a publisher notices an increase of subscriber packet acknowledgement timeouts, leading to TCP-based resends, then this shall be taken as an indication of network congestion.
At that point we shall stop sending any traffic via UDP multicast for a given number of microseconds, forcing sends to be done via the flow control-supporting TCP channel.
If the publisher, once the multicast traffic resumes, immediately detects congestion again, it shall back off for the double period of time. With this solution we get an exponential back-off, allowing us to rely on TCP to throttle IP traffic and deliver packets via congested networks.
If a publisher notices an increase of subscriber packet acknowledgement timeouts, leading to TCP-based resends, then this shall be taken as an indication of network congestion.
At that point we shall stop sending any traffic via UDP multicast for a given number of microseconds, forcing sends to be done via the flow control-supporting TCP channel.
If the publisher, once the multicast traffic resumes, immediately detects congestion again, it shall back off for the double period of time. With this solution we get an exponential back-off, allowing us to rely on TCP to throttle IP traffic and deliver packets via congested networks.