Chalk this up as an idea that may have been done… or someone’s planning it and I don’t know.
Anyone familiar with the Einstein@HOME project? The idea’s pretty simple: you have a large number of calculations to perform, but supercomputers are a little expensive. Instead, you write an application which many home computers can download and run, and communicate with your main server.
I used to participate in it, but a couple features kept me off. First, I couldn’t share it between computers. Second, when I had to get rid of a machine, I couldn’t transfer the results to a new one. The final straw for me was when I found out a few years ago the Einstein@HOME project had accidentally been recycling data – sending me and several others data to crunch which had already been through the whole verification process. (What’s the point of leaving my machine on for days or weeks then?)
When your application lives in a web page, your users can be fairly confident you’re not doing something evil to their machine. Security holes aside, outside the browser there’s few traces left behind. So it’s even environmentally friendly to the computer’s eco- and operating- system!
An obvious downside is that a distributed-computing web application could really wreak havoc as a botnet or a denial-of-service to the browser’s users. Here, the infrastructure of the browser could help again: for Firefox, Mozilla simply could put the dangerous application’s web site on their dangerous sites blocklist. Once that happens, and the user loads the web page, they see a big red warning page first, with a traffic cop icon scaring them off. The botnet disappears (or at least is seriously reduced in size, and thus, potency).
Commercializing a distributed-computing web application – where the end-user gets paid a little at a time for their results – might be practical too. (PayPal, anyone?) That could lead to a few dangers, though: who do you trust with tens of thousands of computers?
Right now, this is just an idea. I have no idea who might be working on that already, or if it’s just not practical. Comments welcome, though.
2 thoughts on “A distributed-computing app store, for browsers?”
There was a Node Knockout entry that was essentially this: http://maprejuice.com/
The idea is quite interesting, but I’m seeing two or three issues right now, where we need improvements before that can be done in nice fashion:
2) It needs to be able to be run on idle and stopped very fast when the idling stops. I think there’s no web-facing idle service right now.
3) It should be able to use multi-processor power as efficiently as possible but right now web-facing JS can’t know how many cores there are available to set up the ideal amount of parallelization.
All those would make nice improvements to the platform, but might not be high-priority for the overall web application framework right now. A nice application might want to make all those things configurable, but that’s easy when the framework enables it to use them.
Comments are closed.