Pervasive Computing

60
CENG577 Advanced Services in Communications Pervasive Computing Ahmet Volkan Gürel Project Mentor: Assoc.Prof.Halûk Gümüşkaya Department of Computer Engineering Fatih University Fall 2006

description

pervasive computing

Transcript of Pervasive Computing

Page 1: Pervasive Computing

CENG577Advanced Services in

Communications

Pervasive Computing

Ahmet Volkan GürelProject Mentor: Assoc.Prof.Halûk Gümüşkaya

Department of Computer EngineeringFatih University

Fall 2006

Page 2: Pervasive Computing

Outline

• Principles of Pervasive Computing• Evolution & Related Fields• Problem Space• Example Projects• Other Scenarios• References

Page 3: Pervasive Computing

Principles of Pervasive Computing

• “The most profound technologies are those that dissappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.”

– Creation of environments saturated with computing and communication capability, yet gracefully integrated with human users.

• Scientific American,Vol. 265 N.9, pp. 66-75, 1991

Mark Weiser

Page 4: Pervasive Computing

Principles of Pervasive Computing

• During one of his talks, Weiser outlined a set of principles describing pervasive computing (also called ubiquitous computing):– The purpose of a computer is to help you do something else.– The best computer is a quiet, invisible servant. – The more you can do by intuition the smarter you are; the

computer should extend your unconscious. – Technology should create calm.

• Calm technology– “A technology that which informs but doesn't demand our

focus or attention”. (Designing Calm Technology, Weiser and John Seeley Brown)

Page 5: Pervasive Computing

Principles of Pervasive Computing

• "Ubiquitous computing names the third wave in computing, just now beginning. First were mainframes, each shared by lots of people. Now we are in the personal computing era, person and machine staring uneasily at each other across the desktop. Next comes ubiquitous computing, or the age of calm technology, when technology recedes into the background of our lives."

Figure 1. The major trends in computing.

Page 6: Pervasive Computing

Principles of Pervasive Computing

• Promoters of this idea hope that embedding computation into the environment and everyday objects would enable people to interact with information-processing devices more naturally and casually than they currently do, and in ways that suit whatever location or context they find themselves in.

Page 7: Pervasive Computing

Principles of Pervasive Computing

• Pervasive computing integrates computation into the environment, rather than having computers which are distinct objects.

• Other terms for pervasive computing:– Ubiquitous computing– Calm technology– Things that think– Everyware– Pervasive internet– Ambient intelligence– Proactive computing– Augmented reality

Page 8: Pervasive Computing

Principles of Pervasive Computing

• Central aim of pervasive computing: invisibility– One does not need to continually rationalize one's use of

a pervasive computing system.

– Having learnt about its use sufficiently well, one ceases to be aware of it.

– It is "literally visible, effectively invisible" in the same way that a skilled carpenter engaged in his work might use a hammer without consciously planning each swing.

– Similarly, when you look at a street sign, you absorb its information without consciously performing the act of reading.

Page 9: Pervasive Computing

• Principles of Pervasive Computing• Evolution & Related Fields• Problem Space• Example Projects• Other Scenarios• References

Page 10: Pervasive Computing

Evolution & Related Fields

• Pervasive computing represents a major evolutionary step in a line of work dating back to the mid-1970s.

• Two distinct earlier steps in this evolution:– Distributed systems– Mobile computing

Page 11: Pervasive Computing

Evolution & Related Fields

Figure 2. Taxonomy of computer systems research problems in pervasive computing.

Page 12: Pervasive Computing

Evolution & Related Fields

• Distributed systems– Arose at the intersection of personal computers and

local area networks.

– The research that followed from the mid-1970s through the early 1990s created a conceptual framework and algorithmic base that has proven to be of enduring value in all work involving two or more computers connected by a network — whether mobile or static, wired or wireless, sparse or pervasive.

– Spans many areas that are foundational to pervasive computing (Figure 2).

Page 13: Pervasive Computing

Evolution & Related Fields

• Mobile computing– The appearance of full-function laptop computers and

wireless LANs in the early 1990s led researchers to confront the problems that arise in building a distributed system with mobile clients. The field of mobile computing was thus born.

– Many basic principles of distributed system design continued to apply.

– Four key constraints of mobility forced the development of specialized techniques:

