Larry Rudolph is sitting in the back seat of a cab on his way to Carnegie Mellon University in Pittsburgh when the driver suddenly stops the vehicle and says: “Excuse me, I need to reboot my taxi.” The driver shuts off the car, counts until ten, and then turns it back on. The digital speedometer, which had been reading zero despite the car’s movement, is now working again. Rudolph says it was the first time he saw someone reboot a car. It was strange-but it worked.Rebooting has become routine for many computer users. They know that when their PCs crash or a piece of software doesn’t work, the technical support person’s first question is usually, “Have you tried rebooting your system?” Indeed, restarting a machine-be it a car or a computer-can many times fix the problem. But according to Rudolph, a principal researcher at MIT’s Computer Science and Artificial Intelligence Laboratory, we are moving toward a day when all sorts of electronic equipment-computers, PDAs, cell phones, TV sets, MP3 players, perhaps even the kitchen’s microwave-will be exchanging data and trying to make our lives easier and more comfortable. And in this emerging technoscape of pervasive computing, the “turn off, turn on” solution will be of no help.
In this world of autonomous interacting machines, Rudolph says it is easy to envision a nightmare scenario in which a small failure starts a chain reaction, the result being a whole menagerie of devices ringing and beeping and generally misbehaving. With so many elements talking to each other-and no central server to control them-it will be hopeless to find which is the malfunctioning one when a major failure breaks out. Rudolph says humans are relatively good at tracking down errors. The problem is that today’s equipment doesn’t give us any clue of where the problem might be. But this situation would change completely if electronic devices began to carry special systems capable of detecting anomalous behavior-and pointing out this information to the user.
Rudolph is leading a team of researchers to create such failure-detecting systems and test them in a pervasive computing environment. The work is part of project Oxygen, a five-year, multimillion-dollar partnership between the lab and six major corporations. Since the components of Oxygen are being built from scratch, now is the time to think about methods to overcome systemic failures Rudolph says. He spoke with Technology Review editorial intern Erico Guizzo.
TR: Why is rebooting becoming less practical?
RUDOLPH: The classic answer when something goes wrong is to reset or reboot and start it again. This solution has worked so far. But very soon it’s not going to work for, say, devices in our houses. It won’t be clear what to reboot. The vision of Oxygen is that there’s no PC that is the center, there’s no central server to which everything is connected. In a house, the main computer may be in the study, while all the other devices may be in the living room, the dining room, and the kitchen. Everything is spread around and soon they will start talking to each other. There will be times when you touch something in one room and it adversely affects something in another room.
TR: And then the on-off switch is of no help?
RUDOLPH: That’s right. Imagine that a battery runs low, causing some unusual behavior, which, through a series of unexpected events causes some other part of the system to fail-the telephone doesn’t stop ringing, for example. But since the system is no longer in one place, how do we find the root cause? Or, if we don’t care about the cause, how does one stop the telephone from ringing? We can reboot the telephone, but if that doesn’t solve the problem, then what? Also, future robust computer systems will likely be “fault tolerant” so that if one computer fails, the computation will automatically continue on some other computer. In that case, shutting down the main computer may not stop the phone from ringing. Should you reboot the living room? Or maybe the house? And if that doesn’t work, should you try rebooting the whole neighborhood?