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, would-be cyber criminals and, more recently, 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 in the orchestrated cooperation and collaboration in the world of computing has obvious parallels with the biological world. Computers collaborating in the Internet 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 developing 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 and "architectures" are helpful ways of thinking about computing and there are many to choose from. metaphors can be constructed from human social interactions, economics, warfare (e.g., castles, walls, moats and passwords as defenses for IT infrastructures), medicine (checkups, vaccines, surgery), hunting and gathering and agriculture, legal (copyrighted code), and many more. Different metaphors are useful in different contexts. For example, when an individual computer is actively paired with it's human user for real-time interaction with other human/computer "Cyborg" pairs, social, legal and/or public health metaphors may be most enlightening. Instant Messaging, massive multi-player games, and social networking are obvious examples of that sort of interaction. 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 biological metaphor versus, say, a sociological metaphor:
The idea of considering strategies used by multicellular organisms formed in 1999. In 2000, I published The Tao of E-business Services" (in IBM DeveloperWorks) that argued we should view 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
with Cory Doctorow, Clay Shirky and Rael Dornfest on Metaphors
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.,
evolving toward organizational and architectural structures
those found in multicellular biological organisms. Put most
perhaps overly so -- the central point of that talk was that:
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 paper in which the ideas are presented in greater detail.
These public presentations led to an interview with Jon Udell,
a podcast April 14, 2006.
He urged me to put the ideas together in a website or wiki which
the "webified" version of the ideas that you are currently
reading. Since then the website has evolved by virtue of
small additions and changes so that it represents the up-to-date
version. However the paper is more readable as a "whole"
of the ideas even though it is now out-of-date on some details.