Context-Aware Computing
“Problem”
Devices that are meant to improve
user’s working and living condition my
interfere with regular duties to the
extent that they become destructive
(Person Frustrated)
“Solution”
Context-aware services that make
users less aware of the gadgets but
benefits from their existence
(Person Productive, happy …)
“A Pervasive Office”
Crowded with varieties
of ubiquitous devices
surrounding the person
(Person Super Busy)
“A Traditional Office”
Person engaged in a
regular duty
(Person Busy)
Context-awareness in a pervasive environment?
Context-Aware Computing
Analogy
We are able to perceive the world through the five
senses of touch, taste, smell, sight, and hearing
Our brain is able to make use of whatever impinges on
our sense organs. Our reaction can be almost immediate
or delayed perhaps taking place after long planning
Our experience of the world can therefore be viewed as
either direct via the senses, or indirect via reasoning,
with the combination of knowledge that we already
have and new information gathered via the senses
Context-Aware Computing
What is context-awareness?
“The ability of a computer system to adapt
according to the location of use, the collection
of nearby people and objects, the accessible
devices, as well as changes to those objects
over time …. A system with these capabilities
surveys the environment and reacts to
changes to that environment.” Schilit
Context-Aware Computing
What is context-awareness…
The ability of computer systems to:
 Acquire contextual knowledge
 Process and reason about the context
 Perform dynamic adaptation to the
changing context
 Act in a proactive manner
Context-Aware Computing
Context-awareness in pervasive computing
Pervasiveness makes it more complex due to:
 Frequent change of context
 Heterogeneity of devices
 High mobility and dynamism
 Anytime-anywhere paradigm
 Lack of centralized service/control
Context-Aware Computing
Context-awareness in PvC: Requirements
Sensing
• Context Capturing: Gather context information
Thinking
• Context Modelling: Organize context into the appropriate
format
• Aggregation/Interpretation: Combine context information
to generate a higher meaningful context
• Reasoning: Draw new knowledge and perform decisions
Action: Take proactive/reactive actions
Collaboration: Make the context information accessible to the
neighborhood
Context-Aware Computing
Context! … What is it?
“Any information that can be used to characterize the
situation of an entity. An entity is a user, a place, or a
physical or computational object that is considered
relevant to the interaction between a user and an
application, including the user and application
themselves.” Dey
“A dynamic and operational term whose definition
depends not only on the inherent characteristics of
the entity but also on the interpretation of the
operations involved on an entity at a particular time.”
Winogard
Context-Aware Computing
Context Modeling
Context Modeling
 To define and store context data in a machine processable form
Context Modeling Approaches
 Object Oriented Models
 Encapsulation and reusability
 Logic Based Models
 Context is defined as facts,
expressions and rules
 High degree of formality
 Ontology Based Models
 Ontology used as explicit
specification of a shared
conceptualization
 Context is modeled as concept and
facts
 Key-Value Models
 Most simple category of
models
 Not very efficient for more
sophisticated structuring
purposes
 Markup Scheme Models
 Markup schemes implement
the model
 Graphical Models
 Useful for structuring, usually
