Slide - UMD Department of Computer Science
Download
Report
Transcript Slide - UMD Department of Computer Science
Context-Aware Computing:
Integration with Rover
Christian B. Almazan
[email protected]
CMSC 818Z – Spring 2007
13 February 2007
What is Context?
An Attribute?
Location of an Event
Time of a Message
Temperature of the Room
Person of Interest
Provided as Part of Something Else?
Headers in an E-Mail Message
Surrounding Text in a Passage
How Does/Should Context Be Used?
Context as Defined by Academia
No Common Consensus [Dou01]
Etymology of Context [Win01]
“con” – with
“text” – meaning inferred from adjacent text
We take a look at a variety of definitions
from several different fields/paradigms:
Pervasive/Ubiquitous Computing
Human-Computer Interaction
Service-Oriented Architectures
Context Defined by [CCDG05]
“Context is about...”
“...evolving”
“...structured”
“...shared information spaces...”
“...serve a particular purpose”
“Context...”
“...amplifies human activities with...”
“...new services that...”
“...adapt to circumstances they are used in”
Context Defined by [DA99]
“...is any information that can be used
characterize the situation of an entity.”
“An entity is...”
“...a person, place, or object...”
“...considered relevant to interactions
between a user and an application...”
“...including the user and applications
themselves”
Context Defined by [ST94]
“...the location and identities of nearby
people and objects and changes to those
objects.”
Defines and records historical,
provenance information
Based on location-aware computing
We’ll see this in Rover tracking and tagging
Context Defined by [Win01]
“Context...”
“is not just more text.”
“is effective only when it is shared.”
“emerges in dialog.”
“Context is an operational term.”
“...something is context because of the way
it is used in interpretation...”
“...not due to its inherent properties.”
What is Context? (Revisited)
Is the definition of context different
depending on the application scenario?
Does the definition of context include all
of the definitions presented?
What, if any, notions of context are
missing from this presentation?
Have we sufficiently captured all fields?
We mention context-awareness next.
What is Context-Aware?
Context-Awareness Approaches [Lok06]
Self-Supported
devices and hardware can perceive and reason
with context without external support
Infrastructure Supported
devices and hardware utilize external sources to
perceive and reason with context
What Can Be Context-Aware?
Entities (Devices, Humans, ...)
Services
What is Integration?
Let’s revisit the term ‘system’:
consists of many parts
parts communicate with each other
Integration, therefore...
combines the parts together
can be done...
directly: part-to-part
indirectly: middleware
What Can Be Integrated?
Any part of any system!
Kinds of systems:
Biological
Mathematical
Financial
Software
What kinds of integrated systems have
you seen lately?
Think about how context can be used.
Student Information Systems
Components of the Information System
Transcript Records
Course Schedules
Human Resources
Bursar’s Office
Department-Specific Information
University Directories
Mostly WWW sites at UMCP.
How can context be used here?
First Responder Systems
Independent, but coordinated, entities:
911 Call Center, EMT, Police, Firefighter
Homeland Security, CDC, FBI, CIA, NSA
How should each entity...
exchange information?
efficiency and privacy concerns
policy enforcement
utilize technology?
GPS, WiMAX, sensors, external data sources
Sample First Responder Scene
Integration Technologies
We have been creating new integration
techniques since computing began.
Sampling of current technologies:
XML, XML Schema
Semantic Web: RDF, RDFS, OWL, OWL-S
Web Services: SOAP, REST, XML-RPC
Middleware Technologies: one.world, Gaia
Database Research: Rondo
This talk focuses on Rover [AYA07]
High Level Overview of Rover
Integration and Fusion Platform
(Designed to Be) Platform Independent
Context-Aware Services
(Primarily) Message-Based
Standardized Context-Aware Messaging
Client/Server or Peer-to-Peer Interaction
Every node utilizes the same software.
Can send and receive messages.
Install components at runtime.
Rover Visualized
VoIP
Management
Teams
Services
Time
Context
Rover
Humans
Internet
Location
Data Feeds
Data Sources
Databases
Sensors
Rover Architecture and Messages
Rover Nodes
All have (hopefully) unique identifiers (URIs)
Connection lookup on identifiers
Rover Messages
XML-based
Modeled after Semantic Web’s RDF
Triples: subject -> predicate -> object
Christian -> isPresenterOf -> SeminarTalk
subjects and predicates are URIs
objects are either URIs or literals
Base Rover Message
Guid
globally unique identifier
Activity
describes how to handle a message
one action, one or more sub-actions
Context (to be described...)
Content
triples, activity-specific information
Context in Rover Messages
Originator
who generated?
Concerning
who is it about?
Timestamp
when created?
Map
what logical map?
Area
what places?
Reader
context obtained?
Location
where important?
Radius
does location reach?
How is Context Supplied?
Automatically
Node identifier placed automatically
Location determination technologies (Horus)
Mapping identifiers placed accordingly
Manually
Anything the user deems appropriate
Try to make implicit context explicit!
Rover Messaging Handlers
Rover nodes can place handlers that can
read, modify, and take action.
These handlers can be attached to:
all outgoing messages
all incoming messages
to a specific activity (action/sub-action)
Handlers can be for specialized for
clients, servers, or both
Current Rover Implementation
Microsoft.NET 2.0 Framework
Asynchronous Networking Paradigm
XML-Based Messages
Client and Server Software the Same
Components can be specialized to be client,
server, or both
Since XML messages are standardized,
can develop Rover software for other
platforms and programming languages
Implemented Components (1)
Dynamic Component Loading
from the local file system
over the network
Broadcast Chat
servers can send personal messages
Internet/WWW Services
Yahoo! RSS feeds for weather
Yahoo! API for news and web
caching performed on servers
Implemented Components (2)
Voice over IP
Microsoft’s RTP
voice and video
point and connect interface
Barcode Input
Enhanced Shopping Kiosk Experience
Tracking (details coming...)
Position
Tagging
Tracking
Server starts tracking server component
Can overlay an image
Client starts tracking client component
Can watch or participate
Upon starting the component, downloads
current state of the tracking system
Overlay image
Positions
Tags
Updates periodically, or when requested
Tracking: Positions
Specify colors to indicate last time a
position had been reported:
Normal [under 15s] – Blue
Warning [under 30s] – Orange
Problem [over 30s] – Red
Map can identify which areas have
already been covered – Yellow
Tracking: Tags
Tagging Structure
Type of Tag – ‘Check It Out’ or ‘Warning’
Placed or removed
Where you are
By an administrator/commander
Can leave additional textual information
‘Check It Out’ Tags
Can assign the tag to one or all clients
Units can indicate they are reporting to tag
Blinks if no one responds within 10 seconds
UMCP Rover Demo Scenario
MINDLab Network
8400 Baltimore Avenue
Watcher 1
UMD Wireless Network
AV Williams Building, 3rd and 4th Floors
Unit 1
Unit 2
Unit 1
Listens for position activity, performs
tagging operations, and utilizes other
services.
Units inform their position, performs tagging
operations, and utilizes other services.
Watcher 1
Unit 2
UMD/CS Unsupported Public Network
AV Williams Building, Room 4160
Mitigates Rover Services Between
Rover Clients Including:
Server
User Position Notification
Map Tagging
Text Chat
Internet Services
The Internet
UMD/CS Unsupported Private Network
AV Williams Building, Room 4160
Watcher 2
Watcher 2
Listens for position activity, performs
tagging operations, and utilizes other
services.
Rover Server accesses internet services as a
proxy for Rover Clients, with Services including
(with support for caching):
Yahoo! News and Web Searches via REST
Yahoo! Weather RSS Feeds
Scavenger Hunt Scenario
Multiplayer game based on tagging
Points scored based on when tags found
If more than two people play, the last
person to find a tag could be generated an
extra tag, but score more points if faster in
that iteration, or something like that
Both physical and logical tags!
Physical: RFID, barcode, etc.
Logical: Radius logic tags, etc.
Potential Rover Enhancements
Currently single-server implementation
Would like multi-server/peer-to-peer
Additional location technologies
PinPoint
Better Integration Strategies
Utilize context better
Enhanced Tagging
More integrated applications!
Questions and Discussion
Need References Not on the Next Slide?
Ask Me for Them!
Can identifiers (e.g. URIs) have context?
How can context be used when
integrating the following scenarios?
shopping mall (e.g. Arundel Mills)
emergency situation (e.g. bomb scare)
References
[AYA07]
[CCDG05]
Seng W. Loke. Context-Aware Artifacts: Two Development Approaches. Pervasive
Computing. 5(2), pp 48-53. April-June 2006.
[ST94]
Paul Dourish. Where the Action Is; The Foundation of Embodied Interaction. MIT Press,
Cambridge, 2001.
[Lok06]
Anind K. Dey and Gregory D. Abowd. Towards a Better Understanding of Context and
Context-Awareness. Proceedings of the 1st International Workshop on Managing
Interactions in Smart Environments. 1999.
[Dou01]
Joëlle Coutaz, James L. Crowley, Simon Dobson, and David Garlan. Context is Key.
Communications of the ACM. 48(3), pp 49-53. March 2005.
[DA99]
Christian B. Almazan, Moustafa Youssef, and Ashok K. Agrawala. Rover: An Integration
and Fusion Platform to Enhance Situational Awareness. The First International Workshop
on Research Challenges in Next Generation Networks for First Responders and Critical
Infrastructures. April 2007. To Appear.
Bill N. Schilit and Marvin M. Theimer. Disseminating Active Map Information to Mobile
Hosts. IEEE Network. 8(5), pp 22-34. September-October 1994.
[Win01]
Terry Winograd. Architectures for Context. HCI Journal 2001.