A New Language for Phone Networks

A New Language for Phone Networks

Node clusters: The topology of pocket-switched networks changes quickly over time as humans move about, causing nodes to leave and join local networks. Researchers group devices by community, clusters that share the same information, and the average delay to receive information. Nodes with the same color receive information after a similar delay.

Scientists love the cell phone. Researchers have used the ubiquitous device as a portable polling station, a tracking device, and a sensor. Now, computer scientists want to use mobile phones to exchange data without using the phone’s network, instead of communicating directly with cellular towers, base stations, and the occasional wireless network.

That’s the vision of a group of computer scientists who believe that spreading data virally could open up a whole new manner of applications on peer-to-peer mobile device networks, known more formally as “pocket-switched networks.” Such an ad hoc network–sort of a Sneakernet on steroids–could allow victims of a natural disaster to pass messages from one person to another even if the cell towers are destroyed. In another scenario, visitors to specific locations could have important information forwarded to them via the local folks’ devices. And groups of friends could poll each other on where to eat dinner that night, without using the Internet.

“If this gets traction, we hope that people come up with a whole slew of applications,” says Jon Crowcroft, professor of computer science at the University of Cambridge and the leader of a team of researchers working on the problem.

Technologies such as pocket-switched networks are a form of delay-tolerant networking, such as the Interplanetary Internet. Delay-torrent networks are part of a class of infrastructure that includes any collection of occasionally connected nodes that could be disconnected from the network for a long time and forward messages opportunistically.

Pocket-switched networks typically consist of a sparse collection of devices that are disconnected much of the time and are, of course, mobile. Communications are accomplished through Bluetooth or wireless connections between devices using a publish-and-subscribe technique dependent on the content preferences of the device’s owner.

“It is an infrastructure-less approach,” says Kevin Fall, a principal engineer at Intel Research Berkeley and an expert on delay-tolerant networking. “You don’t need base stations, you don’t need cell towers, you just have to carry around a device that can connect to other devices.”

Yet, what the technology does not have is simplicity. Crowcroft and his team from the University of Cambridge hope to solve that problem. Last week, the research group unveiled a programming language designed to make developing complex programs far simpler. The language, known as the Data-Driven Declarative Networking (D3N) language, allows simple programs to take advantage of inherent characteristics of pocket-switched networks, including asynchronous communications and simple-to-express queries. The language is declarative, allowing the programmer to focus on the application logic instead of the algorithms specific to pocket-switched networks.

“One of the goals is to keep it very simple so that people can make very complex, very interesting applications easily,” Crowcroft says.

The D3N language is based on the F# project from Microsoft. The language adds concurrency control to handle the ad hoc nature of exchanging data between a variable number of asynchronous nodes. Query and pattern-matching functions make it easy to select data from the nodes available in the local peer-to-peer network.