A year may be a long time in computing, but what about 10 years? Or 20? To try to understand where technology is headed, we have to identify the challenges facing the sector in the coming decades.
The British Computer Society recently published the results of a GrandChallenges conference which was held in 2004. The Grand Challenges workshop, sponsored by the UK Computing Research Committee, was judged by a BCS expert panel with support from the Engineering and Physical Sciences ResearchCouncil.
Grand Challenges is the name given by the scientific community to long-term initiatives involving separate projects which may need international or national co-operation.
Submissions from the academic community were solicited and none were turned down. The submissions were aggregated into broad research categories that became definitions for computing research - the milestones that researchers would try to reach during the next few decades.
Tony Hoare, senior researcher at Microsoft's Cambridge research centre who co-edited the BCS' Grand Challenges in Computing Research report says, "The novelty of the whole exercise is scientists taking responsibility for the future of their own discipline. Things are so strongly driven by the enormous success of computer applications, we sometimes forget it is a subject with a central core of scientific interest independent of application."
Of the seven proposals, two, science for global ubiquitous computing and scalable ubiquitous computing systems, related to distributed systems to support the design of networks that can expand and handle a growing number of devices.
Although one strand emphasises the theory and another examines engineering, both address a broadly similar goal: the idea that in the future, sensors with computing capabilities will be so cheap, small and abundant, it will be pointless to think of them as individual units.
Instead, they will need to be addressed as a single, highly distributed entity with millions of discrete agents embedded everywhere, including vehicles or buildings - perhaps even your clothes. In future, your T-shirt may monitor your heartbeat and vital signs and call your doctor if you get into difficulties.
This is something companies such as BT have already accepted. Ian Pearson, futurologist at BT's research arm, BT Exact, says ubiquitous computing will make Wi-Fi hotspots a thing of the past and render communications free.
A blanket network of sensors, each costing less than a penny and drawing their power from the environment, would be able to relay calls anywhere. This would create a different telecommunications industry to the one that exists now, he says.
"The costs will come down, moving away from the point where we will charge for individual calls and going to an 'all you can eat' model." You will buy your connectivity, security and value-added services and the calls will essentially be free.
Journeys in non-classical computation
One of the biggest challenges for ubiquitous computing is the idea of non-sequential computing. Having lots of agents all making autonomous decisions represents a drastic departure from the sequential computing model, first introduced by John von Neumann in 1945. This is one the areas considered in another Grand Challenge category, which is designed to cope with new methods of computing - journeys in non-classical computation.
This category takes into account various alternatives to classical von Neumann processing. It addresses the problem from the bottom up, examining how non-classical philosophy and physics can affect future computing.
Quantum computing is a case in point. Relying on the superposition principle that allows particles to be in two states at once, quantum computing lets researchers theoretically put all of a computer's bits in all positions, meaning they can hold the numbers for all calculations at once.
Although quantum computing is still in the lab, the use of quantum science to exchange security keys is more advanced. "What interests me is that some of these things are much closer to applications than others," says Martin Illsley, director of the European research and development team at Accenture.
"In quantum cryptography, we are already seeing some early pilots and we are integrating that into our security practice," he says. id Quantique of Geneva will sell you a quantum cryptography key distribution system for commercial use, and security specialist Qinetiq has been transmitting quantum keys between mountain tops in Germany.
In vivo-in silico (iViS)
But quantum computing is not the only area of interest to non-classical computing researchers. Biological systems will provide it with much inspiration, says the BCS report, because living organisms have much to teach us about non-sequential, autonomous processing (consider, for example, how individual cells know what they should be doing without any central control).
Genetic algorithms and neurology will be an important part of this challenge, as will artificial immune systems. The Royal Mail has already trialed the latter as a means of automatically detecting fraud at its branches.
Pearson believes bio-inspired computing could lead to computers that grow themselves. He foresees a computer in 2015 that will look more like a pot of yoghurt than a metal box.
"It would have a suspension of particles in it, each of which is a cluster of neurons," he says of first generation "smart yoghurt" devices. "They will be mostly analogue and will communicate photonically with each other rather than using hard wiring."
The second generation would use self-assembling DNA to create protein clusters where the logic would be inside the cells. The cells could then be programmed to grow themselves, he says.
It is no surprise that biology fits so well into the future of IT, says Wendy Hall, professor of computer science at Southampton University and BCS president from 2003-04.
"We are looking at new degrees where it is not just computer science-inspired biology or biology-inspired computing, it is a new type of person who understands how to build complex systems. To do that, they have to be both a computer scientist and a biologist," she says.
One of the grand challenges defined in the BCS report is in vivo-in silico (iViS): the virtual worm, weed and bug, which focuses on trying to simulate basic organic systems. Initially the challenge would be restricted to simple life forms such as the nematode worm, the weed Arabidopsis and single-cell organisms such bakers' yeast: hence "the virtual worm, weed and bug".
However, creating computer simulations of, say, the various developmental stages of an earthworm that let you zoom from a cellular to a whole body level at any point in time is a huge undertaking because of the complexity of even a simple organic form.
Dependable systems evolution
However, David Patterson, president of the Association of Computing Machinery in the US, is eager not to let biology overshadow IT. "IT is going to be the foundation of all research. We have this ability to simulate rather than perform physical experiments and that is a pretty powerful notion," he says.
Patterson was on the organising committee for a US-based Grand Challenges programme organised by the Computing Research Association (CRC) in 2002 (the same year the UK CRC began its project). Patterson says the US organisation's goals were more short term than those of the UK project. But the consensus reached by the two separate exercises is significant.
Just like the UK CRC, the US branch identified ubiquitous sensor-driven networks as a Grand Challenge, although, in keeping with its shorter term objectives, it tied it to an application, positing its use for sensing, warning about and helping to recover from natural disasters.
Similarly, Systems You Can Count On, another of the five grand challenge groups identified in the US project, maps to another of the UK grand challenge categories: the less snappily-named Dependable Systems Evolution.
The US category focuses on systems to eliminate cyberterrorism, user error and data loss, and was expanded on in a subsequent Grand Challenges workshop organised by the Association for Computing Machinary and the CRA, focusing on cybersecurity. It resonates with the UK's Dependable Systems category, which focuses on verifiable systems.
Verifiable systems, which can mathematically prove their reliability and security before they run, have been a holy grail for the IT community since at least the 1960s.
As systems become more complex, this becomes harder to do - Microsoft evidently has not been able to mathematically prove the security of the millions of lines of code in Windows, for example, or patches would be a thing of the past. As we start building the vastly distributed ubiquitous computing systems as proposed in other categories, that job will become harder still.
Certain about uncertainty
Eugene Spafford, co-chairman of the ACM's US Public Policy Committee and a member of the US President's Information Technology Advisory Committee, does not harbour much hope for an absolutely provable system, but offers an alternative.
"The very formal definitive closed metric is likely well beyond anything we can come up with, if it is even possible to do. Certainly with humans involved, there is a random element we may never predict. But there are many fields when appropriate stochastic measures let us make risk decisions," he says.
The security and reliability of future software may not be verified in terms of absolutes, but in terms of risk. The idea of defining a mean time between failure for a software application in the same way as for a hard drive may not be so far-fetched.
Bayesian statistics are one technique for producing a probability based on a series of highly complex, interconnected factors. You may not be able to verify a machine as completely infallible, but at least you can say how certain you are it will not crash.
This lack of certainty will become the underlying principle for the future of computing. As we move into areas of high complexity, emulating biological systems in which huge populations of agents act autonomously and in unison, we may have to throw up our hands and accept that we do not know anything for sure.
In 1927, one of the early gurus of quantum physics, Werner Heisenburg, defined a rule for this problem when describing the state of subatomic particles, "The more precisely the position is determined, the less precisely the momentum is known in this instant, and vice versa."
The Grand Challenges
- Science for global ubiquitous computing
- Scalable ubiquitous computing systems
- Journeys in non-classical computation
- In vivo-in silico (iViS): the virtual worm, weed and bug
- Dependable systems evolution
- Memories for life: managing information over a human lifetime
- The architecture of brain and mind.