Context - Awareness
MOHIT DADU
CONTEXT:
Context is defined as the inter-related condition in which
something exist and occur.
Context is the surrounding environment, location, or situation
which determine, specify the meaning of the event.
Context is any information that can be used to characterize the
situation of an entity” Entity: person, place, object that is
considered relevant to interaction between a user & an
application, including the user & application themselves.
“Context is the set of environmental states and settings that
either determines an application’s behaviour or in which an
application event occurs and is interesting to the user.”
CONTEXT:
Context as Implicit Input/Output
Context-Aware
System
explicit
input
explicit
output
Context:
• state of the user
• state of the physical environment
• state of the computing system
• history of user-computer interaction
•...
Classification of Context
Computing Context:
1.Network connectivity
2.Communication cost
3.Comm. Bandwidth
4.Nearby resources
User Context:
1.User profile/preference
2.User mood/behaviour
3.Other’s presence
Environmental Context:
1.Lighting
2.Noise level
3.Traffic conditions
4.Weather
Physical Context:
1.Time, Date
2.Location
Context Awareness:
Context awareness is the term that describe the ability of
the computer system to sense and act upon the
information about its environment such as, Location,
Time, Temperature or User Identity.
Context Awareness enable the system to take action
automatically, and Reducing the burden of the excessive
user involvement & provide proactive intelligent
assistance.
Context-Aware Systems
A user has left
his office
The system forwards
the call to a nearby
phone
The system detects
his current location
Calls are forwarded to
his voice mailbox
A Call-forwarding System
The system detects the
user is in a meeting
The phone rings
in his office
User-Related: Context Awareness
• Who: Deals with identifying current user and
object recognition.
• Where: Deals with location identification of
user, object, service, …
• When: Deals with temporal aspects of past,
present & future.
• What: Deals with identifying activities of user
or object.
• Why: Deals with subtle context such as
user's need, emotion, …
Categories of context awareness:
Active Context Awareness :
• Influence the behaviour of the application.
• Active Context Awareness automatically
changes the behaviour of the application
behaviour according to the Sensed
information.
• Example: Automatically press breaks of car
when it sense the obstacle in front of the car.
Active Context Awareness :
• Context that is relevant but
not critical.
• Passive Context Awareness
presents updated context or
sensor information to the
user and lets the user to
change the application
behaviour.
• Example: Reports the
position of the moving car
into the map.
Passive Context Awareness:
Pervasive Computing
Pervasive computing also called as Ubiquitous
computing.
The word Pervasive or Ubiquitous means: “
Existing Everywhere”.
Pervasive Computing is the growing trend
towards embedded Microprocessor in every
day object so, that they can communicate
information.
Context Aware Computing
 Let computer systems sense automatically, remember
history, and adapt to changing situations
Reduced explicit interaction, more responsive.
 Context.
 Context Awareness.
 Situation.
Structure & Elements of Context Aware
Pervasive Systems
 A Context-Aware Pervasive System can be viewed as
having three basic functionalities:
Sensing,
Thinking (metaphorically)
Acting
Sensing
 What are Sensors?
 Biological or Non biological Sensors - to acquire data or information about
the physical world or some aspect of the physical world.
 Multiple Sensors can also be used
 Treated as input
 What Info can be sensed ?
 Types of Sensors
 Upcoming Technology - RFID
Thinking
Knowledge about the context or situation of the
entities.
Once the data is obtained using the collection
of sensors. The task is to utilize such data and to
make sense of it on the basis of definition of
sensors.
Acting
 Once context information has been gathered or situations recognized,
actions are taken.
 The actions to be taken are application specific.
 Actions might need to be performed in time for it to be of use to the users,
and before the situation which triggered the action changes.
 Considerations
Performance.
Control.
Abstract layered architecture for Context-
aware systems:
Sensors
Physical sensors
sensor, camera, microphone, accelerometer, GPS,
biosensors, etc.
Virtual sensors
From software: browsing an electronic calendar, a travel
booking
system, emails, mouse movements, keyboard input, bandwidth,
etc.
Logical sensors
Combination of physical and virtual sensors with additional
information (e.g. context history) from databases
• Raw data retrieval
Drivers and APIs
Query functionality
Exchangeable
• Processing
Reasoning and interpreting
Extraction and quantization
Aggregation and compositing
• Storage/Management
Public interface to the client
Synchronous (pull/polling) and asynchronous (push/subscription)
• Applications
Actual reactions on different events
Human to Human
communication
 Situational
information such as
facial expressions,
 Emotions,
 Voice tone
 Past and future
events,
The existence of other people in
the room
 The process of building this
