Characteristics of Mobile Computing

advertisement

Characteristics of Mobile

Computing

Prabhaker Mateti

CEG436: Mobile Computing 1

What is a smart phone?

CEG436: Mobile Computing 2

Broad Functionality

• Phone calls (of course)

• Local File Storage

• Internet/Cloud Services

• Office Computing

• eBook Reader

• Multimedia Player

• Digital Audio/Video Recorder

• Location Based Services

• Context awareness

CEG436: Mobile Computing 3

CEG436: Mobile Computing 4

What does a smart phone have?

• A cell phone

– Wire free

– GSM, CDMA, …

– 2G, 3G, 4G

– Speaker, Mic

• Battery

– < 2000 mAh

• Bluetooth

• Media Player

• WiFi 802.11 a/b/g/n

• Camera

• Haptics

• GPS

• A mobile device

– compact size, < 3x5x1”

– light weight, < 250g

• Embedded computer system (SoC)

– CPU, RAM, “Hard disk”

– Keyboard, Touch inputs

– Display

• Accelerometer

• Gyroscope

• Near Field Communication

• Projector

• Def will keep changing

CEG436: Mobile Computing 5

CEG436: Mobile Computing 6

CEG436: Mobile Computing 7

CEG436: Mobile Computing 8

CEG436: Mobile Computing 9

A Typical Android Phone, 2011

2G Network GSM 850 / 900 / 1800 / 1900

3G Network

Dimensions

Weight

DISPLAY

HSDPA 850 / 900 / 1900 / 2100, HSDPA, 21 Mbps; HSUPA, 5.76 Mbps

125.3 x 66.1 x 8.5 mm

116 g capacitive multitouch, 480 x 800 pixels, 4.3 inches (~217 ppi pixel density)

Accelerometer Proximity sensor, Gyroscope

Alert types

Int Storage

Vibration; MP3, WAV ringtones

16GB/32GB storage, 1 GB RAM

Card slot

GPRS

WLAN

Bluetooth microSD, up to 32GB, 8 GB included

Class 12 (4+1/3+2/2+3/1+4 slots), 32 - 48 kbps

Wi-Fi 802.11 a/b/g/n, DLNA, Wi-Fi Direct, Wi-Fi hotspot

Yes, v3.0+HS; Infrared port

USB Yes, v2.0 microUSB (MHL), USB On-the-go

Still CAMERA 8 MP, 3264x2448 pixels, autofocus, LED flash,

Features

Video

2nd Cam

Geo-tagging, touch focus, face and smile detection, image stabilization

Yes, 1080p@30fps

Yes, 2 MP

CPU

Radio

GPS

BATTERY

Dual-core 1.2GHz ARM Cortex-A9 CPU, Mali-400MP GPU, Exynos

Stereo FM radio with RDS

Yes, with A-GPS support

Li-Ion 1650 mAh

CEG436: Mobile Computing 10

CEG436: Mobile Computing from Ki Soo Hwang, 2008, Core Logic Inc

11

CEG436: Mobile Computing 12

CEG436: Mobile Computing 13

CEG436: Mobile Computing 14

Haptics

• Haptic technology, or haptics, is a tactile feedback technology that provides takes a sense of touch by applying forces, vibrations, and/or motions.

• linear vibrator motors

CEG436: Mobile Computing 15

Portable Haptics System Hardware

CEG436: Mobile Computing 16

CEG436: Mobile Computing

MIT Sixth Sense

17

CEG436: Mobile Computing

MIT Sixth Sense

18

Accelerometer

• TBD “An accelerometer is a device that measures the proper acceleration of the device. This is not necessarily the same as the coordinate acceleration (change of velocity of the device in space), but is rather the type of acceleration associated with the phenomenon of weight experienced by a test mass that resides in the frame of reference of the accelerometer device. For an example of where these types of acceleration differ, an accelerometer will measure a value when sitting on the ground, because masses there have weights, even though they do not change velocity. However, an accelerometer in gravitational free fall toward the center of the

Earth will measure a value of zero because, even though its speed is increasing, it is in an inertial frame of reference , in which it is weightless .”

CEG436: Mobile Computing 19

CEG436: Mobile Computing

