presence proxy agent

David Arnold arnold at dstc.monash.edu.au
Tue Oct 16 23:14:31 EST 2001


i was thinking last night that once a presence client is no longer
running (or otherwise not responding), it is unable to service queries
from others' clients.

it would be possible to write a simple bot that listened to
Presence-Info events, and kept track of the last-updated status for
each user.  if the user's client failed to respond to a
Presence-Request within, say, 30 seconds, this bot could then 'adopt'
that user, and respond on their behalf.

when the user's client rejoins the network, and responds on its own
behalf again, the bot can revert to silent listening.  the collision
of replies when the client restarts is dealt with by accepting the one
with the smaller Status-Duration value (as per the multi-client
scenario).

it might also be useful to add an additional field to the notification
indicating that the response is by proxy.  this could (perhaps) be
shown by the GUI, but in particular would prevent multiple bots from
mistaking each other for the user's client.

something like

   Proxy: "hq.dstc.com"  

where the value is some string suitable for filtering?

this field might also be helpful for filtering the propagation of
proxied presence events to prevent such occurances ;-)


the use of a timeout to determine that the client is no longer active
is a little grubby, but using an explicit handover protocol seems like
overkill.


comments?




d





More information about the ticker-dev mailing list