shared understanding between
two people is called grounding .
Need For Context Aware (CA) Computing
Human and
Computer
communication
Following Tasks can’t be easily done by Computers :
Understanding and Interpreting our language
• We need to be very specific about giving commands
• OR asking for information
Cannot sense information about the current situation
• Sensing Facial expression
• Presence of other people near by.
Need For Context Aware (CA) Computing
Context, critically required in Ubicomp Environment .
Mobile computing and ubiquitous computing have given users the expectation
that
they can access whatever information and services they want, whenever they
want, and wherever they are.
With computers being used in such a wide variety of situations, interesting new
problems arise, and the need for context is clear: users are trying to obtain
different information from the same services or systems in different situations.
Context can be used to help determine what information or services to make
available or to bring to the forefront for users.
Need For Context Aware (CA) Computing
Need For Context Aware (CA) Computing
Input deficiency is resolved, by two basic approaches:
Improving the language that humans can use to interact with Computers
Increasing the amount of situational information, or context, that is made
available to computers
Need for explicitness does exist in human–computer interactions, because the
computer does not share this implicit situational information or context
The goal of context-aware computing is to use context as an implicit cue to
enrich the impoverished interaction from humans to computers, making it easier
to interact with computers.
Context Aware Applications
 “A system is Context-Aware if it uses context to provide
relevant information and/or services to the user, where
relevancy depends on the user’s task.”
 E.g. Smart Phones screen goes Brighter when exposed to
light ( using photo sensors), And goes dimmer on low
battery .
Some of the
context
Aware Apps
For Android
Context Aware Applications
Architecture
Context
Input
Context
Aware
Application
Explicit
Input
Explicit
Output
Context Aware Applications
 Context-aware applications look at the
– who’s,
– where’s,
– when’s, and
– what’s (i.e., what activities are occurring)
of entities and use this information to determine why a situation is occurring.
 An application does not actually determine why a situation is occurring, but the
designer of the application does.
 The designer uses incoming context to determine the user’s intent, or why a
situation is occurring, and uses this to encode some action in the application that
helps to satisfy this intent.
Categorization of features CA Applications
Two Major Benefits of Categorization of features
The first is that it further specifies the types of applications that
researchers provide support for.
The second benefit is that it describes the types of features that
developers should be thinking about when building ContextAware
applications.
Approach to Context-Aware
Application Development
To collect implicit contextual information through automated
means ( using Sensors , Camera etc .)
Make it easily available to a computer’s runtime environment,
And let the application designer decide what information is
relevant and how to deal with it.
Properties of Context Aware “Model/Framework”
 Adapt interfaces ( Context sensing and acquisition )
 Increase the precision of information retrieval,
 Tailor the set of application-relevant data ( Processing, aggregation
and reasoning of contextual data )
 Context modeling, representation and storing,
 Context-Aware application adaptation,
Properties of Context Aware “Model/Framework”
 Integration of Context-Awareness into Service-Oriented
Architectures.
 Security and privacy of Context data,
 Discover services
2G , 3G or Wifi connect to best of available.
 Make the user interaction implicit, or build smart environments.
Example (Google Latitude)
 Uses the following ways to locate exact position on Earth
– Global Positioning System
– Tower Signal INFO
– IP address, If wifi connnected .
– Digital Compass Signal To show the direction.
 Context
– Location
– Time
 It also shows your Friends location on map, if they are using same application
and sharing location
Example (Google Latitude)
Application Can be written
on top of this , like
location based alarm ,
near friend notifier.
Example (Bump)
 Bump two phones together to share
– Photos
– contacts
– apps
 Without knowing Email id / IP address.
 Bump makes sharing with people as simple as
bumping two phones together.
 Context Collected via
– Vibration/motion sensor
– Location detectors (for verification)
 Time is most important as context.
Issues and Challenges
Errors Occurredbecause of wrong interpretation of
Context :
When the system does the wrong thing
– Auto-locking car doors
– Screen saver during presentation
– Microphone amplifying a whisper
In these examples, is the system or the user at fault?
Issues and Challenges
Challenges in Context-Aware Computing
–How to represent context internally? (Storage)
–Data structures and algorithms
–How frequently does the system need to be updated on context
changes?
–How often to poll? ( in case limited power )
–How often to change behavior?
–What sensors infrastructure, or sensors are necessary?
–What is the fallback condition?
–How to sense location information?
Issues and Challenges
• Issues to Consider when Building Context-Aware Applications
– Context Is a Proxy for Human Intent
– Context Inferencing
• is the act of making sense of these input data from sensors and other sources,
to determine or infer the user’s situation.
– Context Ambiguity
– “Rules” versus “Machine Learning”
– Privacy
– Evaluation
– End User Issues
• Understanding of Application’s behavior
• How much control on application user should have

