Context aware computing
1 / 42

Context-Aware Computing - PowerPoint PPT Presentation

  • Uploaded on

Context-Aware Computing. 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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Context-Aware Computing' - brynne-hebert

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Context aware computing


CSE494/598 Mobile Health and Social Networking

Context awareness the essence of adaptability
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)

Defining 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”

Context cont d
Context (cont’d)

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








Context processing



Context-aware application

Context aware application design
Context-Aware Application Design

  • How to take advantage of this context information?

  • Schilit’s classification of CA applications:

    • Proximate selection:

      • closelyrelated 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?

Context aware functionality examples
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


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


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)

Location-Based Services

Lbs navigation
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
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
In-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

Wireless networks
Wireless Networks




100 km



10 km

1 km

100 m



10 m



1 m

10 kbps

100 kbps




Wireless networks1
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 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



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

Wireless Local Area Network

  • Connectivity may be weak, intermittent and expensive

Network support by android
Network support by Android


    • Classes that help with network access, beyond the normal* 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.


    • 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 android1
Network support by Android

  • Other packages



    • 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.

What is a wireless sensor network
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
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
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

Sensor based visual prostheses
Sensor-Based Visual Prostheses

Retinal Implant

Cortical Implant

Typical sensor node features
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
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

Ayus hman a pervasive healthcare system
Ayushman*: A Pervasive Healthcare System

* Sanskrit for long life


Sensors (Temperature etc)

  • 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.




External Gateway

Central Server

Medical Sensors

(EKG, BP) controlled

By Mica2 motes



Home/Ward Based


Body Based


Medical Facility Based



  • 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

Ayus hman current setup
Ayushman: Current Setup








Central Server

Blood Pressure


Data (accelerometer,

Temperature, humidity,




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

Enabling technologies
Enabling Technologies


TOS v.1.x-2.0









Commercially available sensor boards

Open source OS with support for ad hoc networking

Phone to wsn interface
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
Context 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 patient’s

  • health.

  • A contextual template can be created for specific physiological events for future reference.


(EKG, Perspiration,

Heart Rate)




(Home, Gym, Office,

Hospital, Park)





(Morning, Evening,


Sensor Network

  • Challenges

  • How to determine the aggregate medical context from the four base contexts?

  • How to create a contextual template for a patient?


(Humidity, Temp)

Base Context

Security in pervasive healthcare
Security in Pervasive Healthcare


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 limitedcapabilities

Traditional schemes too expensive for long term usage

Security related issues
Security Related Issues

New Attacks

Fake emergency warnings.

Legitimate emergency warningsprevented from being reported in times.

Unnecessary communication by malicious entity with sensors can cause:

Battery power depletion

Tissue heating


  • Efficientcryptographic primitives

    • Cheaper encryption, hash functions

  • Better sensorhardware design

    • Cheap, tamper-resistant sensor hardware

  • Better communication protocol design

  • Better techniques for controlling access to patient EHR


  • 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


  • 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
Energy Efficiency


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.


Battery power not increasing at same rate as processing power.

Small size (hence less energy) of the batteries in sensors.


Better Battery

Solar Energy


Body Thermal Power

Constrained resources power
Constrained 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.

Constrained resources connectivity
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


Disconnections: use of local cache, buffering

Adaptive encoding and compression

Constrained resources data consistency
Constrained resources:data consistency

Direct effect of connectivity challenge


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
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


Lightweight, streamlined O/S and applications

Constrained resources storage
Constrained resources:storage

Current technologies

iPhone 3G: Flash 16GB

G1: MicroSD (up to 16GB)

Future technology

Solid state hard drives


Stored data compression, selective data, remote storage

Constrained resources user interface methods
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)



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