• Unpredictable variation in network quality• Lowered trust and robustness of mobile elements• Limitations on local resources imposed by weight and size

constraints• Concern for battery power consumption

Page 14: Pervasive Computing

Evolution & Related Fields

• Other related fields:– Sensor networks– Human-computer interaction– Artificial intelligence

Page 15: Pervasive Computing

Evolution & Related Fields

• Other related fields:– Sensor Networks

• A sensor network consist of a large number of tiny autonomous computing devices, each equipped with sensors, a wireless radio, a processor, and a power source.

• Sensor networks are envisioned to be deployed unobtrusively in the physical environment in order to monitor a wide range of environmental phenomena (e.g., environmental pollutions, seismic activity, wildlife) with unprecedented quality and scale.

Page 16: Pervasive Computing

Evolution & Related Fields

• Other related fields:– Human Computer Interaction

• HCI is the study of interaction between people (users) and computers.

• A basic goal of HCI is to improve the interaction between users and computers by making computers more user-friendly and receptive to the user's needs.

• A long term goal of HCI is to design systems that minimize the barrier between the human's cognitive model of what they want to accomplish and the computer's understanding of the user's task.

Page 17: Pervasive Computing

Evolution & Related Fields

• Other related fields:– Artificial Intelligence

• AI can be defined as intelligence exhibited by an artificial (non-natural, manufactured) entity.

• AI is studied in overlapping fields of computer science, psychology and engineering, dealing with intelligent behavior, learning and adaptation in machines, generally assumed to be computers.

• Research in AI is concerned with producing machines to automate tasks requiring intelligent behavior.

Page 18: Pervasive Computing

• Principles of Pervasive Computing• Evolution & Related Fields• Problem Space• Example Projects• Other Scenarios• References

Page 19: Pervasive Computing

Problem Space

• Pervasive computing incorporates four additional research thrusts:– Effective use of smart spaces– Invisibility– Localized scalability– Masking uneven conditioning

Page 20: Pervasive Computing

Problem Space

• Effective use of smart spaces– By embedding computing infrastructure in building

infrastructure, a smart space brings together two worlds that have been disjoint until now.

– The fusion of these worlds enables sensing and control of one world by the other.

• Automatic adjustment of heating, cooling, and lighting levels in a room based on an occupant’s electronic profile.

Page 21: Pervasive Computing

Problem Space

• Invisibility– The ideal expressed by Weiser is complete

disappearance of pervasive computing technology from a user’s consciousness (minimal user distraction).

– If a pervasive computing environment continuously meets user expectations and rarely presents him with surprises, it allows him to interact almost at a subconscious level.

Page 22: Pervasive Computing

Problem Space

• Localized scalability– As smart spaces grow in sophistication, the intensity of

interactions between a user’s personal computing space and his/her surroundings increases.

– This has severe bandwidth, energy, and distraction implications for a wireless mobile user.

– The presence of multiple users will further complicate this problem.

– Good system design has to achieve scalability by severely reducing interactions between distant entities.

Page 23: Pervasive Computing

Problem Space

• Masking uneven conditioning– Huge differences in the “smartness” of different

environments — what is available in a well-equipped conference room, office, or classroom may be more sophisticated than in other locations.

– This large dynamic range of “smartness” can be jarring to a user, detracting from the goal of making pervasive computing technology invisible.

– One way to reduce the amount of variation seen by a user is to have his/her personal computing space compensate for “dumb” environments.

Page 24: Pervasive Computing

Problem Space

• Design and implementation problems in pervasive comp.– User intent– Cyber foraging– Adaptation strategy– High-level energy management– Client thickness– Context awareness– Balancing proactivity and transparency– Impact on layering– Privacy and trust

Page 25: Pervasive Computing

Problem Space

• User intent– For proactivity to be effective, it is crucial that a pervasive

computing system track user intent. Otherwise, it will be almost impossible to determine which system actions will help rather than hinder the user.

– For example, suppose a user is viewing video over a network connection whose bandwidth suddenly drops. Should the system:

• Reduce the fidelity of the video?• Pause briefly to find another higher-bandwidth connection?• Advise the user that the task can no longer be accomplished?

– The correct choice will depend on what the user is trying to accomplish.

Page 26: Pervasive Computing

