[sugar] Efficiently sharing content across mesh

Dan Williams dcbw
Thu Jun 28 13:16:15 EDT 2007


On Thu, 2007-06-28 at 09:20 +0100, Simon McVittie wrote:
> On Thu, 28 Jun 2007 at 09:00:23 +0200, Bert Freudenberg wrote:
> > On Jun 28, 2007, at 6:12 , Dan Williams wrote:
> > > the mesh is just another network like wifi or ethernet, strictly
> > > Layer 2.  It's up to the activity to use the network as best it can  
> > > for
> > > it's particular requirements.
> > 
> > I thought there were Tubes? OMG Tubes!
> 
> Tubes are an application-level protocol (strictly speaking, extensions
> to each of several application-level protocols, with a common API).
> 
> The reason OLPC apps are expected to use Tubes is that they integrate with
> Telepathy contacts (which we use for Buddy communication/identification) and
> have a common API regardless of whether you're using local sockets on the
> mesh, forwarding through a server, traversing through NATs (in future
> versions), etc. - if you write an app to use Tubes for mesh communication,
> it'll also work for communication across the world via an XMPP server.
> The Telepathy connection manager will work out the right way to get the
> bytes to the other participants.
> 
> You can't just open a socket and do TCP/UDP if the peers aren't behind the
> same NAT (e.g. collaboration between two schools, or a child at school and a
> child in an internet cafe).

Or if you're at school and the person you are trying to talk to is on a
different radio channel, and the backbone doesn't bridge/route between
channels.  We're planning to try to route/bridge on the school server,
but network topologies never stay the same as you think they will.

Dan





More information about the Sugar-devel mailing list