Menu Close

Research Profile: AllNet

Professor Edo Biagioni introduces AllNet, designed to let mobile devices communicate effectively even when there is no cellular service.

Hi Edo. What is the AllNet project?

edoantarticaAllNet is designed to let mobile devices communicate effectively even when there is no cellular service. AllNet communication takes advantage of the Internet when available. When the Internet is not available, whenever possible AllNet supports low-bandwidth communication by direct exchange of data among mobile devices.

Currently, the best ways for mobile devices to communicate directly are WiFi, which can be used in ad-hoc mode without needing an access point, and Bluetooth. In the future, AllNet might benefit from opportunistic networking as well. However the data is carried, the main point is to let people communicate whenever possible. This may be useful in emergencies as well as other situations where people are offline.

What is the current status of the system? What functionality is currently available, and what do you plan to implement in the near future?

The latest status of the AllNet project is available at As of January 2013, a first version of AllNet is up and running, and supports simple chat and messaging among Linux systems that are connected to the Internet or within wireless range of each other. I am working on Version 2, which will be more robust both on the Internet and using direct communication, often over multiple intermediate systems. I am also beginning to learn app programming.

If students want to get involved with the project, what kind of background should they have?

A variety of backgrounds are useful for AllNet. To contribute to the software development work, students should be comfortable programming in C to contribute to the Linux version, in Java for the Android version, and have XCode experience for iOS. It would be very helpful to have a strong background in network programming, or at least be very willing to learn. Work is also needed in developing user interfaces and in general, turning a simple command-line program into cool apps. There are other tasks that do not require programming. I have worked with one graduate student who explored people’s motivations to participate in a shared network by contributing a small part of their bandwidth and battery to support others’ communications. More work needs to be done in this area, and in many others. For example, anyone with a background in Game Theory could make substantial contributions, and social networking expertise is also helpful. In general, I am open to anything a student brings to the table.

Where can people go to learn more about the project?

The main web site is with more details at For introductory materials, it can be helpful to read and understand the following topics on wikipedia:

  • Wireless ad-hoc network
  • Mobile ad-hoc network
  • Delay-tolerant networking
  • Peer-to-peer
  • Distributed hash table
  • Wi-Fi Direct

Anything else you’d like to add?

I’m hoping to change the world! I’d love your help.