CPET 565 Mobile Computing SystemsCPET 565 Mobile Computing Systems
Context-Aware Computing (2)Context-Aware Computing (2)
Lecture 11Lecture 11
Hongli Luo Hongli Luo Indiana University-Purdue University Fort WayneIndiana University-Purdue University Fort Wayne
Context-Aware ComputingContext-Aware Computing IntroductionIntroduction Ubiquitous or Pervasive ComputingUbiquitous or Pervasive Computing Definitions and Types of ContextDefinitions and Types of Context Context-Aware Computing and Context-Aware Computing and
ApplicationsApplications Middleware SupportMiddleware Support SummarySummary
Middleware SupportMiddleware Support Challenges - Context-aware applicationsChallenges - Context-aware applications
1.1. Context-aware applications need support for the Context-aware applications need support for the acquisition and delivery of context dataacquisition and delivery of context data
2.2. Contextual info – from various heterogeneous and Contextual info – from various heterogeneous and distributed sources distributed sources
3.3. Same type of contextual info may have to be Same type of contextual info may have to be obtained from different sources at different timesobtained from different sources at different times
4.4. The low-level contextual info must be abstracted to The low-level contextual info must be abstracted to be usefulbe useful
5.5. Context-awareness is most relevant when the Context-awareness is most relevant when the environment is highly dynamic (mobile)environment is highly dynamic (mobile)
Middleware SupportMiddleware Support Contextual info – from various heterogeneous Contextual info – from various heterogeneous
and distributed sourcesand distributed sources • Hardware and software sensors: motion detectors, Hardware and software sensors: motion detectors,
noise, temperature sensors, location systemsnoise, temperature sensors, location systems• System recorded input System recorded input
user-system interaction history for context-based retrievaluser-system interaction history for context-based retrieval
• Other applicationsOther applications• User’s personal computing space: User’s personal computing space:
• Schedules, calendars, address books, contact lists, and Schedules, calendars, address books, contact lists, and to-do liststo-do lists
• Distributed computing environmentDistributed computing environment• Obtained from applications running in the vicinity of Obtained from applications running in the vicinity of
these devices: shopping malls, freeway, etcthese devices: shopping malls, freeway, etc
Middleware SupportMiddleware Support2.2. Same type of contextual info may have to be obtained Same type of contextual info may have to be obtained
from different sources at different timesfrom different sources at different times• GPS receiver – outdoor positioning systemGPS receiver – outdoor positioning system• Indoor positioning systemIndoor positioning system
3.3. The low-level contextual info must be abstracted to be The low-level contextual info must be abstracted to be usefuluseful
• GPS position info (latitudes and longitudes) GPS position info (latitudes and longitudes) • → → Tour guide, location infoTour guide, location info
4.4. Context-awareness is most relevant when the Context-awareness is most relevant when the environment is highly dynamic (mobile)environment is highly dynamic (mobile)
• Real-time detection, trigger commands, auto reconfigurationReal-time detection, trigger commands, auto reconfiguration
Middleware Support – Middleware Support – Contextual ServicesContextual Services
Development of context-aware applications can Development of context-aware applications can be facilitated by a middleware Infrastructure be facilitated by a middleware Infrastructure that can provide the following services (acquire that can provide the following services (acquire contextual input from sensors)contextual input from sensors)
1.1. Contextual subscription and delivery serviceContextual subscription and delivery service
2.2. Context query serviceContext query service
3.3. Context transformation serviceContext transformation service
4.4. Context synthesis serviceContext synthesis service
5.5. Discovery and management serviceDiscovery and management service Actuator ServicesActuator Services
Perform a context-dependent output functionPerform a context-dependent output function
Middleware Support – Middleware Support – An ExampleAn Example
The Context Toolkit - Publications, The Context Toolkit - Publications, http://www.cc.gatech.edu/fce/contexttoolkit/http://www.cc.gatech.edu/fce/contexttoolkit/
Software components for context acquisitionSoftware components for context acquisition• Context widgetsContext widgets
An interface between sensors and applicationsAn interface between sensors and applications Provides an abstraction layerProvides an abstraction layer State: a set of attributesState: a set of attributes Behavior: call back functionBehavior: call back function Persistent entities that can be shared by multiple Persistent entities that can be shared by multiple
applications applications • Context interpreters (info translators)Context interpreters (info translators)• Context aggregatorsContext aggregators
Entity: person, room, software systems, hardware devicesEntity: person, room, software systems, hardware devices• DiscovererDiscoverer
Discovery and management servicesDiscovery and management services
Middleware Support – Location Context Middleware Support – Location Context
A Location information system (LIS) provides A Location information system (LIS) provides location information of a person or resources to location information of a person or resources to the application.the application.
Location information from various sourcesLocation information from various sources• Indoor locating system, e.g., infrared or RF based Indoor locating system, e.g., infrared or RF based
active badgeactive badge• Wireless nanocell communication activityWireless nanocell communication activity• Outdoor locating systems such as GPSOutdoor locating systems such as GPS• Device input activity from various computersDevice input activity from various computers• Motion sensors and camerasMotion sensors and cameras• Explicit information from the userExplicit information from the user
Middleware Support – Location Context Middleware Support – Location Context
IssuesIssues• PrivacyPrivacy
Solution: provide user control over location Solution: provide user control over location informationinformation
• Accuracy of the location informationAccuracy of the location information Spatial resolutionSpatial resolution Temporal resolutionTemporal resolution
• How frequently LIS updates the location How frequently LIS updates the location information of each userinformation of each user
• How sensitive the sensing technology isHow sensitive the sensing technology is
SummarySummary Google Location Dependent Search Google Location Dependent Search
Engine: Engine: http://local.google.com/lochp • Find businessFind business• Get directionsGet directions
Serendipity – MIT Media lab project: a Serendipity – MIT Media lab project: a wireless, proximity-based dating servicewireless, proximity-based dating service• can accidentally discovers something fortunatecan accidentally discovers something fortunate• http://www.media.mit.edu
BlueJAQ- Pull on an unsuspecting stranger BlueJAQ- Pull on an unsuspecting stranger in close proximity who has a Bluetooth-in close proximity who has a Bluetooth-enabled phone: enabled phone: http://www.bluejackq.com/