Defining the Mobile Cloud

publicyardMobile - Wireless

Dec 10, 2013 (3 years and 11 months ago)

91 views

Defining the Mobile Cloud

16
-
18 August 2010

Steven A. Warner, Ph.D. and Alexander F. Karman

Northrop Grumman Information Systems

NASA IT Summit 2010

Key Questions


What is “mobile cloud computing”?


Accessing the “cloud” with mobile devices?


Mobile devices becoming part of a larger cloud construct?


How does mobile cloud computing differ from other forms of cloud
computing?


Location
-
variable


Perishable user demand


Answer
-
based, not document hit list
-
based services


More difficult to anticipate the need for a particular service


Location
-
aware and proximity
-
aware applications


Small screen real estate and small physical interface make interaction difficult


Network latency and dynamic routing challenges

Cloud
Computing
Framing
Concepts

VERY Brief Definition of Cloud Computing


NIST.GOV definition
: Cloud computing is a model for enabling available,
convenient, on
-
demand network access to a shared pool of
configurable

computing resources (e.g., networks, servers, storage, applications,
services) that can be rapidly provisioned and released with minimal
management effort or service provider interaction.


This is a user
-
centric view and highlights:


Access method = availability, convenience, on
-
demand,
via

network,


Computing method = shared pools, configurable virtualized resources,
including application, storage, and print


Setup = rapid provisioning/release, dynamic scalability, minimal management
and service
-
provider interaction


“Pay
-
per
-
use” where relevant (differs from “hosted” environments, where model is
“pay for maximum capacity”)


Not a technology but a means for using technology (or façade for the user)


Treats IT more as a utility than as a capital expense (etc.) that must be managed
and upgraded



4

Cloud Computing Delivery Models


Good industry agreement on three major layered models:


Software
-
as
-
a
-
Service (SaaS) Clouds, where an application
environment is provided


Platform
-
as
-
a
-
Service (PaaS) Clouds, where an application
development platform is provided


Infrastructure
-
as
-
a
-
Service (IaaS), where infrastructure
capabilities such as storage or a bare operating system are
provided


Within each model there is the dimension of ownership:


Public (someone else owns it outside of the enterprise


either
hosted or open)


Can be either a consumer or enterprise market model


Private (the enterprise has sole ownership)


Focus is enterprise, not consumer market


Many dimensions to private, the “enterprise” can potentially
include groups of enterprises, special interest groups, etc.


5

Diagram courtesy of

Cloud Security Alliance

The Virtual Private (“Hybrid”) Cloud

Private Cloud

(Internal)

Private Cloud

(External)

Non
-
Cloud
Local

Applications

External
Hosted

Applications

Community
Cloud

(External)

Public Cloud

(External)

Public Clouds

(External)

Public Clouds

(External)

The Virtual Private Cloud is the aggregate of all the above environments.

Enterprise

Partners

Inter
-
Cloud Access

Inter
-
Cloud

Access

Communications Circuit

(dedicated, Internet, etc.)

Public Clouds

(External)

Can We Build a
“Mobile
Cloud”?

The Range of Mobile Devices


Smart Phones


Laptops, “Net
-
books”, iPads


Sensors


Embedded Systems (e.g. RFID Readers, Biometric Readers, OnStar)


Satellites

Building Mobile Apps is Hard


Perishable User Demand (== Requirements)


I want “it” now (or not at all)!


“It” may be simple or very ambitious


Need to anticipate needs by manufacturers, developers, service providers, and users


Mobile users want computed answers, not document hit lists (e.g., Wolfram|Alpha)


Whatever you give me now I will want more than that tomorrow (and will throw away what you
gave me today)


Technology


Resource Poverty, Form Factor and Immaturity


Mobile devices have improved but they are still resource
-
constrained (CPU, RAM, screen
real
-
estate, battery capacity)


Network bandwidth and latency issues exist


the former will improve but the latter likely
won’t


Development tools and paradigms are not up to the capability demand