Problem Space

• Cyber foraging (also called “living off the land”)– The idea is to dynamically augment the computing

resources of a wireless mobile computer by exploiting wired hardware infrastructure.

– As computing becomes cheaper and more plentiful, it makes economic sense to “waste” computing resources to improve user experience.

– In the forseeable future, public spaces such as airport lounges and coffee shops will be equipped with compute servers or data staging servers for the benefit of customers, much as table lamps are today. (Today, many shopping centers and cafeterias offer their customers free wireless internet access.)

Page 27: Pervasive Computing

Problem Space

• Adaptation strategy– Adaptation is necessary when there is a significant mismatch

between the supply and demand of a resource (e.g. wireless network bandwidth, energy, computing cycles or memory).

– There are three alternative strategies for adaptation in pervasive computing:

• A client can guide applications in changing their behavior so that they use less of a scarce resource. This change usually reduces the user-perceived quality, or fidelity, of an application.

• A client can ask the environment to guarantee a certain level of a resource (reservation-based QoS systems). From the viewpoint of the client, this effectively increases the supply of a scarce resource to meet the client’s demand.

• A client can suggest a corrective action to the user. If the user acts on this suggestion, it is likely (but not certain) that resource supply will become adequate to meet demand.

Page 28: Pervasive Computing

Problem Space

• High-level energy management– Sophisticated capabilities such as proactivity and self-tuning

increase the energy demand of software on a mobile computer in one’s personal computing space.

– Making such computers lighter and more compact places severe restrictions on battery capacity, so the higher levels of the system must be involved in memory management.

– One example is energy-aware memory management, where the operating system dynamically controls the amount of physical memory that has to be refreshed.

– Another example is energy-aware adaptation, where individual applications switch to modes of operation with lower fidelity and energy demand under operating system control.

Page 29: Pervasive Computing

Problem Space

• Client thickness (hardware capabilities of the client)– For a given application, the minimum acceptable thickness

of a client is determined by the worst-case environmental conditions under which the application must run satisfactorily.

– A very thin client suffices if one can always count on high-bandwidth low-latency wireless communication to nearby computing infrastructure, and batteries can be recharged or replaced easily.

– If there exists even a single location visited by a user where these assumptions do not hold, the client will have to be thick enough to compensate at that location.

– This is especially true for interactive applications where crisp response is important.

Page 30: Pervasive Computing

Problem Space

• Context awareness– A pervasive computing system must be cognizant of its

user’s state and surroundings, and must modify its behavior based on this information.

– A user’s context can be quite rich, consisting of attributes such as physical location, physiological state (e.g., body temperature and heart rate), emotional state (e.g., angry, distraught, or calm), personal history, daily behavioral patterns, and so on.

– If a human assistant were given such context, he or she would make decisions in a proactive fashion, anticipating user needs.

– In making these decisions, the assistant would typically not disturb the user at inopportune moments except in an emergency.

– A pervasive computing system should emulate such a human assistant.

Page 31: Pervasive Computing

Problem Space

• Balancing proactivity and transparency– Unless carefully designed, a proactive system can annoy a

user and thus defeat the goal of invisibility.– A mobile user’s need and tolerance for proactivity are

likely to be closely related to his/her level of expertise on a task and familiarity with his/her environment.

– A system that can infer these factors by observing user behavior and context is better positioned to strike the right balance.

– For transparency, a user patience model can be implemented to predict whether the user will respond positively to a fetch request. So the user interaction is suppressed and the fetch is handled transparently.

Page 32: Pervasive Computing

Problem Space

• Impact on layering– Proactivity and adaptation based on corrective actions

seem to imply exposure of much more information across layers than is typical in systems today.

– Layering cleanly separates abstraction from implementation and is thus consistent with sound software engineering.

– Layering is also conducive to standardization since it encourages the creation of modular software components.

Page 33: Pervasive Computing

Problem Space

• Privacy and trust– As a user becomes more dependent on a pervasive

computing system, it becomes more knowledgeable about that user’s movements, behavior patterns and habits.

– Exploiting this information is critical to successful proactivity and self-tuning (invisibility), but also may cause serious loss of privacy.

– User must trust the infrastructure to a considerable extent and the infrastructure needs to be confident of the user’s identity and authorization level before responding to his/her requests.

