AlfredA is a re-implementation of the alfred data-exchange protocol as native Java library for Android. The library aims to provide the secondary server functionality of A.L.F.R.E.D. (the almighty lighweight fact remote exchange daemon) to pull and push data from alfred primaries running somewhere in the network. This is especially useful in case the Android device (for example a smartphone) wishes to share its GPS location with the network. Other AlfredA-enabled apps or a central visualization server can fetch the location data to draw their location on a map. Also the reverse is possible: The network could provide information useful to the mobile clients like latest community network news or WiFi usage statistics for debugging/monitoring purposes, thus avoiding a central monitoring server.
AlfredA has been implemented as part of Bastian Rosners Bachelor Thesis to distribute location data in wireless mesh networks. The library as well as more information can be found on AlfredA's github repository page as well as the bachelor thesis paper [written in German]. Another outcome of the thesis is a wireshark dissector which can be used for debugging A.L.F.R.E.D. communication. In the process, the A.L.F.R.E.D developer team has also added extensive A.L.F.R.E.D. protocol documentation in our wiki to help Bastian with his implementation
We hope this work will inspire other Android app developers to use A.L.F.R.E.D. to store and receive data from their wireless mesh networks and will be useful to many projects. :)
Sample app using the AlfredA library:
the B.A.T.M.A.N team