class 2

26
Mobile Systems Engineering 1. Introduction

Upload: nikithanag

Post on 14-Aug-2015

25 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Class 2

Mobile Systems Engineering

1. Introduction

Page 2: Class 2

TopicsIntroduction to Mobile SystemsMobile Systems vs Wireless Systems vs

Embedded SystemsMobile ApplicationsSyllabus, Evaluation and Class Policies

Page 3: Class 2

Evolution of the Computing Paradigm

Page 4: Class 2

Evolution of the Computing Paradigm

1.Early computers 2.Punch cards 3.Command Line

4. First PC 5. SmartPhone

Page 5: Class 2

Evolution of the Computing Paradigm

Page 6: Class 2

Evolution of the Computing Paradigm

Page 7: Class 2

Mobile Devices

SmartphonesTabletsNetbooksLaptopsE-book readersPDAs

Page 8: Class 2

Mobile DevicesThe Players:Google’s AndroidApple’s iPhoneRIMMicrosoftNokia Palm

Page 9: Class 2

What is different about Mobile Computing??Is it same as Embedded computing?Is it a special case of Embedded computing?Is it just Wireless communications?

Page 10: Class 2

Mobile Systems in perspective

• Mobile Systems = Wireless communication + Computing• Wireless Communication - Is a distinguishing aspect of mobile systems – without wireless, mobile systems can’t communicate (voice or data). Imagine a cell phone without wireless. - Wireless communication is used between fixed devices also that need not necessarily be mobile. For example, home networking where a TV (non mobile device), Audio system (non- mobile), laptop (mobile), Desktop (non mobile), Washing machine etc may be networked.

Page 11: Class 2

Embedded Systems - Specialized for the application it caters to as against being general purpose, Often resource (CPU power, memory etc) constrained, characterized by special hardware and associated system software - Need not be mobile and hence may have wired connectivity (eg printer/scanner using a USB)

Page 12: Class 2

Mobile Systems in perspective

Applications1. Mobile centric applications – those specialized for mobile scenarios – for example, location dependent services, cell phone telephony based services

2.Applications that may be classified as personal and micro applications – for example, applications that assist in personal finance management, personal diary etc

3. Application architectures specialized for mobile – mobile application design patterns. For example, consider the intersection of cloud and a mobile device where the cloud serves as a backup medium to store data from the mobile device. Another example is that complex computations can be offloaded to cloud, while the rich multimedia capabilities of Smartphones/ Tablets can be leveraged to provide a rich user experience to the client applications

Page 13: Class 2

Characteristics of a Mobile SystemPortable: Mobile systems can be carried (In this discussion we

consider the devices that are carried by people and exclude devices such as Robots or missiles that can move without needing to carried by humans)

- Weight, size, form factor, heat dissipation- Resource constraints

Battery Powered : (This discussion is focused on devices that are portable and have a battery that is portable as against car batteries that are huge)

- System software to control energy optimization- Processor support for energy optimization- Application architecture driven optimization- Optimization in communication systems

Page 14: Class 2

Characteristics of a Mobile SystemWireless connected

- Different protocols result in different speeds (hence different power requirements), different error rates or reliability and routing requirements

Limitations:Bandwidth: Insufficient bandwidth and hence mobile

internet access is generally slower than wired accessSecurity: Dependency on public networksPower consumption: Dependent on batteryTransmission interferences: Terrain,Weather..

Page 15: Class 2

Why Mobile Applications?Most computers will be portableNeed to access network – need wirelessMany people will be mobileConsider air travellers inside an aircraft. This is an example

of a mobile network moving at high speed above the ground – wireless communication is the only mode of data communication.

User Mobility: Refers to a user who has access to same or similar telecommunication services at different places – services follow the user

Device Portability: The communication device moves (with or without the user). Many mechanisms in the network inside and outside the device need to make sure that the communication is still possible while on the move.

The term wireless is used with regard to the devices. This only refers to a way of accessing the network or other communication partners – transmission of electromagnetic waves through “air”

Page 16: Class 2

Communication PatternsWireless networking and mobile computing

are related but not identicalFixed and Wired

Eg DesktopMobile and Wired

Eg, laptops carried from one room to another and connected to wired networkFixed and Wireless

Eg, printers connected through wireless, Washing machines that can be

connected through wirelessMobile and Wireless

Eg: Cell phones

Page 17: Class 2

ApplicationsVehiclesNomadic userSmart mobile phoneInvisible computingWearable computingIntelligent house or officeMeeting room/conferenceTaxi/Police/Fire squad fleetService workerLonely wolfDisaster relief and Disaster alarmGamesMilitary / Security

Page 18: Class 2

Scope of Mobile Systems

Page 19: Class 2
Page 20: Class 2

Application ArchitectureWork within constraints

- Design Patterns that handle the constraints effectively- Constraints in CPU speed, memory, persistent storage,

network speed, network reliability, power consumption, screen size, input methods

- Push versus pull to handle transmission power, Use the wake_lock effectively, move heavy computation to the server, use the local database effectively to handle network unreliability, backup of device data on server, integration of cloud and device, content adaptation,

- Perform the right trade offs in building applicationsTake advantage of devices

- Devices: Camera, GPS, Compos, Accelerometer, Audio/Speaker/microphone

- New gestures as input/output (eg: multitouch, accelerometer)- New class of applications (mobile video conferencing,

connectivity to social networking)

Build mobility specific and personalized applications- New application scenarios (eg, location aware services –

map/position related services, social applications)

Page 21: Class 2

System ArchitectureSystem

Handle constraints: Bionic library (as against a complete libc – make a

measurement of bionic size versus full libc size), utilities and tools that are subset of Linux, DVM to effectively use memory/power, Power management, Network management to take care of reliability and low bandwidth aspectsSupport new devices: Consistent model for accessing

devices, systemguarantees on availability of devices, Interfaces between

devices, libraries and applications, device specific events (eg, camera_ready)Support different wireless protocolsSupport detection of mobility and changes to the

environment

Page 22: Class 2

Mobile Operating System ...also known as MobileOS, Handheld OS or Mobile Platform, is the operating system that controls a mobile device.

Why do we need a mobile OS? How do current mobile OSs compare?

Page 23: Class 2

Demands from a Mobile OS Short start-up time Quick response to user actions Portable Power efficient Extensible

Page 24: Class 2

Characteristics of a Mobile OS Multitasking system – ability to run multiple applications simultaneously, respond to asynchronous events

Memory protection – secure environment for running applications without compromising user privacy and data security

Power conscious Extensible – can run third party applications

Support for wide variety of communication channels

Page 25: Class 2

Comparison of Mobile Platforms

Multi-tasking

Java support

Flash support

Browser License

Android Yes Yes Yes WebKit Open source

Blackberry Yes Yes Yes Proprietary Proprietary

iPhone Yes No No WebKit Semi-proprietary

WinMobile Yes Yes Yes IE Proprietary, with partial sources

Page 26: Class 2

Comparison of Mobile Platforms - Development Tools

Primary language(s)

Debugger IDE Availability

Android Java (limited C/C++)

ADT Eclipse plugin

ADT Eclipse plugin

Free

Blackberry Java Integrated in JDE

JDE Free

iPhone Objective-C Integrated in XCode IDE

XCode Free on Intel-Mac, fee-based deployment

WinMobile C/C++, C#, VB.Net

Yes Visual Studio, eVC++

Commercial (Visual Studio), free (eVC++)