Thursday, December 14, 2006

Satyanarayanan talk

I'm connected on wireless and ready to blog!

Towards Seamless Mobility on Pervasive Hardware
M. Satyanarayanan
School of Computer Science
Carnegie Mellon University

Satya is now talking. Ah yes, Satya is taking back us now 10-15 years ago, I see what he's going to say, it's the dream of mobile computing which we have accomplished. We have arrived at this stage because of the phenomenal hardware progress. The first portable hardware (albeit very large) was the Compaq Luggable. Also, we have had great progress with networking and communications, with Wi-Fi being ubiquitous. What else is going to happen in the world? Computers have gotten really cheap now, the hardware is almost free. How will almost-free hardware change our world? Just like how free software (open source) has significantly changed the software development and software landscape. Satya says that almost-free hardware will lead to seamless mobility. He's now comparing things that are portable and pervasive, the difference between "carry" and "find". Air is pervasive, light is pervasive, water is pervasive (or could be portable if you bring from home). There are many resources that have become part of our daily lives (ie. pervasive). Pre-2000, the phone was pervasive in that you could find public phones everywhere. Now (post-2000), the phone has become portable. Personal computing is now portable. What personal computing will be, it will become pervasive. So, the key observation is that "find" means the resource is available at all visited locations, and "carry" means there is reasonable doubt or risk at least at one location. Can we achieve the same transformation (that ubiquity can substitute for portability) with personal computing? This is a more harder problem, and has interesting research issues.

The observation is that laptops can be suspended and resumed, using the same laptop. For example, I bring my laptop on the GO train and I work on it, then I put it in suspend mode, and when I come back home, I can open the laptop and continue the work where I left off (like for example my depth oral document which I passed! :)). So, the question is that can we mimic this suspend/resume mode of laptops with personal computing, so that I can continue where I left off but using a different device and not the same laptop. This is similar to what my Masters thesis dealt with, which was addressing service invocation and roaming in pervasive-computing environments, being able to continue accessing a service without interruption when moving to a different network or different location. Personal productivity applications have ballooned because customization is what people do to make their computer their own, and make them most productive.

If we go back to the past with timesharing, what is missing in today's world, is that in the past with mainframes, you could use any "dumb" terminal. This is kind of similar to Sun's SunRay product, where all the resources are on the network and you just log in to any SunRay computer using a smart card and login and get access to your resources and data. So, the challenge is that we maintain the good aspects of the personal computing world, and combine that with being able to utilize resources from anywhere and seamless access data. Why does seamless mobility matter? When there is a glut of information, there is a scarcity of attention, this was made by Herb Simon, a former colleague of Satya's. Human attention is finite when talking about cognitive tasks. Seamless means having to be familiar, which has low distraction, which translates to higher productivity. Ah, yes, he finally mentioned Mark Weiser, I was waiting for that. Higher productivity happens when the seamless becomes ubiquitous in the sense that the cognitive aspect is very low. Any technology that is going to be ubiquitous, needs to be resilient and low maintenance.

So, how do we achieve this seamlessness so that it sinks below our cognition, and just comes naturally. One approach is to use a thin client, like SunRay and VNC. The thin client approach is good except it is not resilient to the network. Another approach is distributed file system. It can be very resilient with network failures, but they are imperfect with respect to ubiquity and seamlessness. Process migration can also be used but have low ubiquity. Language-based mobility is high in seamlessness but medium in the rest of the features. What are the features for an ideal solution? We need high seamlessness, solution generality, network resilience, ubiquity, volume of state xfer, and solution complexity.

This is where Satya proposes using internet suspend/resume. So, the vision is suspend anywhere, resume anywhere, and that "any computer is your computer", your entire personal state is centrally managed. Their strategy is to layer a virtual machine on a distributed file system. Virtual machine technology has largely matured over 5 years. The ISR client architecture looks like the following:

--------------------------
| Guest Aps |
| guest os |
| virtual machine |
| virtual machine monitor |
| isr client code |
| linux |
| x86 box |
|
ISR storage and control servers

The client architecture also uses portable storage like a USB key, so you store your state on your USB keychain. How they do it is to use lookaside caching. Using portable storage is more robust, according to him. They have started the ISR project since 2001 and has gone through 3 stages. They are not looking at the testing the deployment of ISR with users. A new version of the system is being created called OpenISR that is agnostic to the virtual machine, use a transient thin client mode (which is being developed together with Eyal de Lara and Andres Lagar-Cavilla at U of T), guest-aware migration, cross-parcel data sharing, and trust sniffers.

He's passed through the performance slides, because he's running out of time.

"The most successful technologies have low usage complexity, in spite of substantial internal complexity" - Alfred Spector, VP of Software Systems and Services, IBM Research, October 2003, ACM SOSP Invited Lecture

He says that ISR fits this description perfectly, and naive users "get it", the look and feel of the PC is preserved. The wallet is a good example in that, we need to think "wallet", and not "swiss army knife" which is what the mobile computing world is going to (eg. cell phone, camera, video into the same device).

An important question is that now we see web-based applications like GMail and Google Spreadsheets and Documents and AJAX application. Does this hurt ISR? Satya's response is that the web-based applications require instant connection to the network, whereas with ISR, you can continue working on your own device because there will be disconnected operations. Isn't that what pervasive and ubiquitous computing is all about, being able to work disconnected like I am right now (with no internet access) or when I'm connected (like I'm returning back to my office)?

On Technorati: , , , pervasive computing

No comments: