MOBILE APPLICATIONS AND CLOUD COMPUTING. Roberto Beraldi



Similar documents
MOBILE APPLICATIONS AND CLOUD COMPUTING. Roberto Beraldi

ITP 342 Mobile App Development. APIs

ITP 140 Mobile Technologies. Mobile Topics

Background. Personal cloud services are gaining popularity

Types of Cloud Computing

Internet Storage Sync Problem Statement

WISE-4000 Series. WISE IoT Wireless I/O Modules

Experimental Comparison of Hybrid and Native Applications for Mobile Systems

Inside Dropbox: Understanding Personal Cloud Storage Services

Overview. Timeline Cloud Features and Technology

Introducing Databackup.com Cloud Backup. File Locker File Sharing & Collaboration EndGaurd EndPoint Protection & Device Management

Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Cloud Backup and Recovery for Endpoint Devices

ni.com Remote Connectivity with LabVIEW

Enterpise Mobility Lexicon & Terminology

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Introduction to Cloud Services

CMS, CRM, shopping carts, Web applications

Virtualization and Cloud Computing

WN-200HD. 2 Mega-Pixels. 2.0 Mega Pixel Wireless 150Mbps IPCamera. High Quality 2.0 MegaPixel Image. Full Feature 150Mbps Wireless N Camera

Desktop Virtualization. The back-end

White Paper. Anywhere, Any Device File Access with IT in Control. Enterprise File Serving 2.0

Cloud Computing for Education Workshop

Chapter 19 Cloud Computing for Multimedia Services

Building Cloud-powered Mobile Apps

Introduction to IBM Worklight Mobile Platform

Middleware- Driven Mobile Applications

1. What are the System Requirements for using the MaaS360 for Exchange ActiveSync solution?

activecho Frequently Asked Questions

Research Paper Available online at: A COMPARATIVE STUDY OF CLOUD COMPUTING SERVICE PROVIDERS

Cloud Computing Security: Public vs. Private Cloud Computing

A programming model in Cloud: MapReduce

SavvyDox Publishing Augmenting SharePoint and Office 365 Document Content Management Systems

How To Protect Your Data From Harm

Web Cloud Architecture

Comprehensive Agentless Cloud Backup and Recovery Software for the Enterprise


Novell Filr 1.0.x Mobile App Quick Start

N750 Wireless Dual Band Gigabit Router Premium Edition

Feature Matrix MOZO CLOUDBASED MOBILE DEVICE MANAGEMENT

MailStore Server 7 Technical Specifications

Mobile App User's Guide

6 CURRENT JOB OPENINGS:

StruxureWare TM Center Expert. Data

Manage all your Office365 users and licenses

Egnyte Local Cloud Architecture. White Paper

Sophos Mobile Control Installation prerequisites form

Cloud Sync White Paper. Based on DSM 6.0

Microsoft Azure Cloud oplossing als een extensie op mijn datacenter? Frederik Baert Solution Advisor

FileDrawer An Enterprise File Sharing and Synchronization (EFSS) solution.

Enhanced Mobile Cloud Computing Platform

How To Protect The Agency From Hackers On A Cell Phone Or Tablet Device

Mobile Cloud Computing: Paradigms and Challenges 移 动 云 计 算 : 模 式 与 挑 战

Sophos Mobile Control Installation guide. Product version: 3

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Glossary of terms used in the survey

WEB SERVICES FOR MOBILE COMPUTING

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

Android In The Cloud: A New PaaS Computing Platform

StruxureWare TM Data Center Expert

Fileweave. Large File Transfer. Seamless Microsoft Outlook add-in. Simple drag and drop functionality

BERLIN. 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved

Enterprise Private Cloud Storage

Joseph Guarino Owner/CEO/Sr. Consultant Evolutionary IT CISSP, LPIC, MCSE 2000, MCSE 2003, PMP

Security Overview Enterprise-Class Secure Mobile File Sharing

Introduction: Why do we need computer networks?

WOS Cloud. ddn.com. Personal Storage for the Enterprise. DDN Solution Brief

Performance Analysis of Client Side Encryption Tools

SureDrop Secure collaboration. Without compromise.

Comprehensive Agentless Cloud Backup and Recovery Software for the Enterprise

Lecture 11. RFS A Network File System for Mobile Devices and the Cloud

Hosting Models. Business Model Software (as a Service) Platform (as a Service) Infrastructure (as a Service) On Premises. Applications. Data.

The Security Behind Sticky Password

NEW! CLOUD APPS ReadyCLOUD & genie remote access

Lindenbaum Web Conference

Mobile App User's Guide

Storing & Synchronizing Data In The Cloud

DIGITAL FORENSIC INVESTIGATION OF CLOUD STORAGE SERVICES

