710 likes | 873 Views
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.
E N D
Characteristics of Mobile Computing PrabhakerMateti
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
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
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
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.”
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.
Proximity sensor • A proximity sensor detects the presence of nearby objects without physical contact
Sensors • Ambient Light Sensor • 3D Accelerometer • 3-axis gyro/compass • Proximity Sensor • Temperature and Pressure Sensor
Near Field Communications (NFC) • touch/swipe the NFC device over an NFC receiver • related to RFID en.wikipedia.org
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
User Interfaces • Intuitive UI • Small dimensions • Input Devices • Touch Display
Wireless Networks • Traditional Wireless IEEE 802.11 • Bluetooth • Infrared
The WiMAX Possibility • Wireless & Mobile Broadband at 10-30 miles range
Energy Efficiency • Battery design • Suspend/Hibernate/Resume/… • Efficient display devices • Application design • OS Design
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
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
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
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
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.
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 netbooks
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 Sep-05 37
A closer look at these Systems Sep-05 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 • OUM (Ovonics Unified Memory): experimental
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
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.
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
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
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
no mobility high mobility What is mobility? • Spectrum of mobility, from the network perspective [From Kurose and Ross]: mobile user, using same access point mobile user, passing through multiple access points while maintaining ongoing connections (like cell phone) mobile user, connecting/ disconnecting from network using DHCP.
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?
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)
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
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
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