context-aware computing: integration with rover christian b. almazan [email protected] cmsc 818z...

33
Context-Aware Computing: Integration with Rover Christian B. Almazan [email protected] CMSC 818Z – Spring 2007 13 February 2007

Post on 20-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

Context-Aware Computing:Integration with Rover

Christian B. [email protected] 818Z – Spring 200713 February 2007

Page 2: 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?

Page 3: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 4: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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”

Page 5: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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”

Page 6: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 7: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 8: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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.

Page 9: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 10: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 11: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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.

Page 12: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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?

Page 13: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 14: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

Sample First Responder Scene

Internet

Command Center

`

`

Incident Scene

Location Determination

External Data Sources

Page 15: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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]

Page 16: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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.

Page 17: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

Rover Visualized

RoverContext

Management

Data Sources

Time

Location

Services

Humans

Databases

Internet

Sensors

Data Feeds

VoIP

Teams

Page 18: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 19: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 20: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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?

Page 21: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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!

Page 22: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 23: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 24: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 25: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 26: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 27: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 28: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 29: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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

Page 30: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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.

Page 31: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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!

Page 32: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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)

Page 33: Context-Aware Computing: Integration with Rover Christian B. Almazan almazan@cs.umd.edu CMSC 818Z – Spring 2007 13 February 2007

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.