During 1999 and 2000, in what later became known as the "dot.com bubble," the computing industry was awash with innovative ideas for how computers, collaborating over the Internet, could revolutionize the way businesses and individuals would use computing. Entrepreneurs and investors rushed to create new Web Services systems. Open-source communities built Peer-to-Peer (P2P) systems for file sharing, instant messaging, and CPU sharing. In the shadows, amateur hackers, would-be cyber criminals, and state-sponsored cyber-warriors, explored a host of less visible schemes for exploiting or interfering with the Internet for their own ends.
This explosive increase of orchestrated interaction and collaboration in the world of computing has parallels with interaction between cells (and viruses) in multicellular organisms. As with multicellular organisms, collaborating computers allow for a scale of computing far larger than is possible with single computers, no matter how powerful. Google, for example, simply could not be based on some single supercomputer hidden away in some giant computer room in Silicon Valley. Google uses at least 1.5 million servers in at least 35 data centers spread around the world. Each of those data centers uses something like 50 megawatts of power. Even if a single computer could, in theory, manage all the computations, it would require more power than that used by two thirds of the nations in the world, would generate a corresponding amount of heat, would require more bandwidth than exists in any one location anywhere in the world, would respond too slowly to requests from the other side of the world, and would provide a dangerous single point of failure subject to power outages, terrorist attacks, political manipulation, and a host of other weaknesses that we cannot now envision.
Multicellular life evolved because there are advantages to be gained from behavior more complex than single cell organisms can manage. But, more complex behavior requires more complex communication between cells. Single-celled parasites or viruses could therefore mimic, co-opt or jam these communications for their own purposes. In a never ending arms-race, multicellular organisms evolved defences such as shells, skin and various kinds of mechanisms for detecting and countering ever-changing attacks. The similarities between multicellular life and Internet computing are more than accidental, so it is worth asking what computing professionals and researchers can learn from the mechanisms and architectures that life evolved for dealing with problems unique to multicellularity.
Metaphors are helpful ways of thinking about computing architectures. They can be based upon human social interactions, economics, warfare (e.g., castles, walls, moats and passwords as defenses for IT infrastructures), medicine (checkups, vaccines, surgery), hunting and gathering, agriculture, legal (copyrighted code), and many more. Different metaphors are useful in different contexts. For example, social, legal and/or public health metaphors may be most helpful for understanding Twitter interactions, massive multi-player games, and texting. In contrast, when we are focused on the automated interaction of many computers in networks, multicellular metaphors fit the situation better.
Cyber security is one area where a great deal of serious thinking is increasingly needed if we are to protect vital banking, commerce, government and military systems that rely utterly on secure communication and cooperation between many computers. While most work on cyber security takes place out of public view, I had the pleasure of participating in a workshop on metaphors for cyber security at Sandia National Laboratories, May 27-29, 2008. Biological metaphors from multicellulararity to immune-system phenomena were part of the discussion. The workshop explored biological metaphors along with several others, including those of military conflict, economics, sociology, public health, and agriculture. The various possible metaphors highlight different aspects of cyber security weaknesses (see the workshop report).
The focus of this website is on how computers themselves interact in networked systems rather than on how humans interact with the computers and/or the systems. The purpose of the biological metaphor is to derive fundamental architectural themes that can be translated into computing terms. Thus two considerations come into play in evaluating the value of biological metaphors versus, say, a sociological metaphor:
The idea that multicellular computing should mimic multicellular organisms formed in 1999. I wrote an article "The Tao of E-business Services" (published in IBM DeveloperWorks, Oct. 2000) that argued we should see the evolution of multicellular life as a metaphor for the evolution of computer collaboration in the Internet and that the messaging architecture between cells was a good place to begin. As Sam Ruby correctly pointed out in his 2002 blog, the discussion of multicellular computing ideas in the "Tao" paper was too cryptic (it comprised only a small portion of that paper).
The next public airing of the ideas was at a panel
discussion with Cory Doctorow, Clay Shirky and Rael
Dornfest on Metaphors for Peer-to-Peer computing at the 2001
O'Reilly P2P conference in Washington DC. Each of us presented
our favorite metaphor. I argued that distributed networked
computing, e.g., P2P, is evolving toward organizational and
architectural structures analogous to those found in
multicellular biological organisms. Put most simply -- perhaps
overly so -- the central point of that talk was:
Since the multicellular metaphor addresses the problem of ever increasing complexity in computing, I was invited to give a presentation at the TII/Vanguard conference on The Challenge of Complexity, (2004, in Los Angeles). That presentation was based on a an early draft of a paper in which the ideas are presented in greater detail.
These public presentations led to an interview with Jon Udell,
as a podcast April 14, 2006. He urged me to put the ideas
together in a website or wiki which led to the "webified"
version of the ideas that you are currently reading. Since
then the website has evolved by virtue of many small additions
and changes so that it represents the up-to-date version.
However the paper is more readable as a "whole" presentation of
the ideas even though it is now out-of-date on some details.