Back in August, I endeavored to bring some sanity to the commonly used term "cloud computing," as at the time, it seemed that the misuse of the term had reached epic proportions and the word had lost all meaning. During the process of explaining how the word could be used properly and improperly, I talked a bit about the history of computing on the cloud, which included a project I'd been aware of since close to its inception: distributed.net's cloud computing project.
Over the years, they've endeavored to harness the combined processing power of millions of computers around the world to use excess processor cycles to crack the code on a wide array of encryption routines and mathematical puzzles.
With all the attention given today to cloud computing, I thought it was particularly timely that this weekend, word spread that Distributed's optimal mark 25 Golomb Ruler project finished earlier this month.
Warning: High-Grade Nerding It Up Below
The Optimal Golomb Ruler is a mathematical construct that creates an imaginary ruler so that no two pairs of marks on the ruler are the same distance apart. The construct has a wide variety of applications, including places like radio astronomy and informational theory. In information theory, they are used to detect and correct errors, where the ruler is used to generate a certain type of code (self-orthogonal, if you must know) that does not share the common differences.
This allows for easier error checking, since the redundancies between the codes show up as errors. Similarly, in radio astronomy, radio telescopes can be placed at the marks of a Golomb ruler to maximize the number of distance measurements for individual stars or regions of space.
In terms of the specifics of Distributed's results, the total length of the ruler was found to be 480, with marks at positions: 0 12 29 39 72 91 146 157 160 161 166 191 207 214 258 290 316 354 372 394 396 431 459 467 480. Almost 125,000 people's computers were employed on the equation, and it took the cloud machine eight years to complete the project.
What Does This Have To Do With ... Anything?
The fervor over the cloud over the course of the weekend and into today has been interesting to watch. I've been involved with the Distributed project since near its inception in 1997 (I caused my boss to nearly have a heart attack when I had one of the Web server's processors pegged out at 100% one night when he happened to log in). The project represents perhaps a precursor to the type of cloud computing we think of today, but also what is a often forgotten arm in the octopus of congnition that takes place within the beast that is this world's Internet.
It's funny that before Web 2.0, this type of stuff was not really thought of when the term cloud computing came up. The most common mis-application of the word was to Software-as-a-Service type stuff (Google Docs, GMail, etc), which ends up implying that any piece of software on the Net is an example of "The Cloud."
But with Microsoft's upcoming deployment of Azure, they're looking to provide a real shift in the definitions of SaaS as well as cloud computing.
What Microsoft appears to have in the works takes the cloud computing concept back away from the browser to the methods employed by the Distributed team as early as 1997. The way the system worked, functionally, was that you installed the distributed.net client on your machine, and it interfaced with the central "key server" to store there what was crunched locally on the algorithm. The results of your number crunching was stored in a centralized database (yes, in the clouds), and the stub client resided on your local machine.
Similarly, what Azure promises to do is to take the requirement that cloud applications reside in a browser away, and give users stub client applications for commonly used tools like word processing, spreadsheets, email and contact management that all connect up to the Azure platform. All data is synchronized automatically between machines since it's tied to the account, not the hardware.
I was discussing it with Steven Hodson earlier this evening, and it's very clearly game changing not in the fact that it's particularly revolutionary (this model has been in play for over a decade), but that it's going to be deployed (and likely adopted) on such a wide scale.
Where it Could Take Things
It's exciting and game-changing because it gives rise to the thin-client concept that Bill Gates has been talking up for twenty years. I talked about this shortly after the launch of Google Chrome, since nearly everyone in the technology punditry business became confused on the difference between a browser and an operating system:
It’s as if Blodgett has completely forgotten that Bill Gates had this same idea a decade ago, and that Internet Explorer was supposed to lead into this world of client/server computing in which the boundaries between the desktop and the “wide area network” were indistinguishable. He started down that path in 1993, in which he gave his blessing to client/server computing.
It’s understandable to have missed that, but to have forgotten completely about Microsoft’s thin-client play with WebTV is just a bit of funny. The way that the product faded to black after it’s acquisition for nearly half a billion was nothing short of noteworthy to anyone worth his salt in tech.
Where all this new stuff from Microsoft starts getting interesting is where it ties in existing thin-clients we didn't even realize we had; thin-clients like your XBox, your mobile device and your digital photo frame.
All these things are being tied into the framework of the new Azure platform in a way that appears to make sense for both consumer oriented applications as well as the enterprise, all using technology with seeds that have been consistently sewn for the last ten to twenty years.
It's definitely a thrilling time to be in tech, but even a more exciting time for those of us who've been around to watch these concepts move gently from theory to fringe implementation to widespread use.