– It is a difficult challenge to establish this mutual trust in a manner that is minimally intrusive and thus preserves invisibility.

Page 34: Pervasive Computing

• Principles of Pervasive Computing• Evolution & Related Fields• Problem Space• Example Projects• Other Scenarios• References

Page 35: Pervasive Computing

Example Projects

• After a decade of hardware progress, many critical elements of pervasive computing that were exotic in 1991 are now viable commercial products:– Handheld and wearable computers;– Wireless LANs;– Devices to sense and control appliances.

• We are now better positioned to begin the quest for Weiser’s vision.

Page 36: Pervasive Computing

Example Projects

• Pervasive computing projects have emerged at major universities and in industry:– Project Aura (Carnegie Mellon University)– Oxygen (Massachusetts Institute of Technology)– Portalano (University of Washington)– Endeavour (University of California at Berkeley)– Place Lab (Intel Research Laboratory at Seattle)

Page 37: Pervasive Computing

Example Projects : Project Aura (1)

• Aura (Carnegie Mellon University)– Distraction-free (Invisible) Ubiquitous Computing.

Page 38: Pervasive Computing

Example Projects : Project Aura (2)

• Moore’s Law Reigns Supreme– Processor density– Processor speed– Memory capacity– Disk capacity– Memory cost– ...

• Glaring Exception– Human Attention

Adam & Eve 2000 AD

Human Attention

Page 39: Pervasive Computing

Example Projects : Project Aura (3)

• Aura Thesis:– The most precious resource in computing is human

attention.

• Aura Goals:– Reduce user distraction.– Trade-off plentiful resources of Moore’s law for human

attention.– Achieve this scalably for mobile users in a failure-prone,

variable-resource environment.

Page 40: Pervasive Computing

Example Projects : Project Aura (4)

• The Airport Scenario

– Jane wants to send e-mail from the airport before her flight leaves.

• She has several large enclosures• She is using a wireless interface

– She has many options.• Simply send the e-mail

– Is there enough bandwidth?• Compress the data first

– Will that help enough?• Pay extra to get reserved bandwidth

– Are reservations available?• Send the “diff” relative to older file

– Are the old versions around?• Walk to a gate with more bandwidth

– Where is there enough bandwidth?

– How do we choose automatically?

Page 41: Pervasive Computing

Example Projects : Project Aura (5)

• The Mobile Task Scenario

– Aura saves Scott’s task.– Scott enters office and gets strong

authentication and secure access.– Aura restores Scott’s task on

desktop machine and uses a large display.

– Scott controls application by voice.– Bradley enters room.– Bradley gets weak authentication,

Scott’s access changes to insecure.– Aura denies voice access to

sensitive email application.– Scott has multi-modal control of

PowerPoint application.– Aura logs Scott out when he leaves

the room.

Page 42: Pervasive Computing

Example Projects : Oxygen

• Oxygen (MIT)– Pervasive human-centered computing.– Goal of Oxygen is bringing abundant computation and

communication, as pervasive and free as air, naturally into people's lives.

Page 43: Pervasive Computing

Example Projects : Oxygen (2)

• To support highly dynamic and varied human activities, the Oxygen system must be

– 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.

Page 44: Pervasive Computing

Related Projects: Portalano

• Portolano (University of Washington)– An expedition into invisible computing.

– Expedition goals:• Connecting the physical world to the world-wide information fabric

– Instrument the environment: sensors, locators, actuators – Universal plug-and-play at all levels: devices to services– Optimize for power: computation partitioning, comm. opt.– Intermittent communication: new networking strategies

• Get computers out of the way– Don’t interfere with user’s tasks– Diverse task-specific devices with optimized form-factors– Wide range of input/output modalities

• Robust, trustworthy services– High-productivity software development– Self-organizing, active middleware, maintenance, monitoring– Higher-level, meaningful services

Page 45: Pervasive Computing

Related Projects: Portalano (2)

• Scenario– Alice begins the day with a cup of coffee and her

personalized newspaper.– When her carpool arrives, she switches to reading the

news on her handheld display, where she notices an advertisement for a new 3-D digital camera.

– It looks like something that would interest her shutterbug-friend Bob, so Alice asks her address book to place the call.

