Upload
mohit-dadu
View
580
Download
3
Embed Size (px)
Citation preview
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-AwareSystem
explicitinput
explicitoutput
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 connectivity2.Communication cost3.Comm. Bandwidth4.Nearby resources
User Context:1.User profile/preference2.User mood/behaviour3.Other’s presence
Environmental Context:1.Lighting2.Noise level3.Traffic conditions4.WeatherPhysical Context:1.Time, Date2.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 detectshis 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.
• 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 situationsReduced 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.
SensorsPhysical sensorssensor, camera, microphone, accelerometer, GPS, biosensors, etc.Virtual sensorsFrom software: browsing an electronic calendar, a travel bookingsystem, emails, mouse movements, keyboard input, bandwidth, etc.Logical sensorsCombination of physical and virtual sensors with additionalinformation (e.g. context history) from databases
• Raw data retrievalDrivers and APIsQuery functionalityExchangeable
• ProcessingReasoning and interpretingExtraction and quantizationAggregation and compositing
• Storage/ManagementPublic interface to the clientSynchronous (pull/polling) and asynchronous (push/subscription)
• ApplicationsActual 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 thisshared understandingbetween 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 ComputersIncreasing 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 services2G , 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 Occurred because 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