Characteristics of Mobile Computing

Download Report

Transcript Characteristics of Mobile Computing

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
• A mobile device
– compact size, < 3x5x1”
– light weight, < 250g
• Embedded computer
system (SoC)
– CPU, RAM, “Hard disk”
– Keyboard, Touch inputs
– Display
– < 2000 mAh
•
•
•
•
•
•
Bluetooth
Media Player
WiFi 802.11 a/b/g/n
Camera
Haptics
GPS
CEG436: Mobile Computing
•
•
•
•
•
Accelerometer
Gyroscope
Near Field Communication
Projector
Def will keep changing
5
CEG436: Mobile Computing
6
CEG436: Mobile Computing
7
CEG436: Mobile Computing
8
CEG436: Mobile Computing
9
A Typical Android Phone, 2011
2G Network
3G Network
Dimensions
Weight
DISPLAY
Accelerometer
Alert types
Int Storage
Card slot
GPRS
WLAN
Bluetooth
USB
Still CAMERA
Features
Video
2nd Cam
CPU
Radio
GPS
BATTERY
CEG436: Mobile Computing
GSM 850 / 900 / 1800 / 1900
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)
Proximity sensor, Gyroscope
Vibration; MP3, WAV ringtones
16GB/32GB storage, 1 GB RAM
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
Yes, v2.0 microUSB (MHL), USB On-the-go
8 MP, 3264x2448 pixels, autofocus, LED flash,
Geo-tagging, touch focus, face and smile detection, image stabilization
Yes, 1080p@30fps
Yes, 2 MP
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
10
from Ki Soo Hwang, 2008, Core Logic Inc
CEG436: Mobile Computing
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
MIT Sixth Sense
CEG436: Mobile Computing
17
MIT Sixth Sense
CEG436: Mobile Computing
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 weightexperienced 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 falltoward 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
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.
CEG436: Mobile Computing
20
Proximity sensor
• A proximity sensor
detects the presence of
nearby objects without
physical contact
CEG436: Mobile Computing
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
RFID comp
Bluetooth
BT Low Energy
ISO 18000-3
active
active
ISO/IEC
Bluetooth SIG
Bluetooth SIG
Net Standard
ISO 13157 etc.
IEEE 802.15.1
IEEE 802.15.1
Network Type
Point-to-point
WPAN
WPAN
Cryptography
not with RFID
available
available
< 0.2 m
~10 m (class 2) ~1 m (class 3)
Frequency
13.56 MHz
2.4-2.5 GHz
2.4-2.5 GHz
Bit rate
424 kbit/s
2.1 Mbit/s
~1.0 Mbit/s
Set-up time
< 0.1 s
<6s
<1s
Power
consumption
< 15mA (read)
varies with
class
< 15 mA
(transmit)
Std body
Range
• touch/swipe the
NFC device over
an NFC receiver
• related to RFID
en.wikipedia.org
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
Intel
Atom
CEG436: –
Mobile
Computing
Processors for netbooks
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
, Droid
CEG436: Mobile Computing
Sep-05
37
37
A closer look at these Systems
CEG436: Mobile Computing
Sep-05
38
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
CEG436:
Mobile (Ovonics
Computing Unified Memory): experimental
– OUM
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
•
–
RAM
•
•
for operating system and preinstalled programs
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
mobile user, using
same access point
CEG436: Mobile Computing
high mobility
mobile user,
connecting/
disconnecting
from network
using DHCP.
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)
Permanent address:
address in home
network, can always be
used to reach mobile
e.g.,
128.119.40.186
CEG436: Mobile Computing
home agent: entity that will
perform mobility functions on
behalf of mobile, when mobile
is remote
wide
area
network
correspondent
55
Mobility: more vocabulary
Permanent address: remains
constant (e.g.,
128.119.40.186)
visited network: network
in which mobile currently
resides (e.g.,
79.129.13/24)
Care-of-address: address
in visited network.
(e.g., 79,129.13.2)
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
Shu Wang, Yang, SyNRG group, Helal
CEG436:
Mobile from
Computing
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
from http://2010.uplinq.com/pdf/TECH_Future_Trends_in_Multimedia.pdf
CEG436: Mobile Computing
62
http://searchengineland.com/google
-maps-for-android-54308
CEG436: Mobile Computing
63
CEG436: Mobile Computing
64
CEG436: Mobile Computing
65
CEG436: Mobile Computing
66
CEG436: Mobile Computing
67
CEG436: Mobile Computing
68
LBS Evolution
LBS features
and supporting
services
1996
FCC passed
E-911
mandate
Key
technologies &
activities
Integration of
location data
into social
network
services
Introduction of
finder LBSs
•Restaurants
•Filling stations
•ATMs
•…
First Child
tracking
services
2000
2004
Deadline
phase 1 of
E-911
Locationbased dating
Google
launches
GoogleMaps
First
commercial
Proactive
LBSs
First locationbased Mobile
gaming
First
commercial
WLAN
fingerprinting
systems
Introduction
of 3G networks
Emergence of
RFID
First handset
Supporting
Java Location
API
Merging of
outdoor and
indoor LBS
applications
Applicationoriented LBSs
2008
Mass market
penetration of
GPS-capable
mobiles
Deadline
phase 2 of
E-911
2012
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
CEG436: Mobile Computing
69
LBS Evolution
community
orientation
cross-referencing
multi-target
self-referencing
single-target
operator-centric
positioning
content-oriented
reactive
device-centric
positioning
application-oriented
user centrality
proactive
proactivity degree
CEG436: Mobile Computing
70