Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 6910 – Pervasive Computing Section 0.A: Introduction to Pervasive Computing Dr. Leszek Lilien Department of Computer Science Western Michigan University.

Similar presentations


Presentation on theme: "CS 6910 – Pervasive Computing Section 0.A: Introduction to Pervasive Computing Dr. Leszek Lilien Department of Computer Science Western Michigan University."— Presentation transcript:

1 CS 6910 – Pervasive Computing Section 0.A: Introduction to Pervasive Computing Dr. Leszek Lilien Department of Computer Science Western Michigan University Slides based on the article “Pervasive Computing: Vision and Challenges” by Prof. M. Satyanarayanan, Carnegie Mellon University, IEEE Personal Communications, 2001 [ Possible mistakes and omissions are all mine. – LTL] Slides are © 2007 by Leszek T. Lilien Requests to use original slides for non-profit purposes will be gladly granted upon a written request.

2 2 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, Introduction Vision of pervasive computing /ubiquitous computing [Mark Weiser, 1991] ‘‘The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.’’ The essence of that vision: Creation of environments saturated with computing and communication capabilities, yet gracefully integrated with human users A vision too far ahead of its time (1991) The required hardware technology simply did not exist The implementation attempted by Weiser and his colleagues at Xerox PARC fell short

3 3 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Introduction (2) Critical hardware elements of pervasive computing are now (2001) available Are now viable commercial products Examples: Handheld computers / wearable computers Wireless LANs Sensing devices Control appliances We can begin the quest for pervasive computing vision. Examples of pervasive computing projects At universities: Project Aura at Carnegie Mellon / Endeavour at UC Berkeley Oxygen at MIT / Portolano at Washington In the industry: AT&T Research in Cambridge, U.K. IBM TJ Watson Research Center

4 4 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Introduction (3) The goal of this paper: Understand the challenges in computer systems research posed by pervasive computing Outline:  Relationship of pervasive computing to the closely- related fields of distributed systems and mobile computing  Two pervasive computing scenarios  Why they are fiction rather than fact today.  Selected key research problems  With focus on computer systems issues  Avoiding other areas important to pervasive computing  E.g., human-computer interaction, expert systems, software agents

5 5 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, Related Fields: Pervasive Computing vs. Distributed Systems & Mobile Computing Evolutionary history of pervasive computing Distributed systems (DIST)  Mobile computing (MOBI) [LL:] Ad hoc systems is MOBI’s superset, VANs – its subset  Pervasive computing (PERV)  Technical problems in PC  “Old” problems - already studied & solved at earlier evolution steps  Some earlier solutions apply directly for pervasive computing  Some earlier solutions are inadequate for pervasive computing  New problems - no obvious mapping to problems studied at earlier evolution steps

6 6 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (2) Next:  Sort out complex intellectual relationship  Between problems/solutions for DIST, MOBI, PERV  Develop a taxonomy of research issues for each phase of the evolution (DIST -> MOBI -> PERV)

7 7 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (3) 2.1. Distributed Systems Distributed Systems Any computers connected by any networks [The paper: Intersection of personal computers and LANs] Research from the mid-1970’s through the early 1990’s Created a conceptual framework and algorithmic base Enduring value in all work involving >= 2 computers connected by a network — whether mobile or static, wired or wireless, sparse or pervasive Solutions from DIST Span many areas that are foundational to pervasive computing Well codified in textbooks (e.g.,: [8, 19, 20])

8 8 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (4) Distributed Systems (2) Specific subarea solutions for DIST Remote communication Incl. protocol layering, remote procedure call [3], use of timeouts, use of end-to-end arguments in placement of functionality [28] Fault tolerance Incl. atomic transactions, distributed and nested transactions, two-phase commit [13] High availability Incl. optimistic and pessimistic replica control [9], mirrored execution [4], optimistic recovery [37] Remote information access Incl. caching, function shipping, distributed file systems, distributed databases [30] Security Incl. encryption-based mutual authentication and privacy [23]

9 9 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (5) 2.2. Mobile Computing Mobile Computing The early 1990s - full-function laptops + wireless LANs Early mobile computing systems: A distributed system with mobile clients [LL:] Current mobile computing systems: Any nodes can be mobile Solutions from MOBI Many basic principles of DIST design continued to apply to MOBI BUT Four key constraints of mobility required specialized techniques [31] for MOBI: 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 Mobile computing - still a very active and evolving field of research Awaits codification in textbooks (as of 2000)

10 10 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (6) Mobile Computing (2) Specific subarea solutions for MOBI Mobile networking Incl. mobile IP [2], ad hoc protocols [27], techniques for improving TCP performance in wireless networks [1, 5] Mobile information access Incl. disconnected operation [17], bandwidth-adaptive file access [21], selective control of data consistency [38, 39] Support for adaptive applications Incl. transcoding by proxies [12], adaptive resource management [24] System-level energy saving techniques Incl. energy-aware adaptation [11], variable-speed processor scheduling [45], energy-sensitive (=adaptive) memory management [18]. Location sensitivity Incl. location sensing [42, 43], location-aware (=adaptive) system behavior [32, 35, 41]