Gyroscope

• A gyroscope is a device for measuring orientation, based on conservation of angular momentum.

• 2010: $5, based on

MEMS technology

• a single part with gyroscopic sensors and an accelerometer

• output upto six full degrees of freedom.

20

CEG436: Mobile Computing

Proximity sensor

• A proximity sensor detects the presence of nearby objects without physical contact

21

Sensors

• Ambient Light Sensor

• 3D Accelerometer

• 3-axis gyro/compass

• Proximity Sensor

• Temperature and Pressure Sensor

CEG436: Mobile Computing 22

Near Field Communications (NFC)

NFC Bluetooth BT Low Energy

RFID comp ISO 18000-3 active

Std body ISO/IEC Bluetooth SIG active

Bluetooth SIG

Net Standard ISO 13157 etc.

IEEE 802.15.1

IEEE 802.15.1

Network Type Point-to-point WPAN

Cryptography not with RFID available

Range < 0.2 m

Frequency 13.56 MHz

WPAN available

~10 m (class 2) ~1 m (class 3)

2.4-2.5 GHz 2.4-2.5 GHz

Bit rate 424 kbit/s

Set-up time < 0.1 s

Power consumption

< 15mA (read)

2.1 Mbit/s

< 6 s varies with class

~1.0 Mbit/s

< 1 s

< 15 mA

(transmit) en.wikipedia.org

• touch/swipe the

NFC device over an NFC receiver

• related to RFID

CEG436: Mobile Computing 23

Near Field Communications (NFC)

CEG436: Mobile Computing 24

Embedded Computers

• CPUs

– Multiple cores

– Mega Hertz

• RAM

– 512 MB, common in 2011

– in Giga Bytes soon

• Persistent Storage

– 32 GB MicroSD common in 2011

CEG436: Mobile Computing 25

User Interfaces

• Intuitive UI

• Small dimensions

• Input Devices

• Touch Display

CEG436: Mobile Computing 26

Integrated Network Functionality

CEG436: Mobile Computing 27

Wireless Networks

• Traditional Wireless IEEE 802.11

• Bluetooth

• Infrared

CEG436: Mobile Computing 28

The WiMAX Possibility

• Wireless & Mobile Broadband at 10-30 miles range

CEG436: Mobile Computing 29

Energy Efficiency

• Battery design

• Suspend/Hibernate/Resume/…

• Efficient display devices

• Application design

• OS Design

CEG436: Mobile Computing 30

What is special about mobile operating system

• A mobile OS need to support the effective and efficient functioning of a mobile device which is:

– Physically constrained

• battery-powered device

• small screens of varying shapes, sizes, and resolutions

• memory (clearly less than a laptop computer)

• storage space

– Working in Uncertainty

• Networks come and go

• Other devices appear and disappear

• OS need to provide robust methods for handling connections and coping with service interruptions and ad hoc attempts to communicate

– Psychological affordance

• Small devices, such as mobile phones, are most likely left unattended, forgotten or lost

• It is not the job of the OS to provide a complete suit of security programs but it should offer a number of utilities and services for security applications

CEG436: Mobile Computing 31

What is special about mobile operating system

(cont.)

– Wireless networking capable

• Bluetooth (802.15)

• 802.11x wireless LAN

• HiperLAN2

• Telephony

• GSM

• GPRS

• 3G

• Data exchange using TCP/IP

– Location dependent

• Utilities are needed for location and temporal awareness to support devices operating in different places and times

• GPS support

• clock and calender support

• user profile support

CEG436: Mobile Computing 32

Mobile System requirements

• Processing power (energy)

– Mobile devices need to be small, light, compact and easy to use

– The heaviest part of mobile devices are batteries

– Power consumption of the mobile devices needs to be minimal

– Considerable improvements have been achieved in the size and longevity of batteries, increased battery life is mainly achieved by reducing the power demands of the device (power management)

• power saving capabilities -> power-source profiling

• data storage -> access speed and capacity

• backlighting

• power consumption per pixel

CEG436: Mobile Computing 33

Mobile System requirements

• Mobile devices need to be able to use a wide range of computer networks

– Bluetooth

– WLAN ( 802.11x or HiperLAN)

