Re: where'd my typed text go???

Larry Chace (RLC1@cornell.edu)
Mon, 15 Jul 1996 16:31:56 -0400


There has been much discussion, some of it recently, about the reliability
(or lack thereof) in CU-SeeMe's "Talk" or "Chat" facility. Perhaps a bit
of background information might be useful or interesting (or not).

Talk and Chat are applications of the "Auxiliary Data Transport" facility
within CU-SeeMe, a facility that provides "pretty good reliablility" for
one-to-many and one-to-one data transfer. This facility is separate from,
and runs in parallel with, CU-SeeMe's normal video and audio streams. All
of these streams use UDP, an "unreliable" transport protocol.

The Aux Data Transporter includes a series of facilities to provide error
detection and correction; the most common error is the "dropped packet",
something that can occur at any time with UDP, but something that is
probably much more likely to happen in networks involving links of greatly
different speeds. A high-speed stream sent to a low-speed receiver, for
example, is likely to suffer quite a few "dropped packets".

In order for the Aux Data Transporter to effect its error recovery
processes, it must have the data available to re-send upon request. It is
the responsibility of an "Aux Data Application" such as Chat to keep the
data around for a long enough period of time for the error recovery
processes to be successful. Given that the error recovery packets and the
re-tries may themselves get dropped, you can appreciate that the problem is
not an easy one to solve.

For reasons that have never been entirely clear to me, the original authors
of the Talk and Chat facilities chose to keep the message data around for
15 seconds after the message has been sent. After 15 seconds, the messages
are purged and the Aux Data Transporter can no longer re-send the messages.
I would have prefered a longer life-span, particularly since Chat messages
are tiny.

As a part of our continuing (if slow) efforts to improve CU-SeeMe, we will
probably be doing several things to try to increase the chances that Chat
messages will get through. We will probably increase the message
life-span. We may increase the rapidity with which the Aux Data error
recovery actions take place, although this is a two-edged sword -- if we
send out more "overhead" packets to provide better error recovery, we may
end up over-loading certain network links even more, causing additional
errors.

One other detail -- Chat messages currently get only 10% of the available
data stream. CU-SeeMe's internal bandwidth management routines will limit
each type of stream to a specified fraction of the whole. We may consider
increasing the portion availble to Chat messages, although that, too, can
result in other problems. If you are "chatting" *and* moving around and
speaking (or, heaven forbid -- playing music!), then your audio and video
will take up almost all of your available bandwidth, making Chat messages
even more likely to get dropped.

When you are trying to put 10 pounds into a 5-pound bag, it usually makes
little difference how you divide up the available capacity -- it is simply
not enough. For folks who really prefer to "Chat" with others, perhaps a
real Chat facility would be a better choice. (Meant seriously and not as a
"nastigram"!) ;-)

Larry Chace (RLC1@cornell.edu)