Lack of Standards


Cloud industry has only the beginnings of standardization emerging


The mobile device industry is still where the computer industry was in 1990


Variety and Volatility


Remember the Treo?


Too many choices (iPhone, WebOS, Windows Mobile, Android, Blackberry, etc.)


Vendors can’t control configurations, but still get blamed for issues

How Do We Make This Simpler? (1)


Go to a Thin Client Approach


Only presentation and some caching on device


Requires robust connectivity (e.g. 4G) to be usable


Go to a Rich Internet Application (RIA, or Smart Client) Approach


Move some code execution off the mobile device


Requires good bandwidth to realize all application functionality


Doesn’t necessarily mean other resources are in a data center


other mobile
devices could serve as resources (provide processing capability when excess is
available).


Put Hypervisors on Phones and Run Code Within Them


Move code execution into a vendor
-
neutral virtual machine


The hypervisor handles all I/O


Can leverage over
-
the
-
air, just
-
in
-
time, downloads


Unfortunately, this won’t likely take advantage of desirable hardware features



How Do We Make This Simpler? (2)


Use Distribute Sharable Resources


Wi
-
Fi access points with local processing and storage


“Cloudlets”


nearby hypervisor
-
based distributed resources accessed as a thin
client


Ad hoc
“scatternets” for on
-
demand local resource access


Leverage Modular, Standardized Code
-
Injection Technologies (e.g.
OSGi)


Need to control application behavior at run
-
time


Need to resolve transient package dependencies within an application


Need to control the application lifecycle


Use Smarter, Faster Development Tools (and Process Discipline)


Domain
-
specific languages will take the edge off the harder development tasks


Will require a revolution in the way we do configuration of applications


Will require significant discipline in the development of well
-
behaved applications


How Do We Make This Simpler? (3)


Get on the Bandwagon to Better Standards


There are too many cloud APIs out there (e.g. OCCI, Google, Amazon, Azure)


NIST
Standards Acceleration to Jumpstart Adoption of Cloud Computing
(SAJACC)
is a positive step


SNIA Cloud Data Management Initiative is a positive step


But, the mobile device industry is still where the computer industry was in 1990


Or, Do Most/All of the Above


Nearly complete automation will blur the boundaries of the mobile device, it’s
applications, and other supporting resources


(Almost sounds cloudy)


Sounds great, but there are concerns…



Concerns (1)


Quality of Service


Intermittent connectivity impacts service level in unpredictable fashion


Can we understand the topology of a large and volatile mobile network in real time?


How do you guarantee this in a peer
-
to
-
peer network?


Rigor of Systems Engineering Practices in Use


Are we as an industry “good enough” to do this


What are the optimum design patterns


Can we balance disconnected/connected capabilities in a reasonable form factor?


Security, Confidentiality, Integrity (etc.)


There are already significant concerns in non
-
mobile cloud computing (e.g. multi
-
tenancy
issues such as data leakage and denial
-
of
-
service)


There are already significant concerns for mobile devices and peer
-
to
-
peer networks
(e.g. loss of a device with data on it)


Combining both domains significantly aggravates these concerns


Concerns (2)


Legal Considerations


“Accidental sensor problem” (EU allows opt
-
out)


Greater capability means loss of a device and any resident data (user or
configuration) may have considerable legal and privacy ramifications


Cost


Location
-
based technologies in a roaming scenario are excessive


Who pays for cloudlet resources?


Less of a problem for a private mobile cloud



Let’s Assume
We Can Get
There…

New Capabilities Become Possible (1)


Augmented Reality


Will reinvent real estate industry, travel
industry, civil and industrial engineering


Military history tours, military staff rides


Cityscape sliding scale timeline


Archaeology site before
-
and
-
after
-
vision,
stratigraphy, provenance


Cityscape bio
-
vision (e.g., Victor Hugo's
Paris, my Paris)


Translate
-
a
-
Frieze


Point
-
and
-
click art criticism


Blueprint
-
vision