11 11 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (7) 2.3. Pervasive Computing Pervasive Computing Recall: Pervasive computing environment - one saturated with computing & communication capability, yet so gracefully integrated with users that it becomes a ‘‘technology that disappears’’ Since motion is an integral part of everyday life, PERV must support mobility Otherwise, a user will be acutely aware of the technology by its absence when she moves Hence, research in pervasive computing subsumes that of mobile computing BUT …

12 12 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (8) Pervasive Computing (2) … Research in pervasive computing goes much further PERV includes four additional research thrusts Effective Use of Smart Spaces Invisibility Localized Scalability Masking Uneven Conditioning See Figure 1 (next slide)

13 13 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (9) Pervasive Computing (3) Figure 1: Taxonomy of Computer Systems Research Problems in PERV 1) New problems are encountered as one moves from left to right in this figure. 2) Solution of many previously- encountered problems becomes more complex. As the modulation symbols suggest, this increase in complexity is multiplicative rather than additive it is very much more difficult to design and implement a pervasive computing system than a simple distributed system of comparable robustness and maturity. Note:This figure describes logical relationships, not temporal ones. The evolution of research effort over time has loosely followed this picture BUT There have been cases where research effort on some aspect of pervasive computing began relatively early. E.g., work on smart spaces began in the early 1990’s and proceeded relatively independently of work in MOBI

14 14 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (10) Pervasive Computing (4) 2.3.1) Effective Use of Smart Spaces A space: An enclosed area E.g., a meeting room or corridor OR: A well-defined open area E.g., a courtyard or a city square Smart space = space with embedding computing infrastructure E.g., smart space within buildings Created by embedding computing infrastructure within building infrastructure Smart space brings together two worlds disjoint until now [16]: Physical space (physical world) Cyberspace

15 15 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (11) Pervasive Computing (5) 1) Effective Use of Smart Spaces – cont. The fusion of physical world (PHYS) and cyber-world (CYB) enables sensing and control of one world by the other Example of sensing and control of PHYS by CYB Automatic adjustment of heating, cooling and lighting levels in a room based on an occupant’s electronic profile (incl. presence patterns) Example of sensing and control of CYB by PHYS (the other direction) Software on a user’s computer may behave differently depending on where the user is currently located Note: Smartness may extend to individual objects, whether located in a smart space or not

16 16 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (12) Pervasive Computing (6) 2.3.2) Invisibility The ideal expressed by Weiser: complete disappearance of pervasive computing technology from a user’s consciousness = invisible computing A reasonable approximation: minimal user distraction ([LTL:] = minimal visibility) If a PERV environment continuously meets user expectations and rarely presents him with surprises, it allows him to interact almost at a subconscious level [46] BUT: Getting too close to the ideal might not be perfect: A (small) degree of visibility might be needed ([LTL:] I hope that abobe I correctly interpret the following text: “At the same time, a modicum of anticipation may be essential to avoiding a large unpleasant surprise later — much as pain alerts a person to a potentially serious future problem in a normally- unnoticed body part.”)

17 17 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (13) Pervasive Computing (7) 2.3.3) Localized Scalability Basic model of pervasive computing interactions: User’s personal computing space (UPCS) User’s surroundings (US) Interactions between UPCS & US Scalability problems in pervasive computing The smarter is the space, the larger is interaction intensity This has severe bandwidth, energy and distraction implications for a wireless mobile user. The more users in the smart space the more interactions

18 18 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (14) Pervasive Computing (8) 3) Localized Scalability – cont. Scalability research Previous work typically ignored physical distance A web server or file server should ignore distance Handle as many clients as possible, regardless of whether they are located next door or overseas Scalability in PERV must consider physical distance Interaction density has to fall off with distance Otherwise both the user and his computing system will be overwhelmed by distant interactions that are of little relevance A mobile user far from home will still generate some distant interactions with sites relevant to him But the preponderance of his interactions will be local

19 19 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (15) Pervasive Computing (9) 3) Localized Scalability – cont. Good PERV design: scalability achieved by severely reducing distant interactions Like the inverse square laws of nature.g., the inverse square law for gravitation) This directly contradicts the current ‘‘death of distance’’ ethos of the Internet

20 20 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (16) Pervasive Computing (10) 2.3.4) Masking Uneven Conditioning ‘‘Smartness’’ of different spaces varies significantly (“The rate of penetration of pervasive computing technology into the infrastructure will vary considerably […]”) Well-equipped conference room, office, or classroom smarter than other locations Space smartness depends on: Technical factors How well the space is saturated with smart devices Non-technical factors Organizational structure, economics and business models, … Uniform ‘‘smartness’’ of spaces is years or decades away (if ever achieved)

21 21 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (17) Pervasive Computing (11) 4) Masking Uneven Conditioning – cont. Differences in ‘‘smartness’’ can be distracting Can detract from the goal of invisible pervasive computing One idea: Reduce the amount of variation in smartness seen by a user Example implementation of the idea: User’s personal computing space (UPCS) compensates for ‘‘dumbness’’ of its environments E.g., a laptop masks the absence of wireless coverage The laptop notices me leaving the CEAS building and downloads my mail as I leave the area covered by CEAS hot spots I can read my new mail at a restaurant without a hot spot Complete compensation (achieving complete invisibility) may be impossible But reduced variability of space smartness within reach

