Volunteer computing is actually just a new variation on the old idea of using a network of workstations (NOW) to solve a parallel problem. NOWs first became popular because they allowed people to take advantage of existing (and mostly idle) workstations, enabling them to do parallel processing without having to purchase an expensive supercomputer. Global-scale NOWs, employing computers geographically distributed around the world and communicating through the Internet, have been used with great success to solve large parallel problems as far back as the early 90's [1,2], and until today [3,4,5].
Unfortunately, most of these earlier projects have used ad hoc software systems. Typically, a subsystem for providing communication and coordination between machines in the NOW had to be developed mostly from scratch as part of each project. Furthermore, in many cases, the systems were not even fully automatic. Participants had to manually request jobs, load them into their computers, execute them, and again manually submit the results. Thus, while these software systems were successfully used to build NOWs containing several thousands of workstations, doing so required a large amount of human effort in terms of setting up, coordinating, and administering the system.