340 likes | 448 Views
ISA5428: 普及計算 Research Issues. 金仲達教授 清華大學資訊系統與應用研究所 九十三學年度第一學期. Source. “Pervasive Computing: Vision and Challenges” M. Satyanarayanan, Carnegie Mellon University IEEE Personal Communications, pp. 10-17, August 2001. Outline. Related fields Distributed System Mobile Computing
E N D
ISA5428: 普及計算Research Issues 金仲達教授 清華大學資訊系統與應用研究所 九十三學年度第一學期
Source • “Pervasive Computing: Vision and Challenges”M. Satyanarayanan, Carnegie Mellon UniversityIEEE Personal Communications,pp. 10-17, August 2001
Outline • Related fields • Distributed System • Mobile Computing • Pervasive Computing • Example scenario • Drill down • Conclusion
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
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
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 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)
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
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
Outline • Related fields • Example scenario • Scenario 1 • Scenario 2 • Miss Capabilities • Drill down • Conclusion
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
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
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
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
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
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
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
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
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, • ... For applications built with smart objects For smart objects How do we organize billions of mobile smart objects that are highly dynamic, short living,…?
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
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?
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
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?
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
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?
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?
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?
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?
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?
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?
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?
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!
The Field Is Burgeoning • IEEE Pervasive magazine • Springer Personal and Ubiquitous Computing • Ubicomp • Various links to universities, research institutes, companies