#5078 NORM Opportu: A more mesh-friendly presence protocol for salut

Zarro Boogs per Child bugtracker at laptop.org
Wed Jan 7 08:50:51 EST 2009


#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:             
         Resolution:                   |    Keywords:             
        Next_action:  design           |    Verified:  0          
Deployment_affected:                   |   Blockedby:             
           Blocking:                   |  
---------------------------------------+------------------------------------
Changes (by gnu):

 * cc: gnu (added)
  * next_action:  => design


Comment:

 The idea of pushing the Presence protocol into the mesh chip is
 interesting but complex.
 THere's a simpler way.

 The mesh implementation already keeps track of all the participants in the
 mesh, using its own internal protocols.  So assume your laptop is using
 the mesh for connectivity, and not using a Jabber server.  Then rather
 than polling other nodes with IP packets, or sending out its own periodic
 status updates as IP packets, the Presence service could query the mesh
 firmware about what nodes are in the mesh.  This query would only be chip-
 to-chip and nothing would go out over the air.  Even when the main cpu is
 powered down, the mesh chip remains up (if mesh is on), and maintains its
 neighbor information.

 To get notifications (that can awaken the CPU to update the display) when
 particular nodes appear or disappear, it might require some firmware
 updates to define such a notification protocol between the CPU and the
 mesh chip.

 When it needed to talk to another node directly, it would use unicast IP
 packets, which would avoid both useless mesh retransmission, and awakening
 lots of nodes.  E.g. after a new node comes on the air, my laptop would
 wake up its CPU, which would send
 a UDP packet to the new node asking its name and icon.  My laptop should
 not awaken at all unless my screen was showing a display that would need
 to be updated when new nodes
 arrived.  Or unless the new node was on my already-known list of friends
 that I want
 to be awakened and notified about.  Otherwise, my laptop would sleep on.
 If and when I later brought up a display of network nodes, at that later
 point my laptop would query the mesh chip and then possibly use unicast IP
 to fetch names/icons from nodes it didn't already have cached.

 I think this is the first practical idea for how to provide Presence in
 the mesh with low power consumption & long CPU power-downs.  This would be
 unrelated to mdns, of
 course; it would probably be a new telepathy-marvellmesh protocol or
 something like that.
 Mdns would still be used when connected to an access point and without a
 Jabber server.

 (Of course, if we plan to eliminate the Mesh in future products, it might
 not be worth defining a Presence protocol that relies so heavily on it.)

-- 
Ticket URL: <http://dev.laptop.org/ticket/5078#comment:6>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list