Context-Aware Computing: Integration with Rover Christian B. Almazan

advertisement
Context-Aware Computing:
Integration with Rover
Christian B. Almazan
almazan@cs.umd.edu
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.
Download