context awareness

38
Context - Awareness MOHIT DADU

Upload: mohit-dadu

Post on 21-Feb-2017

580 views

Category:

Engineering


3 download

TRANSCRIPT

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

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

Abstract layered architecture for Context-aware systems:

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