Ubiquitous and Pervasive Computing Prabhaker Mateti Networked Computing • Send-Receive Message Passing paradigm • Independent computer systems as Nodes • Aware of other nodes and networks of nodes – – – – – Loss of messages, a serious concern Ordered delivery, a serious concern A snapshot of “global state” is not possible global time stamps not available define a “happened before” relation • Client-Server computing • Master-Slave computing CEG4900: Android Internals and Security Mateti 2 Distributed Computing • Def: Computation based on send-receive of messages without shared memory state but with synergy. – Networked computing with “synergy” – Many variations loosen up the definition. • Peer-to-Peer computing • Spreading out and shrinking back on the network • “Distributed Shared Memory” CEG4900: Android Internals and Security Mateti 3 Distributed Computing Software • Cluster Computing • Grid Computing • PVM (Parallel Virtual Machine) – in spite of the name, a distributed computing paradigm – http://www.csm.ornl.gov/pvm/ • MPI (Message Passing Interface) – http://www.mpi-forum.org/ • Condor – use idle machines – http://www.cs.wisc.edu/condor/ • OpenMP is for parallel computing http://openmp.org/ • Distributed OS exist but have not gained a foothold. CEG4900: Android Internals and Security Mateti 4 Parallel Computing • Def: Computation based on shared memory state and with synergy. – Many variations loosen up the definition. – “Strongly coupled” nodes – Mutual exclusion a serious concern • • • • • MIMD, SIMD, … Parallel Fortran, … languages Scientific computing Multi-Core CPUs Cellular Computing: PlayStation4 CEG4900: Android Internals and Security Mateti 5 Ubiquitous Computing • Mainframe: Many people share one computer. • Personal Computer: One person with one computer. • Ubiquitous Computing: Many computers serve each person. • “the age of calm technology, when technology recedes into the background of our lives.” • roughly the opposite of virtual reality • From: Mark Weiser, sandbox.xerox.com/ ubicomp/, 1996 CEG4900: Android Internals and Security Mateti 6 Ubiquitous Computing Scenario • Provide hundreds of wireless computing devices per person per office, of all scales – from 1 in displays to wall sized. – This will require new work in operating systems, GUI, networks, wireless, displays, … • This is different from PDA's, dynabooks, or information at your fingertips. • It is invisible, everywhere computing that does not live on a personal device of any sort, but is in the woodwork everywhere. CEG4900: Android Internals and Security Mateti 7 Ubiquitous Computing Scenario • small, inexpensive, robust networked processing devices • distributed at all scales throughout everyday life and generally tuned to distinctly common-place ends. • For example, a domestic ubiquitous computing environment might interconnect lighting and environmental controls with personal biometric monitors woven into clothing so that illumination and heating conditions in a room might be modulated, continuously and imperceptibly. • Way beyond “Internet of Things” CEG4900: Android Internals and Security Mateti 8 Ubiquitous Computing Definitions • “machines that fit the human environment instead of forcing humans to enter theirs.” • “Computing without computers, where information processing has diffused into everyday life, and virtually disappeared from view.” -- Adam Greenfield, Everyware: The Dawning Age of Ubiquitous Computing, 2006 CEG4900: Android Internals and Security Mateti 9 Weiser’s Ubiquitous Devices 1996 • Tabs: wearable centimeter sized devices • Pads: hand-held decimeter-sized devices • Boards: meter sized interactive display devices. CEG4900: Android Internals and Security Mateti 10 More Ubiquitous Devices • “like pigment in the wall paint” • Dust: miniaturized devices can be without visual output displays, – Micro Electro-Mechanical Systems (MEMS), – nanometers to millimeters. • Skin: fabrics based upon light emitting and conductive polymers, or organic computer devices • Clay: ensembles of MEMS can be formed into arbitrary three dimensional shapes as artifacts CEG4900: Android Internals and Security Mateti 11 MicroSoft “Old Surface” PixelSense http://www.microsoft.com/en-us/pixelsense/gettingstarted.aspx CEG4900: Android Internals and Security Mateti 12 Google Glass • https://glass.google.com/getglass/shop/glass • $1500 July 2014 CEG4900: Android Internals and Security Mateti 13 MIT Sixth Sense CEG436: Mobile Computing 14 MIT Sixth Sense CEG436: Mobile Computing 15 Typical Cloud Computing • File storage accessible via Internet to PCs, …, mobile devices – GoogleDrive, DropBox, OneDrive, … • Shipping off a well-defined computation and data to an outsource provider – Google Apps – Amazon Elastic Compute Cloud (EC2) CEG4900: Android Internals and Security Mateti 16 Cloud computing http://en.wikipedia.org/wiki/File:Cloud_computing.svg CEG4900: Android Internals and Security Mateti 17 Cloud Computing • “Cloud computing provides computation, software, data access, and storage services that do not require end-user knowledge of the physical location and configuration of the system that delivers the services.” • Cloud computing characteristics: Agility, Reduced Cost, Device And Location Independence, On-demand Scalability And Performance CEG4900: Android Internals and Security Mateti 18 Pervasive Computing • Invisible Computing Everywhere: A world in which virtually every object has processing power with (wireless or wired) connections to a global network. • Devices – RFID (radio frequency identification) tags – Active badges worn as ID cards. – Memory buttons that store information. • Contextual computing CEG4900: Android Internals 19 and Security Mateti Pervasive Computing • Internet as the start of a pervasive computing system. • “Pervasive computing envisions environments richly lathered with computation, communication and networked devices, mobile users interacting with their environment using speech and vision, with secure access to personal or public data. Pervasive computing environments will … immerse their users in a triad of invisible computation, communication and devices, working in concert to satisfy user requirements according to the facilities available in the environment.” -http://groups.csail.mit.edu/cag/classes/6.898/ CEG4900: Android Internals and Security Mateti 20 Applications of Pervasive Computing • Smart Homes – appliances communicate with each other – television, lighting, heating and home security • Smart Cars – controlling the radio, transmission, remembering your seat position, adjusting the temperature, making the suspension work better, helping you see in the dark, and warning when tire pressure is low. • Smart “Things” – Barcodes, Auto Identification (Auto-ID) – RFID tollbooth systems, such as E-Z Pass. • Large-scale pervasive computing – – – – Smart Schools Intelligent Elder- Care Smart Offices Digital Cities CEG4900: Android Internals 21 and Security Mateti Goals of Project Oxygen • • • • • • • • pervasive—it must be everywhere, with every portal reaching into the same information base; embedded—it must live in our world, sensing and affecting it; nomadic—it must allow users and computations to move around freely, according to their needs; adaptable—it must provide flexibility and spontaneity, in response to changes in user requirements and operating conditions; powerful, yet efficient—it must free itself from constraints imposed by bounded hardware resources, addressing instead system constraints imposed by user demands and available power or communication bandwidth; intentional—it must enable people to name services and software objects by intent, for example, "the nearest printer," as opposed to by address; eternal—it must never shut down or reboot; components may come and go in response to demand, errors, and upgrades, but Oxygen as a whole must be available all the time. http://oxygen.lcs.mit.edu/Overview.html CEG4900: Android Internals and Security Mateti 22 Conferences • http://www.ubicomp.org/ Annual UbiComp International Conferences • http://www.percom.org/ IEEE Pervasive Computing and Communication (PerCom) conferences • http://distributedcomputing.info/conferences.ht ml Many. • http://www.sigmobile.org/mobicom/ MobiCom 20xx • International Symposium on Wearable Computers http://iswc.net/iswc14/ CEG4900: Android Internals and Security Mateti 23 References • M Satyanarayanan, Pervasive computing: Vision and challenges, IEEE Personal Communications, IEEE, 2001, ieeexplore.ieee.org • Frank Stajano, “Security Issues in Ubiquitous Computing”, Handbook of Ambient Intelligence and Smart Environments, 2010, Part III, 281-314 • Jin Nakazawa, et al., A Description Language for Universal Understandings of Heterogeneous Services in Pervasive Computing, 2010 IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing. CEG4900: Android Internals and Security Mateti 24