not used on instance level
Context-Aware Computing
Context Reasoning: Three categories of input
Ontology of concepts (E.g. The concept owns is an inverse of the concept ownedBy)
nsp:Hana rdf:type nsp:Student //defined context (isa/instanceOf)
nsp:Phone-01 rdf:type nsp:Phone //defined context (isa/instanceOf)
<rdf:Description rdf:about= “#owns”>
<owl:inverseOf rdf: resource = “#ownedBy”>
</rdf:Description>
Context data ( E.g. Phone-01 is locatedIn the Library)
nsp:Hana nsp:owns nsp:Phone-01 //defined context
nsp:Phone-01 nsp:locatedIn nsp:Library //sensed context
Rules (E.g. Assuming: A person always keeps his/her phone with him/her)
[locationRule:
(?sphone nsp:locatedIn ?location)
(?sphone nsp:ownedBy ?person)
-> (?person nsp:locatedIn ?location)
]
Where is Hana now?
Context-Aware Computing
Context Reasoning …
In semantic ontology, for example, the ability to express equivalences using
owl:sameAs can be used to state the following.
<rdf:Description rdf:about= “#ClassRoom”>
<owl:sameAs rdf: resource = “#LectureRoom”>
</rdf:Description>
Ontology enhanced by defining rules:
(?user1 nsp:locatedIn ?loc) (?user2 nsp:locatedIn ?loc)
(?user1 nsp:locatedWith ?user2)]
We can also define locatedWith as a symmetric property and we can associate
meanings to the data by using definitions on domain and range :
<owl:SymmetricProperty rdf:ID= locatedWith">
<rdfs:domain rdf:resource="#Person"/>
<rdfs:range rdf:resource="#Person"/>
</owl:SymmetricProperty>
Outdoor
Sensing Location – Use Global Positioning
System (GPS)
GPS determines the distance by measuring the time it
takes a signal to propagate from Satellite to receiver
Need to have very good synchronization of clocks
Receive signal from three satellites to determine
location
Need a fourth satellite to estimate elevation
Satellite GPS accuracy is getting reasonable (10-20
meters)
Sub-meter accuracy possible with differential GPS
Context Sensing – Location Context
Context-Aware Computing
Indoor
GPS doesn’t work because the satellite signal is weak or reflected
Need to build our own location tracking system
Use ideas similar to GPS: Compute distances from known locations
that send radio bacons (RF) – Refer to the previous work on signal
strength presented in class
Cricket (MIT)
RF and ultrasonic signals sent from each base station
Mobile distance estimate by time interval between the two signal
arrivals
Accuracy within a few feet
RADAR (Microsoft) and other efforts
Measure signal strength to estimate distance
A set of static receivers track positions of transmitters
They are queried for location
Context Sensing – Location Context
Context-Aware Computing
Time?
Physical sensors possible
Light, acceleration, sound, temperature, pressure, proximity
of humans
Nearby objects?
If system keeps track of location of objects, query to a
database
Bandwidth? Odyssey
Orientation?
Orientation sensor based on two mercury switches (Newton
MessagePad)
Using directional antennas/directional transmitters
Context Sensing – Other Context
Context-Aware Computing
Context-Aware Computing
An application is context-aware if it automatically adapts
to a discovered context by changing the behaviour of the
application
Features of Context Aware Systems
• Presentation of information and services
 E.g. Tour guide, Active Badges
• Automatic execution of services
 E.g. Smart homes (turn off lights, adjust temperature)
• Tagging of context to information for later retrieval
 E.g. Digital camera meta-data (time, location)
Context-Aware Applications
Context-Aware Computing
Context-Aware Applications: Architecture
Thinking subsystem
Acting sub system
Sensing subsystem
Context-Aware Computing
Context-Aware Applications: Some Examples
PARCTab is
From Xerox Palo Alto Research Center
About 12 applications
Applications
Active Map
Location information
(Room number)
Others
Some helps the user find the most convenient local
resources
e.g. nearest printer
(1) PARCTab System
Context-Aware Computing
Context-Aware Applications: Some Examples
(2) Shopping Assistant
Scenario: you are at home depot trying to figure
out what you need to finish your basement
Shopping Assistant uses your previous profile
information to customize shopping and delivery
Tell you what parts you need
Where to find them relative to your location in the store
What is on sale
Do comparative pricing
Context-Aware Computing
Context-Aware Applications: Some Examples
(3) CyberGuide
Characteristic
 From Georgia Tech
 Provide information services to
a tourist
 Direction
 Background information
 Travel diary (automatically
recorded)
 Indoor and Outdoor Version
 Indoor
Using IR (infrared)
 Outdoor
Using GPS
Outdoor
Cyberguide
Screenshot and
artifacts
Context-Aware Computing
Context-Aware Applications: Some Examples
(4) Augmented Reality
User’s view of the real world is augmented with
additional information
Scenario 1: you wear sun-glasses with a display and
headphones and walk in downtown Addis
As you move around, the glasses can tell you your location
As you look at Anbesa Gibi you get information about it
Scenario 2: special operations squad infiltrating an
enemy complex wearing gizmos
In addition to information in scenario 1, the glasses
change to night vision if lighting is not sufficient
Context-Aware Computing
Context-Aware Applications: Some Examples
(5) Adaptive PDA/Phone
PDA: notepad application changes its
characteristics depending on user activity
Large font when walking, small font when stationary
Change the intensity level depending on the lighting
conditions
Phone: decide ring volume or vibration depending
on situation
In hand, in a suitcase, on a table, in a
classroom/conference

