Title: A System Architecture for ContextAware Applications
1A System Architecture for Context-Aware
Applications
- By Manasi N. Joshi
- Plan B Presentation
- 7thSeptember 04
- University of Minnesota, TC
2Overview
- Motivation
- Previous Work
- Context and Context-Awareness
- Our Framework
- Examples
- Future Work
3Motivation
- Computers are divorced from reality
- Unaware of who, where, and what around them
- Computers take extremely limited input
- Context-Aware Computing
- Making computers more aware of the physical and
social environment
4Previous Work
- Resource discovery and binding using XML
- Resource Providers
- Resource Server
- Clients
- RDD (Resource Description Document) schema with
tags for - Property (Attribute)
- Operation (Method)
- Message (Parameter)
- Java RMI used for binding
5Example SampleRdd.xml
- lt?xml version"1.0"?gt
- ltRDD xmlnsxs"http//www.w3.org/2001/XMLSchema-i
nstance" xsnoNamespaceSchemaLocation"RDD.xsd"gt - ltpropertygt
- ltpidgtcameralt/pidgt
- ltnamegtResolutionlt/namegt
- ltvaluegt3lt/valuegt
- ltdescriptiongtCamera with 3 Mega Pixel
Resolution lt/descriptiongt - lt/propertygt
- lt/RDDgt
6Overview
- Motivation
- Previous Work
- Context and Context-Awareness
- Our Framework
- Examples
- Future Work
7Context and Context-Awareness
- Context is any information that can be used to
characterize the situation of an entity - A system is context-aware if it uses context to
provide relevant information and/or services to
the user, where relevancy depends on the users
task - - Anind. K. Dey
8Context-Based Service Discovery and Binding
- Extended Schema
- Proposed System Components
- Provider (PROV)
- Discovery Service (DS)
- View Manager (VM)
- Context Manager (CM)
- Application (APPLN)
9Context Difficult to use
- Acquired from non-traditional devices (GPS,
Active Badge, presence sensors) - Has to be abstracted to be useful for a
particular application - Gets acquired from heterogeneous sources can
have uncertainty - Dynamic changes in environment have to be
sensed and adapted to in real time
10Schema
- Application Client Resource Provider
C1
ReqApp1.xml
Description.xml
C2
ReqApp2.xml
C3
ReqApp3.xml
NO CONTEXT
11New Schema(ApplicationOuter)
- lt?xml version"1.0"?gt
- ltCONTEXT xmlnsxs"http//www.w3.org/2001/XMLSchem
a-instance" xsnoNamespaceSchemaLocation"Requirem
ent.xsd"gt - ltcontextgt
- ltidgtaristotle.cs.umn.edult/idgt
- ltresReqFlgtReqApp1.xmllt/resReqFlgt
- lt/contextgt
- ltcontextgt
- ltidgteverest.cs.umn.edult/idgt
- ltresReqFlgtReqApp2.xmllt/resReqFlgt
- lt/contextgt
- ltcontextgt
- ltidgt128.101.32.72lt/idgt
- ltresReqFlgtReqApp3.xmllt/resReqFlgt
- lt/contextgt
- lt/CONTEXTgt
12ReqApp1.xml(ApplicationInner)
- lt?xml version"1.0"?gt
- ltREQUIREMENT xmlnsxs"http//www.w3.org/2001/XMLS
chema-instance" xsnoNamespaceSchemaLocation"Requ
irement.xsd"gt - ltResourcegt
- ltcategorygtspeakerlt/categorygt
- ltbindingPolicygtrebindlt/bindingPolicygt
- ltmatchSpecgtalllt/matchSpecgt
- ltspecgt
- ltattributegtVolumelt/attributegt
- ltmatchValuegt
- ltidgtrangelt/idgt
- ltvaluegt65lt/valuegt
- ltvaluegt110lt/valuegt
- lt/matchValuegt
- lt/specgt
- lt/Resourcegt
- lt/REQUIREMENTgt
13New Schema (ExampleSPEAKERI.xml)
- lt?xml version"1.0"?gt
- ltRESOURCE xmlnsxs"http//www.w3.org/2001/XMLSche
ma-instance" xsnoNamespaceSchemaLocation"Resourc
e.xsd"gt - ltprovidergt ltcategorygtspeakerlt/categorygt
ltlookupNamegtSPIlt/lookupNamegt - ltspecgt
- ltattributegtRMILocationlt/attributegt
- ltmatchValuegt ltidgtalllt/idgt
ltvaluegtaristotle.cs.umn.edult/valuegt
lt/matchValuegt - lt/specgt
- ltspecgt
- ltattributegtRMIPortlt/attributegt
- ltmatchValuegt ltidgtalllt/idgt
ltvaluegt22222lt/valuegt lt/matchValuegt - lt/specgt
- ltspecgt
- ltattributegtVolumelt/attributegt
- ltmatchValuegt ltidgtsubsetlt/idgt
ltvaluegt70lt/valuegt ltvaluegt90lt/valuegt
ltvaluegt120lt/valuegt lt/matchValuegt - lt/specgt
- lt/providergt
- lt/RESOURCEgt
14New Schema Features
- Flexibility in Attribute-Value Pairs
- ltmatchSpecgt
- (all, some, none)
- ltspecgt, ltmatchValuegt
- (all, subset, range, rangebar)
- Incorporation of context
- Application client described at two levels
- Context Level ltcontextgt
- Requirement Level
15System Architecture
Context Manager
Provider
Application
Discovery Service
View Manager
16Discovery Service Starts Running
17Provider Registers With DS
18Application Registers With VM
19CM Sends Context Trigger To VM
20Context-Aware Discovery By DS And Response Back
To VM
21Get Current Binding Status
22Overview
- Motivation
- Previous Work
- Context and Context-Awareness
- Our Framework
- Examples
- Future Work
23Test Example I Context-Sensitive Printing
- Two lists of hosts maintained (running Linux)
- Distributed Systems Lab Hosts (Room 5-248)
- Grad Lab Hosts (Room 2-216)
- Resource Providers (Printers)
- Context Trigger Host Name
- Result A document gets printed on one of
- nexus (printer in 5-248)
- grad (printer in 2-216)
24Test Example II Context-Aware Music
- JMF used to run media (music) using Java
- Resource Providers (A pair of speakers)
- Context Trigger Host Name
- Result Song starts playing through a matched
pair of speakers for a host
25Timings All in ms
26Existing Limitations
- Printing
- Does not work with ssh like mechanisms
- Music
- No check for provider availability
- A fixed location of song no buffering concept
27Overview
- Motivation
- Previous Work
- Context and Context-Awareness
- Our Framework
- Examples
- Future Work
28Future Work
- Binding Policy
- Permanent Binding or Context-based
- Shared Binding or Private Binding
- Context-awareness on Provider Side
- Nature of Contexts
- Providers (not classified as services)
29Continued
- Interoperability
- Services, devices, Context Detectors
- Need standard data formats, protocols, and
frameworks (Web-Services) - Varying capabilities of sensors, services, and
devices - Security
- In schema (SAML)
- In API
30(No Transcript)