An Internet Operating System
by
Alex Cameron
In Microsoft’s latest Architecture Journal (number 13), Donald Ferguson outlined the concept of an Internet Service Bus (ISB). This along with the concept of Network Technology whilst innovative, probably does not go far enough. Most of us have probably spent time thinking about how the internet was going to influence future architectures and it wasn’t until I came across a recent article concerning the slow rate of Vista take-up that I wondered if the internet usage wasn’t some how behind this, and whether the ideas postulated by Clayton Christensen in The Innovator’s Dilemma were also in full play. In his book, Christensen postulated that there was a tendency to over-provision and to develop functionality and technology that either cannot be used or does not address the actual user need, thereby creating market opportunities for competing products.
According to clickz most people are spending a large proportion of their time both at work and home on the internet harvesting and seeding the vast resources of the web, yet there still seems to be a large amount of money spent on new Application Servers and Operating Systems to essentially host applications that could easily be service based – does there need to be a rethink on how we best utilise the web’s resources?
Our present machine based Operating Systems (O/S) and application servers are very much focused at the PC or machine level and assume a user is able to operate disconnected from the internet. This to a large extent drives a browser based architecture. It assumes that (once the user decides to connect) the browser is the gateway to the internet whereas in reality most computers are permanently connected to the internet. Now superficially one could argue that an expensive computer (all up cost including software) is used to just host the browser and e-mail clients!
What if we turned this around and assumed that there was not only an ISB, but an Internet Computer, or an Internet Operating Systems (IOS). What would it look like, and what could it do? Well, if we looked at this new stack, we would see less focus on the traditional machine based O/S, indeed it would shrink to not much more that a driver and service support framework. The machine O/S could be virtual and would require drivers for local functions like graphics, local storage, mouse, keyboard and network. The machine O/S would provide the necessary APIs for the Internet Operating System that would sit on top of the it and above the IOS would sit the Internet Service Applications (ISApps) that the user would interact with.
The IOS would not be limited to the physical machine for anything other than local processing and rendering of screens – the applications would use Internet Distributed Storage such as (DHT), Distributed Internet Processing Services (through Virtualisation and grids) . The IOS would have drivers to access IDVDs (Internet DVDs), ICDs (Internet CDs), IPrinters (Internet Printers) etc, and these devices would also use DHT mechanisms. Data would be omnipresent and not located on a single server and could be discoverable through a Resource Description Framework (RDF). Embedded would be all the necessary interfaces to exploit to the web – now, in essence the internet is your computer and you might never have to worry about back ups again!
The Internet Computer user experience would now be one where the net was the source of a vast array of semantically aware resources, drivers, components or web services that could be provided by vendors and exploratory service providers. The users might now build the functionality they need through defining a simple orchestration or workflow patterns or indeed build the functions by just dragging and dropping applications components or services into a container. The IOS platform would of course come with preconfigured ISApps, such as email, browser, word processing, spreadsheets, electronic banking etc. However, should a better service came along that provided a better grammar checker, spelling checker, or text formatter within a Internet Word Processor application, then the user would have total freedom to swap out any component of the ISApp and configure it as he or she pleased. Service releases, updates and patch pushing would be a thing of the past. Or how about an application that without human intervention managed your travel itinerary whilst you were travelling through the intelligent orchestration of services working to your basic business rules, making sure everything is running smoothing, or as Dan Ferguson suggested, ‘running in the cloud’ with your IOS now being part of the cloud as well.