SOOKASA WHITEPAPER SECURITY SOOKASA.COM

Developing and deploying mobile apps

Cloud Computing Paradigm Shift. Jan Šedivý

Introduction to Engineering Using Robotics Experiments Lecture 18 Cloud Computing

The All-in-One Support Solution. Easy & Secure. Secure Advisor

Sophos Mobile Control Installation guide. Product version: 3.5

Systems Manager Cloud Based Mobile Device Management

Gladinet Cloud Backup V3.0 User Guide

EXECUTIVE SUMMARY Cloud Backup for Endpoint Devices

Deploying iphone and ipad Security Overview

Nighthawk AC1900 Smart WiFi Router Dual Band Gigabit

Shafiq Khan. An Introduction to. Cloud Computing 13/12/2012

Assignment # 1 (Cloud Computing Security)

Transcription:

MOBILE APPLICATIONS AND CLOUD COMPUTING Roberto Beraldi

Course Outline 6 CFUs Topics: Mobile application programming (Android) Cloud computing To pass the exam: Individual working and documented application in android (possibly using cloud services) Answer to 3 of general questions

Key terms Cloud computing Delivery of remote virtual resources through internet (virtual machines, storage space, software functions (web api), data e.g. open data, etc..) Mobile Applications app that runs on mobile devices smartphone App running on wearable devices, e.g., smartwatch Context-Awareness sensors Where (lat,lon) the device running the application is located Other Sensors, e.g., acceleration, orientation, etc Connection and synergy between Cloud and Mobile devices/applications is possible

Cloud computing and mobile applications Cloud computing is an umbrella term to refer to a way to access functionalities remotely (e.g., via Internet) There are different delivery models of cloud computing Software as a Service (SaaS) or Web API Platform as a Service (PaaS) Infrastructure as a Service (Iaas) (virtualization) Cloud computing can be used alone, or Cloud computing, or more simply cloud, can be exploited by mobile apps. This can be done in different ways One simple possible way is to synchronize data views of different devices (fixed or mobile)

Dropbox Dropbox is a free (up to 2GB), web-based cloud storage mechanism file backup service data sharing Data sync among different clients Mobile applications Windows Linux MAC.mp3.avi.jpg REST / JSON calls Freemium business model iphone ipad Security (SSL, AES-256 bit), scalabity (load balancer, server notification, data/metadata..)

Example: icloud from Apple -contacts -photo -messages.. Phone backup cloud -icloud drive (store any kind of document)

Amazon s Cognito https://aws.amazon.com/it/cognito/

Amazon s Cognito Amazon Cognito gives you unique identifiers for your end users and then lets you securely store and sync user app data in the AWS Cloud across multiple devices and OS platforms. You can do this with just a few lines of code, and your app can work the same, regardless of whether a user s devices are online or offline. When new data is available in the sync store, a user s devices can be alerted by a silent push notification so that your app can sync the new data automatically.

Characteristic of a cloud storage service Bundling When a batch of files is transferred, files could be bundled, so that transmission latency and control overhead are reduced. For example, Dropbox use only few TCP connections to transfer multiple files Chunking Large files can be either monolithically transmitted to the cloud or chunked into smaller pieces. Chunking is advantageous because it simplifies recovery in case of failures Dropbox 4MB, Google Drive 8MB, Compression data compressed before a transfer. Compression could, in general, reduce traffic and storage requirements at the expense of local processing time.

Characteristic of a cloud storage service Deduplication Server data deduplication eliminates replicas on the storage server. Client-side deduplication instead extends the benefits to clients and the network: In case a file is already present on servers, replicas in the client can be identified to save upload capacity This can be accomplished by calculating a file digest using the file content, e.g., SHA256 is used by Dropbox The digest is sent to servers prior to submitting the complete file. Servers then check whether the digest is already stored in the system and skip the upload of repeated content. Dropbox implements inter-user deduplication: this technique allows a user to skip submitting files that are already stored by any other user.

Characteristic of a cloud storage service Delta encoding Delta encoding calculates the difference among file revisions, allowing the transmission of only the modified portions. Indeed, delta encoding provides similar benefits as the combination of chunking and deduplication, but with a finer granularity P2P synchronization Devices hosting common files could be synchronized without retrieving every content from the cloud, thus saving both network and server resources Dropbox is known for implementing a LAN Sync Protocol that allows devices, possibly from different users, to exchange content using P2P communication when clients are connected to the same LAN.

Comparison among personal cloud storage(*) (*)E. Bocchi, I. Drago, M. Mellia, Personal Cloud Storage Benchmarks and Comparison, IEEE Transactions on Cloud Computing 2015

