Prabhaker Mateti
CEG436: Mobile Computing 1
CEG436: Mobile Computing 2
• 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
• 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
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
• 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
CEG436: Mobile Computing 16
CEG436: Mobile Computing
17
CEG436: Mobile Computing
18
• 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
• 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
• A proximity sensor detects the presence of nearby objects without physical contact
21
• Ambient Light Sensor
• 3D Accelerometer
• 3-axis gyro/compass
• Proximity Sensor
• Temperature and Pressure Sensor
CEG436: Mobile Computing 22
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
CEG436: Mobile Computing 24
• 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
• Intuitive UI
• Small dimensions
• Input Devices
• Touch Display
CEG436: Mobile Computing 26
CEG436: Mobile Computing 27
• Traditional Wireless IEEE 802.11
• Bluetooth
• Infrared
CEG436: Mobile Computing 28
• Wireless & Mobile Broadband at 10-30 miles range
CEG436: Mobile Computing 29
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
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
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
• 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
Pervasive wireless connectivity
+
Localization technology
=
Location-based applications (LBAs)
(iPhone AppStore: 3000 LBAs, Android: 600
LBAs)
CEG436: Mobile Computing 58
CEG436: Mobile Computing 59
• 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
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
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