Mobile cloud computing
Devices, trends, issues, and the enabling technologies
Katerina is enjoying a nice meal in a local restaurant when her Apple iPhone beeps to indicate that a message has arrived. She checks to find a tweet from her company's mobile cloud saying, "URGENT! Dief3 Chilis60201 Needs Water!" One of the dieffenbachias at the Chili's restaurant in Evanston needs watering and has tweeted its status via the restaurant's Wi-Fi connection to Cardoon, LLC. Cardoon is an indoor landscape design and maintenance company that relies heavily on its presence in the cloud to coordinate and manage its plant care specialists.
This scenario is fictional, but the technology mentioned is not. A real company named Botanicalls manufactures a device that can be installed in a plant's pot and contains both a moisture sensor and the hardware necessary to send an SMS message to a local Wi-Fi for delivery to an address in a mobile cloud account.
Mobile cloud computing is also not fictional. In fact, it's one of today's hottest new technology markets. Gartner predicts that mobile cloud computing will reach a market value of US$9.5 billion by 2014.
Thanks to the success of companies like Amazon and SalesForce.com (and of course IBM and the developerWorks Cloud zone), many people are familiar with the term cloud computing. However, fewer people understand how mobile cloud computing is different. Mobile cloud computing shares with cloud computing the notion that some level of services is provided by a cloud and accessed by mobile platforms. This article discusses the current state of mobile cloud computing and the services provided, describes key mobile cloud elements, presents important issues, and discusses relevant trends.
The current state of mobile cloud computing
To better understand mobile cloud computing, it helps to know about cloud computing in general. (See Related topics for links to detailed discussions of cloud computing.) The two key features important here are:
- Cloud computing enables convenient, on-demand network access to a shared pool of configurable computing resources (such as networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
- There are three basic models of cloud service: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).
Mobile cloud computing was defined in a 5 March 2010 entry in the Open Gardens blog as "the availability of cloud computing services in a mobile ecosystem. This incorporates many elements, including consumer, enterprise, femtocells, transcoding, end-to-end security, home gateways, and mobile broadband-enabled services." (A femtocell is a small cellular base station.)
Let's start with a look at mobile platforms.
Platforms: smart phones
A femtocell might be an interesting part of a "mobile ecosystem," but the elements of interest here are smart phones and tablets. Of these, by far the most ubiquitous platforms are smart phones. Tablets are newer and just beginning to pervade the market.
There are many smart phone manufacturers, but the devices themselves can be grouped by operating system. The most-used mobile operating systems are the Research in Motion (RIM) BlackBerry operating system, the Windows™ Mobile® operating system, Nokia's Symbian platform, and UNIX® variations such as Google Android and Apple iOS.
The BlackBerry operating system, developed by RIM, is a proprietary mobile operating system. For application developers, it offers a Java™ development environment that includes a BlackBerry IDE, a smart phone simulator, and APIs for Java Platform, Micro Edition (Java ME) and BlackBerry. Applications are distributed through BlackBerry App World and third-party vendors such as MobiHand.
The Android mobile operating system is built on a modified Linux® kernel. Initially developed by Android, Inc., and bought by Google in 2005, Android development and maintenance is now performed by the Android Open Source Project led by Google. Android application developers write code mainly in the Java language using the Android SDK, which includes an emulator of a run time environment for testing and debugging. Applications are distributed through the Google Android Market and other distribution channels, such as GetJar and Handango.
Apple iOS is derived from Apple Mac OS X, which itself is a set of UNIX-based
operating systems and GUIs. Developers build applications—mainly in
C—using the Apple iOS SDK, Xcode,
and Interface Builder. Applications are distributed through Apple's App Store,
which currently contains more than 300,000 applications.
The current Windows Mobile proprietary operating system is called Windows® Phone 7, which is a successor to the Windows Mobile operating system. According to Microsoft, Windows Phone 7 was designed for the user experience instead of enterprise support. Developers write code to access the device through its APIs, but some APIs are not yet available, such as a compass API, a video API, or a sockets API. Applications are distributed through the Windows Phone Marketplace.
The Symbian platform is an open source operating system designed for Nokia smart
phones. It uses a proprietary operating system services layer, with a Java ME
application services layer. Application developers write code in
C++, the Java language, and Perl and use an SDK
that can be customized for the IDE the developer intends to use.
Recently, Nokia and Microsoft announced a pact to adopt Windows Phone 7 for Nokia's phones. An announcement from Nokia suggests that it will take about a year for Nokia phones running Windows Phone 7 to appear on the market and that 2011 and 2012 will be transition years for smart phone sales. Symbian-based smart phones will be phased out as Windows Phone 7 smart phones begin to appear.
Tablet computers are larger than a smart phone but interact with the user in much the same way, using a touchscreen as a primary input device. They often don't have a keyboard. Unlike laptops, they are single-user personal devices; however, tablets access the cloud in the same manner as smart phones. As of the end of 2010, the top-selling tablets were the Apple iPad and Android tablets made by Samsung, Motorola, and Acer.
Visitors at the Consumer Electronics Show in Las Vegas, Nevada, in January 2011 saw a rain of tablets that will enter the market in 2011. Many will be based on the Android operating system. RIM will introduce its BlackBerry PlayBook, which uses the BlackBerry Tablet OS. Motorola will introduce its Android-based Xoom tablet. Apple will release its second- and third-generation iPad tablets. Expected improvements include a dual-core processor, a higher-quality display, a front-facing camera, and an SD card slot.
Companies are being driven to the mobile cloud by demand. Customers are demanding smart phone and tablet applications so they can access companies' key applications. Employees are demanding access from their mobile devices. BlackBerry capitalized on this need with its popular cloud-based mobile e-mail program.
Work patterns and habits are also changing because of the mobile cloud. Experts surveyed by the Pew Internet Project think that by 2020, most people who use the Internet will work primarily through cyberspace-based applications on remote servers accessed through networked devices. Increased access to company computing assets also brings an increased security risk, however. Companies are now considering data use policies. For example, geolocation data available from a mobile platform might allow access to be declined if a mobile user is out of the country. Security already implemented by cloud providers is one more available service that customers can configure to satisfy the their enhanced security policies.
Along with changing patterns and work habits, the mobile ecosystem consists of many devices. IBM predicts that by 2015, there will be 1 trillion cloud-ready devices. The opportunities seem to be endless for exploiting the information those devices will be able to generate. One current example is offered by parking structures employing smart parking meters that can send messages to drivers about empty spaces.
Another trend points to the mobilization of money through the mobile cloud. For example, the company TabbedOut has created a service that allows people to use their smart phones to open, review, and pay tabs. Starbucks recently began allowing customers to pay for purchases with an application that accesses the customer's account and generates an on-screen bar code that the cashier scans to complete the payment. The customer's Starbucks account is replenished with a credit card or PayPal account.
A notable issue with the mobile cloud is the resource poverty of mobile devices. Compared to desktop computers, they have less screen real estate, less memory, less compute power, and battery capacity limits. Because of the resource poverty, the mobile cloud is most often viewed as an SaaS cloud, meaning that computation and data handling are usually performed in the cloud. Smart phones often access the cloud through web browsers or thin clients.
Latency and bandwidth affect the mobile cloud, as well. Wi-Fi improves latency but may decrease bandwidth when many mobile devices are present. Bandwidth for 3G cellular may further be limited by cell tower bandwidth in some areas. Similarly, connectivity may be intermittent. As cellular providers build out their networks, the situation will improve, but dead spots won't completely disappear.
Security issues increase with mobile devices. After all, it's easier to lose a mobile device. What if that device contains sensitive data just downloaded from the cloud? Hopefully, years of experience in the computer industry and cloud computing mean that mobile is not far behind in resolving these issues.
The growth of the mobile computing market will be enhanced by a wide range of enabling technologies. The impact of the broad introduction of tablet computers throughout 2011 could be an added motivator for advancements, as well.
Certainly, one of the biggest enablers will be the full roll-out of 4G technology, which will help with issues of latency and bandwidth. For example, Samsung introduced the Yes Buzz 4G cloud phone in Malaysia in January 2011. It has no SIM card and allows contacts to be saved and synchronized on the Internet.
In February 2011, Motorola introduced the Atrix, a 4G phone with a fingerprint reader for use in unlocking the phone. It also fits into an optional dock that connects to a keyboard and mouse, converting the phone into a laptop. Reports say this new phone is buggy, but Motorola claims that it shows how we'll be using mobile devices in 10 years. The Atrix began shipping in March 2011, following pre-orders in February.
HTML5 and CSS3
HTML5 is an important step for mobile web applications. HTML is a document publishing markup language that provides a means of specifying web page elements such as headings, text, tables, lists, and photos. Enhancements that HTML5 introduces address the need for web application support. HTML5 also allows specification of offline support, which makes local storage possible, helping with connectivity interruptions. It also adds canvas and video features, enabling graphics and video without plug-ins. HTML5 features improvements in forms specifications that benefit mobile applications. In addition, HTML5 often comes with a geolocation API.
One example of an HTML5 benefit is the ability to watch a video without a plug-in like Adobe® Flash® or Microsoft® Silverlight™. Another example is the ability to store and access data such as e-mail messages and calendars, which helps make web applications more useful.
CSS3 works with HTML5 to specify how elements of a page should be rendered. An HTML specification tells a web browser what to display, and a CSS specification tells the web browser how to display it. New elements in the HTML5 specification require new guidance to display them—hence the need for the new version of the CSS standard.
Both HTML5 and CSS3 are still under development, but some of their features are being implemented in browsers such as Apple Safari and Google Chrome. Sample web sites can be found at CNN.com, The New York Times, and Vimeo. HTML5 features are also implemented in hybrid application frameworks like Phone Gap, QuickConnect, RhoMobile, Titanium, and Mobile. These frameworks are helping to enable cross-platform development for mobile devices.
Another enabler for cross-platform applications is an embedded hypervisor, which allows a web application to run on any smart phone without being aware of the underlying architecture. The hypervisor allows other software to run in a virtualized environment.
Mobile platforms require the hypervisor to be built in. For example, the Motorola Atrix has an embedded hypervisor that allows it to run a wider range of applications, not just those developed specifically for it.
If you expand the view to include devices like the femtocell mentioned earlier, then you can talk about cloudlets, which promise to help with the latency issue in mobile cloud computers. Wi-Fi hotspots and other local devices can be equipped with local processing and storage.
A cloudlet is a small, simple device that resides nearby—maybe in a coffee shop. When needed, the device downloads user data from a centralized location, permitting local access by the user and thereby reducing latency. When finished, the user data can be returned to the centralized location, if necessary. This process occurs invisibly to the user, except that the user is pleased with faster response.
The tweeting dieffenbachia mentioned at the beginning of this article is an example of an ongoing development called the Internet of Things—a phrase coined by a research group at the Massachusetts Institute of Technology. It is also called Machine to Machine communication and refers to communication through the Internet between non-phone, ordinary objects providing information about their surroundings and activities.
Humans can also be a part of this phenomenon, as in the example of answering the question, "What are you doing?"—the reason behind Twitter, of course. In this case, your smart phones and feature phones become like sensors conveying to the Internet information you supply about your surroundings and activities.
Another term for the Internet of Things is Web 4.0 and sometimes, the Symbiotic Web. One writer describes the phenomenon as the migration of online functionality to real-world objects, as in the example of being able to run a Google search of your home to find the TV remote control. The existence of this phenomenon is not so much an enabling technology as it is a driving technology for mobile cloud computing.
After Katerina received the dieffenbachia tweet in our fictional example, she checked her schedule, which was cached locally on her iPhone from when she had accessed her schedule earlier in the morning. She saw that the Chili's in Evanston was not on her schedule for the day, but she could stop by to check the situation at a later point in the day when she would be nearby. However, upon accessing the company database of schedules in the cloud, she saw that Mauricio would be closer to that Chili's, so she coordinated with him to handle the problem.
This example helps illustrate how the mobile cloud works. Clearly, the technology is new and poised for rapid growth along with the growth in mobile devices, cloud technology, and enabling technologies. But cloud computing is not so much a new technology as a new way to deliver existing services—specifically, a new way to deliver existing services driven by the demands of new technology such as smart phones and tablets.
- Learn more about cloud computing.
- Use your Safari browser to interact with media delivered by HTML5 and CSS3 without the need for plug-ins.
- Learn how to Create offline Web applications on mobile devices with HTML5
- In IBM Cloud Computing, get valuable business advise to enhance performance and efficiency in the cloud.
- Read a collection of reports that outline the future directions of cloud computing from a symposium held in Brussels on 23 January 2010 titled The Future of Cloud Computing.
- Read Cloud Computing—A Primer for a basic understanding of cloud computing.