Other example: Microsoft s Intune Microsoft Intune helps organizations provide their employees with access to corporate applications, data, and resources from virtually anywhere on almost any device, while helping to keep corporate information secure. Intune can manage: Mobile devices (including phones and tablets running Android, ios, Windows Phone and Windows RT operating systems). Computers running a professional edition of Windows Vista, Windows 7, Windows 8 or Windows 8.1.

Cloud and mobile apps Other ways to exploit cloud is by implementing a notification service

Google Cloud Messaging (GCM) GCM allows to attach up to 1,000 recipients to a single message connection server push app server -Broadcast receiver..

Amazon s Simple Notification Service (SNS) It is a fast, flexible, fully managed push notification service that lets you send individual messages or to fan-out messages to large numbers of recipients. Amazon SNS makes it simple and cost effective to send push notifications to mobile device users, email recipients or even send messages to other distributed services.

Amazon s SNS (features) Seamlessly scale from a handful of messages per day to millions of messages or higher. With SNS you can publish a message once, and deliver it one or more times. So you can choose to direct unique messages to individual Apple, Google or Amazon devices, or broadcast deliveries to many mobile devices with a single publish request. SNS allows you to group multiple recipients using topics. A topic is an access point for allowing recipients to dynamically subscribe for identical copies of the same notification. When you publish once to a topic, SNS delivers appropriately formatted copies of your message to each subscriber.

Mobile apps and Software as a Service req reply Cloud -Cloud can play the role of backend -provide access to resourses: Functionality (VM, storage) using RPC-like calls) Data (open data)

Example req reply Cloud real time data on transportation available from ATAC via XML-RPC http://www.agenziamobilita.roma.it/progetti/open-data/ http://www.agenziamobilita.roma.it/it/progetti/open-data/api-real-time.html

Mobile apps and web API (aka SaaS) Client Application A Web API allows to design and develop an application that exploits software modules accessed via Internet via a simple wire protocol INTERNET WEB-API

Web API: example

Web API: programmatic point of view Web URL (standard HTTP methods) web brower HTTP (Web API) Rest,XML-RPC,etc HTTP Application Programmatic Service Access (many methods)

Mashup applications CLIENT s=a.methodname(par 1 ) z=b.methodname(s,par 2 ) API WEB Provide A Provider B

Mashup applications (1/2) Client AJAX Python.. JSON-RPC Web API Web API Web API Server Server Server

Mashup applications (2/2) WEB API XML-RPC HTTP SOAP -Server Web - mashupper (e.g.,dynamic pages Php)

Web API and Interoperability Client Application (Technology A) Client Application (Technology B) Client Application (Technology C) WEB-API.

Example: Google apis

Example: Tic Tac Toe Monolithic application All the logic is in a single program Client Server The server dynamically generates the page to be displayed with the response Web API (cloud computing style) Provides primitive operations to an application (that can run on a mobile device, for example) and let two players to play

solution1: monolithic app Monolithic e.g., javascript, or any language

Solution 2: client/server Put an X at position 7 http://game.org/ttt.php?move=7 HTML Client HTTP Server + php

Possible technological mapping (1/3) Client Server User Agent HTTP TCP/IP connection 3306, HTML mod_php

continued (2/3) Client Server User Agent HTTP TCP/IP connection 3306, HTML Embedded Objects mod_php

continued(3/3) Client Server User Agent HTTP TCP/IP connection 3306, HTML +JS mod_php

3 rd solution: Web Api and mobile app front end backend Send the current state Reply with the new state init move Web API (cloud) Interface (remote functions)

New trends: Mobile cloud computing Goal: To reduce the execution time code/data offloading result computation wi-fi direct (comm. feature) reflection (language feature) security aspects application partitioning subtasks allocation DTN and social behavior voice recognition pattern recognition augmented reality games (e.g., chess)

Mobile cloud computing* Task offloading to other mobile device (*) Mobile-to-Mobile Opportunistic Task Splitting and Offloading Beraldi et al., WiMob15

Mobile applications and QR code QR-reader Internet URI QR-code

Example

Another examples: media are changing Same applies to books, newspapers, encyclopedia, etc.

Example: Augmented reality

Wearable devices

Summary Cloud can be exploited in mobile apps in different ways Data synchronization among devices Data storage system Access functionalities provided via an interface (SaaS) Mobile cloud computing but, cloud computing in itself is a set of technologies that can be used alone (without connections to a mobile app) In addition, mobile apps can exploit new dimensions Social (e.g, who is near me with the same interests) Context-awareness (e.g., Google maps) Sensors (NFC,GPS, ) Augmented reality Moreover, mobile apps (as fixed apps) can exploit a lot of public available data (open data) for their purpose