Computer: Heal Thyself
Radhika Kaushik"Open the pod bay doors, HAL," beseeched astronaut David Bowman in Kubrick's 2001: A Space Odyssey. This famous line encapsulates two strong deep-space images: the infinite emptiness where no one can hear you scream, and a thinking computer's awe-inspiring power over you.
Just as Hollywood's flings with thinking, intelligent and emotionally charged machines (remember the little boy in AI), have fascinated us, the reality represents a Holy Grail for scientists. True machine artificial life! Two promising areas of recent research, self-healing and self-modifying computers – promise to bring us to the brink of the Lost Ark.
It all began when we started exploring outer space. Suddenly, you couldn't send in engineers with screwdrivers to fix a "404" error -- it's hard to make house calls 100 miles up. Clearly traditional computer mechanisms for detecting and fixing problems were obsolete.
A deep-space computer needs the ability to fix itself, alone and without human intervention. That was how computer programmers started fashioning self-healing technology. DARPA's faith in such self-healing technology has led it to fund three separate five million dollar trials of self-healing software. These trials use software probes that collect and gauge the data while a system runs on self-healing frameworks. DARPA expects to deploy the software within a year.
The main goals for this project: testing self-healing technology's ability to correct large systems, and figuring out a way to fix a faulty component with another external software application. Something that enables computer systems to say, "Let's just find our way around this mess okay? And this time, leave those pesky humans out of it."
Corporate America is paying attention. Self-healing software occupies a large part of IBM's tech road map, particularly in areas like security management and storage. IBM has found that transitioning a machine from traditional detect and solve mechanisms to the human-style self-healing is expensive and difficult. Big Blue is devoting five research labs, and a considerable amount of money to solve the problem.
IBM's Shark Enterprise Storage Server uses self-healing technology to detect a failing component and reconfigures the system before any data is lost. Such automatic self-healing capabilities have also infiltrated IBM's Tivoli software to add security and protect data. For examples, Tivoli Storage Manager 5.1 incorporates self-healing disaster-recovery plans, and the Tivoli Risk Manager addresses security with self-healing software.
In the last decade, IBM placed a big bet on Deep Blue, the computer program that beat world chess champion Gary Kasparov. That bet paid off with both technology advances and press attention. IBM hopes to replicate that success with self-healing systems. But don't expect Big Blue to come up with self-healing abilities as complex as what HAL used to make the pod door decision. Still, these are the first steps in getting clunky machines to automatically circumvent or repair errors and failures without human knowledge or intervention.
Self-healing systems should be able to automatically boot-up backup systems and correct systems failures without human intervention. This sounds great in theory, but there are some thorny issues to resolve.
What if a self-healing system installed in a big company decides to ignore payroll problems to focus on balancing the HVAC systems to a uniform 68 degrees companywide? And what if – because self-healing systems naturally eschew human intervention – computer technicians are not allowed to re-order these priorities?
Where do we draw the line between the human technician and the self-healing computer? The answers might reside in our brains. Think about how the brain dips into zillions of little islands of information, churning out as many as a 100 billion computations per second. We are probably the fastest thinking computer – at least on earth – that can change its own rules of operation as it interacts with the environment.
The brain is an intelligent computer that makes the right connections by recognizing patterns – such as seeing the link between the missing cookies in a jar and a child's dirty fingerprints.
Easy for us right? Computers can't do this yet because a system that modifies its own rules of operation quickly becomes chaotic. But we're beginning to develop the first self-modifying code.
A program that modifies itself by re-writing portions of its own code and making dynamic memory changes uses self-modifying techniques. As of now, self-modifying programs are mostly experimental.
Viruses, interestingly enough, are currently the most common self-modifying programs today. Researchers are also experimenting with programs that create random mutations of themselves which use a type of natural selection to compete to produce a new code fragment. Others are working on systems that try to reproduce the connections that arise in animal brains. Here's a sampling of what's coming out of AI research nowadays.
As we explore our brains further, and model our computers on ourselves, the line between human and machine tools becomes blurry. If we envision computers as simply prosthetic brain parts, or tools to aid mental activity, then we truly begin to see the evolution of a biological HAL.
Another possibility: It might be as recalcitrant as Hal -- providing even more inscrutable error logs. Could an error routine like this be too far behind? ERROR 406: file corrupt: config.earth --- reboot universe (Y/N) ERROR 404: Universe not found.
Copyright © 2004 Ziff Davis Media Inc. All Rights Reserved. Originally appearing in ExtremeTech.