22

23 23 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (18) 3. Example Scenarios  What would it be like to live in a world with pervasive computing?  Two hypothetical ‘‘look and feel’’ scenarios follow  Deliberately chosen simple scenarios that appear feasible soon (in just a few years)  Examples use [CMU’s] Aura (http://www.cs.cmu.edu/~aura/) as the pervasive computing systemhttp://www.cs.cmu.edu/~aura/  But the illustrated concepts are of broad relevance

24 24 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (19) Example Scenarios (2) 3.1) Scenario 1 Jane is at Gate 23 in the Pittsburgh airport, waiting for her flight. She has edited many large documents, and would like to use her wireless connection to them. Unfortunately, bandwidth is miserable since many passengers at Gate 23 and nearby gates are surfing the web. Aura observes that at the current bandwidth Jane won’t be able to finish sending her documents before her flight departs. Consulting the airport network’s flight schedule service, Aura discovers that wireless bandwidth is excellent at Gate 15, and that there are no departing or arriving flights at nearby gates for 30 min. Aura displays a dialog box on Jane’s screen suggesting that she goes to Gate 15, which is only three minutes away. It also asks her to prioritize her , so that the most critical messages are transmitted first. Jane accepts Aura’s advice and walks to Gate 15. She watches CNN on the TV there until Aura informs her that it is close to being done with her messages, and that she can start walking back. Jane starts walking back to Gate 23. The last message is transmitted during her walk, and she is back at Gate 23 in time for her boarding call.

25 25 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (20) Example Scenarios (3) 3.2) Scenario 2 Fred is in his office, frantically preparing for a meeting at which he will give a presentation and a software demonstration. The meeting room is a 10-minute walk across campus. It is time to leave, but Fred is not quite ready. He grabs his PalmXXII wireless handheld computer & walks out of the door. Aura transfers the state of his work from his desktop to his handheld, & allows him to make edits using voice commands during his walk. Aura infers where Fred is going from his calendar & the campus location tracking service. It downloads the presentation & the demonstration software to the projection computer, & warms up the projector. Fred finishes his edits just before he enters the meeting room. As he walks in, Aura transfers his final changes to the projection computer. As the presentation proceeds, Fred is about to display a slide with highly sensitive budget information. Aura senses that this might be a mistake: the room’s face detection and recognition capability indicates that there are some unfamiliar faces present. It therefore warns Fred. Realizing that Aura is right, Fred skips the slide. He moves on to other topics and ends on a high note, leaving the audience impressed by his polished presentation.

26 26 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (21) Example Scenarios (4) 3.3) Missing capabilities needed for implementing PERV Scenarios embody many key ideas in PERV Scenario 1 shows importance of: Proactivity Jane able to her work only because Aura predicts (estimates) how long the whole process would take Jane able to begin walking back to her departure gate before transmission completes because Aura looks ahead on her behalf Combining knowledge from different layers of the system Information on wireless congestion comes from a low level of the system Knowledge of boarding time is a high-level (application- or user- level) information Aura helps Jane only by combining these disparate pieces of knowledge Smart space Aura is able to obtain from the smart environment information on wireless conditions at other gates, flight arrival/departure times at different gates, and distances between gates

27 27 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (22) Example Scenarios (5) Missing capabilities needed for implementing PERV – cont. 1 Scenario 2 illustrates importance of: Moving execution state effortlessly across diverse platforms Moving from a desktop to a handheld machine Moving from the handheld to a projection computer Self-tuning (=automatically adjusting behavior to fit circumstances) Ability to edit on the handheld using speech input rather than keyboard and mouse. Proactivity Inferring that Fred is headed for the room across campus, warming up the projector, transferring the presentation and demonstration Anticipating that the budget slide might be displayed next, and sensing danger by combining this knowledge with the inferred presence of strangers in the room. Smart space The location tracking and online calendar services are what enable Aura to infer where Fred is heading The software-controlled projector enables warmup ahead of time The camera-equipped room with continuous face recognition is key to warning Fred about the anticipated privacy violation

28 28 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (23) Example Scenarios (6) Missing capabilities needed for implementing PERV – cont. 2 Perhaps the biggest surprise: How simple and basic are all the component technologies in these scenarios The hardware technologies are available (in 2001!) Laptops, handhelds, wireless communication, software-controlled appliances, room cameras, … Software technologies have also available (in 2001!) Location tracking, face recognition, speech recognition, online calendars,... So why then do these scenarios seem like science fiction today? (in 2001 and still in 2006) The answer: The whole is much greater than the sum of its parts The real challenge is in the seamless integration of h/w s/w technologies into a PERV system Difficult problems to solve: Architecture / Component synthesis / System-level engineering

29