Context Aware Computing

  • 1.
  • 2.
    CONTEXT: Context is definedas the inter-related condition in which something exist and occur. Context is the surrounding environment, location, or situation which determine, specify the meaning of the event. Context is any information that can be used to characterize the situation of an entity” Entity: person, place, object that is considered relevant to interaction between a user & an application, including the user & application themselves.
  • 3.
    “Context is theset of environmental states and settings that either determines an application’s behaviour or in which an application event occurs and is interesting to the user.” CONTEXT:
  • 4.
    Context as ImplicitInput/Output Context-Aware System explicit input explicit output Context: • state of the user • state of the physical environment • state of the computing system • history of user-computer interaction •...
  • 5.
    Classification of Context ComputingContext: 1.Network connectivity 2.Communication cost 3.Comm. Bandwidth 4.Nearby resources User Context: 1.User profile/preference 2.User mood/behaviour 3.Other’s presence Environmental Context: 1.Lighting 2.Noise level 3.Traffic conditions 4.Weather Physical Context: 1.Time, Date 2.Location
  • 7.
    Context Awareness: Context awarenessis the term that describe the ability of the computer system to sense and act upon the information about its environment such as, Location, Time, Temperature or User Identity. Context Awareness enable the system to take action automatically, and Reducing the burden of the excessive user involvement & provide proactive intelligent assistance.
  • 8.
    Context-Aware Systems A userhas left his office The system forwards the call to a nearby phone The system detects his current location Calls are forwarded to his voice mailbox A Call-forwarding System The system detects the user is in a meeting The phone rings in his office
  • 9.
    User-Related: Context Awareness •Who: Deals with identifying current user and object recognition. • Where: Deals with location identification of user, object, service, … • When: Deals with temporal aspects of past, present & future. • What: Deals with identifying activities of user or object. • Why: Deals with subtle context such as user's need, emotion, …
  • 10.
    Categories of contextawareness: Active Context Awareness : • Influence the behaviour of the application. • Active Context Awareness automatically changes the behaviour of the application behaviour according to the Sensed information. • Example: Automatically press breaks of car when it sense the obstacle in front of the car.
  • 11.
  • 12.
    • Context thatis relevant but not critical. • Passive Context Awareness presents updated context or sensor information to the user and lets the user to change the application behaviour. • Example: Reports the position of the moving car into the map. Passive Context Awareness:
  • 13.
    Pervasive Computing Pervasive computingalso called as Ubiquitous computing. The word Pervasive or Ubiquitous means: “ Existing Everywhere”. Pervasive Computing is the growing trend towards embedded Microprocessor in every day object so, that they can communicate information.
  • 14.
    Context Aware Computing Let computer systems sense automatically, remember history, and adapt to changing situations Reduced explicit interaction, more responsive.  Context.  Context Awareness.  Situation.
  • 15.
    Structure & Elementsof Context Aware Pervasive Systems  A Context-Aware Pervasive System can be viewed as having three basic functionalities: Sensing, Thinking (metaphorically) Acting
  • 16.
    Sensing  What areSensors?  Biological or Non biological Sensors - to acquire data or information about the physical world or some aspect of the physical world.  Multiple Sensors can also be used  Treated as input  What Info can be sensed ?  Types of Sensors  Upcoming Technology - RFID
  • 17.
    Thinking Knowledge about thecontext or situation of the entities. Once the data is obtained using the collection of sensors. The task is to utilize such data and to make sense of it on the basis of definition of sensors.
  • 18.
    Acting  Once contextinformation has been gathered or situations recognized, actions are taken.  The actions to be taken are application specific.  Actions might need to be performed in time for it to be of use to the users, and before the situation which triggered the action changes.  Considerations Performance. Control.
  • 19.
    Abstract layered architecturefor Context- aware systems:
  • 20.
    Sensors Physical sensors sensor, camera,microphone, accelerometer, GPS, biosensors, etc. Virtual sensors From software: browsing an electronic calendar, a travel booking system, emails, mouse movements, keyboard input, bandwidth, etc. Logical sensors Combination of physical and virtual sensors with additional information (e.g. context history) from databases
  • 21.
    • Raw dataretrieval Drivers and APIs Query functionality Exchangeable • Processing Reasoning and interpreting Extraction and quantization Aggregation and compositing • Storage/Management Public interface to the client Synchronous (pull/polling) and asynchronous (push/subscription) • Applications Actual reactions on different events
  • 22.
    Human to Human communication Situational information such as facial expressions,  Emotions,  Voice tone  Past and future events, The existence of other people in the room  The process of building this shared understanding between two people is called grounding . Need For Context Aware (CA) Computing
  • 23.
    Human and Computer communication Following Taskscan’t be easily done by Computers : Understanding and Interpreting our language • We need to be very specific about giving commands • OR asking for information Cannot sense information about the current situation • Sensing Facial expression • Presence of other people near by. Need For Context Aware (CA) Computing
  • 24.
    Context, critically requiredin Ubicomp Environment . Mobile computing and ubiquitous computing have given users the expectation that they can access whatever information and services they want, whenever they want, and wherever they are. With computers being used in such a wide variety of situations, interesting new problems arise, and the need for context is clear: users are trying to obtain different information from the same services or systems in different situations. Context can be used to help determine what information or services to make available or to bring to the forefront for users. Need For Context Aware (CA) Computing
  • 25.
    Need For ContextAware (CA) Computing Input deficiency is resolved, by two basic approaches: Improving the language that humans can use to interact with Computers Increasing the amount of situational information, or context, that is made available to computers Need for explicitness does exist in human–computer interactions, because the computer does not share this implicit situational information or context The goal of context-aware computing is to use context as an implicit cue to enrich the impoverished interaction from humans to computers, making it easier to interact with computers.
  • 26.
    Context Aware Applications “A system is Context-Aware if it uses context to provide relevant information and/or services to the user, where relevancy depends on the user’s task.”  E.g. Smart Phones screen goes Brighter when exposed to light ( using photo sensors), And goes dimmer on low battery . Some of the context Aware Apps For Android
  • 27.
  • 28.
    Context Aware Applications Context-aware applications look at the – who’s, – where’s, – when’s, and – what’s (i.e., what activities are occurring) of entities and use this information to determine why a situation is occurring.  An application does not actually determine why a situation is occurring, but the designer of the application does.  The designer uses incoming context to determine the user’s intent, or why a situation is occurring, and uses this to encode some action in the application that helps to satisfy this intent.
  • 29.
    Categorization of featuresCA Applications Two Major Benefits of Categorization of features The first is that it further specifies the types of applications that researchers provide support for. The second benefit is that it describes the types of features that developers should be thinking about when building ContextAware applications.
  • 30.
    Approach to Context-Aware ApplicationDevelopment To collect implicit contextual information through automated means ( using Sensors , Camera etc .) Make it easily available to a computer’s runtime environment, And let the application designer decide what information is relevant and how to deal with it.
  • 31.
    Properties of ContextAware “Model/Framework”  Adapt interfaces ( Context sensing and acquisition )  Increase the precision of information retrieval,  Tailor the set of application-relevant data ( Processing, aggregation and reasoning of contextual data )  Context modeling, representation and storing,  Context-Aware application adaptation,
  • 32.
    Properties of ContextAware “Model/Framework”  Integration of Context-Awareness into Service-Oriented Architectures.  Security and privacy of Context data,  Discover services 2G , 3G or Wifi connect to best of available.  Make the user interaction implicit, or build smart environments.
  • 33.
    Example (Google Latitude) Uses the following ways to locate exact position on Earth – Global Positioning System – Tower Signal INFO – IP address, If wifi connnected . – Digital Compass Signal To show the direction.  Context – Location – Time  It also shows your Friends location on map, if they are using same application and sharing location
  • 34.
    Example (Google Latitude) ApplicationCan be written on top of this , like location based alarm , near friend notifier.
  • 35.
    Example (Bump)  Bumptwo phones together to share – Photos – contacts – apps  Without knowing Email id / IP address.  Bump makes sharing with people as simple as bumping two phones together.  Context Collected via – Vibration/motion sensor – Location detectors (for verification)  Time is most important as context.
  • 36.
    Issues and Challenges ErrorsOccurredbecause of wrong interpretation of Context : When the system does the wrong thing – Auto-locking car doors – Screen saver during presentation – Microphone amplifying a whisper In these examples, is the system or the user at fault?
  • 37.
    Issues and Challenges Challengesin Context-Aware Computing –How to represent context internally? (Storage) –Data structures and algorithms –How frequently does the system need to be updated on context changes? –How often to poll? ( in case limited power ) –How often to change behavior? –What sensors infrastructure, or sensors are necessary? –What is the fallback condition? –How to sense location information?
  • 38.
    Issues and Challenges •Issues to Consider when Building Context-Aware Applications – Context Is a Proxy for Human Intent – Context Inferencing • is the act of making sense of these input data from sensors and other sources, to determine or infer the user’s situation. – Context Ambiguity – “Rules” versus “Machine Learning” – Privacy – Evaluation – End User Issues • Understanding of Application’s behavior • How much control on application user should have