Selected Pervasive Computing edited 03.pdf

  • 1.
    Context-Aware Computing “Problem” Devices thatare meant to improve user’s working and living condition my interfere with regular duties to the extent that they become destructive (Person Frustrated) “Solution” Context-aware services that make users less aware of the gadgets but benefits from their existence (Person Productive, happy …) “A Pervasive Office” Crowded with varieties of ubiquitous devices surrounding the person (Person Super Busy) “A Traditional Office” Person engaged in a regular duty (Person Busy) Context-awareness in a pervasive environment?
  • 2.
    Context-Aware Computing Analogy We areable to perceive the world through the five senses of touch, taste, smell, sight, and hearing Our brain is able to make use of whatever impinges on our sense organs. Our reaction can be almost immediate or delayed perhaps taking place after long planning Our experience of the world can therefore be viewed as either direct via the senses, or indirect via reasoning, with the combination of knowledge that we already have and new information gathered via the senses
  • 3.
    Context-Aware Computing What iscontext-awareness? “The ability of a computer system to adapt according to the location of use, the collection of nearby people and objects, the accessible devices, as well as changes to those objects over time …. A system with these capabilities surveys the environment and reacts to changes to that environment.” Schilit
  • 4.
    Context-Aware Computing What iscontext-awareness… The ability of computer systems to:  Acquire contextual knowledge  Process and reason about the context  Perform dynamic adaptation to the changing context  Act in a proactive manner
  • 5.
    Context-Aware Computing Context-awareness inpervasive computing Pervasiveness makes it more complex due to:  Frequent change of context  Heterogeneity of devices  High mobility and dynamism  Anytime-anywhere paradigm  Lack of centralized service/control
  • 6.
    Context-Aware Computing Context-awareness inPvC: Requirements Sensing • Context Capturing: Gather context information Thinking • Context Modelling: Organize context into the appropriate format • Aggregation/Interpretation: Combine context information to generate a higher meaningful context • Reasoning: Draw new knowledge and perform decisions Action: Take proactive/reactive actions Collaboration: Make the context information accessible to the neighborhood
  • 7.
    Context-Aware Computing Context! …What is it? “Any information that can be used to characterize the situation of an entity. An entity is a user, a place, or a physical or computational object that is considered relevant to the interaction between a user and an application, including the user and application themselves.” Dey “A dynamic and operational term whose definition depends not only on the inherent characteristics of the entity but also on the interpretation of the operations involved on an entity at a particular time.” Winogard
  • 8.
    Context-Aware Computing Context Modeling ContextModeling  To define and store context data in a machine processable form Context Modeling Approaches  Object Oriented Models  Encapsulation and reusability  Logic Based Models  Context is defined as facts, expressions and rules  High degree of formality  Ontology Based Models  Ontology used as explicit specification of a shared conceptualization  Context is modeled as concept and facts  Key-Value Models  Most simple category of models  Not very efficient for more sophisticated structuring purposes  Markup Scheme Models  Markup schemes implement the model  Graphical Models  Useful for structuring, usually not used on instance level
  • 9.
    Context-Aware Computing Context Reasoning:Three categories of input Ontology of concepts (E.g. The concept owns is an inverse of the concept ownedBy) nsp:Hana rdf:type nsp:Student //defined context (isa/instanceOf) nsp:Phone-01 rdf:type nsp:Phone //defined context (isa/instanceOf) <rdf:Description rdf:about= “#owns”> <owl:inverseOf rdf: resource = “#ownedBy”> </rdf:Description> Context data ( E.g. Phone-01 is locatedIn the Library) nsp:Hana nsp:owns nsp:Phone-01 //defined context nsp:Phone-01 nsp:locatedIn nsp:Library //sensed context Rules (E.g. Assuming: A person always keeps his/her phone with him/her) [locationRule: (?sphone nsp:locatedIn ?location) (?sphone nsp:ownedBy ?person) -> (?person nsp:locatedIn ?location) ] Where is Hana now?
  • 10.
    Context-Aware Computing Context Reasoning… In semantic ontology, for example, the ability to express equivalences using owl:sameAs can be used to state the following. <rdf:Description rdf:about= “#ClassRoom”> <owl:sameAs rdf: resource = “#LectureRoom”> </rdf:Description> Ontology enhanced by defining rules: (?user1 nsp:locatedIn ?loc) (?user2 nsp:locatedIn ?loc) (?user1 nsp:locatedWith ?user2)] We can also define locatedWith as a symmetric property and we can associate meanings to the data by using definitions on domain and range : <owl:SymmetricProperty rdf:ID= locatedWith"> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="#Person"/> </owl:SymmetricProperty>
  • 11.
    Outdoor Sensing Location –Use Global Positioning System (GPS) GPS determines the distance by measuring the time it takes a signal to propagate from Satellite to receiver Need to have very good synchronization of clocks Receive signal from three satellites to determine location Need a fourth satellite to estimate elevation Satellite GPS accuracy is getting reasonable (10-20 meters) Sub-meter accuracy possible with differential GPS Context Sensing – Location Context Context-Aware Computing
  • 12.
    Indoor GPS doesn’t workbecause the satellite signal is weak or reflected Need to build our own location tracking system Use ideas similar to GPS: Compute distances from known locations that send radio bacons (RF) – Refer to the previous work on signal strength presented in class Cricket (MIT) RF and ultrasonic signals sent from each base station Mobile distance estimate by time interval between the two signal arrivals Accuracy within a few feet RADAR (Microsoft) and other efforts Measure signal strength to estimate distance A set of static receivers track positions of transmitters They are queried for location Context Sensing – Location Context Context-Aware Computing
  • 13.
    Time? Physical sensors possible Light,acceleration, sound, temperature, pressure, proximity of humans Nearby objects? If system keeps track of location of objects, query to a database Bandwidth? Odyssey Orientation? Orientation sensor based on two mercury switches (Newton MessagePad) Using directional antennas/directional transmitters Context Sensing – Other Context Context-Aware Computing
  • 14.
    Context-Aware Computing An applicationis context-aware if it automatically adapts to a discovered context by changing the behaviour of the application Features of Context Aware Systems • Presentation of information and services  E.g. Tour guide, Active Badges • Automatic execution of services  E.g. Smart homes (turn off lights, adjust temperature) • Tagging of context to information for later retrieval  E.g. Digital camera meta-data (time, location) Context-Aware Applications
  • 15.
    Context-Aware Computing Context-Aware Applications:Architecture Thinking subsystem Acting sub system Sensing subsystem
  • 16.
    Context-Aware Computing Context-Aware Applications:Some Examples PARCTab is From Xerox Palo Alto Research Center About 12 applications Applications Active Map Location information (Room number) Others Some helps the user find the most convenient local resources e.g. nearest printer (1) PARCTab System
  • 17.
    Context-Aware Computing Context-Aware Applications:Some Examples (2) Shopping Assistant Scenario: you are at home depot trying to figure out what you need to finish your basement Shopping Assistant uses your previous profile information to customize shopping and delivery Tell you what parts you need Where to find them relative to your location in the store What is on sale Do comparative pricing
  • 18.
    Context-Aware Computing Context-Aware Applications:Some Examples (3) CyberGuide Characteristic  From Georgia Tech  Provide information services to a tourist  Direction  Background information  Travel diary (automatically recorded)  Indoor and Outdoor Version  Indoor Using IR (infrared)  Outdoor Using GPS Outdoor Cyberguide Screenshot and artifacts
  • 19.
    Context-Aware Computing Context-Aware Applications:Some Examples (4) Augmented Reality User’s view of the real world is augmented with additional information Scenario 1: you wear sun-glasses with a display and headphones and walk in downtown Addis As you move around, the glasses can tell you your location As you look at Anbesa Gibi you get information about it Scenario 2: special operations squad infiltrating an enemy complex wearing gizmos In addition to information in scenario 1, the glasses change to night vision if lighting is not sufficient
  • 20.
    Context-Aware Computing Context-Aware Applications:Some Examples (5) Adaptive PDA/Phone PDA: notepad application changes its characteristics depending on user activity Large font when walking, small font when stationary Change the intensity level depending on the lighting conditions Phone: decide ring volume or vibration depending on situation In hand, in a suitcase, on a table, in a classroom/conference