240 likes | 263 Views
Gain insights into mobile cloud computing, its distinctions from other cloud computing forms, and implications for device interaction and development. Discover key questions and concepts along with future trends and strategies to simplify mobile app creation.
E N D
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
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
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. Diagram courtesy of Cloud Security Alliance
The Virtual Private (“Hybrid”) Cloud Communications Circuit(dedicated, Internet, etc.) Partners Public Clouds (External) External Hosted Applications Community Cloud (External) Private Cloud (External) Public Cloud (External) Public Clouds (External) Public Clouds (External) Enterprise Private Cloud (Internal) Inter-Cloud Access Non-Cloud Local Applications Inter-Cloud Access The Virtual Private Cloud is the aggregate of all the above environments.
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
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
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 Communications Circuit(dedicated, Internet, etc.) Partners Public Clouds (External) External Hosted Applications Community Cloud (External) Private Cloud (External) Public Cloud (External) Public Clouds (External) Public Clouds (External) Enterprise Private Cloud (Internal) Inter-Cloud Access Non-Cloud Local Applications Inter-Cloud Access Mobile devices can participate as peer nodes within this concept
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