Annotated assembly, asset maintenance


Dimensions and estimated weight


Demand for it will push the envelope of
image processing



“DishPointer”

New Capabilities Become Possible (2)


Internet of Things


Every iPhone is a camera, a communication device, a locator, and a map viewer


Twitter: mobile people as sensors (a tweet is called a "status")


Twitter: static sensors for mobile people (making your house tweet)


New era of mobile "Killer Apps" let you monitor and manage your house


Playful: Cat on the Mat, Twitter Cat Toy


Practical: Tweet
-
A
-
Watt, X11, IOBridge, etc.


Open source revolution expands to embedded OS and hardware


Always
-
on devices: Arduino, TINI, OneWire, Xbee, Chumby


Device
-
friendly OS and languages: Damn Small Linux, Slush, Wiring,
Processing


Open Handset Alliance/Android


KML, Google Maps, Google Gadgets, SparkCharts make data visualization easy,
even on a Smart Phone




New Capabilities Become Possible (3)


Creative people can focus on application logic and get their devices
online


APIs and frameworks in every language free makers from “glue code”


Device
-
friendly community sites free makers from home network and server
administration


Google Mapplets (now deprecated), Gadgets, App Engine dynamically scale
when an app “goes viral”


Twitter, Facebook, YouTube, Pachube are easy for devices to push data to


Amazon S3 is fantastic for both log
-
generating devices and log
-
analyzing
devices


AISLive, FBOWire aggregate ship and plane vessel tracks


Robust communities, mature collaboration tools, user
-
friendly kit sellers make it
easy for “newbies” to get started


Makershed, AdaFruit, Dallas
-
Maxim, DIY
-
Drones


New Capabilities Become Possible (4)


The explosion of data streaming and log
-
generating devices has
pushed the envelope of real
-
time trend analysis


More sites, mirrors and cloud fronts will share their web access logs hourly for
analysis (currently Wikipedia, Alexa, Google Page Rank)


Will result in a web log
-
based “Dow Jones Industrial Average”


New Paradigm for Dynamic Programming


Current state: the code factory pattern, the web service


Future state: a new form of "triple": (1) sources; (2) DSL algorithm; (3) input
parameters


Completely automated application context
--

no human can (or should) login


Parallel processing and local code execution by default


The user will not know whether the service used a document index to retrieve the
result, or dynamically provisioned a batch job to compute the result


In Closing

Metcalfe’s Law


The Value of a Network Increases with The Square Of The Number Of
Nodes


Having So Many Smart Phones and Other Devices Out There
Dramatically Increases Capabilities In Both Persistent Surveillance
and Collective Intelligence


An Explosion of Event Sources and Sinks


Mobile Cloud Computing Thus Has Merit

The Virtual Private Cloud

Private Cloud

(Internal)

Private Cloud

(External)

Non
-
Cloud
Local

Applications

External
Hosted

Applications

Community
Cloud

(External)

Public Cloud

(External)

Public Clouds

(External)

Public Clouds

(External)

Mobile devices can participate as peer nodes within this concept

Enterprise

Partners

Inter
-
Cloud Access

Inter
-
Cloud

Access

Communications Circuit

(dedicated, Internet, etc.)

Public Clouds

(External)

Achieving the Mobile Cloud


We Can Do It



What is “Mobile Cloud Computing”?


Accessing the “cloud” with mobile devices, AND


Mobile devices becoming part of a larger cloud construct


They are just another type of node, albeit with different properties than non
-
mobile
processing nodes


What More Do We Need to Do to Achieve the Mobile Cloud?


Standards


Everything under active discussion in the “non
-
mobile” cloud community
and more is good, but we need to add mobile devices considerations to the discussion


Technologies:


Better hardware (e.g. for image processing)


Distributed accessible resources (cloudlets or similar)


Hypervisors or other vendor
-
neutral encapsulation technologies


Appropriate encryption at
-
rest, in
-
motion, in
-
process


Selection of the right applications to prototype based on what we can do now