Title: Context-Aware Computing
1Context-AwareComputing
- CSE494/598 Mobile Health and Social Networking
2Context awarenessthe essence of 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
- Context awareness is found in humans
- We always adapt our behavior and actions
according to the context (i.e. situation) - Pervasive computing devices that ubiquitously
accompany humans (such as smartphones) must adapt
accordingly - Or risk being disruptive and annoying
3Defining Context
- Dictionary definition
- the interrelated conditions in which something
exists or occurs - Definition for pervasive computing
- any parameters that the application needs to
perform a task without being explicitly given by
the user
- 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 - Temporal context (time of day, week, month,
year) - Context history can also be useful
- Another definition Abowd Mynatt
- Social context user identity and human partner
identities - Functional context what is being done, what
needs to be done - Location context where it is happening
- Temporal context when it is happening
- Motivation context why it is happening (purpose)
4Context (contd)
Sensor data
- Other classifications of context
- Low-level vs High-level context
- Active vs Passive context
- Putting it all together
- Gather low-level context
- Process and generate high-level context
- Separate active from passive context
- adjust
Low-levelcontext
motivational
social
user
location
computing
temporal
high-levelcontext
Context processing
activecontext
passivecontext
Context-aware application
5Context-Aware Application Design
- How to take advantage of this context
information? - Schilits classification of CA applications
- Proximate selection
- closely related objects actions are
emphasized/made easier to choose - Automatic contextual reconfiguration
adding/removing components or changing
relationships between components based on context - Switch to a different operation mode
- Enable or disable functionality
- Context-triggered actions rules to specify how
the system should adapt - Contextual information and commands produce
different results according to the context in
which they are issued - Narrow-down the output to the user using the
context - Broaden the output to the user using the context
- Is this classification fundamental/inclusive?
6Context-Aware functionality Examples
- System optimization
- power-save mode, silent mode etc
- Connection optimization
- Protocol selection, compression rate etc
- Application Functionality
-
- Presentation
- Image orientation, locale etc
7Location-Based Services
- Requirements
- Geocoder (convert street addresses to latitude /
longitude), Reverse geocoder - Address Helper (many addresses inaccurate or
incomplete) - Map data
- Data Repository
- Points of Interest data e.g. pubs, restaurants,
cinemas - Business Directory (doctors, plumbers etc by
location) - Location-based Inventory
- 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 customers web sites (APIs)
- Cognitive Routing routing / directions using
terminology relevant to user (e.g. resident c/f
tourist)
8LBS Navigation
- Basic form of Location-based services
- Map service (Geocoder)
- You are here service
- Route discovery and generation of directions
- Add-ons
- Voice-activated
- Adjust route to traffic and accident conditions
- Integration with calendar and address book
- Notify target partner of arrival
- android.location
- Classes defining Android location-based and
related services. - Interfaces
- LocationListener Used for receiving
notifications from the LocationManager when the
location has changed. - Classes
- Address represents an Address, i.e, a set of
Strings describing a location. - Geocoder handles geocoding and reverse
geocoding. - Location represents a geographic location sensed
at a particular time (a "fix"). - Criteria indicates the application criteria for
selecting a location provider. - LocationManager provides access to the system
location services. - LocationProvider An abstract superclass for
location providers.
9LBS Social NetworkingBuddyFinder App
- 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 GPSmap service
- Extension of LBSNavigation?
10In-class excercise
- Group up by table
- Name a smartphone app (existing or imaginary) and
identify its adaptability and context awareness - Handling variable resources
- Connection, battery
- Handling variable context
- Location, time
11In-class exercise, feedback
Table 1 Table 2 Table 3 Table 4 Table 5 Table 6
Application Google maps Secure gateway Hitch-hikers Party Management Mood-based music player Meeting scheduler (calendar and email)
Context Your location Security gateway availability Location destination Location Partners Neighbors mood Situtation Mood Current time, meeting time
Adaptivity Center/zoon to your location Pre-authorized access Matching hitch-hikers to drivers Order list Playlist Adjust music and volume Notify of delays
12Wireless Communicationsand Networks
13Wireless Networks
14Wireless 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 (lt0.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)
15Wireless 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
(lt70MBps), metropolitan coverage (1 to 30 miles) - Packet Data Networks
- ARDIS
- RAM
- Cellular Digital Packet Data (CDPD)
- Private Networks
- Public safety, UPS.
16Wireless 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
17Network support by Android
- android.net
- Classes that help with network access, beyond the
normal java.net. APIs. more... - Classes
- ConnectivityManager answers queries about the
state of network connectivity. - DhcpInfo A simple object for retrieving the
results of a DHCP request. - MailTo MailTo URL parses a mailto scheme URL and
then can be queried for the parsed parameters. - NetworkInfo Describes the status of a network
interface of a given type - Proxy A convenience class for accessing the user
and default proxy settings. - UriImmutable URI reference.
- android.net.wifi
- Provides classes to manage Wi-Fi functionality on
the device. more... - Classes
- ScanResult Describes information about a
detected access point. - WifiConfiguration A class representing a
configured Wi-Fi network, including the security
configuration. - WifiConfiguration.Protocol Recognized security
protocols. - WifiConfiguration.Status Possible status of a
network configuration. - WifiInfo Describes the state of any Wifi
connection that is active or is in the process of
being set up. - WifiManager This class provides the primary API
for managing all aspects of Wi-Fi connectivity. - WifiManager.WifiLock Allows an application to
keep the Wi-Fi radio awake.
18Network support by Android
- Other packages
- javax.net
- java.net
- org.apache.http
- android.telephony.gsm
- Provides APIs for utilizing GSM-specific
telephony features, such as text/data/PDU SMS
messages. more... - Classes
- GsmCellLocation Represents the cell location on
a GSM phone. - SmsManager Manages SMS operations such as
sending data, text, and pdu SMS messages. - SmsMessage A Short Message Service message.
19Wireless Sensor Networks
20What 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
21Limitations 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
22Some 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
23Sensor-Based Visual Prostheses
Retinal Implant
Cortical Implant
24Typical 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
25Traffic 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
26Ayushman A Pervasive Healthcare System
Sanskrit for long life
Environmental Sensors (Temperature etc)
- Project _at_ 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.
Internet
Stargate Gateway
External Gateway
Central Server
Medical Sensors (EKG, BP) controlled By Mica2
motes
Medical Professional
Home/Ward Based Intelligence
Body Based Intelligence
Medical Facility Based Intelligence
Vision
- 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
27Ayushman Current Setup
database
RS232
Oximeter
Base Station
802.11
ZigBee
Central Server
Blood Pressure
Environmental Data (accelerometer, Temperature,
humidity, Light)
Bluetooth
Internet
Body Area Network
- 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
Remote Clients
28Enabling Technologies
Commercially available sensor boards
Open source OS with support for ad hoc networking
29Phone 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
30Context Generation
- 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 patients - health.
- A contextual template can be created for
specific physiological events for future
reference. -
Physiological (EKG, Perspiration, Heart Rate)
Context Processor
Spatial (Home, Gym, Office, Hospital, Park)
Knowledge
Aggregate Context
Temporal (Morning, Evening, Night)
Sensor Network
- Challenges
- How to determine the aggregate medical context
from the four base contexts? - How to create a contextual template for a
patient?
Environmental (Humidity, Temp)
Base Context
31Security 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 patients privacy is a legal
requirement (HIPAA) - Excruciating Factors
- Wireless connectivity is always on
- No clear understanding of
32Security 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.
33Energy Efficiency
Solutions
- 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.
Better Battery
Solar Energy
Vibration
Body Thermal Power
34Challenges and Solution Approaches
35Constrained resources power
- Current technology
- Battery-powered devices
- 1150 mAh (G1), 1400 mAh (iPhone), 1300 mAh
(Blackberry) - Future technology
- Replenishable energy storage
- Until then
- Power-save modes wireless, screen etc.
36Constrained resources connectivity
- Current technologies
- WiFi, WiMAX, Bluetooth, 3G
- Possibly no coverage, intermittent interruptions,
limited(?) bandwidth - Future technology
- Still wireless, interchange between technologies,
more availability bandwidth - Approaches
- Disconnections use of local cache, buffering
- Adaptive encoding and compression
37Constrained resourcesdata consistency
- Direct effect of connectivity challenge
- Approaches
- Disallow offline writes, use online-only mode
(NFS) - System may become unresponsive during
disconnections - Distributed/Network file system (Coda, Andrew)
- Requires heavy clients with large cache
- May be too heavy for certain devices
38Constrained resources computation
- Current technologies
- Blackberry 3G Intel PXA901 312 MHz, 64 MB flash
16 MB SDRAM - iPhone 3G ARM 1176, 400/620 MHz 128 MB DRAM
- G1 Qualcomm MSM7201A, 528MHz, 192 MB DDR SDRAM
256 MB Flash - Future technology
- Limited by wattage and available energy
- Always behind desktop CPUs
- Approaches
- Lightweight, streamlined O/S and applications
39Constrained resourcesstorage
- Current technologies
- iPhone 3G Flash 16GB
- G1 MicroSD (up to 16GB)
- Future technology
- Solid state hard drives
- Approaches
- Stored data compression, selective data, remote
storage
40Constrained resourcesuser interface methods
- Current technologies
- Display size 5"
- Constrained or no keyboard
- Future technologies
- There may be a convergence of input methods (e.g.
touch screens, voice recognition) - presentation will continue to be different
(audiovisual capabilities and sizes) - Solution approaches
- Adjust content to match size of display (e.g.
favor close-ups) - Use assistive methods (e.g. auto-completion,
templates)
41Groups
42Groups
- Group1
- Logsdon, Brandon
- Boyd, Jeffrey Michael
- Yao, Robert James Y (?)
- Group 2
- Olsen, Samuel H
- Perambalam, Sivaguru
- Viswanathan, Lakshmie Narayan
- Group 3
- Bootz, Bradley Justin
- Douglas, Robert Wayne
- Freed, Natalie Anne
- Group 4
- Krolikowski, Tomasz
- Randolph, April A
- Gutierrez, Pedro U
- Group 5
- Chulick, Ryan Owen
- Hursh, Nathaniel P
- Trujillo, Miguel Zeniff
- Group 6
- Deshpande, Koustubha Achyut
- Neelakandan, Vikram
- Abbasi, Zahra
- Group 7
- Banerjee, Ayan
- Thangavel, Karthik