adulau/Forban

Reduce network load

MaStr opened this issue · 2 comments

Currently, every box sends out regular broadcasts about itself.

What do you think about turning this around?
In a network with mostly "shared"-mode-Forban, you don't need a high frequent broadcast. It may suffice when a user can initiate a "probe" and every box answers with a announce package (as a callback style) - the initiating can be done automatically after x hours since last visit, or something like that.
Other boxes can "hear" this answers too and save the result in their cache.

Opportunistic-Forbans will initiate the broadcast itself every x intervall (maybe first try to get everything your found, then re-broadcast).

What do you think about that? Let this discuss :)

I like very much the idea. We just have to take care of two things:

  • Keep the protocol simple
  • and avoid "probing" to generate flooding on the network.

Here is a possible idea. We can basically just use the announces of the other Forban as a trigger/"probe" request.

So basically, we change a bit the logic of discover.py to trigger announce.py based on the new Forban seen. And then we use a kind of "exponential backoff" on the algorithm to avoid flooding the network. The advantage here, would be to use the exact messages (so we don't change the protocol) and we could also even imagine a simple version of a script just sending a Forban announce (without a real Forban behind) to just trigger the announce from the others.

What do you think? If we can go in this direction, I'll add an experimental feature.

Thank you for your proposal.

PS: By the way, are you going to OHM2013? Might be a good opportunity to make a Forban hackathon ;-)

I like the idea, too. In fact, it was an idea of a PirateBox user ;)

I totally agree with those two points. We're exchanging the constant flood of announcements to a user-driven flooding.

I had the nearly same ideas about discover and the announce.py. I would integrate a few things to forban_share.py too.

PS: I'm writing you a email about OHM2013 ;)