30 30 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (24) 4. Solving Difficult Problems (“Drilling Down”) Drilling down – solving the above difficult problems Practical realization of PERV requires solving many difficult design & implementation problems Let’s look at some of these problems at the next level of detail (“Our goal is only to convey an impressionistic picture of the road ahead.”) No claim of completeness or exclusiveness Set of topics is merely a sampling of the problem space: 4.1. User Intent / 4.2. Cyber Foraging 4.3. Adaptation Strategy / 4.4. High-level Energy Management 4.5. Client Thickness / 4.6. Context Awareness 4.7. Balancing Proactivity and Transparency 4.8. Privacy and Trust / 4.9. Impact on Layering

31 31 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (25) Drilling Down - The Difficult Problems (2) Drilling down - The difficult problems – cont. 1 Assumed: Each user immersed in a user’s personal computing space (UPCS) that accompanies him everywhere and mediates all interactions with the pervasive computing elements in her surroundings UPCS likely implemented on a body-worn or handheld computer (or a collection of these acting as a single entity) UPCS is a ‘‘client’’ of its PERV environment Even though many of its interactions may be peer-to-peer rather than strictly client-server Client needs to be quite sophisticated hence complex As indicated by the discussion below Figure 2, illustrating the structure of an Aura client, gives a concrete example of this complexity

32 32 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (26) Drilling Down - The Difficult Problems (3) Figure 2: Structure of an Aura Client This figure shows the components of an Aura client and their logical relationships. The text in italics indicates the role played by each component Coda and Odyssey were created prior to Aura, but are being modified substantially to meet the demands of pervasive computing In the case of Odyssey, these changes are sufficiently extensive that they will result in Chroma, a replacement Other components are being created specifically for use in Aura Such as Prism and Spectra Additional components are likely to be added over time Since Aura is relatively early in its design at the time of this writing (2001) Server and infrastructure support for Aura are not shown

33 33 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (27) Drilling Down - The Difficult Problems (4) 4.1) User Intent Proactivity requires that a PERV system tracks user intent Otherwise, almost impossible to determine which system actions help rather than hinder the user. E.g., suppose a user is viewing video over a network connection whose bandwidth suddenly drops System choices: a) reduce the fidelity of the video, b) pause briefly to find another higher-bandwidth connection, or c) terminate the task? Correct choice depends on what the user is trying to accomplish Today’s systems are poor at capturing and exploiting user intent On the one hand: generic applications that have no idea what the user is attempting to do Offer little support for adaptation and proactivity On the other hand: applications that try to anticipate user intent but do so very badly Gimmicks like the Microsoft ‘‘paperclip’’ often more annoying than helpful

34 34 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (28) Drilling Down - The Difficult Problems (5) User intent - some important research questions: Can user intent be inferred, or does it have to be explicitly specified? In the latter case, is it statically specified (e.g., from a file) or obtained on demand through dynamic interactions? How is user intent represented internally? How is it used? How rich must this information be for it to be useful? When and how is it updated? How do different layers of a system access this knowledge? How does one characterize accuracy of user intent knowledge? Is incomplete or imprecise knowledge of user intent still useful? At what level of uncertainty is it better to ignore such knowledge in making decisions? Will the attempt to obtain intent to burdensome on the user? Will it hurt usability and performance unacceptably? Is the benefit [of using user intent] worth the cost? How does one quantify this benefit?

35

36 36 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (29) Drilling Down - The Difficult Problems (6) 4.2) Cyber Foraging Two contradictory requirements for mobile devices: Must be lightweight = small, light, with small and light battery Compromises computing capabilities Must have powerful comp/comm capabilities Ever-growing expectations of mobile users Well beyond capabilities of a lightweight mobile computer How to reconcile contradictory requirements? Difficult to reconcile Idea: use cyber foraging forage [fawr-ij] … 3. the act of searching for provisions of any kind. [cf. Dictionary.com] Cyber foraging: Dynamically augment the computing resources of a wireless mobile computer by exploiting wired hardware infrastructure [LTL: of the surrounding smart space]

37 37 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (30) Drilling Down - The Difficult Problems (7) 4.2. Cyber Foraging – cont.1 Need infrastructure facilitating cyber foraging Need smart public spaces Equipped with compute servers or data staging servers Much as table lamps [or power outlets] are today Connected to the wired Internet through high-bandwidth networks ‘‘Wasting’’ smart infrastructure when not in use We can afford this ‘‘waste’’ to improve user experience Could ensure that never wasted - always in use E.g., run SETI program / sell time slices to others Surrogate of a mobile computer: Hardware in the wired infrastructure temporarily supporting cyber foraging for the mobile computer [LTL:] Compare this limited cyber foraging with more extensive foraging (by employing helpers) in opportunistic networks (oppnets). After we discuss oppnets (soon), see how oppnets’ approach differs.

38 38 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (31) Drilling Down - The Difficult Problems (8) 4.2. Cyber Foraging – cont.2 A typical foraging scenario Mobile computer (MC) enters a smart space MC detects surrogates and negotiates their use Communication with a surrogate via short-range wireless P2P (peer- to-peer) technology Surrogate is MC’s networking gateway to the Internet When MC needs to perform an intensive computation accessing a large volume of data, MC uses the surrogate Surrogate performs computations for MC OR Surrogate services cache misses for MC Lower latency, avoiding Internet delays Surrogate caches data from the Internet on its local disk during performing the computation OR Surrogate may have staged data ahead of time in anticipation of the user’s arrival in the neighborhood MC leaves the space Its surrogate bindings are broken Any data cached or staged for MC are discarded

