shamebear (shamebear) wrote in algorithms,

Contributing without even knowing

Flash animations on webpages consume a surprisingly large amount of CPU time, especially if you keep many pages open at once. When you think about it, this is a very fast and efficient way to distribute some software onto a lot of computers. Put up a banner on a major news site and you have your code ticking along on thousands of computers within minutes, and with no user interaction.

It's strange that distributed computing has not leapt onto this. Granted, it's a narrow nieche, with the program running only for a few minutes and with a limited size, but there are still plenty of cases where it could work. I've only found This proof of concept of distributed flash computing. This example require some user interaction and fills a whole screen, but there seems to be no reason why it couldn't run as a banner ad.

Why isn't this more widespread?
Ethics, for a start. Using someone else's CPU time for hidden computations without getting permission up front seems wrong to me.

It may also be illegal. For example, in the UK it's likely it would be covered by the Computer Misuse Act as 'an unauthorised modification of the contents of any computer'.
But none of this counters any of the actively malicious code out there. Couldn't it be just that the trade-offs (latency, bandwidth, amount of work done) make stealing CPU cycles over the web a worthless proposition?
It could well be poor from the trade-off standpoint as well as unethical.

In that case, companies and individuals with a sense of ethics won't do it from an ethics standpoints. Companies that are more prone to take liberties with legality may not do it because it's not worth it in trade-offs. That pretty much leaves the companies and individuals with no ethics and nothing better to do, and most of them are busy with malware, which can do more of what they want with less hassle...
I'm not sure what your point is.

Comments for this post were locked by the author