This is an article that I wrote for ACM Queue in 2003. Apart from the online article, there's also a PDF version.