Delay-Tolerant Networks in Your Pocket
by George Lawton
Ongoing research at the University of Cambridge and Intel Research Cambridge is advancing a new networking topology for mobile applications. Most recently, Data-Driven Declarative Networking (D3N) integrates declarative programming support for pocket-switched networks. PSNs are a type of delay-tolerant network (DTN) that enable mobile devices (that people carry in their "pockets") to sporadically network with each other and, when it's available, with network infrastructure in local "pockets" of wireless connectivity. The protocols assume the devices will be disconnected for the most part but allow phones to relay messages on behalf of each other. The initial D3N version operates over Bluetooth and bypasses the existing cellular infrastructure.
Jon Crowcroft, professor at University of Cambridge and one of the research leaders, said PSNs differ from mesh networks, which can also forward messages across sporadically connected devices. "Mesh is a point on the design spectrum of networks we are talking about," Crowcroft explained. "If a number of devices are within radio reach, our network becomes a mesh. But the key goal and difference is that we support intermittent connectivity as a first-class part of our approach, and this is essential in mobile environments."
Crowcroft said there are many new applications that could be built on PSNs. Some examples include P2P games, multicamera views of real-world sports events, emergency communications, and community-based sensor systems. D3N will help with rapid development and safer deployment of such applications.
Delay-Tolerant Networking
Pocket-switched networking is built on work in DTNs, in which the nodes are sporadically connected to each other. DTN network devices can store and forward messages to other nodes when they come within range. For example, the Interplanetary Internet is working on networks that would be suitable for sporadically connected space craft. Other DTN projects include Georgia Tech's Message Ferrying, which uses store, carry, and forward message delivery to overcome partitioning in mobile ad hoc networks. The University of Massachusetts' DieselNet allows busses to share information with each other and with kiosks.
The European Union's Haggle Project is developing a core DTN architecture for Windows Mobile, Android, and the iPhone.
The Internet Engineering Task Force has chartered the DTN Research Group to address the architectural and protocol issues of DTNs. The US Defense Advanced Research Projects Agency is also looking at DTN for military environments in its Disruption Tolerant Networking program.
New Network Programming Model
D3N is different from some of these other projects in that it's mobile-handset-based and features a functional programming language for Windows Mobile. This declarative language approach lets programmers focus on application logic instead of the algorithms specific to PSNs. The result is applications with far less code.
D3N is both a programming language and a runtime system. It uses .NET support for the common language classes. Crowcroft sees D3N reducing the complexity of building applications for ad hoc peer-to-peer mobile networks in the same ways that that MapReduce and DryadLINQ reduce the complexity of large-scale distributed applications.
A key aspect of D3N is the addition of query to the language. Crowcroft said, "Adding query to a programming language and on top of a runtime system with networking allows you to build many complex distributed algorithms in very compact programs."
Crowcroft said that basing D3N on a functional language is crucial to simplifying application logic. A declarative language is also type safe, which eliminates a large class of security flaws that are present in C, C#, and Java. This is important because mobile devices hold private data such as address books and can spend money via transactions against a cellular account.
One of the other security challenges lies in figuring out how to reduce pollution or spam on these networks.
Status and Availability
The first version of D3N was built using F#, a Microsoft functional programming language initiative. This was done for simplicity because it was relatively easy to compile the applications to the Windows Mobile 6 operating system. But Crowcroft noted that all functional languages are very similar and they have plans to work on a version for Objective Caml.
Avi Greengart, research director for consumer devices at Current Analysis said, "It's hard to predict early on if these types of technology will take off. It depends on two factors: that someone figures out something useful to do with them, and that they gain consumer acceptance. Owing to the network effect, its usefulness will grow as more users adopt it."
The runtime code will soon be posted to SourceForge. For technical details, see www.cl.cam.ac.uk/~ey204/pubs/2009_MOBIHELD.pdf.