Mobile, … 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 CEG436: Mobile Computing 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” CEG436: Mobile Computing 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) – MPI-2.2 approved Sep 2009. – http://www.mpi-forum.org/ • Condor – e.g., use idle machines – http://www.cs.wisc.edu/condor/ • OpenMP is for parallel computing http://openmp.org/ • Distributed OS exist but not gained a foothold. CEG436: Mobile Computing Mateti 4 Parallel Computing • Def: Computation based on shared memory state and with synergy. – – – – • • • • • Many variations loosen up the definition. often used loosely “Strongly coupled” nodes Mutual exclusion a serious concern MIMD, SIMD, … Parallel Fortran, … languages Scientific computing Multi-Core CPUs Cellular Computing: PlayStaion3 CEG436: Mobile Computing 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 CEG436: Mobile Computing Mateti 6 Ubiquitous Computing Scenario • Provide hundreds of wireless computing devices per person per office, of all scales – from 1" displays to wall sized. – This may require new work in operating systems, user interfaces, 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. CEG436: Mobile Computing Mateti 7 Ubiquitous Computing Scenario • small, inexpensive, robust networked processing devices • distributed at all scales throughout everyday life and generally turned 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. • Another common scenario posits refrigerators "aware" of their suitably tagged contents, able to both plan a variety of menus from the food actually on hand, and warn users of stale or spoiled food. CEG436: Mobile Computing 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 CEG436: Mobile Computing Mateti 9 Weiser’s Ubiquitous Devices 1996 • Tabs: wearable centimeter sized devices • Pads: hand-held decimeter-sized devices • Boards: meter sized interactive display devices. CEG436: Mobile Computing Mateti 10 More Ubiquitous Devices • “like pigment in the wall paint” • Dust: miniaturized devices can be without visual output displays, e.g., Micro Electro-Mechanical Systems (MEMS), ranging from nanometres to millimetres. • 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 CEG436: Mobile Computing Mateti 11 MicroSoft “Surface” Download the MS Surface 2.0 SDK CEG436: Mobile Computing Mateti 12 Typical 2011 Cloud Computing • File storage accessible via Internet to PCs, …, mobile devices – DropBox, SugarSync, iCloud, SkyDrive, … • Shipping off a well-defined computation and data to an outsource provider – Google Apps – Amazon Elastic Compute Cloud (EC2) CEG436: Mobile Computing Mateti 13 Cloud computing http://en.wikipedia.org/wiki/File:Cloud_computing.svg CEG436: Mobile Computing Mateti 14 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 CEG436: Mobile Computing Mateti 15 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 CEG436: Mobile Computing 16 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 not simply be stand-alone vehicles for number crunching, rather they 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/ CEG436: Mobile Computing Mateti 17 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 CEG436: Mobile Computing 18 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 CEG436: Mobile Computing Mateti 19 Conferences • http://www.ubicomp.org/ UbiComp 2011, 13th International Conference, Sep 2011. • http://www.percom.org/ PerCom 2012, 10th IEEE Pervasive Computing and Communication (PerCom) conference, Nov 2011 • http://distributedcomputing.info/conferences. html Many. • http://www.sigmobile.org/mobicom/ MobiCom 2011, Sep 2011 CEG436: Mobile Computing Mateti 20 References • M Satyanarayanan, Pervasive computing: Vision and challenges, IEE 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. CEG436: Mobile Computing Mateti 21