Appendix B: Processing Resource Applet
Appendix C: Control Server Source Code
Distributed computing over the Internet, taking advantage of the plentiful desktop machines, is an expensive operation, in terms of labor. For a conventional system, you would only need to produce one application, and it could be in the language of your choosing. But, due to security concerns, and a need for uniformity, projects such as ours need to use languages like Java, which can run in the browser.
However, when you compare that to the massive cost of purchasing and maintaining the hardware needed for high performance computing, the cost is minimal. Its simply a matter of proper deployment: a distributed supercomputer of this fashion, embedded in something truly ubiquitous, like banner ads, could most certainly calculate at rates in the teraflops and, given global deployment and extremely efficient implementation, perhaps even come close to a petaflop. Dollar-wise, the cost of running this distributed network, compared the cost of running a physical system of comparable power, would be astonishing. The only limit on the power of the system, would be how much power you could extract from the average customer, without grinding their computer to a halt.
A system such as this, unfortunately, would be unlikely, however. The public, heterogeneous nature would mean all the calculations would be public knowledge; so the only types of calculations that could be performed, would be public projects, and not proprietary projects that would provide incentive for companies to build and maintain these networks.
A slightly more plausible model, would be a 'viral marketing' one. Say, for instance, a well-established distributed network, such as GIMPS, made a JavaScript version of their client. They could embed it in their own public web page, for a start, but they could also convince users to do the same by providing some service; say, some sort of dynamic real-time processing of the data into an 100-500 pixel graphic – about the size of a signature banner on bulletin boards. GIMPS could release that to their users, who, in turn, insert it into their signatures. Then, every time someone visits one of the bulletin boards, they perform some very small calculation, such as the next five iterations of the Lucas-Lehmer test, and then return that to GIMPS. As long as theres some method of ensuring that no one ends up running forty scripts at once, if they see a forum with forty posts containing the banner, it could be a workable method.