My friend Haym Hirsh (a computer science professor and a CMU graduate) writes:
Person A needs a new kidney. His relative B is willing to give one up for A, but B is not a good tissue match.
Person C needs a new kidney. His relative D is similarly willing to give one up for C, but D is not a good tissue match.
But what if B is a good match for C and D is a good match for A? "Swapping" donors in this fashion is called a paired swap.
But now what if there were still no matches, and there are two more people E and F and the tissue matches are such that, collectively, everyone who wants to donate a kidney does so, and everyone who wants to get one does so.
And now what if it takes a 10-way swap to make this happen? It's previously been too difficult to scale things up much beyond paired swap given the many many people in the national registries for kidney transplants. Computing has just come to the rescue -- computer scientists at CMU have managed to make this happen, as reported in the New England Journal of Medicine. See http://www.csdhead.cs.cmu.edu/blog/2009/03/17/cmu-algorithm-enables-chain-of-10-kidney-transplants/ for an overview.
Of course, I have argued that a very old technology is ultimately the most effective way of solving these problems, but so long as we insist on refusing to use that, I applaud other temporary alternatives.