context-aware computing

32
Context-Aware Computing Concepts & Architecture

Post on 15-Sep-2014

40 views

Category:

Documents


1 download

DESCRIPTION

Presented to The Portuguese Group of Software Architects (GASP) in 2009-04-14

TRANSCRIPT

Page 1: Context-Aware Computing

Context-Aware ComputingConcepts & Architecture

Page 2: Context-Aware Computing

“Identification of place lies as a generative core of architecture. Place is to architecture as meaning is to language”

Prof. Sharad AtreCollege of Architecture & Environmental Design

Page 3: Context-Aware Computing

Agenda

• Concepts• Technology & Design• Architecture• Conclusions• Questions

Page 4: Context-Aware Computing

Concepts

Page 5: Context-Aware Computing

Ubiquitous/Pervasive Computing

• The general trend of computing is to have devices seamlessly integrated into the life of users and having services readily available to everywhere users go

• It is an emerging paradigm to free everyday users from manually configuring and instructing computer systems

• Allow us “to do more, by doing less”

Page 6: Context-Aware Computing

Proactive/Autonomic Computing

• Is about building systems that can self-monitor, self-heal and self-configure (zero maintenance).

• Human attention devoted to interaction can be reduced so that users can focus on high-level tasks

• Both relate to ubiquitous computing and could use context information from environment and users to make decisions

Page 7: Context-Aware Computing

Related Concepts

• Ambient Intelligence– Intelligent interfaces acting in people-responsive

environments

• Sentient Computing– Use of sensors and resource status data to maintain

and share a model view of the world

• Augmented Reality• Everywhere Computing• Physical Computing• The Internet of Things (...)

Page 8: Context-Aware Computing

Context-Awareness

Page 9: Context-Aware Computing

What is Context?

• Context is that which surrounds, and gives meaning, to something else

• Context is any information that can be used to characterize the situation of an entity– Typically the location, identity and state of people,

groups, computational and physical objects– May come from disparate sources and has a

relatively transient lifetime• But historic data about context is important, anyway

Page 10: Context-Aware Computing

“An example of a piece of relevant context information is the most common question posed when communicating on mobile phones: ‘Where are you?’”

Louise BarhuusDepartment of Design and Use of Information Technology

The IT University of Copenhagen

Page 11: Context-Aware Computing

Context-Aware Computing• Not just “deliver any service at any time,

anywhere”, but rather “delivering the right service at the right moment”

• Mobile computing is introducing the possibility that the physical and logical context of a user might influence the behavior of services called for– Mobile computing decouples function from location

– User location is transparent to function– Recent trends are extending this concept of context

to include many other facets of the user’s physical environment

– Many sensors are being added to characterize context

Page 12: Context-Aware Computing

Context-Aware Applications• Must acquire context information and use it in an intelligent

manner (beneficial to either the service, the user or both)• In the mobile systems of today this would most likely be expressed

as calls for service from either local or remote service providers• The mobile user and his device becomes the “service consumer”

• Meaning arises in the course of action, is not inherent in the technology, but arises from how that technology is used• This means the designer does not have absolute control, only

influence– Users feel less in control when using context-aware applications

than when personalizing their own applications• Despite this, context-aware applications are preferred over the

personalization oriented ones

Page 13: Context-Aware Computing

Context Domains

• The situation of any entity is characterized by using several informations surrounding the service consumer

• Historical information about any of these might also be considered– Can also be deduced from interactions the user has

made with services over time

Page 14: Context-Aware Computing

Contextual Information Samples• User identity • Spatial information (location, orientation, speed, acceleration) • Temporal information (time of the day, date, season of the year) • Environmental information (temperature, air quality, light or noise

level) • Social situation (who you are with, people that are nearby) • Resources that are nearby (accessible devices, networks, hosts) • Availability of resources (battery, display, network, bandwidth)• Physiological measurements (blood pressure, heart rate, respiration

rate, muscle activity, tone of voice)• Activity (talking, reading, walking, running, sleeping) • Schedules and agendas

Page 15: Context-Aware Computing

VideoPervasive Computing

Page 16: Context-Aware Computing

Enabling Technologies

• Processing– Cheaper, smaller, faster, more energy efficient

• Storage– Big and fast

• Networking– Global, local, ad-hoc, low-power, high bandwidth, low latencies