39 39 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (32) Drilling Down - The Difficult Problems (9) Cyber foraging – some important research questions: How does one discover the presence of surrogates? Of the many proposed service discovery mechanisms such as JINI, UPnP, and BlueTooth proximity detection, which is best suited for this purpose? Can one build a discovery mechanism that subsumes all of them for greatest flexibility? How to handle the issue of trust? How does one establish an appropriate level of trust in a surrogate? What are useful levels of trust in practice? How applicable and useful is the concept of caching trust [29]? Can one amortize the cost of establishing trust across many surrogates in a neighborhood? How is load balancing on surrogates done? Is surrogate allocation based on an admission control approach, or a best-effort approach? How relevant is previous work on load balancing on networks of workstations?

40 40 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (33) Drilling Down - The Difficult Problems (10) Cyber foraging – some important research questions – cont. How to handle the issue of staging? In typical situations, how much advance notice does a surrogate need for effective staging with minimal delay? Is this on the order of seconds, minutes or tens of minutes? What implications does this requirement have for the other components of a pervasive computing system? What are the implications of cyber foraging for scalability of smart fixed infrastructure? How dense does the fixed infrastructure have to be to avoid overloads during periods of peak demand? What is the system support needed for seamless and minimally intrusive surrogate experience for a user? Which are the components of this support that must be provided by MC, and which by the smart space?

41 41 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (34) Drilling Down - The Difficult Problems (11) 4.3) Adaptation Strategy Adaptation is necessary when there is a significant mismatch between the supply and demand of a resource Examples of resources: wireless network bandwidth, energy, computing cycles, memory, … Three alternative adaptation strategies for adaptation in PERV Recall: UPCS is a client of a smart space (3 interacting entities) UPCS = user’s personal computing space Strategy 1 (reservation): Client can ask the environment for guarantee of a certain level of a resource Typically used by reservation-based QoS systems [22] QoS – quality of service This effectively increases the supply of a scarce resource to meet the client’s demand [LTL: Client able to reserve is privileged in some sense] Strategy 2 (reduction): 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 E.g., Odyssey [11, 24] uses this strategy

42 42 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (35) Drilling Down - The Difficult Problems (12) 4.3. Adaptation Strategy –cont. Three alternative strategies for adaptation in PERV – cont. Strategy 3 (correction): Client can suggest a corrective action to its user If the user complies with it, resource supply will likely (but without certainty) become adequate to meet demand E.g.., in Scenario 1, Aura advised Jane to walk to Gate 15 in order to obtain adequate wireless bandwidth. Conceptually promising, but not implemented by any real system yet (2001) All three strategies are important in pervasive computing Some smart spaces capable of accepting resource reservations (Strategy 1 - reservation) In some smart spaces [some] clients can’t reserve resources — must ask applications to reduce their fidelities (Strategy 2 - reduction) Happens when space is uncooperative or resource-impoverished Corrective actions may be particularly useful when reduction of fidelity is unacceptable (Strategy 3 - correction) Broaden the range of possibilities for adaptation by involving the user

43 43 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (36) Drilling Down - The Difficult Problems (13) Adaptation Strategy – some research questions How does a client choose the best adaptation strategy? What factors should a good decision procedure take into account? How should different factors be weighted? What role, if any, should the user play in making this decision? How can smooth and seamless transitions between strategies be ensured as a user moves between different spaces? Reservation strategy might appear superior for a user User neither required to accept lower fidelity nor perform a corrective action Is this true in all circumstances? What are the hidden costs and ‘‘gotchas,’’ if any, in a widely- deployed system using Strategy 2? How will the implementation of a smart space honor resource reservations? What are the most appropriate admission control policies when there are competing requests from multiple clients? What resources, beside wireless network bandwidth, is it meaningful and useful for a smart space to reserve? What are the APIs and protocols necessary to negotiate these reservations?

44 44 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (37) Drilling Down - The Difficult Problems (14) Adaptation Strategy – some research questions – cont. Issues for corrective strategy Is corrective adaptation practically feasible? Do users find it intrusive or annoying? What is the best way to communicate potential corrective actions to users? What are the programming models and APIs necessary to support corrective actions? Legacy problem: Can existing applications use this approach? If so, how substantial are the modifications to them? Issues for reduction strategy What are the different ways in which fidelity can be lowered for a broad range of applications? Are existing APIs, such as that of Odyssey [24], adequate? How should those APIs and programming models be revised based on extensive usage experience? What is the negative impact of lowered fidelity on users and how can this be minimized?

45 45 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (38) Drilling Down - The Difficult Problems (15) 4.4) High-level Energy Management Sophisticated software capabilities increase the energy demand of an MC (= mobile computer) Examples of sophisticated capabilities: as proactivity / self-tuning At the same time: pressure to make MCs lighter and more compact places severe restrictions on battery capacity Growing consensus: Advances in battery technology and low-power circuit design cannot, by themselves, reconcile these opposing constraints The higher levels of the system must also be involved [10, 25] How does one involve the higher levels of a system in energy management? Example 1: Energy-aware memory management [18] OS dynamically controls the amount of physical memory that has to be refreshed Example 2: Energy-aware adaptation [11] Under OS control, individual applications switch to modes of operation with lower fidelity and energy demand

