This site uses cookies to deliver our services and to show you relevant ads and presentations. By clicking on "Accept", you acknowledge that you have read and understand our Cookie Policy , Privacy Policy , and our Terms of Use.
X

Download The principles and concepts behind Smartphones PowerPoint Presentation


Login   OR  Register
X


Iframe embed code :



Presentation url :

X

Description :

Available The principles and concepts behind Smartphones powerpoint presentation for free download which is uploaded by honey an active user in belonging ppt presentation Science & Technology category.

Tags :

The principles and concepts behind Smartphones

Home / Science & Technology / Science & Technology Presentations / The principles and concepts behind Smartphones PowerPoint Presentation

The principles and concepts behind Smartphones PowerPoint Presentation

Ppt Presentation Embed Code   Zoom Ppt Presentation

About This Presentation


Description : Available The principles and concepts behind Smartphones powerpoint presentation for free download w... Read More

Tags : The principles and concepts behind Smartphones

Published on : Feb 10, 2014
Views : 519 | Downloads : 0


Download Now

Share on Social Media

           

PowerPoint is the world's most popular presentation software which can let you create professional The principles and concepts behind Smartphones powerpoint presentation easily and in no time. This helps you give your presentation on The principles and concepts behind Smartphones in a conference, a school lecture, a business proposal, in a webinar and business and professional representations.

The uploader spent his/her valuable time to create this The principles and concepts behind Smartphones powerpoint presentation slides, to share his/her useful content with the world. This ppt presentation uploaded by slidesfinder in Science & Technology ppt presentation category is available for free download,and can be used according to your industries like finance, marketing, education, health and many more.

SlidesFinder.com provides a platform to marketers, presenters and educationists along with being the preferred search engine for professional PowerPoint presentations on the Internet to upload their The principles and concepts behind Smartphones ppt presentation slides to help them BUILD THEIR CROWD!!