– 2.5 G or 3 G (voice and data)

• Ethernet access is achieved via some sort of docking station or cradle connected to the desktop computer

CEG436: Mobile Computing 34

Android and iOS Terms

• Includes standard OS terminology.

• Android and iOS terms are combined/unified.

• Activity – A screen that a user interacts with.

• Activity Manager – A system program that manages Activitys, Receivers, Services, low memory conditions, as well as some IPC dispatching. Its Binder is available through getSystemService(String).

• AIDL – Android Interface Definition Language, an object oriented interface description language that makes it easy to communicate over Binders between processes. Optimized for Java but workable in C.

• Binder – This is a real thing in your address space, it has a unique identity and is known about by the underlying OS. If you make one and I make one they aren’t identical, if I send you mine and you send it back I can tell that it isn’t some other Binder even though they don’t have little names on them. You can use a Binder to talk between processes, or as an unforgeable token.

• Parcelable – An interface that allows something to be put in a Parcel. This interface is usually needed to send an object over a Binder interface. Intents and Bundles are two common Parcelable classes.

• Permission – The right to do something. Android introduces Manifest Permissions.

• Reference Security – Capabilities is one notion of how security can be implemented by passing unforgeable tokens that represent authority around. Binders are references that can be used this way.

• Side Loading – Direct user installation of applications. For example, an .APK file that users can directly install.

CEG436: Mobile Computing 35

Mobile Processors

• The ARM architecture (Advanced RISC Machine) is a 32-bit RISC processor architecture developed by ARM Limited that is widely used in embedded designs.

• Because of their power saving features, ARM CPUs are dominant in the mobile electronics market, where low power consumption is a critical design goal .

• Today, the ARM family accounts for approximately 75% of all embedded 32-bit RISC CPUs,

• Important branches in this family include Qualcomm

Snapdragon, Marvell's XScale and the Texas Instruments OMAP series.

• Others include, e.g.,:

– MIPS (Microprocessor without Interlocked Pipeline Stages) is a RISC microprocessor architecture developed by MIPS Technologies. Mainly used in embedded systems like TiVo, Playstation1 & 2

36

A closer look at their processors

The ARM instruction set architecture is surging to market prominence as the dominant standard for embedded CPU solutions

Apple A4 used in iPad, iPhone 4

CEG436: Mobile Computing

Sep-05 37

, Droid

37

CEG436: Mobile Computing

Sep-05 38

A closer look at these Systems

38

Mobile Memory

• The memory on the CPU for buffers and I/O management and stacks, the availability of the general purpose RAM and the memory of backing storage are all limited on mobile devices

• The better the memory management offered by the OS, the wider the options available to applications developers

• –Mobile devices have two types of memories

– ROM

• for operating system and preinstalled programs

– RAM

• for user information

• Types of RAMs

– DRAM (Dynamic RAM): cheapest, used in mobile devices

– EDO (Enhanced Data Output): more expensive but offers a speed increase of about 30% over DRAM

(Windows CE)

– SDRAM (Synchronous Dynamic RAM): a further

50% speed (iPAQ)

– DDR (Double Data Rate) SDRAM is twice as fast as

SDRAM

39

Memory in Mobile Devices

• Limited size: 256 -- 1024 MB in 2011

• The memory on the CPU for buffers and I/O management and stacks, the availability of the general purpose RAM and the memory of backing storage are all limited on mobile devices

• The better the memory management offered by the

OS, the wider the options available to applications developers

• –Mobile devices have two types of memories

– ROM

• for operating system and preinstalled programs

– RAM

• for user information

• Types of RAMs

– DRAM (Dynamic RAM): cheapest, used in mobile devices

– EDO (Enhanced Data Output): more expensive but offers a speed increase of about 30% over DRAM

(Windows CE)

– SDRAM (Synchronous Dynamic RAM): a further 50% speed (iPAQ)

– DDR (Double Data Rate) SDRAM is twice as fast as

SDRAM

– OUM (Ovonics Unified Memory): experimental

CEG436: Mobile Computing 40

Mobile Storage

• Flash memory is non-volatile computer memory that can be electrically erased and reprogrammed.