46 46 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (39) Drilling Down - The Difficult Problems (16) High-level Energy Management – some research questions In what ways can the higher levels of a system contribute to managing energy? What are the relative strengths and weaknesses of these approaches? When should one method be used in preference to another? How does high-level energy management impact the goal of invisibility in pervasive computing? How intrusive or distracting to users are such techniques? Can knowledge of user intent be exploited in energy management? If so, how robust is this approach in the face of imperfection in this knowledge? Can smart spaces and surrogates be used to reduce energy demand on a mobile computer? What are possible approaches, and what are their relative merits? What is the role of remote execution in extending battery life? Under what circumstances does its energy savings exceed the energy cost of wireless communication? Can a system predict these savings and costs accurately enough in practice to make a significant difference?

47 47 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (40) Drilling Down - The Difficult Problems (17) 4.5) Client Thickness Types of clients Thick client = a powerful client Thin client = a minimal client Thick clients have many negative features from the user’s viewpoint Larger / heavier / with bigger & heavier battery / dissipate more heat Over time, physical size and weight of a thick client are reduced Due to improvements in VLSI and packaging technology The same improvements shrinking thick clients produce even smaller and lighter thin clients Q: How powerful MC is needed for a pervasive computing environment? How much CPU power, memory, disk capacity, … does it need? The answer determines many of the key constraints imposed on the hardware design of the client A: For a user, a client can never be too powerful, too small, too light or have too long battery life!

48 48 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (41) Drilling Down - The Difficult Problems (18) 4.5. Client Thickness – cont.1 A wide range of client designs One extreme: Ultra-thin clients Bare-bones devices E.g., Infopad [6, 40], SLIM [33] Can’t operate in isolation Little more than high-resolution displays connected through high-bandwidth wireless links to nearby compute servers In-between: Midsize clients Handheld computers E.g., PalmPilot Can operate in isolation But run a limited range of applications Other apps run on compute servers of smart spaces The other extreme: Full-function clients Wearable computers and laptops E.g., the Navigator family of wearable computers [34], laptops running as clients of the Coda File System [17] Capable of standalone or disconnected operation Make use of wireless connectivity when available Not critically dependent on it

49 49 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (42) Drilling Down - The Difficult Problems (19) 4.5. Client Thickness – cont.2 The minimum acceptable thickness of a client for a given app: Determined by the worst-case conditions under which the app must run satisfactorily A very thin client suffices if it has assured high-bandwidth, low- latency wireless communication to nearby computing infrastructure, and if batteries recharged/replaced easily If in even a single location visited by a user these assumptions do not hold, the client must be thick enough to compensate at that location This is especially true for interactive applications where crisp response is important … continued...

50 50 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (43) Drilling Down - The Difficult Problems (20) 4.5. Client Thickness – cont.3 With a client of modest thickness, it may be possible to preserve responsiveness by: Handling simple cases locally & relying on remote infrastructure only for more compute-intensive situations OR: Execute part of the application locally & ship a much-reduced intermediate state over a weak wireless link to a remote compute server for completion The hybrid mode of speech recognition in Odyssey [24] is an example of this approach. OR: Client recognizes that a key assumption is not being met, and alerts its user with a message Client could also suggest possible corrective actions E.g., moving to a nearby location known “help” the application An extremely thin-client will be unsatisfactory for pervasive computing in the foreseeable future Due to uneven conditioning of environments At the same time, considerable merit in not having to carry or wear a client thicker than absolutely necessary

51 51 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (44) Drilling Down - The Difficult Problems (21) 4.5. Client Thickness – some research questions: Can the concepts of client thickness and environmental conditioning be quantified? Are there ‘‘sweet spots’’ in the design space where a modest increase in client thickness yields considerable improvement in performance and usability? Can a proactive system alert a user in a timely manner before he leaves a benign environment for a less hospitable one? In that context, can an application be transparently migrated between a thinner and a thicker client whenever needed What are the kinds of applications for which such migration is feasible and useful? What is the impact on usability?

52 52 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (45) Drilling Down - The Difficult Problems (22) 4.5. Client Thickness – some research questions – cont. Is it possible to build cost-effective modular computers that can be physically reconfigured to serve as the optimal mobile clients under diverse environmental conditions? Can a proactive system advise a user to reconfigure when appropriate? E.g., knowing her travel plans, can such a system guide her in configuring her system so that it is of adequate thickness at all times? Can semi-portable infrastructure be carried with a user to augment less hospitable environments? E.g., in a poorly conditioned environment, can a thin body-worn computer extend its capabilities by wireless access to a full-function laptop brought by the user? This is analogous to carrying both a briefcase and a wallet when you travel; the briefcase is not physically on your person at all times, but it is close enough to provide easy access to things too large to fit in your wallet Is this a usable and practical strategy to cope with uneven conditioning?