• Displays– Projection, flexible material, low power

• Sensors– Types, speed, accuracy, price, robustness

• Actuators– Computer controlled

Page 17: Context-Aware Computing

Design

• Provide Services– System design: which embedded system? Web

server? Sensors and actuators?– Naming, registration, discovery– Physical/virtual mapping– Mobility management, energy management– Service composition, I/O matching, adaptation,

environment monitoring

Page 18: Context-Aware Computing

Three Levels of Service

Page 19: Context-Aware Computing

Some More Examples...

• Wearable Computer– A t-shirt that automatically adjust the ambient temperature

of the room by sensing body temperature• Ambient Intelligence

– User presence is detected to show email in a nearby computer. This feature can be coupled with a coffee machine that senses the user to make coffee according to preferences, etc.

• Context-Aware Phone– Only accepts calls that are important, according to user

context

Page 20: Context-Aware Computing

Architecture

Page 21: Context-Aware Computing

“The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are undistinguishable from it.”

Mark WeiserChief Scientist at Xerox PARC

Page 22: Context-Aware Computing

Principles of Ubiquitous Computing

• The purpose of a computer is to help you do something else

• The best computer is a quiet, invisible servant• The more you can do by intuition the smarter you

are. The computer should extend your unconscious• Technology should create calm

– Calm technology is that which informs but doesn’t demand our focus or attention

• A road to Peace through global conscience

Page 23: Context-Aware Computing

Services Tomorrow

Page 24: Context-Aware Computing

Context-Aware Applications Stack

24

Physical

Raw data

Semantic

Inference

Application

Physical or virtual sensor

Data processing object

Semantic processing object

Inferenceobject

Application

User’s GPS

GPS measurements

User’s latitude, longitude

Services nearby the user?

Notify user,execute service

ComponentsLayers Example

Page 25: Context-Aware Computing

Service Inference Example

Service

HotelDishhotel

service

xsd:double

Location

xsd:double

Rooms

Facilities

Dinningfacility

SnackBar

Swimming pool

DoubleRoom SingleRoom

hotel:offers

loc:latitude loc:longitude

Restaurant

owls:subClassOf

Hotel ontologyLocation ontology

OWL-S ontology

owls:location

owls:subClassOf

owl:subClassOf

owl:subClassOf

owl:subClassOf

Page 26: Context-Aware Computing

Abstract Layered Architecture for Context-Aware Systems

applicationsapplications

storage/managementstorage/management

preprocessing/reasoningpreprocessing/reasoning

raw data retrievalraw data retrieval

sensorssensors

Acting SubsystemActing Subsystem

Thinking SubsystemThinking Subsystem

Sensing SubsystemSensing Subsystem

Page 27: Context-Aware Computing

Research Issues

• Context Modeling & Reasoning – How to build representations of context that can be

processed and reasoned about by the computers• Knowledge Maintenance & Sharing

– How to maintain consistent knowledge about the context and share that information with other systems

• User Privacy Protection– How to give users the control of their situational

information that is acquired from the hidden sensors

Page 28: Context-Aware Computing

Some Ideas

• A repository of context knowledge can help resource-limited devices to become context aware

• Ontologies can help to share context knowledge, reducing the redundancy in sensing

• Policies can give users the control of their context information, protecting their privacy in an open environment– People are willing to give up partial control if the reward in

usefulness is great enough

Page 29: Context-Aware Computing

VideoUbiComp Nightmare

Page 30: Context-Aware Computing

Conclusions (I)

• Context-Aware Computing demands for lots of different knowledge fields to follow:– System infrastructures, networking, security, user

interfaces, embedded systems, AI, perception, speech recognition, etc.

• Systems integration is the key• Many new and fascinating research problems

are emerging

Page 31: Context-Aware Computing

Conclusions (II)• There is no common way to acquire and handle context• Unlike regular user input, context information is distributed and

arrives from heterogeneous sources• The infrastructure must support the aggregation of context about

entities in the environment• Performance is vital

– Actions need to be taken in time for it to be of use to the users– Very difficult to achieve near real-time

• User should retain control– Should be able to cancel, stop and undo actions– Not always possible

• Privacy and Security must be guaranteed– The users should decide how, where, to whom and for how long their

personal information is accessible

Page 32: Context-Aware Computing

Context-Aware ComputingConcepts & Architecture