– used in memory cards and USB flash drives for general storage and transfer of data in PDAs, laptop computers, digital audio players, digital cameras and mobile phones

– a specific type of EEPROM (Electrically Erasable Programmable

ROM) that is erased and programmed in large blocks; in early flash the entire chip had to be erased at once.

– Flash memory costs far less than byte-programmable EEPROM and therefore has become the dominant technology wherever a significant amount of non-volatile, solid-state storage is needed.

• Compact Flash (CF) is a mass storage device format used in portable electronic devices. For storage, Compact Flash typically uses flash memory in a standardized enclosure.

• The format was first specified and produced by SanDisk in 1994.

CEG436: Mobile Computing 41

Execute-in-place (XIP)

• XIP is a method of executing programs directly from long term storage rather than copying it into RAM.

• It is an extension of using shared memory to reduce the total amount of memory required.

• Mobile devices reduces memory use and speed up program execution by using XIP

CEG436: Mobile Computing 42

Multimedia Supports

• Data that contains combination of text, digital still and video images and audio information

• Processing multimedia relies on low level binary operations that are best handled by the operating system

CEG436: Mobile Computing 43

Mobile Device Security

• Network security

– Identification and authorization

• password on power-up facility (how if forgotten??)

– vulnerability to interception of wireless exchanges

• encryption (Kerberos network authentication, PGP)

– Authentication

• finger and palm print ID, retina scan, facial bone structure recognition, usage profiling (using neural networks to learn a user’s characteristic key presses or wand strokes)

• support for making devices less easy to lose and/oreasy to find

