[aprssig] Object takeover: Race condition

Curt, WE7U archer at eskimo.com
Thu Aug 13 16:14:37 EDT 2009


I've seen this for some time and never brought it up on the SIG.
It's very repeatable.  Consider two "smart" clients:

Curt is transmitting a "Team 1" Object.  It doesn't matter whether
this is on RF or INET or both for this discussion.

Tom decides to take over "Team 1" and starts transmitting his
version of it.  Whether the Object was moved or other parameters
changed is irrelevant.

1) If Curt hears Tom's transmission before Tom hears Curt's next
(which may be delayed through digi's or igating), Curt ceases
transmissions and Tom has taken over.  This is as intended.  Tom
owns "Team 1".

2) If Tom hears Curt's next transmission and Curt doesn't hear
Tom's, Tom will cease transmitting the object.  Curt still owns
"Team 1".

3) If they hear each other's transmissions, both will cease
transmitting the object and it will fade from screens after some
period of time.  Nobody owns "Team 1".  This is rather likely with
digi and igate delays introduced into the equation.

We have a race condition where the outcome can be one of three
depending on who hears who first.

There's also a fourth, which is where Curt's software won't give up
the object so Tom hears Curt's next transmission and ceases to
transmit the Object...

A fifth where transmit has been disabled on one or the other so they
_think_ they've taken over an object when they haven't...

A sixth where INET filtering doesn't let one or the other receive
transmissions so they don't give up sending...

Perhaps more.

What to do about it?  With no "ack" required from the other station
I don't see an easy way out.

On local RF with few digi's being used these problems don't happen
often, but sometimes one has to take over an Object again when the
first attempt fails.  On INET it happens more often due to all the
possible delay sources.

-- 
Curt, WE7U.                         <http://www.eskimo.com/~archer>
    APRS:  Where it's at!                    <http://www.xastir.org>
   Lotto:  A tax on people who are bad at math. - unknown
Windows:  Microsoft's tax on computer illiterates. - WE7U.
The world DOES revolve around me:  I picked the coordinate system!"




More information about the aprssig mailing list