53 53 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (46) Drilling Down - The Difficult Problems (23) 4.6) Context Awareness Context-awareness is necessary for PERV to be minimally intrusive Context aware = cognizant of its user’s state and surroundings, and modifying its behavior based on this information A user’s context Can be quite rich Some user’s attributes in user’s context: Physical location / Physiological state (e.g., body temperature and heart rate) / Emotional state (e.g., angry, distraught, or calm) / Personal history / Daily behavioral patterns / … A human assistant given such context would make decisions proactively Anticipating user needs The assistant would typically not disturb the user at inopportune moments except in an emergency Can a pervasive computing system emulate such a human assistant? Key challenge: obtaining information needed to function in a context- aware manner Desired information may be part of UPCS (user’s personal computing space) E.g., UPCS has schedules, calendars, address books, to-do lists, … More dynamic information has to be sensed in real time from the user’s environment E.g., position, orientation, the identities of people nearby, locally observable objects and actions, emotional and physiological state, …

54 54 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (47) Drilling Down - The Difficult Problems (24) 4.6. Context Awareness – cont. Context Awareness – some research issues: How is context represented internally? How is this information combined with system and application state? Where is context stored? Does it reside locally, in the network, or both? What are the relevant data structures and algorithms? How frequently does context information have to be consulted? What is the overhead of using context? How to keep this overhead low? What are the minimal services from an environment to provide to make context-awareness feasible? What are reasonable fallback positions if an environment does not provide such services? Is historical context useful? What are the relative merits of different location-sensing technologies? Under what circumstances should one be used in preference to another? Should location information be treated just like any other context information, or should it be handled differently? Is historical context useful?

55 55 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (48) Drilling Down - The Difficult Problems (25) 4.7) [LTL:] Proper Level of Transparency in Proactivity [Paper: Balancing Proactivity and Transparency] Transparency = invisibility [LTL:] Proactivity can be visible or transparent (invisible ) Visible when system asks user for specific behavior to perform a proactive task E.g., Aura asking Jane to go to Gate 15 or warning Fred not to show slides with sensitive data (in Scenario 1) Transparent when there is no system interaction with user when system performs a proactive task E.g., Aura warms up projector without asking Fred (in Scenario 2)

56 56 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (49) Drilling Down - The Difficult Problems (26) 4.7) [LTL:] Proactivity and Its Transparency [Paper: Balancing Proactivity and Transparency] – cont.1 [LTL:] Visible system proactivity can annoy a user … … if system gives a bad advice Or the user just thinks that the advice is bad … if system interrupts a user too often with advice Annoyed even with the best advice And prone to ignore it [LTL:] Transparent system proactivity can annoy a user too E.g., if Aura warms up a projector in a wrong room, and Fred has to wait for warm up in the right room If Aura told Fred in which room it watms up the projectoir (visible), Fred would notice mistake &correct Aura’s action

57 57 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (50) Drilling Down - The Difficult Problems (27) 4.7) [LTL:] Proactivity and Its Transparency [Paper: Balancing Proactivity and Transparency] – cont.2 [LTL:] Hypothesis: Talking about “balancing proactivity and transparency” (see the paper) seems author’s mistake Balancing of X an Y is needed only when: More X can be obtained by reducing Y AND More Y can be obtained by reducing X Here can have 100% proactivity with either 0% or 100% transparency [LTL:] Finding (“balancing”) proper level of transparency for proactivity If too little or too much of proactivity transparency annoys a user => The goal of proactivity transparency is defeated Need careful PERV design Finding the proper transparency level by: System’s self-tuning A mobile user’s need & tolerance for proactivity (UNTP) are likely to be closely related to his level of expertise on a task & his familiarity with his environment A system that can infer UNTP by observing user behavior & context is better positioned to find the proper balance

58 58 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (51) Drilling Down - The Difficult Problems (28) 4.7) [LTL:] Proactivity and Its Transparency [Paper: Balancing Proactivity and Transparency] – cont3 Historically, transparency (not just for proactivity) was the ideal in system design E.g., caching is attractive in distributed file systems because it is completely transparent Ironically, sometimes users are hurt/annoyed by complete transparency E.g., servicing a cache miss on a large file over a low-bandwidth wireless network — so slow that most users would rather be asked first by the system if they really need the file However, too many questions from file system can annoy the user That is, again annoyed by too low level of transparency A solution to this dilemma (suggested by Coda File System [21]) On a cache miss, Coda consults an internally-maintained user patience model to predict whether the user will not be annoyed by a transparent fetch request If so, the fetch is handled transparently (user interaction is suppressed) Many subtle problems arise in designing a system that walks the fine line between annoying visibility & inscrutable (hard to understand) transparency

59 59 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (52) Drilling Down - The Difficult Problems (29) 4.7. Balancing Transparency in Proactivity – some research problems: How are individual user preferences and tolerances specified and taken into account? Are these static or do they change dynamically? What cues can such a system use to determine if [LTL:] transparency level is too low/high? Is explicit interaction with the user to obtain this information acceptable? Or, would such explicit interaction to obtain be an annoyance too? Can one provide systematic design guidelines to application designers to help in this task? Can one retrofit [transparency] balancing mechanisms into existing applications?