Page 46: Pervasive Computing

Related Projects: Portalano (3)

• Scenario (2)– Bob's home entertainment system softens the volume of

his custom music file as his phone rings.– Alice begins telling Bob about the camera, and forwards

him a copy of the advertisement which pops up on his home display.

– Bob is sold on the product, and after hanging up with her, he asks his electronic shopping agent to check his favorite photography stores for the lowest price and make the purchase.

Page 47: Pervasive Computing

Related Projects: Portalano (4)

• Scenario (3)– When the camera arrives, Bob snaps some photos of his

neighbor's collection of antique Portuguese navigation instruments.

– After reviewing the photo album generated automatically by a web-based service, Bob directs a copy of his favorite image to the art display in his foyer.

– He also sends a pointer to the photo album to Alice and instructs his scheduling agent to set up a lunch date so that he can thank her for the suggestion.

Page 48: Pervasive Computing

Example Projects : Endeavour

• The Endeavour Expedition (UC Berkeley)– Charting the Fluid Information Utility

• Endeavour Goal:– Enhancing human understanding through the use of

information technology.

Page 49: Pervasive Computing

• Principles of Pervasive Computing• Evolution & Related Fields• Example Projects• Other Scenarios• References

Page 50: Pervasive Computing

Other Scenarios

• Buy drinks by Friday (1)– Take out the last can of soda

– Swipe the can’s UPC label, which adds soda to your shopping list

– Make a note that you need soda for the guests you are having over this weekend

Page 51: Pervasive Computing

Other Scenarios

• Buy drinks by Friday (2)– Approach a local supermarket

– AutoPC informs you that you are near a supermarket

– Opportunistic reminder: “If it is convenient, stop by to buy drinks.”

Page 52: Pervasive Computing

Other Scenarios

• Buy drinks by Friday (3)

- Friday rolls around and you have not bought drinks

- Deadline-based reminder sent to your pager

Page 53: Pervasive Computing

Other Scenarios

• Screen Fridge– Provides:

• Email• Video messages• Web surfing• Food management• TV• Radio• Virtual keyboard• Digital cook book• Surveillance camera

Page 54: Pervasive Computing

Other Scenarios

• The Active Badge– This harbinger of inch-scale computers contains a small

microprocessor and an infrared transmitter.

– The badge broadcasts the identity of its wearer and so can trigger automatic doors, automatic telephone forwarding and computer displays customized to each person reading them.

– The active badge and other networked tiny computers are called tabs.

Page 55: Pervasive Computing

Other Scenarios

• The Active Badge

Page 56: Pervasive Computing

Other Scenarios

• Edible computers: The pill-cam– Miniature camera– Diagnostic device– It is swallowed

• Try this with an ENIAC computer!

Page 57: Pervasive Computing

Other Scenarios

• Artificial Retina– Direct interface

with nervous system

– Whole new computational paradigm (who’s the computer?)

Page 58: Pervasive Computing

Other Scenarios

• Smart Dust– Nano computers that

couple:• Sensors• Computing• Communication

– Grids of motes (“nano computers”)

Page 59: Pervasive Computing

• Principles of Pervasive Computing• Evolution & Related Fields• Problem Space• Example Projects• Other Scenarios• References

Page 60: Pervasive Computing

References

• Mark Weiser, "The Computer for the Twenty-First Century," Scientific American, pp. 94-10, September 1991.

• Wikipedia– Mark Weiser, Ubiquitous Computing, HCI, AI

• M.Satyanarayanan, “Pervasive Computing: Vision and Challenges”, IEEE Personal Communications, August 2001.

• D.Saha, A.Mukherjee, “Pervasive Computing: A Paradigm for the 21st Century”, IEEE Computer Society, March 2003.

• Roberto Siagri, Presentation of "Computer you can eat or Portable, High-Performance Systems", Eurotech Spa, December 2004

• Andrew C. Huang, Presentation of “Pervasive Computing: What is it good for?”, August 1999

• CMU Project Aura Web Site, http://www.cs.cmu.edu/~aura/• MIT Project Oxygen Web Site, http://oxygen.csail.mit.edu/• UW Project Portalano Web Site,

http://portolano.cs.washington.edu/• UC Berkeley Project Endeavour, http://endeavour.cs.berkeley.edu/