– Bluetooth (electronic leash, unique identification, physical location

(GPS) and temporal awareness

CEG436: Mobile Computing 44

What is mobility?

• Spectrum of mobility, from the network perspective [From Kurose and Ross]: no mobility high mobility mobile user, using same access point mobile user, connecting/ disconnecting from network using DHCP.

CEG436: Mobile Computing mobile user, passing through multiple access points while maintaining ongoing connections ( like cell phone)

45

Mobility Requirements

• Maintain connectivity while user roams

• Allow IP to integrate transparently with roaming hosts

– Address translation to map location-independent addressing to location dependent addressing

– Packet forwarding

– Location directory

• Provide connection to packet flow as opposed to datagram

(connection oriented networks)

• Support multicast, anycast

• Ability to switch interfaces on the fly to migrate between failureprone networks

• What is QoS in this environment?

CEG436: Mobile Computing 46

Constraints on Network Layer

• Unaware hosts running IP

• Route management for mobile hosts needs to be dynamic

• A backbone may not exist (ad-hoc network)

CEG436: Mobile Computing 47

Network Layer Solutions

• Mobile IP and its variants

– Two-tier addressing (location independent addressing

 location dependent addressing)

– A smart forwarding agent which encapsulates packets from unaware host to forward them to mobile host

– Location directory for managing location updates

• Connection-oriented mobility support

– Multicast

– Finding the first branch point and rerouting packets

• Ad hoc routing

– Shortest path, source routing, multipath routing

CEG436: Mobile Computing 48

Impact of Mobility on Transport Layer

• Requirements:

– Congestion control and rate adaptation

– Handling different losses (mobility-induced disconnection, channel, reroute)

– Improve transient performance

• Constraints:

– Typically unaware of mobility, yet is affected by mobility

– Link-layer and transport layer retransmit interactions

CEG436: Mobile Computing 49

Transport Layer Solutions

• Provide indirection

• Make transport layer at the end hosts aware of mobility

• Provide smarts in intermediate nodes (e.g. BS) to make lower-layer transport aware

• Provide error-free link layers

CEG436: Mobile Computing 50

Impact of Mobility on OS

• Requirements:

– Provide the same environment to the user whether mobile (partially connected) or on the backbone network: same context, same programs, same databases, servers & services, retain the same ID

– Provide an abstraction of the environment for the mobile-aware application to adapt intelligently

• Constraints:

– Scheduling limited CPU resources & limited energy

– Limited disk, memory

– Partial connectivity

CEG436: Mobile Computing 51

Impact of Mobility on File Systems

• Requirements:

– Access the same file, as if connected

– Retain the same consistency-semantics for shared files, as if connected

– Availability and reliability, as if connected

– ACID properties for transactions

• atomic/recoverability, consistent, isolated/serializable, durable

• Constraints:

– Disconnection and/or partial connection

– Low bandwidth connection

– Variable bandwidth and latency connection

– Connection cost

CEG436: Mobile Computing 52

Disconnected File systems

• Hoarding: what to pre-fetch

• TBD Consistency: what to keep consistent when connectivity is partial

• Emulation: how to operate when disconnected

• TBD Conflict resolution: how to resolve conflicts

• Many choices within each aspect

CEG436: Mobile Computing 53

Impact of Mobility on Apps/Services

• How much to know about mobility (dynamic state)?

• How much to control the activity of OS?

• How to structure the interaction btwn. App and systems

• How to write location-aware applications?

• What kind of filtering, data retrieval, and control support to be provided at the backbone?

CEG436: Mobile Computing 54

Mobility: Vocabulary

home network: permanent

“home” of mobile

(e.g., 128.119.40/24) home agent: entity that will perform mobility functions on behalf of mobile, when mobile is remote

Permanent address: address in home network, can always be used to reach mobile e.g.,

128.119.40.186

CEG436: Mobile Computing wide area network correspondent

55

Mobility: more vocabulary

Permanent address: remains constant ( e.g., visited network: network in which mobile currently resides (e.g.,

128.119.40.186)

Care-of-address: address in visited network.

(e.g., 79,129.13.2)

79.129.13/24) wide area network correspondent: wants to communicate with mobile

CEG436: Mobile Computing home agent: entity in visited network that performs mobility functions on behalf of mobile.

56

Location Based Services/Applications

• A service whose rendering depends on the location of the service requester, service provider or both

• Mobile, networked Applications

– Input: geo references from Assisted GPS system

– Client/server interaction

– Output: Location relevant Information

• Example: weather, tourist information, ..

Slides adapted from Shu Wang, Yang, SyNRG group, Helal 57

Context

Pervasive wireless connectivity

+

Localization technology

=

Location-based applications (LBAs)

(iPhone AppStore: 3000 LBAs, Android: 600

LBAs)

CEG436: Mobile Computing 58

Location Based Services

CEG436: Mobile Computing 59

Location-Based Applications (LBAs)

• Examples:

Location-based recommendations, geo-tagging

GeoLife: shopping list when near a grocery store

TrafficSense: real-time traffic conditions

• Location expresses context of user

– Facilitates content delivery

CEG436: Mobile Computing 60

CEG436: Mobile Computing 61

CEG436: Mobile Computing from http://2010.uplinq.com/pdf/TECH_Future_Trends_in_Multimedia.pdf

62

CEG436: Mobile Computing http://searchengineland.com/google

-maps-for-android-54308

63

CEG436: Mobile Computing 64

CEG436: Mobile Computing 65

CEG436: Mobile Computing 66

CEG436: Mobile Computing 67

CEG436: Mobile Computing 68

LBS features and supporting services

LBS Evolution

Introduction of finder LBSs

• Restaurants

Filling stations

ATMs

• …

First Child tracking services

First locationbased Mobile gaming

Google launches

GoogleMaps

Integration of location data into social network services

Locationbased dating

First commercial

Proactive

LBSs

Merging of outdoor and indoor LBS applications

Applicationoriented LBSs

1996

FCC passed

E-911 mandate

Key technologies & activities

CEG436: Mobile Computing

2000 2004

Deadline phase 1 of

E-911

First commercial

WLAN fingerprinting systems

Introduction of 3G networks

Emergence of

RFID

First handset

Supporting

Java Location

API

2008 2012

Mass market penetration of

GPS-capable mobiles

Deadline phase 2 of

E-911

Introduction of

Android handset

First GPS capable iPhone

Launch of

New Galileo middleware features for spam avoidance and privacy preservation

GPS works indoors

Emergence of common middleware for proactive, crossreferencing, and multi-target LBSs

69

LBS Evolution

community orientation cross-referencing multi-target self-referencing single-target reactive operator-centric positioning content-oriented device-centric positioning application-oriented user centrality proactive proactivity degree

CEG436: Mobile Computing 70

Download