A little while back I had an idea about how it might be possible to build a massive grid computer harnessing the power of the transient Internet user population. In essence the idea was to use the almost universally deployed JavaScript runtime embedded in modern web-browsers to perform small processing tasks which are part of a larger distributed processing algorithm (I can just hear those bozo bits flipping).
I’ll grant you that its a pretty wacky idea, but is it possible? If it is, what kind of processing could a grid with this architecture perform?
Anyway, one night I got bored and decided that I would prototype the idea, and within a few hours I had a functional prototype. Of course, it was only of limited use because I didn’t have enough machines to really get processing large amounts of work, but the code executed and it was time to show it to some of my peers.
I contacted a few of my colleagues and decided that it was probably worth showing to some of the executives within the company. Over the course of a few weeks it was decided that we would file a patent for the idea and then expose it to the world. The patent process takes months just to get to the provisional patent stage and several times I was close to just bailing on the process and throwing it out there – but I didn’t, and here we are today.
Over the past two days I’ve been taking the prototype code that I wrote and plugging it into a web-site called gridenvy.com. What is gridenvy.com? It is an experiment.
The Experiment
The problem with my idea was that in order to test whether it was useful it requires a massive amount of exposure and the cooperation of those individuals that run web-sites (large and small). When you visit the gridenvy.com site your web-browser starts executing a small piece of JavaScript code – that JavaScript code sends and receives small fragments of XML to and from the central gridenvy.com site.
If you are a content publisher (blogger, major site, other) then you can join your web-site to the grid by embedding an <iframe /> into the site. That frame points to the gridenvy.com site so that whenever someone visits your site they start processing work items from the central site. If people get into the spirit of it then those embedded <iframe /> elements should create an amazing amount of leverage in accessing more processing power.
At the moment the grid isn’t doing anything really exciting, the code simply performs a series of SHA1 hashes on GUIDs and returns the result, but by running this simple program I can start to measure how effective the grid is at accessing the processing power of today’s modern web-browsers.
The Future
The purpose of creating this blog is to create a dialog with folks that are interested in this idea, perhaps from a purely academic perspective, and others from a commercial perspective. Over the coming weeks I will make rolling updates to the code-base at gridenvy.com and of course keep folks abreast of changes here on this blog.
I see two outcomes, either its brilliant idea and it’ll capture peoples imagination or it is a completely crazy idea and it’ll fail. If thats the case I want it to fail fast so that I can move onto wacky idea #12,604.
Your thoughts? Leave there here has a comment, or if you would prefer shoot me an e-mail at mitch.denny@readify.net, or call me on +61 (414) 610–141 (Australia).