Mobile Computing Lecture 1 PDF
Document Details
Uploaded by Deleted User
Computer Systems Engineering
Dr. Ezzaldeen Edwan
Tags
Summary
This document is a lecture on mobile computing, discussing fundamental concepts, related ideas, and project details for a computer science course. It covers course goals, grading, project requirements, and defines mobile computing.
Full Transcript
MOBILE COMPUTING LECTURE 1 Dr. Ezzaldeen Edwan Computer Systems Engineering First semester Course Goals Learn about fundamental mobile/wireless concepts Learn about other related concepts in fields such as sensor networks, embedded computing, wearables, pervasive computing Learn mobile de...
MOBILE COMPUTING LECTURE 1 Dr. Ezzaldeen Edwan Computer Systems Engineering First semester Course Goals Learn about fundamental mobile/wireless concepts Learn about other related concepts in fields such as sensor networks, embedded computing, wearables, pervasive computing Learn mobile development concepts and strategies (not programming) Practice mobile development skills Grading Midterm Exam 30% Final Exam 40% Project Documents & Reports 15% Project Demonstration/Presentation 10% Class Participation 5% Course Project Semester-long development project in broad area of mobile computing Teams of no more than 2 students Some collaboration between teams allowed/encouraged Platforms/devices of your choice: SW: Android, iOS, Windows, Arduino, Raspberry Pi, … HW: Smartphones, tablets Embedded devices & development boards Sensor devices Wearables Robots, UAVs … What Is Mobile Computing? What is computing? Operation of computers (according to oxfords advance learner’s dictionary) What is the mobile? That someone /something can move or be moved easily and quickly from place to place What is mobile computing? Users with portable computers still have network connections while they move Mobile Computing Definitions A simple definition could be: Mobile Computing is using a computer (of one kind or another) while on the move Another definition could be: Mobile Computing is when a work process is moved from a normal fixed position to a more dynamic position A third definition could be: Mobile Computing is when a work process is carried out somewhere where it was not previously possible Mobile Computing is an umbrella term used to describe technologies that enable people to access services anyplace, anytime, and anywhere Mobile Computing Many other names/overlapping computing paradigms: Pervasive Computing Ubiquitous Computing Wireless Computing Embedded Computing Nomadic Computing Wireless Sensor Networks (Mobile) Ad-Hoc Networks Mesh Networks Vehicular Networks … Mobile Computing Mobile computing is the act of interacting with a computer through the use of a mobile device. Mobile computing has three main components which are mobile hardware, mobile software, and mobile communication. Mobile Computing Applications Location-awareness Mobility Support Mobile Computing Security Resource Management Network Protocols Broadcast Wireless Communication Technologies Standards Wireless Medium Wired vs Wireless Wired Networks Mobile Networks high bandwidth low bandwidth low bandwidth variability high bandwidth variability can listen on wire hidden terminal problem high power machines low power machines high resource machines low resource machines need physical access need proximity (security) higher delay low delay disconnected operation connected operation Types of Wireless Devices Laptops Palmtops PDAs Cell phones Smart phones Pagers Sensors Why Go Mobile? Enable anywhere/anytime connectivity Bring computer communications to areas without pre- existing infrastructure Enable mobility Enable new applications An exciting new research area Evolution (Seven waves of mobile computing) The history of mobile computing can be divided into a number of eras, or waves, each characterized by a particular technological focus, interaction design trends, and by leading to fundamental changes in the design and use of mobile devices. Mobile computing history has, so far, entailed seven particularly important waves. Although not strictly sequential, they provide a good overview of the legacy on which current mobile computing research and design is built. These waves are the basis for the technology that is used today in research and design of mobile computing These seven categories are: Portability, Miniaturization, Connectivity, Convergence, Divergence, Apps, Digital Ecosystems Reference: https://www.interaction-design.org/literature/book/the- encyclopedia-of-human-computer-interaction-2nd-ed/mobile- computing Portability Reducing the size of hardware to enable the creation of computers that could be physically moved around relatively easily. Miniaturization Creating new and significantly smaller mobile form factors that allowed the use of personal mobile devices while on the move Connectivity Developing devices and applications that allowed users to be online and communicate via wireless data networks while on the move Convergence Integrating emerging types of digital mobile devices, such as Personal Digital Assistants (PDAs), mobile phones, music players, cameras, games, etc., into hybrid devices Divergence Opposite approach to interaction design by promoting information appliances with specialized functionality rather than generalized ones Applications (Apps) The latest wave of applications (apps) is about developing matter and substance for use and consumption on mobile devices, and making access to this fun or functional interactive application content easy and enjoyable Digital Ecosystems The emerging wave of digital ecosystems is about the larger wholes of pervasive and interrelated technologies that interactive mobile systems are increasingly becoming a part of Example: Smartphone Portability: fit in your pocket Miniaturization: make it possible to build device to fit in your pocket Connectivity: Wi-Fi, LTE/4G, cellular, Bluetooth Convergence: phone, camera, gaming device, movie streaming, music player, … Divergence: ? Applications: “Rise of the Apps” Digital Ecosystem: social networks, distributed gaming, video streaming, work apps, … Constraints and challenges faced by mobile computing systems Mobile computing devices have a smaller form factor than traditional desktops. Need to impose constraints on space, weight, and form factors of these devices since their users are on the move while computing or connecting. These constraints in turn impose various technological and design restrictions on the devices. Constraints are: Resource Poor Less secured/reliable Intermittent connectivity Energy constrained Resource Poor A computer system requires various components to process, compute, or connect. Resources can be physical or virtual component. Example of such resources include the CPU, RAM, hard disks, storage devices, various input/output devices like printers, and connectivity components like Wi-Fi or modem. Mobile computing devices are resource limited. Resource restrictions can be mitigated with the use of alternate methods for input, storage, processing, and so on. For example, alternate input methods of speech or handwriting recognition can be used instead of keyboards, alternate storage methods such as cloud storage can be used instead of hard disks, and cloud computing can be used for certain processing instead of more power hungry on device CPU. Less secured/reliable All compute devices have important resources and store valuable data and/or programs. It is important to protect access to all of these compute resources and data through user recognition / authentication. Appropriate gatekeeper procedures and mechanisms should be deployed to protect the underlying data, programs, and apps while enforcing appropriate privacy guidelines and protocols. Since mobile devices are mostly in transit, their security becomes increasingly more challenging since these devices may use wireless channels, public resources, or networks that can provide easy access to these mobile systems. Some of the sources of security risks Through messaging systems like SMS, MMS Through connection channels like Wi-Fi networks, GSM Through software/OS vulnerabilities to external attacks Through malicious software and user ignorance about it. Some of the mitigation options are Use of encryption methods (Wired Equivalent Privacy: WEP, Wi-Fi Protected Access: WPA/WPA2) encryption Using VPN or HTTPS to access Wi-Fi/Internet Allow only known MAC addresses to join or connect to known MAC addresses only. Intermittent connectivity Mobile devices may be away from various communication infrastructures like Wi-Fi or the Internet for considerable periods of time. To access required data and programs stored at remote locations, they need to be connected if possible only intermittently. Such intermittent connectivity needs a different kind of data transfer mechanism that can handle power management issues, package loss issues, and the like. Mobile devices need data to be buffered in the case where only intermittent connections to the network are possible. To prevent any data loss, the data transfer mechanisms in mobile devices need to handle cases when data is generated or received more frequently than the available connectivity. Energy constrained Why energy availability and battery life a key constraint for mobile devices? Lack of a readily available power source smaller and compact size and resources for power storage complex data management, security requirements, and connectivity requirements Mobile devices use power-hungry sensing, storage, and communication capabilities but have some very stringent power and thermal budgets. These devices are without fans, are often in close skin contact with the user, and have restricted surface area; hence they are limited by peak power consumption since the user experience is affected by the temperature of the device. This further underscores why power management and battery life are key design parameters and constraints for mobile devices. A mitigation plan for Energy constrained challenges includes Power management with an emphasis on Platform power and optimization: the power management policy should be inclusive of available hardware resources of the mobile platform and manage their operation for energy efficiency. User experience: the usage of mobile devices extends from CPU- or graphics intensive usage to sensor-heavy usage. Various location-based services and applications would require sensors like accelerometers, gyrometers, and cameras. Applications using touch capabilities would require quick exit from power-managed states and gaming applications would require higher throughput with brighter display. Thus power management system should consider these use cases, and corresponding system responsiveness requirements. Thus mobile devices need hardware resources that provide various low power states along with energy-aware operating systems and applications. Both hardware and software should be intelligent to incorporate user interaction, sensor inputs, and computational and protocol optimizations and their dynamic behavior/loads. Trends in Mobile: Phone Subscribers According to GSMA, the mobile industry has scaled dramatically over the last decade. By 2020, the majority of the world’s population (56%) is expected to have their own mobile subscription. Historical perspectives and the influences of market The following are some of the key factors influencing the move to mobile computing. Some of these factors also influence the form factors within mobile computing options. Enhanced user experience: Mobile computing changes our approach to connectivity: in how we connect to different geographical locations, different people, cultures, and processes. Improved technology: With improved technology, mobile devices now have improved battery life, faster processors, user-friendly and lightweight manufacturing materials, power-efficient flexible displays, and high- bandwidth networks. The devices also have numerous sensors like biometric sensors, temperature and pressure sensors, pollution sensors, and location sensors. New form factors: The way the user interacts with and uses mobile devices will change with advancements in the underlying technology Increased connectivity/computing options: There is now an abundance of wireless connectivity through various means Trends in Mobile: Shopping App Store (iOS) 2003: iTunes Music Store 2008: iPhone App Store (iPhone 3G with App Store support) 2015: > 100 billion app downloads 2016: > 2 million apps 2016: China biggest App Store market 2016: App developers earned $20 billions Most downloaded app: Minecraft Pocket Edition (paid) and Pokemon GO (free) Trends in Mobile: Wearables Trends in Mobile: Smartwatches Trends in Mobile: Healthcare Trends in Mobile: Apps Trends in Mobile: Most Popular Apps Most Popular Apps in 2022 Trends in Mobile: Smartphone OS Trends in Mobile: Apps Mobile Developer Jobs http://www.itcareerfinder.com/brain-food/blog/entry/best-c omputer-jobs-for-the-future.html : #1: Mobile App Developer Employment Projections | 2010 - 2020 10-Year Growth Pct: 32% (much faster than avg.) 10-Year Growth Volume: 292,000 new jobs Average Salary: $95,000