Technology Review - Published By MIT
Advertisement

A New Language for Phone Networks

Researchers develop a better way to write applications for peer-to peer cellular networks.

By Robert Lemos

Monday, August 31, 2009

smaller text tool iconmedium text tool iconlarger text tool icon

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.

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.
Credit: University of Cambridge

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.

Story continues below

"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.

Comments

  • battery life
    By default the phones could only pass along data for other users when plugged into an external power source with a user setting allowing a user to change this. Another option is that these phones could be designed to do it for only a random minute or two an hour. The phones could also drop out of relaying data when they register battery power less than a certain amount.
    Rate this comment: 12345

    flyingmonste...
    08/31/2009
    Posts:6
    Avg Rating:
    4/5
  • Who Gets Priority?
    When a plane ditches in the Hudson or the Jonas Bros announce a new concert tour, communications spike and capacity is exceeded. Peer means equal. Some groups and organizations are more equal than others.
    Rate this comment: 12345

    Phineas
    08/31/2009
    Posts:85
    Avg Rating:
    4/5
  • Good design, not new programming languages is the solution
    At first I thought "new language" meant a protocol for grid routing. But here it's a new programming language. I read the D3N paper-- it's a new language layer written on top of F# written on top of .NET. The prior project, Haggle, was OS independent with a C/C++ interface (deemed a bad thing). But successful communication needs standard protocols across all devices, and a compact, simple reference implementation with test suite is the way to achieve this. The Internet TCP/IP and HTTP exist because of simple (open-source) reference implementations available, written in C.

    I have to object to the concept that a programming language makes a huge difference in programming design and implementation (at least for code widely used). The comments in the code are the most important part and should be a majority of the text. A clean well documented architectural design makes any extra syntax (e.g. procedure call vs operator keyword) of plain C insignificant.

    What is most important is portability and compatibility, and there language does make a difference. In my opinion, there is nothing that comes close to plain C in ability to incorporate protocol layers into the microcomputers of phones, etc. A reference-app + new language + F# + .NET + MS-Only-OS is the opposite of what is needed. Besides, grid routing protocol code isn't all that hard, and really should be kept compact.

    Sorry to be cynical, but I've been burned many times trying to get some app or development system to run. These days, "object oriented" means automatically suck in all kinds of self-documenting (a.k.a. poorly documented) code that in-turn sucks in more, to the point where it can't compile except with certain narrow versions of all the code and operating system. Trying to install on a 3 year old computer can be fruitless. You wouldn't even try to put something this on a $50 WRT54GL router, but people have put complex grid routing software on them.

    I thought Don Knuth's "Literate Programming" was a major advance as it allows the documentation and design to be the main part of code, and produces simple C as an intermediate output. Too bad that didn't catch on.
    Rate this comment: 12345

    carlhage
    08/31/2009
    Posts:21
    Avg Rating:
    4/5
    • Re: Good design, not new programming languages is the solution
      I agree good design is always necessary. However, part of design is choice of tools, including programming language paradigm. This was Google's argument behind Mapreduce and Microsoft research's argument behind DryadLINQ.

      Note Bene: we aren't religiously attached to basing D3N on F# - this was a prototype choice based in an earlier project decision to get a lot of Windows Mobile phones - indeed, all functional languages are largely equivalent and the switch to an open language like ML would be trivial.
      For information, the underlying runtime Haggle project software also works on Android and iPhones (if jailbroken:) and would probably port to new Nokia linux phones (N900) easily. A Symbian OS port is deemed to be feasible, but not really a priority.

      Many ML compilers target bytecode and porting this to a smart phone would be very easy (indeed F# and OCaml share this, but F# does depend on common runtime, which we'd rather not depend on for the reasons you allude to!)

      But yes, there's no substitute, ever, for good design.
      Rate this comment: 12345

      crowcroft
      09/08/2009
      Posts:1
  • traffic info
    What I never understood is why cell phone providers could not use the the massive locational data from their clients to furnish city planers and service like google traffic hugely accurate real time info on said traffic patterns. One could use such data from these ad hoc networks to pinpoint abrupt changes in drivers speed ahead of oneself: ie a cop with a radar gun ;)
    Rate this comment: 12345

    aymeric
    09/01/2009
    Posts:19
    Avg Rating:
    4/5

Log In

Forgot your password?     Register »
Advertisement

Videos

Making 3D Maps on the Move
Technology Review November/December 2009

Current Issue

Natural Gas Changes the Energy Map
The United States has vast supplies of this cleaner fossil fuel. But how should we use it?
Featured Content
Sponsored by:
White Papers

Twelve ways to reduce costs with SQL Server 2008
Find out how to reduce costs and get more efficient

Download

Total Economic Impact of SQL Server 2008 Upgrade
Forrester reports on increasing productivity and management capabilities

Download 

Achieving Cost and Resource Savings with UC
How Office Communications Server R2 and Exchange Server can make your business smarter and more efficient

Download 

The Compelling Case for Conferencing
Read how you can improve workload support and find IT efficiencies

Download

How Windows Server 2008 R2 Helps Optimize IT and Save you Money
Read how you can improve workload support and find IT efficiencies

Download

Windows Server 2008 R2 Hyper-V Live Migration
See how Windows Server 2008 R2 and Hyper-V enable virtualization and Live Migration

Download
Advertisement
Subscribe to Technology Review's daily e-mail update. Enter your e-mail address

TECHNOLOGY RESOURCES
Advertisement
MIT Massachusetts Institute of Technology © 2009 Technology Review. All Rights Reserved.