Enter the Cloud Phone

Vish Nandlall Tweet this del.icio.us 5,113 views
Vote This Post DownVote This Post Up +5 rating
 
Loading ... Loading ...

[With the adoption of SaaS applications, augmented reality, visual recognition and other next-gen phone apps, the smartphone processing model is looking for help from the Cloud. Guest author Vish Nandlall introduces the concept of the Cloud Phone and the technology advances that can make this happen]

Are smartphones converging with laptops ? While smartphones enable a rich user experience, there exists an order of magnitude gap in memory, compute power, screen real-estate and battery life relative to the laptop or desktop environment (see table below). This disparity renders the whole question of smartphones vs laptops an apple vs oranges debate. It also begs the question: can the smartphone ever bridge the gap to the laptop?

Smatphones Laptops
Apple iPhone 4 HTC EVO 4G ASUS G73Jh-A2 Dell Precision M6500
CPU Apple A4 @ ~800MHz Qualcomm Scorpion @ 1GHz Intel Core i7-720QM
@ 2.80GHz
Intel Core i7-920XM @ 2.0GHz
GPU PowerVR SGX 535 Adreno 200 N/A N/A
RAM 512MB LPDDR1 (?) 512MB LPDDR1 4x2GB DDR3-1333 4x2GB DDR3-1600
Battery Integrated 5.254Whr Removable 5.5Whr 75Whr 90Wh

Source: vendor websites

As a matter of physics, the mobile and nomadic/tethered platform will always be separated along the silicon power curve – largely driven by physical dimensions. The laptop form factor will simply be able to cool a higher horsepower processor, host a larger screen real-estate and house a larger battery and memory system than a smartphone.

Does a smartphone need to be laptop ?
Yes it does…or, at least, it soon will. The low-power constraints of mobile devices have been the official Apple argument behind the recent Apple-Adobe feud – and Apple’s acquisition of PA Semi is a further testament to the importance of the hardware optimization in mobile devices.

The processing envelope for mobile applications is becoming stretched by the demands of next-generation mobile applications; always-on synchronization of contacts, documents, activities and relationships bound to my time and space; the adoption of Augmented Reality applications by mainstream service providers that pushes AR into a primary ‘window’ of the phone; advanced gesture systems as MIT’s “sixth sense” that combine gesture based interfaces with pattern recognition and projection technology; voice recognition and visual recognition of faces or environments that makes mobile phones an even more intuitive and indispensible remote control of our daily lives.  All these applications require the combination of a smartphone “front-end” and a laptop “back-end” to realise – not to mention having to run multiple applications in parallel.

The appearance of these next-gen applications will also create greater responsibilities for the mobile application platform: it is now important to monitor memory leaks and stray processes sucking up power, to detect, isolate and resolve malicious intrusions and private data disclosure, and to manage applications which require high-volume data.

So we come back to the question, is there a way to “leapfrog” the compute and memory divide between tethered and mobile devices? The answer, it turns out, may lie in the clouds.

Enter the Cloud Phone
The concept of a Cloud Phone has been discussed oftentimes, most recently being the topic of research papers by Intel labs and NTT DoCoMo technical review.

The concept behind the Cloud Phone is to seamlessly off-load execution from a smartphone to a “cloud” processing cluster. The trick is to avoid having to rewrite all the existing applications to provide this offload capability. This is achieved through creating a virtual instance of the smartphone in the cloud.

The following diagram shows basic concept in a nutshell (source: NTT DoCoMo technical review)

The Cloud Phone technology has been brought back in vogue is due to advancements in four key areas:

  1. Lower cost processing power; Compute resources today are abundant, and data centers have mainstreamed technologies for replicating and migrating execution between and within connected server clusters.
  2. Robust technologies for check-pointing and migrating applications; Technologies such as live virtual machine migration and incremental checkpointing have emerged from the classrooms and into production networks.
  3. Reduced over-the-air latency; the mobile radio interface presents a challenge in terms of transaction latency. Check-pointing and migration requires latencies on the order of 50-80ms – these round trip times can be achieved through current HSPA, but will become more realistic in next-generation LTE systems. Average latencies in a “flat” LTE network are approximately 50ms at the gateway, which suddenly makes the prospect of hosting the smartphone application on a carrier-operated “cloud” very much a reality. Note that past the gateway, or beyond the carrier network, latencies become much more unmanageable and will easily reach 120ms or more.
  4. Mobile Virtualization; this technology offers the ability to decouple the mobile OS and application from the processor and memory architecture, enabling applications and services to be run on “cloud” servers. This has become an area of intensive research in mobile device design, and was covered in an earlier article by OK Lab’s Steve Subar.

