Presentation on theme: "ISA5428: 普及計算 Research Issues 金仲達教授 清華大學資訊系統與應用研究所 九十三學年度第一學期."— Presentation transcript:
ISA5428: 普及計算 Research Issues 金仲達教授 清華大學資訊系統與應用研究所 九十三學年度第一學期
Pervasive ComputingResearch Issues-1 Source “Pervasive Computing: Vision and Challenges” M. Satyanarayanan, Carnegie Mellon University IEEE Personal Communications, pp. 10-17, August 2001
Pervasive ComputingResearch Issues-2 Outline Related fields Distributed System Mobile Computing Pervasive Computing Example scenario Drill down Conclusion
Pervasive ComputingResearch Issues-3 Distributed Systems Research involving two or more computers connected by a network Areas foundational to pervasive computing: Remote communication: protocol layering, RPC, end-to-end argument Fault tolerance: atomic transactions, two phase commit High availability: replica control, mirrored execution, recovery Remote information access: caching, function shipping, distributed file system Security: authentication, privacy
Pervasive ComputingResearch Issues-4 Mobile Computing (1/2) Research on building distributed systems with mobile clients Principles in distributed system design still apply 4 constraints to distinguish it from distributed systems and demand new research Unpredictable variation in network quality Lowered trust and robustness of mobile elements Limited local resources imposed by weight and size Battery power consumption
Pervasive ComputingResearch Issues-5 Mobile Computing (2/2) Research areas: Mobile networking: mobile IP, ad hoc protocols, improving TCP performance in wireless networks Mobile information access: selective control of data consistency Support for adaptive applications: transcoding by proxies System-level energy saving techniques: energy- aware adaptation, variable speed processor scheduling Location sensitivity: location sensing, location- aware system behavior
Pervasive ComputingResearch Issues-6 Pervasive Computing Pervasive computing environment: An environment saturated with computing and communication capability, yet so gracefully integrated with users that it becomes a “technology that disappears” Subsume distributed computing and mobile computing, but incorporate 4 additional research thrusts (next figure)
Pervasive ComputingResearch Issues-8 4 Additional Research Areas (1/2) Effective use of smart spaces: Space: an enclosed area or a well-defined open area Smart space: embedding computing infrastructure in building infrastructure => physical/virtual converge Enable sensing and control of one world by the other Example? Invisibility: Minimal user distraction is a more practical goal Ex.: the environment continuously meets user expectations and rarely presents him with surprises Some alerts may still be needed
Pervasive ComputingResearch Issues-9 4 Additional Research Areas (2/2) Localized scalability: Increasing complexity in interactions between a user’s personal computing space and surroundings as well as other persons Must consider scalability with physical distance Masking uneven conditioning Different environments will have huge differences in their smartness, causing user distraction One solution: have user’s personal computing space to compensate Complete invisibility may be impossible, but reduced variability is possible
Pervasive ComputingResearch Issues-10 Outline Related fields Example scenario Scenario 1 Scenario 2 Miss Capabilities Drill down Conclusion
Pervasive ComputingResearch Issues-11 Scenario 1 Jane is at Gate 23 of an airport and would like to e-mail her edited files through wireless connection, but the bandwidth is miserable Aura, the pervasive computing environment, detects the situation, consults airport servers, and finds Gate 15 will have no flight in 1.5 hour Aura suggests Jane to go to Gate 15 and prioritize her email Jane accepts the suggestions Files are transmitted at Gate 15 and Aura informs Jane when she needs to be back to gate
Pervasive ComputingResearch Issues-12 Scenario 2 Fred has to walk to a meeting from his office to give a presentation, but he is not quite ready yet Fred grabs a handheld computer and starts walking to the meeting Aura transfers his state from desktop to handheld, and Fred does final editing with voice Aura infers Fred’s schedule, downloads materials to projection computer and warms up projector Room’s face detection system recognizes some unfamiliar faces and advises Fred not to show sensitive data
Pervasive ComputingResearch Issues-13 Some Key Aspects Scenario 1: Proactivity: Aura can estimate how long the whole process takes and look ahead on her behalf Combining knowledge from different layers: wireless congestion and boarding time Smart space: provide information of wireless BW, flight time and gates, distance between gates Scenario 2: Moving execution state across diverse platforms Automatic adjusting behavior to fit circumstances: voice inputs Proactivity and smart space
Pervasive ComputingResearch Issues-14 Missing Capabilities Component technologies are simple and basic They are available today The challenge: The seamless integration of component technologies into a pervasive computing system Architecture Component synthesis System-level engineering
Pervasive ComputingResearch Issues-15 Outline Related fields Example scenario Drill down User intent Cyber foraging Adaptation strategy High-level energy management Client thickness Context awareness Balancing proactivity and transparency Privacy and trust Impact on layering Conclusion
Pervasive ComputingResearch Issues-16 The Model Each user is immersed in a personal computing space that mediates all interactions with the pervasive computing elements in surroundings As a command center System design: wearable computer? personal assistant? thicker or thinner? what sensors and networking? Context aware: how to know user’s state and surrounding, and modify behavior How to cooperate and interact with infrastructure? with other persons? How to roam and adapt? reconfigurable? => PDA with 802.11b, Java
Pervasive ComputingResearch Issues-17 Issue: Smart Object/Environment Provide services System design: which embedded system? web server? sensors and actuators? NW? Naming, registration, discovery Physical/virtual mapping Mobile management, energy management Service composition, I/O matching, adaptation, environment monitoring
Pervasive ComputingResearch Issues-18 Issue: Infrastructure Support Infrastructures in real life e.g., electricity, roads,... Just there or even invisible, open platform Internet infrastructure Domain name service (DNS registry) Services: cooperating routers, time servers TCP/IP: common formats/protocols Web standards Extend the Internet to everyday objects
Pervasive ComputingResearch Issues-19 Infrastructure for Smart Objects Guarantee Security, privacy, availability, reliability Provide services Location (Where am I?) Context (Are we in a meeting?) Event delivery (Tell me when... happens) Brokering (Find something that…) Directory, discovery, registry Mobility, roaming,... How do we organize billions of mobile smart objects that are highly dynamic, short living,…? For applications built with smart objects For smart objects
Pervasive ComputingResearch Issues-20 Issue: User Intent (1/2) A pervasive computing system must track user intent Determine which actions will help, not hinder, user Ex.: suppose a user is viewing video over a network, 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? Correct choice depends on what user is trying to accomplish
Pervasive ComputingResearch Issues-21 User Intent (2/2) Today’s applications either have no idea about user intent (e.g. to support adaptation and proactivity), or do it badly Issues: Can user intent be inferred, or does it have to be explicitly provided? How is user intent represented internally? What are represented? How does one characterize accuracy of knowledge? Is incomplete or imprecise information useful? Will obtaining intent place an burden on the user?
Pervasive ComputingResearch Issues-22 Issue: Cyber Foraging (1/2) Dynamically augment computing resources of end user devices with wired hardware infrastructure => surrogate Usage: On entering a neighborhood, a device detects the presence of surrogates and negotiates its use Surrogates serve as gateway to the Internet and server for heavy computation When the device leaves the neighborhood, surrogate binding is broken and staged data are discarded
Pervasive ComputingResearch Issues-23 Cyber Foraging (2/2) Issues: How to discover the presence of surrogates? How to establish an appropriate level of trust? How to amortize the cost of establishing trust? How to balance the load of surrogates? How to minimize latency in serving devices? How to deploy surrogates? How scalable? How to make surrogate uses seamless and minimally intrusive for a user?
Pervasive ComputingResearch Issues-24 Issue: Adaptation Strategy (1/2) Necessary when there is significant mismatch between the supply and demand of a resource, e.g. bandwidth, energy, computing cycles,... Three strategies for adaptation The client guides applications in changing their behavior The client asks the environment to guarantee a certain level of a resource The client suggests a corrective action to the user
Pervasive ComputingResearch Issues-25 Adaptation Strategy (2/2) Issues: How does a client choose between adaptation strategies? How strategies be changed seamlessly as user moves? How to do resource reservation in a smart space? What are appropriate admission control policies? What API are needed to make reservation? Will corrective actions be intrusive? How to do it, e.g. API, programming model? What is the relationship between lowing fidelity and adaptation?
Pervasive ComputingResearch Issues-26 Issue: High-Level Energy Management Necessary because low-level techniques, e.g. battery and circuit design, are insufficient Issues: What high-level systems can be managed for energy efficiency? (memory, application adaptation, …) Are they intrusive to the user? Can user intent help? Can smart spaces and surrogates be used to reduce energy demand on a mobile device? How to tradeoff the energy used in remote execution with wireless connection?
Pervasive ComputingResearch Issues-27 Issue: Client Thickness How powerful does a mobile client need to be? From bare-bones devices (high-resolution displays thru wireless to servers) to full-function clients (standalone & disconnected operation) Issues: How to quantify thickness with env. conditioning, e.g., sensors added and better networking? How to migrate app. between clients of different thickness? How to cooperate with infrastructure? Can clients be reconfigurable to adapt to env.? Semi-portable infrastructure for less hospitable env.? How to roam transparently? especially from a benign environment to a poor one? How to lower the cost of diversity in devices?
Pervasive ComputingResearch Issues-28 Issue: Context Awareness Needed for an environment minimally intrusive Recognize user state and surroundings Make decisions proactively, modify behavior accordingly Issues: Obtaining information needed to function How to represent context internally? How to combine it with system and application state? Where to store? How often to update and consult context information? What services does the infrastructure have to provide? How to track location? sense surroundings?
Pervasive ComputingResearch Issues-29 Issue: Proactivity and Transparency How not to annoy a user in a proactive system? => self-tuning according to user expertise and experiences Issues: How are user preferences and tolerances specified and taken into account? How to determine the right level of balance?
Pervasive ComputingResearch Issues-30 Issue: Privacy and Trust A pervasive computing environment needs to monitor user actions almost continuously in order to be effective Need mutual trust between environment and user Issues: Tradeoff between seamless system behavior and privacy/trust enforcement Any appropriate authentication techniques? How to specify security constraints? How to specify one’s identity?
Pervasive ComputingResearch Issues-31 Issue: Impact on Layering Pervasive computing often requires merging information from different layers a system Issues: Relationship between layering and pervasive computing How to create a new layer?
Pervasive ComputingResearch Issues-32 Conclusions Almost all sub domains in CS are affected System infrastructures, networking, security, user interfaces, embedded systems, AI, perception, speech recognition,... We are already moving in this direction XML, UDDI, mobile IP, Jini,... Systems integration is the key Many new and fascinating research problems emerge!
Pervasive ComputingResearch Issues-33 The Field Is Burgeoning IEEE Pervasive magazine Springer Personal and Ubiquitous Computing Ubicomp Various links to universities, research institutes, companies