1

I am working with Deluge as implemented for Contiki on the TmoteSky platform. I have more or less followed the advice set forth here: My first post about OAP in Contiki.

In writing my first round code, I have noticed that for dissemination to occur (e.g. consider two motes: sender mote A and receiver mote B) mote B has to have a file of the same size and name as the file that is to be distributed by mote A.
I have just finished reading the Deluge publication paper and believe this to be exactly what it is supposed to do.
However, I am looking for an OAP protocol (preferably already implemented in Contiki on TmoteSky) that allows for the receiving mote to NOT have a version of the dissemination file already.
This is so that the receiving mote(s) can be updated with a completely new code base. I.e. so that a file of the same name and size doesn't have to exist already on the receiving mote(s).

My questions are:

1) Assuming I understand the functionality of Deluge theory and its Contiki-TmoteSky implementation correctly, is there something out there that fits my needs?

2) Does anyone know if codeprop for Contiki does this? I am looking into it now, but haven't found any really good documentation or papers on it yet and am struggling with the network protocols used...

3) I have thought about using Deluge with a "smart" code transmission. I.e. using Deluge to send code that tells the mote how to reprogram itself rather than the actual code. However, I haven't yet figured out a good way to meet my needs, since I would basically have to tell code how to code arbitrarily... If anyone has any suggestions using this method I would be happy to hear them.

I may have overlooked some obvious protocols, so please go easy on me.

Thanks

Community
  • 1
  • 1
John Cast
  • 1,771
  • 3
  • 18
  • 40
  • 1
    Not sure if there's any publicly available, ready-to-be used solution for this. But if you find deluge satisfactory other than the requirement to have an older version of file, you could try just sending the file name and size to the target node using some other protocol (mesh, trickle, smth else?). Then create a file with that name and size, and run deluge. Ah, and I think I had just fine success with a modified deluge (just allow `msg->version` and `page->version` to be zero in a few places in `deluge.c` code). – kfx Oct 03 '14 at 18:48

0 Answers0