Context-Aware Computing: Integration with Rover Christian B. Almazan [email protected] CMSC 818Z...
-
date post
20-Dec-2015 -
Category
Documents
-
view
219 -
download
0
Transcript of Context-Aware Computing: Integration with Rover Christian B. Almazan [email protected] CMSC 818Z...
Context-Aware Computing:Integration with Rover
Christian B. [email protected] 818Z – Spring 200713 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
Internet
Command Center
`
`
Incident Scene
Location Determination
External Data Sources
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
RoverContext
Management
Data Sources
Time
Location
Services
Humans
Databases
Internet
Sensors
Data Feeds
VoIP
Teams
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
Server
Watcher 2
Watcher 1
The Internet
Rover Server accesses internet services as a proxy for Rover Clients, with Services including (with support for caching):
Yahoo! News and Web Searches via RESTYahoo! Weather RSS Feeds
UMD Wireless NetworkAV Williams Building, 3rd and 4th FloorsUnit 1Unit 2
Units inform their position, performs tagging operations, and utilizes other services.
UMD/CS Unsupported Private NetworkAV Williams Building, Room 4160Watcher 2
Listens for position activity, performs tagging operations, and utilizes other services.
MINDLab Network8400 Baltimore AvenueWatcher 1
Listens for position activity, performs tagging operations, and utilizes other services.
UMD/CS Unsupported Public NetworkAV Williams Building, Room 4160
Mitigates Rover Services Between Rover Clients Including:
User Position NotificationMap TaggingText ChatInternet Services
Unit 2
Unit 1
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]
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.
[CCDG05] 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]
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] Paul Dourish. Where the Action Is; The Foundation of Embodied Interaction. MIT Press,
Cambridge, 2001. [Lok06]
Seng W. Loke. Context-Aware Artifacts: Two Development Approaches. Pervasive Computing. 5(2), pp 48-53. April-June 2006.
[ST94] 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.