60 60 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (53) Drilling Down - The Difficult Problems (30) 4.8) Privacy and Trust Privacy is greatly complicated by PERV Was already a thorny problem in DISTR and MOBI Some PERV mechanisms “spy” on user actions on an almost continuous basis E.g., location tracking, smart spaces, use of surrogates As a user becomes more dependent on PERV => PERV obtains more information about the user I.e., about user’s movements, behavior patterns, habit, … Exploiting this information is critical to successful proactivity & self-tuning Unless use of information is strictly controlled, it can hurt the user Illegitimate uses ranging from targeted spam to blackmail. Potential for serious loss of privacy may deter knowledgeable users from using a PERV system

61 61 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (54) Drilling Down - The Difficult Problems (31) 4.8) Privacy and Trust - cont. Mutual trust between infrastructure & users in PERV Greater reliance on infrastructure => users must trust infrastructure to a considerable extent Conversely, the infrastructure needs to be confident of the users’ identity and authorization levels before responding to their requests It is a difficult challenge to establish this mutual trust with minimal intrusiveness (= mimnimal visibility & thus maximum transparency) System identifies/authorizes users in intrusive (visible) way

62 62 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (55) Drilling Down - The Difficult Problems (32) 4.8. Privacy and Trust - cont Privacy and trust are likely to be enduring problems in pervasive computing Privacy and trust – some research questions: How does one strike the right balance between seamless system behavior and the need to alert users to potential loss of privacy? What are the mechanisms, techniques and design principles relevant to this problem? How often should the system remind a user that his actions are being recorded? When and how can a user turn off monitoring in a smart space? What are the authentication techniques best suited to PERV? Are password-based challenge-response protocols such as Kerberos [36] adequate or are more exotic techniques such as biometric authentication [15] necessary? What role, if any, can smart cards [14] play? How does one express generic identities in access control? E.g., how does one express security constraints such as ‘‘Only the person currently using the projector in this room can set its lighting level?’’ Or: ‘‘Only employees of our partner companies can negotiate QoS properties in this smart space?’’

63 63 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (56) Drilling Down - The Difficult Problems (33) 4.9) Impact on Layering [of the System] A recurring theme in this paper: the merging of information from diverse layers of a PERV system to produce an effective response E.g., Scenario 1 shows the value of combining low-level resource information (network bandwidth) with high-level context information (airport gate information) Proactivity and adaptation based on corrective actions => exposure of much more information across layers Much more than is typical in systems today We want layering – it has benefits Cleanly separates abstraction from implementation Thus consistent with sound software engineering Conducive to standardization Encourages the creation of modular software components

64 64 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (57) Drilling Down - The Difficult Problems (34) 4.9) Impact on Layering [of the System] – cont. Deciding how to decompose a complex system into layers or modules is nontrivial Remains very much an art rather than a science The two most widely-used guidelines for layering Parnas’ principle of information hiding [26] Saltzer et al.’s end-to-end principle[28] Both developed long before pervasive computing was conceived Parnas’ - early 1970’s Saltzer et al.’s - early 1980’s

65 65 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (58) Drilling Down - The Difficult Problems (35) Impact on System Layering – some research questions: How can the benefits of layering be preserved while accommodating the needs of pervasive computing? What is the impact of these accommodations on efficiency and maintainability? Are existing layers best extended for pervasive computing by broadening their primary interfaces or by creating secondary interfaces? Such as the SNMP network management interface [7]? When creating a new layer, are there systematic guidelines we can offer to ensure compatibility with the needs of pervasive computing? How much harder is it to design and implement such a layer?

66 66 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (59) 5. Conclusion Pervasive computing will be a fertile source of challenging research problems in computer systems for many years to come Solving these problems will require us: To broaden our discourse on some topics, and To revisit long-standing design assumptions in others To address research challenges in areas outside computer systems, including: Human-computer interaction Esp. multi-modal interactions & human-centric h/w designs Software agents Specific relevance to high-level proactive behavior Expert systems and artificial intelligence Esp. in the areas of decision making and planning Capabilities from these areas will need to be integrated with the PERV systems capabilities Pervasive computing will thus be the crucible in which many disjoint areas of research are fused

67 67 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (60) Conclusion – cont. When describing his vision, Weiser was fully aware that attaining it would require tremendous creativity and effort by many people, sustained over many years The early decades of the 21st century will be a period of excitement and ferment in PERV research New h/w technologies converge with research progress on the many fundamental problems discussed in this paper Like the Frontier of the American West in the early 19th century, pervasive computing offers new beginnings for the adventurous and the restless A rich open space where the rules have yet to be written and the borders yet to be drawn

68 68 © 2007 by Leszek T. Lilien Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Pervasive Computing vs. Distributed Systems & Mobile Computing (61) References See the original paper: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 Available at:

69 End of Lecture 0: Introduction to Pervasive Computing


Download ppt "CS 6910 – Pervasive Computing Section 0.A: Introduction to Pervasive Computing Dr. Leszek Lilien Department of Computer Science Western Michigan University."

Similar presentations


Ads by Google