A cloud execution engine could provide off-loading of smartphone tasks, such as visual recognition, voice recognition, Augmented Reality and pattern recognition applications, effectively overcoming the smartphone hardware and power limitations. This model would also allow key maintenance functions requiring CPU intensive scans to be executed on a virtual smartphone “mirror image” in the cloud. This would also facilitate taint checking and data leak prevention which have been long used in the PC domain to increase system robustness.

Another consequence of the Cloud Phone model is that it provides a new “value-add point” for the carrier in the mobile application ecosystem. The low latency limitations will require optimizations at the radio-access network layer implying that the network carrier is best positioned to extract value from the Cloud Phone concept – plus operators can place data centres close to the wireless edge allowing very low latency applications to be realized. This doesn’t rule out a Google entering into the fray – indeed, their acquisition of Agnilux may well signal a strategy to build a proprietary server processor to host such Cloud Phone applications.

The raw ingredients for the Cloud Phone are falling into place; more users are driven towards SaaS based phone applications, and HTML5 is being adopted by handset OEMs. There is no shortage of applications waiting to exploit a cloud phone platform: in July alone, 54 augmented reality apps were added to the Apple App Store. Google has also broken ground in the Cloud Phone space with Cloud to Device Messaging which helps developers channel data from the cloud to their applications on Android devices.

What other Cloud Phone applications do you see on the horizon? When do you see Cloud Phones reaching the market?

- Vish

[Vish Nandlall is CTO in the North American market for Ericsson, and has been working in the telecoms  industry for the past 18 years. He was previously CTO for Nortel’s Carrier Networks division overseeing standards and architecture across mobile and wireline product lines. You can read his blog at www.theinvisibleinternet.net]

9 comments print Tweet this del.icio.us
Subscribe to our monthly newsletter for the latest industry insights and the hottest articles from our blog
29Aug2010
Tsahi Levent-Levi

Vish,

I do not agree with you on this one.

The same article could have been written 10 years ago about laptops and PCs, but people still prefer laptops over PCs today – even though there is still a computation gap between the two. The same will happen for the smartphones.

Computation power costs less than bandwidth when it comes to mobile, at least today. This means that while cloud computing is important for smartphones – it is not important in order to realize features that are CPU intensive, but mostly to realize services that make more sense in the cloud – those that require a lot of data, social media or just real-time information.

I'd say that the CloudPhone is already here – Android OS is moving that way as well as the iPhone's latest set of features. The successful mobile applications are cloud-based services. That said, it really has nothing to do with the limited horse power of these phones.

Tsahi

 
30Aug
Gabriel

the CloudPhone is the future and present. Android is a good example of that, them succesfull are cloud-based services. Smartphones could replace a laptop in some many ways, for example, view-edit documents, surfing web, view pictures and videos, sync email, keep informed, etc…

 
30Aug
Wayne Keenan

how long before Apple enables XGrid in their iOS devices? Not just on the move, but for when people are at home on their wifi manipulating 'heavy' content and/or playing CPU intensive games ?

http://en.wikipedia.org/wiki/Xgrid

 
31Aug
Vish Nandlall

Some great comments so far ! Let me provide a few responses:

Tsahi,

I think you make some valid points about the evolution of the PC to laptops. My contention is that cloud-based offload will form the triggering event to create a parity experience and accelerate the transition. You mention computation and bandwidth, but you left out a key variable: battery lifetime. The notion of cloud phone allows an optimization between these three constraints.

Let's consider two scenarios:

1. Many applications are computation intensive, for instance taint-checking, these computation can be performed in the cloud.

