#5078 NORM Opportu: A more mesh-friendly presence protocol for salut
Zarro Boogs per Child
bugtracker at laptop.org
Thu Nov 22 05:49:40 EST 2007
#5078: A more mesh-friendly presence protocol for salut
-----------------------------+----------------------------------------------
Reporter: sjoerd | Owner: sjoerd
Type: defect | Status: new
Priority: normal | Milestone: Opportunity
Component: telepathy-salut | Version:
Keywords: | Verified: 0
-----------------------------+----------------------------------------------
Salut uses mdns for presence. Which works quite nice and is standardized.
But it's not very good for a mesh network. Especially since in most of the
olpc use-cases, each node needs essentially the same information some
quite nice enhancements could be made.
Now I've been thinking a lot lately about what we could do to
improve presence on salut. Basically the requirements are:
0. Know who is on the mesh (and who left!).. With updates as fast
as possible (Say within 30 seconds)
1. Get some metadata about the nodes. Most of which doesn't change
or doesn't change often (nick, color, jid, key, etc). And some
of which can change on a regular basis (current activity of
someone).
And some of the things that would be very nice to have, but not critical
(i.e. things we don't have now):
2. Have some idea of where a node is in the network
3. Have some estimate of the latency and quality of the path to
a node.
When i was in Boston in october we discussed Polychronis' presence
protocol which fits most of the requirements (except 1).
For 1, it's nice to observer that the info you want is of interest too all
nodes . So instead of needing to ask the node about it's own metadata, you
can just ask your neighbours.. And if they don't know they can ask their
neighbours etc. Also when a node changes its info, it should just pass it
on to its neighbours, and they can pass it on to theirs etc etc, so
information can be essentially pushed into the network instead of the need
of polling all the time.
All this sounds great. But there is one major problem. To work all nodes
on the network need to take part in this. Ideally nodes in
an OLPC mesh are suspended most of the time. Unfortunately for this
protocol to work, you every node in the network to take part in it all the
time.. Which makes it conflict with saving as much power as possible..
Unless we could have the cooperation of the wireless chip, unfortunately
as the firmware isn't open this is a bit hard. (See #46 and #429)
Actually (depending on the exact capabilities of the chipset).. Having the
ability to offload things to wireless could help a lot for Clique too. If
an activity is idle, all it basically does is sending out keep-alive and
session messages to ensure that the group is in sync.. All this could be
done by the wireless card, allowing the host to sleep untill something
actually interesting happens
--
Ticket URL: <http://dev.laptop.org/ticket/5078>
One Laptop Per Child <http://dev.laptop.org>
OLPC bug tracking system
More information about the Bugs
mailing list