characteristics of mobile computing
DESCRIPTION
Characteristics of Mobile Computing. Prabhaker Mateti. What is a smart phone?. 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. - PowerPoint PPT PresentationTRANSCRIPT
Characteristics of Mobile Computing
Prabhaker Mateti
CEG436: Mobile Computing 1
2
What is a smart phone?
CEG436: Mobile Computing
3
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
4CEG436: Mobile Computing
5
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
6CEG436: Mobile Computing
7CEG436: Mobile Computing
8CEG436: Mobile Computing
9CEG436: Mobile Computing
10
A Typical Android Phone, 20112G Network GSM 850 / 900 / 1800 / 19003G Network HSDPA 850 / 900 / 1900 / 2100, HSDPA, 21 Mbps; HSUPA, 5.76 MbpsDimensions 125.3 x 66.1 x 8.5 mmWeight 116 gDISPLAY capacitive multitouch, 480 x 800 pixels, 4.3 inches (~217 ppi pixel density)Accelerometer Proximity sensor, GyroscopeAlert types Vibration; MP3, WAV ringtonesInt Storage 16GB/32GB storage, 1 GB RAMCard slot microSD, up to 32GB, 8 GB includedGPRS Class 12 (4+1/3+2/2+3/1+4 slots), 32 - 48 kbpsWLAN Wi-Fi 802.11 a/b/g/n, DLNA, Wi-Fi Direct, Wi-Fi hotspotBluetooth Yes, v3.0+HS; Infrared portUSB Yes, v2.0 microUSB (MHL), USB On-the-goStill CAMERA 8 MP, 3264x2448 pixels, autofocus, LED flash,Features Geo-tagging, touch focus, face and smile detection, image stabilizationVideo Yes, 1080p@30fps2nd Cam Yes, 2 MPCPU Dual-core 1.2GHz ARM Cortex-A9 CPU, Mali-400MP GPU, Exynos Radio Stereo FM radio with RDSGPS Yes, with A-GPS supportBATTERY Li-Ion 1650 mAh
CEG436: Mobile Computing
11
from Ki Soo Hwang, 2008, Core Logic Inc
CEG436: Mobile Computing
12CEG436: Mobile Computing
13CEG436: Mobile Computing
14CEG436: Mobile Computing
15
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
16
Portable Haptics System Hardware
CEG436: Mobile Computing
17
MIT Sixth Sense
CEG436: Mobile Computing
18
MIT Sixth Sense
CEG436: Mobile Computing
19
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
20
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
21
Proximity sensor
• A proximity sensor detects the presence of nearby objects without physical contact
CEG436: Mobile Computing
22
Sensors
• Ambient Light Sensor• 3D Accelerometer• 3-axis gyro/compass• Proximity Sensor• Temperature and Pressure Sensor
CEG436: Mobile Computing
23
Near Field Communications (NFC)• touch/swipe the
NFC device over an NFC receiver
• related to RFID
NFC Bluetooth BT Low Energy
RFID comp ISO 18000-3 active activeStd body ISO/IEC Bluetooth SIG Bluetooth SIG
Net Standard ISO 13157 etc. IEEE 802.15.1 IEEE 802.15.1Network Type Point-to-point WPAN WPANCryptography not with RFID available available
Range < 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/sSet-up time < 0.1 s < 6 s < 1 s
Power consumption < 15mA (read) varies with
class< 15 mA (transmit)
en.wikipedia.org
CEG436: Mobile Computing
24
Near Field Communications (NFC)
CEG436: Mobile Computing
25
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
26
User Interfaces
• Intuitive UI• Small dimensions• Input Devices• Touch Display
CEG436: Mobile Computing
27
Integrated Network Functionality
CEG436: Mobile Computing
28
Wireless Networks
• Traditional Wireless IEEE 802.11• Bluetooth• Infrared
CEG436: Mobile Computing
29
The WiMAX Possibility
• Wireless & Mobile Broadband at 10-30 miles range
CEG436: Mobile Computing
30
Energy Efficiency
• Battery design• Suspend/Hibernate/Resume/…• Efficient display devices• Application design• OS Design
CEG436: Mobile Computing
31
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 applicationsCEG436: Mobile Computing
32
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
33
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
34
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 dockingstation or cradle connected to the desktop computer
CEG436: Mobile Computing
35
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
36
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 Processors for netbooksCEG436: Mobile Computing
37Sep-05 37
A closer look at their processors
, Droid
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
38Sep-05 38
A closer look at these Systems
CEG436: Mobile Computing
39
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
– OUM (Ovonics Unified Memory): experimental
CEG436: Mobile Computing
40
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
41
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
42
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
43
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
44
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
45
What is mobility?
• Spectrum of mobility, from the network perspective [From Kurose and Ross]:
no mobility high mobility
mobile user, usingsame access point
mobile user, passing through multiple access points while maintaining ongoing connections (like cell phone)
mobile user, connecting/ disconnecting from network using DHCP.
CEG436: Mobile Computing
46
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 failure-prone
networks• What is QoS in this environment?
CEG436: Mobile Computing
47
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
48
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
49
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
50
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
51
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
52
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
53
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
54
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
55
Mobility: Vocabularyhome network: permanent “home” of mobile(e.g., 128.119.40/24)
Permanent address: address in home network, can always be used to reach mobilee.g., 128.119.40.186
home agent: entity that will perform mobility functions on behalf of mobile, when mobile is remote
wide area
network
correspondent
CEG436: Mobile Computing
56
Mobility: more vocabulary
Care-of-address: address in visited network.(e.g., 79,129.13.2)
wide area
network
visited network: network in which mobile currently resides (e.g., 79.129.13/24)
Permanent address: remains constant (e.g., 128.119.40.186)
home agent: entity in visited network that performs mobility functions on behalf of mobile.
correspondent: wants to communicate with mobileCEG436: Mobile Computing
57
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 CEG436: Mobile Computing
58
Context
Pervasive wireless connectivity+
Localization technology=
Location-based applications (LBAs)
(iPhone AppStore: 3000 LBAs, Android: 600 LBAs)
CEG436: Mobile Computing
59
Location Based Services
CEG436: Mobile Computing
60
Location-Based Applications (LBAs)
• Examples:
Location-based recommendations, geo-tagging GeoLife: shopping list when near a grocery storeTrafficSense: real-time traffic conditions
• Location expresses context of user– Facilitates content delivery
CEG436: Mobile Computing
61CEG436: Mobile Computing
62
from http://2010.uplinq.com/pdf/TECH_Future_Trends_in_Multimedia.pdf
CEG436: Mobile Computing
63
http://searchengineland.com/google-maps-for-android-54308
CEG436: Mobile Computing
64CEG436: Mobile Computing
65CEG436: Mobile Computing
66CEG436: Mobile Computing
67CEG436: Mobile Computing
68CEG436: Mobile Computing
1996 2000 2004 2008 2012
Key technologies & activities
FCC passed E-911mandate
Deadline phase 1 of E-911
Deadline phase 2 of E-911
First handsetSupporting Java Location API
Mass market penetration of GPS-capable mobiles
Launch of Galileo
Intro-duction of Android handset
First commercial WLAN fingerprinting systems
Emergence of RFID
First GPS capable iPhone
LBS features and supporting services
Introductionof 3G networks
Introduction of finder LBSs• Restaurants• Filling
stations• ATMs• …
Google launchesGoogleMaps
First Child tracking services
First location-based Mobile gaming
GPS worksindoors
Integration of location data into social network services
Location-based dating
First commercialProactive LBSs
Emergence of common middleware for proactive, cross-referencing, and multi-target LBSs
Application-oriented LBSs
New middleware features for spam avoidance and privacy preservation
Merging of outdoor and indoor LBS applications
LBS Evolution
CEG436: Mobile Computing 69
user centrality
community orientation
operator-centricpositioning
self-referencingsingle-target
reactive
proactivity degreeproactive
device-centricpositioning
cross-referencingmulti-target
content-oriented application-oriented
LBS Evolution
CEG436: Mobile Computing 70