First login on iCloud OS
August 31, 2008 - 11:49 am - by Santo LetoOn August 22 2008, after reading a post by Lewis Cunningham, I did for the first time a quick evaluation of iCloud, an Internet Operating System by Xcerion.
From a User prospective, an O.S. is a set of applications and a kernel - i.e. the basis on which other applications run. An Internet O.S. is an O.S. that runs in the cloud. You have to image a Desktop with its own icons and a “start” toolbar - running on your browser.
When you double-click on an icon the application linked by that icon will be opened. You can move the window, resize it, maximize it and minimize it - all within your browser.
If you maximize you browser (F11 if you use Internet Explorer) an external observer has no way - by looking at the GUI - to distinguish if on your PC you are running a local (standard) O.S. or an Internet O.S. because the User Interface of an Internet O.S. is very similar to that of a standard O.S.
Typically you use the browser to access and read a web page or to communicate with other people through social networking sites.
Whether you are connected to a static or a dynamic web page, you have the idea of an .html (or .php) page that you can refresh or scroll up and down using your mouse. An Internet O.S, instead, allows you to open applications. You can open a shell, a software to create a presentation or a business plan, a ‘media player’ to listen your preferred radio and of course, a browser to surf the Internet:
So with an Internet O.S. you can use the applications installed on it rather than read (or write) web pages. Indeed you probably are already using applications running on your browser. There are many server-side languages that allows you developing Internet application. Try think for instance at the admin interface of your CMS or at some web-based tools for the administration of your database.
The main difference is that those are for specific functions (the administration of a database, for instance) while in the Internet O.S. you can use a set of several applications - at once. You can write your presentation listening your preferred radio or communicate with your friends through I.M, as I wrote above.
A static page contains html tags - defined by international standards - interpreted by your browser. A web based application that use a script server-side language (like php) contains block of code that are executed “by” the web server “on” the web server and not on your browser. You typically see the output of the code execution - formatted using html tags so that the output can be interpreted by your browser.
I am not an expert on this field but to simplify we can argue that the main difference between Internet and Grid (or Cloud, as it seems that this is a widely used term even if [..grid computing is often (but not always) associated with the delivery of cloud computing systems..]) is the following. Internet is “sharing of data”. Grid is sharing of heterogeneous computational resources.
Sharing of data means that you can create a web page and put information on it so that other users can read it or you can upload a file on your site so that Users can download it. As we seen you can also create a web application. But this is a vertical process: developers create applications and you - User - use it.
Sharing of computational resources means that *you* can create an application to be submitted to the Grid. Grid executes the application, calculates the result and then alerts you (by email, for example). You use Grid because you don’t have the computational resources needed by your application to run.
Sharing of computational resources, of course, also means implementing a set of rules that define what users can do or don’t do, a set of standardized protocols that define how users can use the grid and how resources (computational elements (CE), storage elements (SE), ..) have to be added (or discovered) in the Grid (or by the Grid). Also you should develop applications that make the use of these resources transparent for the Users (metadata catalog (MC), for example).
Between you and the Farm that executes your calculation (application) there is a layer - for example the Sun Grid Engine (SGE) - which takes care of schedule the execution of your “job”.
So the question is: when you use an Internet Operating System are you in Internet or in Grid? In other words are you using just a web application like phpmyadmin (for the administration of the MySQL database from web) or the admin panel of your blog?
I guess that your are using a nice GUI of Grid because if the Internet O.S. has a Application Designer - as iCloud has - you can develop an application - like I did on a Fig. above - and run it on your browser using the computational resources of the webfarm your are connected to. You can develop an application on the Internet O.S. and run it: this could be considered similar to the development of a job to be sent to SGE for the execution on the Computational Farm.
In Internet Users can’t create application but can only use application already developed by other (like phpmyadmin). To be honest there are already some applications running on Internet that a User can use to create other small applications to be embed in social network sites (SUN for example offers you this service).
But does it make sense trying to write a list of differences between Internet and Grid?. I’m not sure about that. Grid, indeed, contains Internet, it’s the evolution of Internet.
Let’s come back to iCloud.
I am new to this kind of Internet O.S. I didn’t use any other Internet O.S. in the past than iCloud so I can’t do comparison at this moment. But so far I think that iCloud is an impressive system and that this kind of systems will be used widely on next future.
One of the main pro of iCloud is that you don’t need to install it on a PC and you can log on it from anywhere - just using a browser. You can use an “old” PC with an “old” processor because the software is not running on your local PC so it is not using your local resources (RAM and CPU).
If you are using an email system like Yahoo! Mail or Gmail, you know that you can read your emails from anywhere - you don’t need your own PC but your can use a PC located at an Internet Point or at your University. Now try to extend this concept and image what would be if you can access your desktop - your customized theme - your set of installed applications and your documents (presentation, text files, …) from anywhere!
In general I think that an important role for the success of an Operating System is in the hands of the 3rd party applications. If you are developing an O.S. you would create a set of API and development tools to be used by 3rd party software houses to create applications for your O.S. (Just a note. I said that Users choose S.O. on the basis of 3rd party application. Of course if you are a system admin and you would set up a Web Server or a Database Server - or in general a network infrastructure - you probably would choose your O.S. on the basis of stability and security. Each O.S. has its pros and cons and in general you have to choose your system on the basis of your needs.)
Four years after testing some grid services for the implementation of a ‘Metadata Catalog’ for Monte-Carlo data of large high energy physic experiments, here we are (Monte-Carlo data=data created by a simulation software): I am using a complete O.S. running on a browser and I can’t wait start developing applications for Internet O.Ss!

