slides
DESCRIPTION
TRANSCRIPT
Context-AwareComputing
CSE494/598 Mobile Health and Social Networking
Context awareness:the 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
Defining Context
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)
• 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”
Context (cont’d) 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
social
temporal
motivational
location
user
Sensor data
computing
Low-levelcontext
Context processing
high-levelcontext
Context-aware application
activecontext
passivecontext
Context-Aware Application Design
How to take advantage of this context information? Schilit’s classification of CA applications:
1. Proximate selection:1. closely related objects & actions are emphasized/made easier to choose
2. Automatic contextual reconfiguration: adding/removing components or changing relationships between components based on context1. Switch to a different operation mode
2. Enable or disable functionality
3. Context-triggered actions: rules to specify how the system should adapt
3. Contextual information and commands: produce different results according to the context in which they are issued1. Narrow-down the output to the user using the context
2. Broaden the output to the user using the context
Is this classification fundamental/inclusive?
Context-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
Location-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 customer’s web sites (API’s)
Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist)
LBS + 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.
LBS + Social Networking:BuddyFinder 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 GPS+map service Extension of LBS+Navigation?
In-class excercise
Group up by table Name a smartphone app (existing or
imaginary) and identify its adaptability and context awarenessHandling variable resources
Connection, battery
Handling variable context Location, time
In-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• Neighbor’s
mood
SitutationMood
Current time, meeting time
Adaptivity • Center/zoon to your location
Pre-authorized access
Matching hitch-hikers to drivers
Order listPlaylist
Adjust music and volume
Notify of delays
Wireless Communicationsand Networks
Wireless Networks
FIXED NETWORK
PDA
FIXEDHOSTBASE
STATION
BASESTATION
BASESTATION
Mbps to Gbps
MOBILE HOST
WIRELESS LAN CELL2Kbps - 15Mbps
WIRELESS RADIO CELL9Kbps - 14Kbps
BASESTATION
PDA
10 kbps 100 kbps 1Mbps 10Mbps 100Mbps
1 m
10 m
100 m
1 km
10 km
100 km
WPAN(ZigBee,
Bluetooth)
2G 3G
WLAN(WiFi)
WMAN(WiMAX)
Satellite
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
Network 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.
Uri:Immutable 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.
Network 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.
Wireless Sensor Networks
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 MHzVery little storage – a few hundred kilobitsShort communication range – consumes a lot
of powerSmall 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
EnvironmentalSensors (Temperature etc)
Medical Sensors(EKG, BP) controlledBy Mica2 motes
Body Based Intelligence
Home/Ward Based Intelligence
External Gateway
Central Server
Medical Facility Based Intelligence
MedicalProfessional
InternetStargateGateway
Ayushman: Current Setup
Internet
EnvironmentalData (accelerometer,Temperature, humidity,Light)
Blood Pressure
Oximeter
ZigBee802.11
Remote Clients
Central Server
BaseStation
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
Mica2 TelosB
Imote2Mica2Dot
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 phoneMonitoring and
Control Software
Context GenerationPhysiological
(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?
AggregateContext
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 EfficiencyNeed 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
Challenges and Solution Approaches
Constrained resources: power
Current technologyBattery-powered devices1150 mAh (G1), 1400 mAh (iPhone), 1300
mAh (Blackberry) Future technology
Replenishable energy storage Until then:
Power-save modes: wireless, screen etc.
Constrained 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
Constrained resources:data 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
Constrained 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
Constrained resources:storage Current technologies
iPhone 3G: Flash 16GBG1: MicroSD (up to 16GB)
Future technologySolid state hard drives
Approaches:Stored data compression, selective data,
remote storage
Constrained resources:user 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)
Groups
Groups 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