2. Other applications can run on a mobile system. However, they consume significant amounts of energy. These applications include image retrieval, voice recognition, gaming, and navigation.

What the cloud phone could allow is to save energy for mobile users through computation offloading. Cloud computing can also save wireless bandwidth given there is no longer a need to send the data over the wireless network; it suffices to send a pointer to the data.

The notion of exploiting virtualization as a means to implement the functionality lets applications from different customers run on different virtual machines, thereby providing separation and protection.

Gabriel,

Excellent points, I think we are alerady in the middle of the cloud phone evolution at an application level. The ideas in this post, anticipates creating a policy function which can determine when to offload from a client to a cloud based compute engine "transparent" from the application itself (i.e. the apps developer would not need to consider calling an offload "api" – it would happen based on a policy engine that decides it makes sense to conserve battery, or reduce bandwidth).

Wayne,

XGrid would be an interesting distributed computing protocol to exploit the concept of a cloud phone, its been a while since I've seen it in action, do you think it can handle the application migration across a wireless interface ?

Best Regards,

Vish Nandlall

 
01Sep
Dror

My gut reaction was the same as Tsahi, the gap between cell and laptop is very similar to the one between desktop and laptop ten years ago, and the laptop won.

Additionally, we expect to be able to do everything on our laptop that we do on our desktop. That's not true about smartphone, because the reduced form factor. We don't expect to create complex documents, Powerpoint presentation or use Photoshop.

We do need to consider, however, that we've made much progress in virtulatization, and that there are specialized areas where we will want to use more power than the device offers. Already, Google's voice search sends the data from your phone to google to be processed.

 
02Sep
Chuco

I'm writing this in a rush, but i hope my point gets through. I will follow up if necessary. What the desktop vs laptop argument is missing is the fact that the big difference was solely in power. In every other respect, particularly screen real estate, it was reasonable. The power in today's laptops in all respects is no longer an issue and screen real estate parallels desktops, not to mention you can connect a laptop to any monitor. The difference between phones and laptops/desktops is much greater. I don't believe a phone can be compared to a laptop or a desktop in any way outside of giving minor Internet-related access and data moving conveniences. Try working with an excel or word doc in a phone's viewer. Sure it can be done, but it hurts! For me a phone will not replace a laptop or desktop until it can be continuously run on power and be connected to normal peripheral devices for normal use.

 
04Sep
Chuco

BTW, Dror makes an excellent point about how we don't expect phones to do eveything a laptop does and that alone makes the comparison of desktop to laptop the same laptop to phone a moot. I do agree that it will have it's own unique usage that will not replace the laptop unlike laptops are/will most definitely replace desktops.

 
04Sep
Peter Cranstone

Hi Vish,

Have to agree with you on this one. We started working on the concept of a cloud phone 4 1/2 years ago. Instead of building pure mobile apps we focused on what would be needed for a mobile browser to support a "desktop" web app. Here's an example of just one of the problems we've overcome.

If you talk to all the experts there is currently no known way to accurately measure HTTP web traffic performance on mobile. This is a critical component going forward. As a developer I have to know how fast my pages are loading in the Mobile browser.

Well now there is a way to measure performance inside the mobile browser http://www.5o9mm.com/android/developers/http/wate

What's fascinating about the screen shots above is the very last two. In it you can clearly see one of Google's own static image servers not delivering the image fast enough.

This is just one of the tools you're going to need for a cloud compute phone. We're in the process of modifying the code for this so that you'll now be able to see how well your web page loads in whatever geo-location the phone is in, and how different carriers perform as well.

Your vision is correct. There will be a cloud phone – but not with out the tools to measure how well it performs.

Cheers,

Peter

5o9 Inc.

 
05Sep
Christian Nord (@qri

I'm still undecided on this one. I find it hard to believe in the concept of virtual instances of my phone running somewhere else.

I do fully believe in the concept of the phone being always on-line and as such being a native cloud citizen, offering resources as well as using resources. I tend to agree with others here that many successful apps today are really front-ends to cloud services.

So, the services you connect to your phone will determine how "smart" it is. This is largely built on the concept of service interaction, where we today rapidly and continuously develop new open API:s and mash-ups thereof.

 
06Sep