Slide 1 - The principles and concepts behind Smartphones
Slide 2 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform
Slide 3 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing
Slide 4 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing
Slide 5 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing
Slide 6 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1
Slide 7 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2
Slide 8 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation
Slide 9 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability.
Slide 10 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications
Slide 11 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static
Slide 12 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design
Slide 13 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing
Slide 14 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do
Slide 15 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful
Slide 16 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood?
Slide 17 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive?
Slide 18 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist)
Slide 19 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App
Slide 20 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing…
Slide 21 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time
Slide 22 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks
Slide 23 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks
Slide 24 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink)
Slide 25 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS.
Slide 26 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive
Slide 27 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers
Slide 28 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges
Slide 29 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node
Slide 30 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy
Slide 31 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring
Slide 32 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses
Slide 33 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance
Slide 34 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates
Slide 35 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates Ayushman*: A Pervasive Healthcare System Project @ IMPACT Lab, Arizona State University To provide a dependable, non-intrusive, secure, real-time automated health monitoring. Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. Vision * Sanskrit for long life To provide a realistic environment (test-bed) for testing communication protocols and systems for medical applications.  K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, "Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed", In Proc. of IEEE DCOSS June 2005 Environmental Sensors (Temperature etc) Medical Sensors (EKG, BP) controlled By Mica2 motes Body Based Intelligence Home/Ward Based Intelligence External Gateway Central Server Medical Facility Based Intelligence Medical Professional Internet Stargate Gateway
Slide 36 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates Ayushman*: A Pervasive Healthcare System Project @ IMPACT Lab, Arizona State University To provide a dependable, non-intrusive, secure, real-time automated health monitoring. Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. Vision * Sanskrit for long life To provide a realistic environment (test-bed) for testing communication protocols and systems for medical applications.  K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, "Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed", In Proc. of IEEE DCOSS June 2005 Environmental Sensors (Temperature etc) Medical Sensors (EKG, BP) controlled By Mica2 motes Body Based Intelligence Home/Ward Based Intelligence External Gateway Central Server Medical Facility Based Intelligence Medical Professional Internet Stargate Gateway Ayushman: Current Setup Internet Environmental Data (accelerometer, Temperature, humidity, Light) Blood Pressure Oximeter ZigBee 802.11 Remote Clients Central Server Base Station Body Area Network RS232 Properties Hardware and software based architecture Multi-tiered organization Real-time, continuous data collection Query support (past, current data) Remote monitoring capability through the Internet Simple alarm generation database Bluetooth
Slide 37 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates Ayushman*: A Pervasive Healthcare System Project @ IMPACT Lab, Arizona State University To provide a dependable, non-intrusive, secure, real-time automated health monitoring. Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. Vision * Sanskrit for long life To provide a realistic environment (test-bed) for testing communication protocols and systems for medical applications.  K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, "Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed", In Proc. of IEEE DCOSS June 2005 Environmental Sensors (Temperature etc) Medical Sensors (EKG, BP) controlled By Mica2 motes Body Based Intelligence Home/Ward Based Intelligence External Gateway Central Server Medical Facility Based Intelligence Medical Professional Internet Stargate Gateway Ayushman: Current Setup Internet Environmental Data (accelerometer, Temperature, humidity, Light) Blood Pressure Oximeter ZigBee 802.11 Remote Clients Central Server Base Station Body Area Network RS232 Properties Hardware and software based architecture Multi-tiered organization Real-time, continuous data collection Query support (past, current data) Remote monitoring capability through the Internet Simple alarm generation database Bluetooth Enabling Technologies TOS v.1.x-2.0 Ad-hoc Networking Mica2 TelosB Imote2 Mica2Dot Iris MicaZ Commercially available sensor boards Open source OS with support for ad hoc networking +
Slide 38 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates Ayushman*: A Pervasive Healthcare System Project @ IMPACT Lab, Arizona State University To provide a dependable, non-intrusive, secure, real-time automated health monitoring. Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. Vision * Sanskrit for long life To provide a realistic environment (test-bed) for testing communication protocols and systems for medical applications.  K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, "Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed", In Proc. of IEEE DCOSS June 2005 Environmental Sensors (Temperature etc) Medical Sensors (EKG, BP) controlled By Mica2 motes Body Based Intelligence Home/Ward Based Intelligence External Gateway Central Server Medical Facility Based Intelligence Medical Professional Internet Stargate Gateway Ayushman: Current Setup Internet Environmental Data (accelerometer, Temperature, humidity, Light) Blood Pressure Oximeter ZigBee 802.11 Remote Clients Central Server Base Station Body Area Network RS232 Properties Hardware and software based architecture Multi-tiered organization Real-time, continuous data collection Query support (past, current data) Remote monitoring capability through the Internet Simple alarm generation database Bluetooth Enabling Technologies TOS v.1.x-2.0 Ad-hoc Networking Mica2 TelosB Imote2 Mica2Dot Iris MicaZ Commercially available sensor boards Open source OS with support for ad hoc networking + Phone to WSN Interface Design Principles: To minimize the changes to the existing WSN architecture (required to maintain backward compatibility with previous apps.) To leverage COTS hardware and existing software solutions (to minimize the development time). Issues to address: Phone to sensors interface Data handling on the cell phone Monitoring and Control Software
Slide 39 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates Ayushman*: A Pervasive Healthcare System Project @ IMPACT Lab, Arizona State University To provide a dependable, non-intrusive, secure, real-time automated health monitoring. Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. Vision * Sanskrit for long life To provide a realistic environment (test-bed) for testing communication protocols and systems for medical applications.  K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, "Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed", In Proc. of IEEE DCOSS June 2005 Environmental Sensors (Temperature etc) Medical Sensors (EKG, BP) controlled By Mica2 motes Body Based Intelligence Home/Ward Based Intelligence External Gateway Central Server Medical Facility Based Intelligence Medical Professional Internet Stargate Gateway Ayushman: Current Setup Internet Environmental Data (accelerometer, Temperature, humidity, Light) Blood Pressure Oximeter ZigBee 802.11 Remote Clients Central Server Base Station Body Area Network RS232 Properties Hardware and software based architecture Multi-tiered organization Real-time, continuous data collection Query support (past, current data) Remote monitoring capability through the Internet Simple alarm generation database Bluetooth Enabling Technologies TOS v.1.x-2.0 Ad-hoc Networking Mica2 TelosB Imote2 Mica2Dot Iris MicaZ Commercially available sensor boards Open source OS with support for ad hoc networking + Phone to WSN Interface Design Principles: To minimize the changes to the existing WSN architecture (required to maintain backward compatibility with previous apps.) To leverage COTS hardware and existing software solutions (to minimize the development time). Issues to address: Phone to sensors interface Data handling on the cell phone Monitoring and Control Software Context Generation Physiological (EKG, Perspiration, Heart Rate) Environmental (Humidity, Temp) Spatial (Home, Gym, Office, Hospital, Park) Temporal (Morning, Evening, Night) Sensor Network Knowledge Context Processor Medical Context Is an aggregate of 4 base contexts. Each physiological event has to be characterized by all 4 base contexts for accurate understanding of patient’s health. A contextual template can be created for specific physiological events for future reference. Challenges How to determine the aggregate medical context from the four base contexts? How to create a contextual template for a patient? Aggregate Context Base Context
Slide 40 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates Ayushman*: A Pervasive Healthcare System Project @ IMPACT Lab, Arizona State University To provide a dependable, non-intrusive, secure, real-time automated health monitoring. Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. Vision * Sanskrit for long life To provide a realistic environment (test-bed) for testing communication protocols and systems for medical applications.  K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, "Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed", In Proc. of IEEE DCOSS June 2005 Environmental Sensors (Temperature etc) Medical Sensors (EKG, BP) controlled By Mica2 motes Body Based Intelligence Home/Ward Based Intelligence External Gateway Central Server Medical Facility Based Intelligence Medical Professional Internet Stargate Gateway Ayushman: Current Setup Internet Environmental Data (accelerometer, Temperature, humidity, Light) Blood Pressure Oximeter ZigBee 802.11 Remote Clients Central Server Base Station Body Area Network RS232 Properties Hardware and software based architecture Multi-tiered organization Real-time, continuous data collection Query support (past, current data) Remote monitoring capability through the Internet Simple alarm generation database Bluetooth Enabling Technologies TOS v.1.x-2.0 Ad-hoc Networking Mica2 TelosB Imote2 Mica2Dot Iris MicaZ Commercially available sensor boards Open source OS with support for ad hoc networking + Phone to WSN Interface Design Principles: To minimize the changes to the existing WSN architecture (required to maintain backward compatibility with previous apps.) To leverage COTS hardware and existing software solutions (to minimize the development time). Issues to address: Phone to sensors interface Data handling on the cell phone Monitoring and Control Software Context Generation Physiological (EKG, Perspiration, Heart Rate) Environmental (Humidity, Temp) Spatial (Home, Gym, Office, Hospital, Park) Temporal (Morning, Evening, Night) Sensor Network Knowledge Context Processor Medical Context Is an aggregate of 4 base contexts. Each physiological event has to be characterized by all 4 base contexts for accurate understanding of patient’s health. A contextual template can be created for specific physiological events for future reference. Challenges How to determine the aggregate medical context from the four base contexts? How to create a contextual template for a patient? Aggregate Context Base Context Security in Pervasive Healthcare Context Patient data is transmitted wirelessly by low capability sensors Patient data is therefore easy to eavesdrop on Security schemes utilized may not be strong enough for cryptanalysis Patient data is stored in electronic format and is available through the Internet Makes it easy to access from around the world and easy to copy Data can be moved across administrative boundaries easily bypassing legal issues. Electronic health records store more and more sensitive information such as psych reports and HIV status Preserving patient’s privacy is a legal requirement (HIPAA) Excruciating Factors Wireless connectivity is always on No clear understanding of: Trusted parties Security policies for medical environment Devices are heterogeneous with limited capabilities Traditional schemes too expensive for long term usage
Slide 41 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates Ayushman*: A Pervasive Healthcare System Project @ IMPACT Lab, Arizona State University To provide a dependable, non-intrusive, secure, real-time automated health monitoring. Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. Vision * Sanskrit for long life To provide a realistic environment (test-bed) for testing communication protocols and systems for medical applications.  K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, "Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed", In Proc. of IEEE DCOSS June 2005 Environmental Sensors (Temperature etc) Medical Sensors (EKG, BP) controlled By Mica2 motes Body Based Intelligence Home/Ward Based Intelligence External Gateway Central Server Medical Facility Based Intelligence Medical Professional Internet Stargate Gateway Ayushman: Current Setup Internet Environmental Data (accelerometer, Temperature, humidity, Light) Blood Pressure Oximeter ZigBee 802.11 Remote Clients Central Server Base Station Body Area Network RS232 Properties Hardware and software based architecture Multi-tiered organization Real-time, continuous data collection Query support (past, current data) Remote monitoring capability through the Internet Simple alarm generation database Bluetooth Enabling Technologies TOS v.1.x-2.0 Ad-hoc Networking Mica2 TelosB Imote2 Mica2Dot Iris MicaZ Commercially available sensor boards Open source OS with support for ad hoc networking + Phone to WSN Interface Design Principles: To minimize the changes to the existing WSN architecture (required to maintain backward compatibility with previous apps.) To leverage COTS hardware and existing software solutions (to minimize the development time). Issues to address: Phone to sensors interface Data handling on the cell phone Monitoring and Control Software Context Generation Physiological (EKG, Perspiration, Heart Rate) Environmental (Humidity, Temp) Spatial (Home, Gym, Office, Hospital, Park) Temporal (Morning, Evening, Night) Sensor Network Knowledge Context Processor Medical Context Is an aggregate of 4 base contexts. Each physiological event has to be characterized by all 4 base contexts for accurate understanding of patient’s health. A contextual template can be created for specific physiological events for future reference. Challenges How to determine the aggregate medical context from the four base contexts? How to create a contextual template for a patient? Aggregate Context Base Context Security in Pervasive Healthcare Context Patient data is transmitted wirelessly by low capability sensors Patient data is therefore easy to eavesdrop on Security schemes utilized may not be strong enough for cryptanalysis Patient data is stored in electronic format and is available through the Internet Makes it easy to access from around the world and easy to copy Data can be moved across administrative boundaries easily bypassing legal issues. Electronic health records store more and more sensitive information such as psych reports and HIV status Preserving patient’s privacy is a legal requirement (HIPAA) Excruciating Factors Wireless connectivity is always on No clear understanding of: Trusted parties Security policies for medical environment Devices are heterogeneous with limited capabilities Traditional schemes too expensive for long term usage Security Related Issues New Attacks Fake emergency warnings. Legitimate emergency warnings prevented from being reported in times. Unnecessary communication by malicious entity with sensors can cause: Battery power depletion Tissue heating Technology Efficient cryptographic primitives Cheaper encryption, hash functions Better sensor hardware design Cheap, tamper-resistant sensor hardware Better communication protocol design Better techniques for controlling access to patient EHR Legislation Health Information Privacy and Accountability Act (HIPAA) Passed in 1995 Provides necessary privacy protection for health data Developed in response to public concern over abuse of privacy in health information Establishes categories of health information which may be used or disclosed Requirements Integrity - Ensure that information is accurate, complete, and has not been altered in any way. Confidentiality - Ensure that information is only disclosed to those who are authorized to see it. Authentication – Ensure correctness of claimed identity. Authorization – Ensure permissions granted for actions performed by entity.
Slide 42 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates Ayushman*: A Pervasive Healthcare System Project @ IMPACT Lab, Arizona State University To provide a dependable, non-intrusive, secure, real-time automated health monitoring. Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. Vision * Sanskrit for long life To provide a realistic environment (test-bed) for testing communication protocols and systems for medical applications.  K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, "Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed", In Proc. of IEEE DCOSS June 2005 Environmental Sensors (Temperature etc) Medical Sensors (EKG, BP) controlled By Mica2 motes Body Based Intelligence Home/Ward Based Intelligence External Gateway Central Server Medical Facility Based Intelligence Medical Professional Internet Stargate Gateway Ayushman: Current Setup Internet Environmental Data (accelerometer, Temperature, humidity, Light) Blood Pressure Oximeter ZigBee 802.11 Remote Clients Central Server Base Station Body Area Network RS232 Properties Hardware and software based architecture Multi-tiered organization Real-time, continuous data collection Query support (past, current data) Remote monitoring capability through the Internet Simple alarm generation database Bluetooth Enabling Technologies TOS v.1.x-2.0 Ad-hoc Networking Mica2 TelosB Imote2 Mica2Dot Iris MicaZ Commercially available sensor boards Open source OS with support for ad hoc networking + Phone to WSN Interface Design Principles: To minimize the changes to the existing WSN architecture (required to maintain backward compatibility with previous apps.) To leverage COTS hardware and existing software solutions (to minimize the development time). Issues to address: Phone to sensors interface Data handling on the cell phone Monitoring and Control Software Context Generation Physiological (EKG, Perspiration, Heart Rate) Environmental (Humidity, Temp) Spatial (Home, Gym, Office, Hospital, Park) Temporal (Morning, Evening, Night) Sensor Network Knowledge Context Processor Medical Context Is an aggregate of 4 base contexts. Each physiological event has to be characterized by all 4 base contexts for accurate understanding of patient’s health. A contextual template can be created for specific physiological events for future reference. Challenges How to determine the aggregate medical context from the four base contexts? How to create a contextual template for a patient? Aggregate Context Base Context Security in Pervasive Healthcare Context Patient data is transmitted wirelessly by low capability sensors Patient data is therefore easy to eavesdrop on Security schemes utilized may not be strong enough for cryptanalysis Patient data is stored in electronic format and is available through the Internet Makes it easy to access from around the world and easy to copy Data can be moved across administrative boundaries easily bypassing legal issues. Electronic health records store more and more sensitive information such as psych reports and HIV status Preserving patient’s privacy is a legal requirement (HIPAA) Excruciating Factors Wireless connectivity is always on No clear understanding of: Trusted parties Security policies for medical environment Devices are heterogeneous with limited capabilities Traditional schemes too expensive for long term usage Security Related Issues New Attacks Fake emergency warnings. Legitimate emergency warnings prevented from being reported in times. Unnecessary communication by malicious entity with sensors can cause: Battery power depletion Tissue heating Technology Efficient cryptographic primitives Cheaper encryption, hash functions Better sensor hardware design Cheap, tamper-resistant sensor hardware Better communication protocol design Better techniques for controlling access to patient EHR Legislation Health Information Privacy and Accountability Act (HIPAA) Passed in 1995 Provides necessary privacy protection for health data Developed in response to public concern over abuse of privacy in health information Establishes categories of health information which may be used or disclosed Requirements Integrity - Ensure that information is accurate, complete, and has not been altered in any way. Confidentiality - Ensure that information is only disclosed to those who are authorized to see it. Authentication – Ensure correctness of claimed identity. Authorization – Ensure permissions granted for actions performed by entity. Energy Efficiency Need Sensors have very small battery source. Sensors need to be active for long time durations. For implantable sensors, it is not possible to replace battery at short intervals. Challenge Battery power not increasing at same rate as processing power. Small size (hence less energy) of the batteries in sensors. Solutions Solar Energy Better Battery Vibration Body Thermal Power
Slide 43 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates Ayushman*: A Pervasive Healthcare System Project @ IMPACT Lab, Arizona State University To provide a dependable, non-intrusive, secure, real-time automated health monitoring. Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. Vision * Sanskrit for long life To provide a realistic environment (test-bed) for testing communication protocols and systems for medical applications.  K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, "Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed", In Proc. of IEEE DCOSS June 2005 Environmental Sensors (Temperature etc) Medical Sensors (EKG, BP) controlled By Mica2 motes Body Based Intelligence Home/Ward Based Intelligence External Gateway Central Server Medical Facility Based Intelligence Medical Professional Internet Stargate Gateway Ayushman: Current Setup Internet Environmental Data (accelerometer, Temperature, humidity, Light) Blood Pressure Oximeter ZigBee 802.11 Remote Clients Central Server Base Station Body Area Network RS232 Properties Hardware and software based architecture Multi-tiered organization Real-time, continuous data collection Query support (past, current data) Remote monitoring capability through the Internet Simple alarm generation database Bluetooth Enabling Technologies TOS v.1.x-2.0 Ad-hoc Networking Mica2 TelosB Imote2 Mica2Dot Iris MicaZ Commercially available sensor boards Open source OS with support for ad hoc networking + Phone to WSN Interface Design Principles: To minimize the changes to the existing WSN architecture (required to maintain backward compatibility with previous apps.) To leverage COTS hardware and existing software solutions (to minimize the development time). Issues to address: Phone to sensors interface Data handling on the cell phone Monitoring and Control Software Context Generation Physiological (EKG, Perspiration, Heart Rate) Environmental (Humidity, Temp) Spatial (Home, Gym, Office, Hospital, Park) Temporal (Morning, Evening, Night) Sensor Network Knowledge Context Processor Medical Context Is an aggregate of 4 base contexts. Each physiological event has to be characterized by all 4 base contexts for accurate understanding of patient’s health. A contextual template can be created for specific physiological events for future reference. Challenges How to determine the aggregate medical context from the four base contexts? How to create a contextual template for a patient? Aggregate Context Base Context Security in Pervasive Healthcare Context Patient data is transmitted wirelessly by low capability sensors Patient data is therefore easy to eavesdrop on Security schemes utilized may not be strong enough for cryptanalysis Patient data is stored in electronic format and is available through the Internet Makes it easy to access from around the world and easy to copy Data can be moved across administrative boundaries easily bypassing legal issues. Electronic health records store more and more sensitive information such as psych reports and HIV status Preserving patient’s privacy is a legal requirement (HIPAA) Excruciating Factors Wireless connectivity is always on No clear understanding of: Trusted parties Security policies for medical environment Devices are heterogeneous with limited capabilities Traditional schemes too expensive for long term usage Security Related Issues New Attacks Fake emergency warnings. Legitimate emergency warnings prevented from being reported in times. Unnecessary communication by malicious entity with sensors can cause: Battery power depletion Tissue heating Technology Efficient cryptographic primitives Cheaper encryption, hash functions Better sensor hardware design Cheap, tamper-resistant sensor hardware Better communication protocol design Better techniques for controlling access to patient EHR Legislation Health Information Privacy and Accountability Act (HIPAA) Passed in 1995 Provides necessary privacy protection for health data Developed in response to public concern over abuse of privacy in health information Establishes categories of health information which may be used or disclosed Requirements Integrity - Ensure that information is accurate, complete, and has not been altered in any way. Confidentiality - Ensure that information is only disclosed to those who are authorized to see it. Authentication – Ensure correctness of claimed identity. Authorization – Ensure permissions granted for actions performed by entity. Energy Efficiency Need Sensors have very small battery source. Sensors need to be active for long time durations. For implantable sensors, it is not possible to replace battery at short intervals. Challenge Battery power not increasing at same rate as processing power. Small size (hence less energy) of the batteries in sensors. Solutions Solar Energy Better Battery Vibration Body Thermal Power End of class Follow-up question in on-line discussion Next class (January 27th) Topic: Pervasive Location-based services Review material: Chapters 2 & 4 of the textbook
Slide 44 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates Ayushman*: A Pervasive Healthcare System Project @ IMPACT Lab, Arizona State University To provide a dependable, non-intrusive, secure, real-time automated health monitoring. Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. Vision * Sanskrit for long life To provide a realistic environment (test-bed) for testing communication protocols and systems for medical applications.  K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, "Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed", In Proc. of IEEE DCOSS June 2005 Environmental Sensors (Temperature etc) Medical Sensors (EKG, BP) controlled By Mica2 motes Body Based Intelligence Home/Ward Based Intelligence External Gateway Central Server Medical Facility Based Intelligence Medical Professional Internet Stargate Gateway Ayushman: Current Setup Internet Environmental Data (accelerometer, Temperature, humidity, Light) Blood Pressure Oximeter ZigBee 802.11 Remote Clients Central Server Base Station Body Area Network RS232 Properties Hardware and software based architecture Multi-tiered organization Real-time, continuous data collection Query support (past, current data) Remote monitoring capability through the Internet Simple alarm generation database Bluetooth Enabling Technologies TOS v.1.x-2.0 Ad-hoc Networking Mica2 TelosB Imote2 Mica2Dot Iris MicaZ Commercially available sensor boards Open source OS with support for ad hoc networking + Phone to WSN Interface Design Principles: To minimize the changes to the existing WSN architecture (required to maintain backward compatibility with previous apps.) To leverage COTS hardware and existing software solutions (to minimize the development time). Issues to address: Phone to sensors interface Data handling on the cell phone Monitoring and Control Software Context Generation Physiological (EKG, Perspiration, Heart Rate) Environmental (Humidity, Temp) Spatial (Home, Gym, Office, Hospital, Park) Temporal (Morning, Evening, Night) Sensor Network Knowledge Context Processor Medical Context Is an aggregate of 4 base contexts. Each physiological event has to be characterized by all 4 base contexts for accurate understanding of patient’s health. A contextual template can be created for specific physiological events for future reference. Challenges How to determine the aggregate medical context from the four base contexts? How to create a contextual template for a patient? Aggregate Context Base Context Security in Pervasive Healthcare Context Patient data is transmitted wirelessly by low capability sensors Patient data is therefore easy to eavesdrop on Security schemes utilized may not be strong enough for cryptanalysis Patient data is stored in electronic format and is available through the Internet Makes it easy to access from around the world and easy to copy Data can be moved across administrative boundaries easily bypassing legal issues. Electronic health records store more and more sensitive information such as psych reports and HIV status Preserving patient’s privacy is a legal requirement (HIPAA) Excruciating Factors Wireless connectivity is always on No clear understanding of: Trusted parties Security policies for medical environment Devices are heterogeneous with limited capabilities Traditional schemes too expensive for long term usage Security Related Issues New Attacks Fake emergency warnings. Legitimate emergency warnings prevented from being reported in times. Unnecessary communication by malicious entity with sensors can cause: Battery power depletion Tissue heating Technology Efficient cryptographic primitives Cheaper encryption, hash functions Better sensor hardware design Cheap, tamper-resistant sensor hardware Better communication protocol design Better techniques for controlling access to patient EHR Legislation Health Information Privacy and Accountability Act (HIPAA) Passed in 1995 Provides necessary privacy protection for health data Developed in response to public concern over abuse of privacy in health information Establishes categories of health information which may be used or disclosed Requirements Integrity - Ensure that information is accurate, complete, and has not been altered in any way. Confidentiality - Ensure that information is only disclosed to those who are authorized to see it. Authentication – Ensure correctness of claimed identity. Authorization – Ensure permissions granted for actions performed by entity. Energy Efficiency Need Sensors have very small battery source. Sensors need to be active for long time durations. For implantable sensors, it is not possible to replace battery at short intervals. Challenge Battery power not increasing at same rate as processing power. Small size (hence less energy) of the batteries in sensors. Solutions Solar Energy Better Battery Vibration Body Thermal Power End of class Follow-up question in on-line discussion Next class (January 27th) Topic: Pervasive Location-based services Review material: Chapters 2 & 4 of the textbook Extra Slides
Slide 45 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates Ayushman*: A Pervasive Healthcare System Project @ IMPACT Lab, Arizona State University To provide a dependable, non-intrusive, secure, real-time automated health monitoring. Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. Vision * Sanskrit for long life To provide a realistic environment (test-bed) for testing communication protocols and systems for medical applications.  K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, "Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed", In Proc. of IEEE DCOSS June 2005 Environmental Sensors (Temperature etc) Medical Sensors (EKG, BP) controlled By Mica2 motes Body Based Intelligence Home/Ward Based Intelligence External Gateway Central Server Medical Facility Based Intelligence Medical Professional Internet Stargate Gateway Ayushman: Current Setup Internet Environmental Data (accelerometer, Temperature, humidity, Light) Blood Pressure Oximeter ZigBee 802.11 Remote Clients Central Server Base Station Body Area Network RS232 Properties Hardware and software based architecture Multi-tiered organization Real-time, continuous data collection Query support (past, current data) Remote monitoring capability through the Internet Simple alarm generation database Bluetooth Enabling Technologies TOS v.1.x-2.0 Ad-hoc Networking Mica2 TelosB Imote2 Mica2Dot Iris MicaZ Commercially available sensor boards Open source OS with support for ad hoc networking + Phone to WSN Interface Design Principles: To minimize the changes to the existing WSN architecture (required to maintain backward compatibility with previous apps.) To leverage COTS hardware and existing software solutions (to minimize the development time). Issues to address: Phone to sensors interface Data handling on the cell phone Monitoring and Control Software Context Generation Physiological (EKG, Perspiration, Heart Rate) Environmental (Humidity, Temp) Spatial (Home, Gym, Office, Hospital, Park) Temporal (Morning, Evening, Night) Sensor Network Knowledge Context Processor Medical Context Is an aggregate of 4 base contexts. Each physiological event has to be characterized by all 4 base contexts for accurate understanding of patient’s health. A contextual template can be created for specific physiological events for future reference. Challenges How to determine the aggregate medical context from the four base contexts? How to create a contextual template for a patient? Aggregate Context Base Context Security in Pervasive Healthcare Context Patient data is transmitted wirelessly by low capability sensors Patient data is therefore easy to eavesdrop on Security schemes utilized may not be strong enough for cryptanalysis Patient data is stored in electronic format and is available through the Internet Makes it easy to access from around the world and easy to copy Data can be moved across administrative boundaries easily bypassing legal issues. Electronic health records store more and more sensitive information such as psych reports and HIV status Preserving patient’s privacy is a legal requirement (HIPAA) Excruciating Factors Wireless connectivity is always on No clear understanding of: Trusted parties Security policies for medical environment Devices are heterogeneous with limited capabilities Traditional schemes too expensive for long term usage Security Related Issues New Attacks Fake emergency warnings. Legitimate emergency warnings prevented from being reported in times. Unnecessary communication by malicious entity with sensors can cause: Battery power depletion Tissue heating Technology Efficient cryptographic primitives Cheaper encryption, hash functions Better sensor hardware design Cheap, tamper-resistant sensor hardware Better communication protocol design Better techniques for controlling access to patient EHR Legislation Health Information Privacy and Accountability Act (HIPAA) Passed in 1995 Provides necessary privacy protection for health data Developed in response to public concern over abuse of privacy in health information Establishes categories of health information which may be used or disclosed Requirements Integrity - Ensure that information is accurate, complete, and has not been altered in any way. Confidentiality - Ensure that information is only disclosed to those who are authorized to see it. Authentication – Ensure correctness of claimed identity. Authorization – Ensure permissions granted for actions performed by entity. Energy Efficiency Need Sensors have very small battery source. Sensors need to be active for long time durations. For implantable sensors, it is not possible to replace battery at short intervals. Challenge Battery power not increasing at same rate as processing power. Small size (hence less energy) of the batteries in sensors. Solutions Solar Energy Better Battery Vibration Body Thermal Power End of class Follow-up question in on-line discussion Next class (January 27th) Topic: Pervasive Location-based services Review material: Chapters 2 & 4 of the textbook Extra Slides Mobile Computing Applications: Vertical Applications Serve a narrow, niche application domain – Services dispatch (taxi, fire, police, trucking) – Sales tracking (point of sale, market trends) – Mail and package tracking (courier, postal) Relatively easy to implement due to restrictions and assumptions – homogeneous MUs – limited numbers of users
Slide 46 - The principles and concepts behind Smartphones Today’s talk: The triple nature of a smartphone Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware Embedded Computing Platform Wireless Sensor Platform Mobile Computing Platform Mobile (and adaptive) Computing Mobile computing? Distributed system Wireless communications Mobility of communications devices Difference between mobile computing and mobile communications? Ex. “Italian restaurant” through search engine. Ex. Video streaming over the Internet Limitations of mobile computing devices: energy, screen, … Security or privacy Middleware layer What is Mobile Computing The vision of mobile computing Roam seamlessly with your computing devices while continuing to perform computing and communication tasks uninterrupted. Global information services at any time from any location Mobile users as integrated consumers and producers of data and information Ubiquitous computing where mobile computers become an integral part of daily activities Transparency The ability of a system to hide some characteristics of its underlying implementation from users Access transparency Location transparency: name transparency, user mobility Failure transparency Mobile computing: mobility transparency Adaptability – The key to Mobile Computing Constraints of mobile computing environments Mobile computers can be expected to be more resource-poor than their static counterparts: e.g., battery Mobile computers are less secure and reliable. Mobile connectivity can be highly variable in terms of its performance (bandwidth and latency) and reliability. Fig 1.1 Application-aware adaptation Application-transparent (the system is fully responsible for adaptation) Laissez-faire (the system provides no support at all) E.g., bandwidth, battery Fig 1.2 What can be adapted? The functionality and the data How to adapt? Client-server (CS) model Adapting functionality CS model A server with soft or hard state about the clients Coda File servers (Saty 1996a) A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely access the data. Good performance is achieved by using techniques such as caching and prefetching. Security of data is ensured by employing end-to-end authentication and encrypted transmissions. Mechanisms for Adaptation Impact of mobility on the CS model: a resource-poor mobile client = thin clients Adapting data Fidelity: the degree to which a copy of data presented for use at the client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness QoS requirements Information quality Performance Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability. Detection of changes software sensors, e.g. for connectivity, monitor the quality of link Detection-driven behavior State-based approach, i.e. chose an operating state according what is sensed. Employment of compensating mechanisms Profiling, Caching, Prefetching Examples: TCP & congestion control Detection: Use of timers/timeouts. States: governed by window size Coda (continued data availability) distributed file system Hoarding (prefetching), Emulating (local reads and writes), Write-disconnected (mixed mode), Reintegration (incorporate backlog of changes to original remote files) Incorporating adaptations in applications Mobility Characteristics Location changes location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Adaptivity to mobility: What is affected? Operating systems File systems Database systems Programming Languages Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design Context-Aware Computing Context awareness: adaptability Context awareness Resource awareness Adapt to available resources (connectivity, nearby devices Situation awareness Adapt to the situation (mode, location, time, event) Intention awareness (?) Adapt to what the user wants to do Defining Context Dictionary definition: “the interrelated conditions in which something exists or occurs” One definition [Schilit]: Computing context: connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social situation, activity, mood … Physical context: temperature, lighting, noise, traffic conditions … also: Time context (time of day, week, month, year…) Context history can also be useful Context (cont’d) Is all this information necessary? “Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application Location in a call forwarding application Passive context: context that is relevant but not critical Active map application: display location name and other people in the room Is all this information measurable? Temperature? Location? People around? Social situation? Mood? Context-Aware computing How to take advantage of this context information? Schilit’s classification of CA applications: Proximate selection: user interface where nearby objects are emphasized/made easier to choose Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change Contextual information and commands: produce different results according to the context in which they are issued Context-triggered actions: rules to specify how the system should adapt Are these fundamental/inclusive? Location-Based Services Requirements Geocoder (convert street addresses to latitude / longitude), Reverse geocoder Address Helper (many addresses inaccurate or incomplete) Map data Points of Interest data e.g. pubs, restaurants, cinemas Business Directory (doctors, plumbers etc by location) Connection to Telco or satellite Issues Content providers – Telcos jealously guarding own domain Proprietary software e.g. Windows Live Price of map data varies widely, very expensive in some countries e.g. Australia Integration into customer’s web sites (API’s) Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) Mobile social networking meets location based services Mobile friend tracking & directory services Proprietary internal messaging connectable to any messaging service Friends become closer than ever because you know where they are Location from GPS+map service LBS + Social Networking: BuddyFinder App Mobile Computing Applications Applications: Vertical: vehicle dispatching, tracking, point of sale, information service (yellow pages), Law enforcement Horizontal: mail enabled applications, filtered information provision, collaborative computing… Excercise Name a smartphone app and identify its adaptability and context awareness Handling variable resources Connection, battery Handling variable context Location, time Wireless Communications and Networks Wireless Networks Wireless Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Cellular Subscribers in the United States: 90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%); 13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner In-State Group Report). Handheld computer market will grow to $1.77 billion by 2002 Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Wireless Networks (Cont.) Wireless Local Area Networks IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Wireless Metropolitan Area Networks IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) Packet Data Networks ARDIS RAM Cellular Digital Packet Data (CDPD) Private Networks Public safety, UPS. Wireless Local Area Network Data services: IP packets Coverage Area: Offices, buildings, campuses Roaming: Within deployed systems Internet access: via LAN. Type of services: Data at near LAN speed. Variant Connectivity Low bandwidth and reliability Frequent disconnections predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity may be weak, intermittent and expensive Portability Characteristics Battery power restrictions transmit/receive, disk spinning, display, CPUs, memory consume power Battery lifetime will see very small increase need energy efficient hardware (CPUs, memory) and system software planned disconnections - doze mode Power consumption vs. resource utilization Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages (Mobile Java?) Computation and communication load cannot be distributed equally Small screen sizes Asymmetry between static and mobile computers Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University Wireless Sensor Networking: Applications and Challenges What is a Wireless Sensor Network? Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) An ad hoc network of self-powered and self-configuring sensor nodes for collectively sensing environmental data and performing data aggregation and actuation functions reliably, efficiently, and accurately. GPS Sensor Node Limitations of Wireless Sensors Wireless sensor nodes have many limitations: Modest processing power – 8 MHz Very little storage – a few hundred kilobits Short communication range – consumes a lot of power Small form factor – several mm3 Minimal energy – constrains protocols Batteries have a finite lifetime Passive devices provide little energy Some Sample Applications Industrial and Commercial Uses Inventory Tracking – RFID Automated Machinery Monitoring Smart Home or Smart Office Energy Conservation Automated Lighting Military Surveillance and Troop Support Chemical or Biological Weapons Detection Enemy Troop Tracking Traffic Management and Monitoring Retinal Implant Cortical Implant Sensor-Based Visual Prostheses Typical Sensor Node Features A sensor node has: Sensing Material Physical – Magnetic, Light, Sound Chemical – CO, Chemical Weapons Biological – Bacteria, Viruses, Proteins Integrated Circuitry (VLSI) A-to-D converter from sensor to circuitry Packaging for environmental safety Power Supply Passive – Solar, Vibration Active – Battery power, RF Inductance Traffic Management & Monitoring Future cars could use wireless sensors to: Handle Accidents Handle Thefts Sensors embedded in the roads to: Monitor traffic flows Provide real-time route updates Ayushman*: A Pervasive Healthcare System Project @ IMPACT Lab, Arizona State University To provide a dependable, non-intrusive, secure, real-time automated health monitoring. Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. Vision * Sanskrit for long life To provide a realistic environment (test-bed) for testing communication protocols and systems for medical applications.  K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, "Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed", In Proc. of IEEE DCOSS June 2005 Environmental Sensors (Temperature etc) Medical Sensors (EKG, BP) controlled By Mica2 motes Body Based Intelligence Home/Ward Based Intelligence External Gateway Central Server Medical Facility Based Intelligence Medical Professional Internet Stargate Gateway Ayushman: Current Setup Internet Environmental Data (accelerometer, Temperature, humidity, Light) Blood Pressure Oximeter ZigBee 802.11 Remote Clients Central Server Base Station Body Area Network RS232 Properties Hardware and software based architecture Multi-tiered organization Real-time, continuous data collection Query support (past, current data) Remote monitoring capability through the Internet Simple alarm generation database Bluetooth Enabling Technologies TOS v.1.x-2.0 Ad-hoc Networking Mica2 TelosB Imote2 Mica2Dot Iris MicaZ Commercially available sensor boards Open source OS with support for ad hoc networking + Phone to WSN Interface Design Principles: To minimize the changes to the existing WSN architecture (required to maintain backward compatibility with previous apps.) To leverage COTS hardware and existing software solutions (to minimize the development time). Issues to address: Phone to sensors interface Data handling on the cell phone Monitoring and Control Software Context Generation Physiological (EKG, Perspiration, Heart Rate) Environmental (Humidity, Temp) Spatial (Home, Gym, Office, Hospital, Park) Temporal (Morning, Evening, Night) Sensor Network Knowledge Context Processor Medical Context Is an aggregate of 4 base contexts. Each physiological event has to be characterized by all 4 base contexts for accurate understanding of patient’s health. A contextual template can be created for specific physiological events for future reference. Challenges How to determine the aggregate medical context from the four base contexts? How to create a contextual template for a patient? Aggregate Context Base Context Security in Pervasive Healthcare Context Patient data is transmitted wirelessly by low capability sensors Patient data is therefore easy to eavesdrop on Security schemes utilized may not be strong enough for cryptanalysis Patient data is stored in electronic format and is available through the Internet Makes it easy to access from around the world and easy to copy Data can be moved across administrative boundaries easily bypassing legal issues. Electronic health records store more and more sensitive information such as psych reports and HIV status Preserving patient’s privacy is a legal requirement (HIPAA) Excruciating Factors Wireless connectivity is always on No clear understanding of: Trusted parties Security policies for medical environment Devices are heterogeneous with limited capabilities Traditional schemes too expensive for long term usage Security Related Issues New Attacks Fake emergency warnings. Legitimate emergency warnings prevented from being reported in times. Unnecessary communication by malicious entity with sensors can cause: Battery power depletion Tissue heating Technology Efficient cryptographic primitives Cheaper encryption, hash functions Better sensor hardware design Cheap, tamper-resistant sensor hardware Better communication protocol design Better techniques for controlling access to patient EHR Legislation Health Information Privacy and Accountability Act (HIPAA) Passed in 1995 Provides necessary privacy protection for health data Developed in response to public concern over abuse of privacy in health information Establishes categories of health information which may be used or disclosed Requirements Integrity - Ensure that information is accurate, complete, and has not been altered in any way. Confidentiality - Ensure that information is only disclosed to those who are authorized to see it. Authentication – Ensure correctness of claimed identity. Authorization – Ensure permissions granted for actions performed by entity. Energy Efficiency Need Sensors have very small battery source. Sensors need to be active for long time durations. For implantable sensors, it is not possible to replace battery at short intervals. Challenge Battery power not increasing at same rate as processing power. Small size (hence less energy) of the batteries in sensors. Solutions Solar Energy Better Battery Vibration Body Thermal Power End of class Follow-up question in on-line discussion Next class (January 27th) Topic: Pervasive Location-based services Review material: Chapters 2 & 4 of the textbook Extra Slides Mobile Computing Applications: Vertical Applications Serve a narrow, niche application domain – Services dispatch (taxi, fire, police, trucking) – Sales tracking (point of sale, market trends) – Mail and package tracking (courier, postal) Relatively easy to implement due to restrictions and assumptions – homogeneous MUs – limited numbers of users Mobile Computing Applications: Horizontal Applications Broad, domain-independent applications serving a mass-market – Electronic Mail and News – Yellow Pages Directory Services – Multimedia Merchant Catalogs – Digital Libraries – Location-based Information Filtering Driving force of mobile computing research