16
Context-Aware Computing Context-Aware Computing 1 of 16

Context Aware Computing

Embed Size (px)

Citation preview

Page 1: Context Aware Computing

Context-Aware Computing

Context-Aware

Computing

Presented by: Subrata HalderMCA III Sem VI

1 of 12

Page 2: Context Aware Computing

Context-Aware Computing

Introduction

Humans are quite successful in conveying ideas to each other and reacting appropriately. This

is due to many factors, including the richness of the language they share, the common

understanding of how the world works, and an implicit understanding of everyday situations.

When humans speak with humans, they are able to use information apparent from the

current situation, or context, to increase the conversational bandwidth.

Unfortunately, this ability to convey ideas does not transfer well when humans interact with

computers. Computers do not understand our language, do not understand how the world

works and cannot sense information about the current situation, at least not as easily as most

humans can. In traditional interactive, or desktop, computing, users have an impoverished

mechanism for providing information to computers, typically using a keyboard and mouse. As

a result, information must explicitly be provided to computers. Users translate what they want

to accomplish into specific minutiae on how to accomplish the task, and then use the

keyboard and mouse to articulate these details to the computer so that it can execute their

commands. This is nothing like our interaction with other humans. Consequently, computers

are not currently enabled to take full advantage of the context of the human-computer

dialogue. By improving the computer’s access to context, users can increase the richness of

communication in human-computer interaction and make it possible to produce more useful

computational services.

What is Context?

Anind Dey (1998), a computer scientist, enumerated context as the user’s emotional state,

focus of attention, location and orientation, date and time, and objects and people in the

user’s environment. The important aspects of context are,

where you are?

whom you are with?

what resources are nearby?

Context is to be the constantly changing execution environment. They include the following

elements of the environment,

2 of 12

Page 3: Context Aware Computing

Context-Aware Computing

Computing environment - available processors, devices accessible for user input and

display, network capacity, connectivity, and costs of computing

User environment - location, collection of nearby people, and social situation

Physical environment - lighting and noise level

Fig. 1. Context feature space

Context Awareness

Context Awareness is defined complementary to location awareness. Whereas location may

serve as a determinant for resident processes, context may be applied more flexibly with

mobile computing with any moving entities, especially with bearers of smart communicators.

Context awareness originated as a term from ubiquitous computing which sought to deal with

linking changes in the environment with computer systems, which are otherwise static.

Context-Aware Computing

The term Context-Awareness in ubiquitous computing was introduced by Schilit (1994).

In computer science context awareness refers to the idea that computers can both sense, and

react based on their environment. Devices may have information about the circumstances

under which they are able to operate and based on rules, or an intelligent stimulus, react

accordingly. Context aware devices may also try to make assumptions about the user's current

3 of 12

Page 4: Context Aware Computing

Context-Aware Computing

situation.

Context-aware applications look at the who’s (identity), where’s (location), when’s (time), and

what’s (activity) of entities and use this information to determine why a situation is occurring.

Context Awareness in Movies

Moon is a 2009 British science fiction drama film about Lunar Industries employee Sam Bell,

who is contracted to work for three years at the largely automated "Sarang" lunar base, with

only an artificial intelligence assistant named

GERTY. GERTY's mental processes seem to be

a soft interpretation of contradictory rules.

GERTY expresses no stress while choosing

between inconsistent goals. For example,

when Sam Bell wants to be let out of the

base (in violation of a recent standing order)

GERTY expresses no distress with the

conflicting goals (helping Sam and obeying

the standing order). GERTY appears not so

much fall for Sam's ruse as cooperate with it

(perhaps forced to respond to Sam's Fig. 2. GERTY from Moon (2009)

increasing urgency). GERTY's behavior is very person-like in that his judgement seems

directly influenced by his surroundings.

Context-Aware Computing Continued...While the computer science community initially perceived the context as a matter of user

location, as Dey discuss, in the last few years this notion has been considered not simply as a

state, but part of a process in which users are involved; thus, sophisticated and general

context models have been proposed, to support context-aware applications which use them

to,

adapt interfaces

tailor the set of application-relevant data

increase the precision of information retrieval

4 of 12

Page 5: Context Aware Computing

Context-Aware Computing

discover services

make the user interaction implicit

build smart environments.

For example, a context aware mobile phone may know that it is currently in the meeting

room, and that the user has sat down. The phone may conclude that the user is currently in a

meeting and reject any unimportant calls.

Context aware systems are concerned with the acquisition of context (e.g. using sensors to

perceive a situation), the abstraction and understanding of context (e.g. matching a perceived

sensory stimulus to a context), and application behavior based on the recognized context (e.g.

triggering actions based on context). As the user's activity and location are crucial for many

applications, context awareness has been focused more deeply in the research fields of

location awareness and activity recognition.

Context awareness is regarded as an enabling technology for ubiquitous computing systems.

Context awareness is used to design innovative user interfaces, and is often used as a part of

ubiquitous and wearable computing. It is also beginning to be felt in the Internet with the

advent of hybrid search engines. Schmidt, Beigl & Gellersen define human factors and physical

environment as two important aspects relating to computer science.

Personalization

Personalization involves using technology to accommodate the differences between

individuals. As opposed to Context-Aware Computing, Personalization maybe defined as

custom tailoring by a company to individual users' characteristics or preferences.

Personalization is a means of meeting the customer's needs more effectively and efficiently,

making interactions faster and easier and, consequently, increasing customer satisfaction.

For example, many portal sites, such as Google, allow site visitors to customize the page with

selected news categories, local weather reports, and other features.

Is Context-Aware Computing Taking Control Away from the User?

In an experimental case study conducted by Louise Barkhuus and Anind Dey (2003), using

mobile phone applications to exemplify different levels of interactivity between a mobile

5 of 12

Page 6: Context Aware Computing

Context-Aware Computing

computing device and its user: personalization and context-awareness, investigations were

made as to which approach will limit users' perceived sense of control and also users'

preferences for the three approaches.

The study showed that users feel less in control when using context-aware applications than

when personalizing their own applications. Despite this it was also found that context-aware

applications are preferred over the personalization oriented ones. Hence it was concluded

that people are willing to give up partial control if the reward in usefulness is great enough.

How Context-Aware Computing Will Make Gadgets Smarter?

Small always-on hand-held devices equipped with low-power sensors could signal a new class

of “context-aware” gadgets that are more like personal companions. Such devices would

anticipate your moods, be aware of your feelings and make suggestions based on them, says

Intel.

“Context-aware computing is poised to fundamentally change how we interact with our

devices,” Justin Rattner, CTO of Intel told attendees at the company’s developer conference.

“Future devices will learn about you, your day, where you are and where you are going to

know what you want,” he added. “They will know your likes and dislikes.”

Context-aware computing is different from the simple sensor-based applications seen on

smartphones today. For instance, consumers today go to an app like Yelp and search for

restaurants nearby or by cuisine and price. A context-aware device would have a similar

feature that would know what restaurants you have picked in the past, how you liked the food

and then make suggestions for restaurants nearby based on those preferences. Additionally, it

would be integrated into maps and other programs on the device.

Researchers have been working for more than two decades on making computers be more in

tune with their users. That means computers would sense and react to the environment

around them. Done right, such devices would be so in sync with their owners that the former

will feel like a natural extension of the latter.

“The most profound technology are those that disappear,” Mark Weiser, chief scientist at

Xerox PARC and father of the term “ubiquitous computing” told in 1991 about context

awareness in machines. “They are those that weave themselves into the fabric of everyday

life.”

6 of 12

Page 7: Context Aware Computing

Context-Aware Computing

Making this possible on PCs has proved to be challenging, says Rattner. But the rise of

smartphones and GPS-powered personal devices could change that.

“We now have the infrastructure needed to make context-aware computing possible,” says

Rattner.

The next step is smarter sensors, say Intel researchers. Today, while smartphones come

equipped with accelerometers and digital compasses, the data gathered from these sensors is

used only for extremely basic applications.

“Accelerometers now are used to flip UI,” says Lama Nachman, a researcher at Intel. “But you

can go beyond that to start sending human gait and user behavior.”

For instance, sensors attached to a TV remote control can collect data on how the remote is

held by different users and build profiles based on that. Such a remote, of which Intel showed

a prototype at the conference, could identify who’s holding the remote and offer

recommendations for TV shows based on that.

Overall, context-aware devices will have to use a combination of “hard-sensing,” or raw

physical data about a user (such as where you are), and “soft-sensing” information about the

user, such as preferences and social networks, to anticipate needs and make

recommendations. This creates the cognitive framework for managing context.

On the hardware side, context-aware computing will call for extremely energy-efficient

sensors and devices. Devices will also have to change their behavior, says Rattner.

“We can’t let devices go to sleep and wake them up when we need them ,” he says. “We will

need to keep the sensory aspects on them up and running at all times and do it at minimum

power.”

So far, context-aware computing hasn’t found commercial success, says Intel. But as phones

get smarter and tablets become popular, the company hopes users will have a device where

apps disappear and become part of the gadget’s intelligence.

Some Context-Aware Services in Use...

Context-Aware Mobility Solution - Cisco is an API for developing context-aware systems. It is

specialized for tasks like Zone or inventory management, Asset tracking, Condition tracking,

Presence, Network location services. Context-awareness is used to do all that operations more

7 of 12

Page 8: Context Aware Computing

Context-Aware Computing

intelligent and efficient. Such systems can be used in hospitals and logistic enterprises, for

instance, to track, find and control entities and activities.

MarcoPolo was developed in

2007. It is a service for Mac

OS X that changes system

settings for higher comfort

based on your location and

your surrounding and its

changes (Fig. 7). Some

supported features: Audio

output, connections, ambient

light level, power source and

other things can be

controlled. Actions triggered by context Fig 3. MarcoPolo

and its changes: default printer, firewall rules, chat status, start and quit applications, muting

and unmuting, etc.

Another context-aware application is Google AdSense / AdWords adapts the advertisement to

the context of an advertised webpage, search, mail, etc.

Features of Context-Aware Applications

Contextual sensing: ability to detect contextual information and present it to the user

Contextual adaptation: is the ability to execute or modify a service automatically based

on the current context

Contextual resource discovery: allows context-aware applications to locate and exploit

resources and services that are relevant to the user’s context

Contextual augmentation: is the ability to associate digital data with the user’s context. A

user can view the data when he is in that associated context.

8 of 12

Page 9: Context Aware Computing

Context-Aware Computing

Context-Aware Applications Building Issues Context Is a Proxy for Human Intent

The holy grail of context awareness is to divine or understand human intent. Applications

would use this human intent to adapt appropriately by providing information or taking some

actions.

Context Inferencing

Context-aware systems take data as input, and then determine how to adapt or respond to

these data. 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. Once the user’s situation has

been inferred, then the application can take an appropriate action.

Context Ambiguity

Context-aware systems have many sources of ambiguity or errors: context sensors can sense

incorrectly, fail, or be unsure about what they sensed; context inferencing systems can

inaccurately reach conclusions about a situation or be unsure about their inferences; and

applications can take an incorrect action or be unsure about what action to take.

Rules versus Machine Learning

Context-aware applications are most commonly designed from a set of if then rules: if the

application senses a particular situation, then it should perform a particular action. But they

are prone to conflicts between rules due to hidden dependencies between rules. It is

challenging to understand the impact of adding or removing a rule particularly as the number

of rules grows larger.

Privacy

Context-aware systems have the capability and often the need to collect tremendous amounts

of information about individuals. An inherent danger in collecting this information is in

releasing information to the wrong person or during the wrong situation. As context systems

are distributed across a computer network or networks, there is a real concern that context

information could either be disseminated inappropriately or disseminated to a component

that is not completely trustworthy, and may disseminate the information further. Developers

of context-aware infrastructure therefore need to ensure that, data is only shared between

components that actually have a real need to share and use that information and a user’s

9 of 12

Page 10: Context Aware Computing

Context-Aware Computing

privacy is maintained and that information is not being used.

Evaluation

Context-aware applications are difficult to evaluate. Because context-aware applications are

context-dependent, they can rarely be tested in a laboratory environment.

End-user Issues

There are two end user issues that

developers should consider when building

their applications. The first is intelligibility

of applications - how a user forms an

understanding of a context-aware

application’s behavior. And second end-user

issue of concern is control. Developers often

design their applications based on

knowledge of a particular domain.

However, context-aware applications also

need to be personalized to their users,

rather than use a “one-size-fits-all”

approach. Fig.4. displays the human as the

bottleneck of processing time,

Fig. 4. Human is the bottleneck of because in comparison to an operation and its

processing time input by processor, humans are very slow. The

speed of brain is indeed very fast, but typed, written or spoken commands or information are

not. So if context-awareness can decrease the amount of such input phases, efficiency of work

will raise.

A few more Context-Aware Services in Use...

Nokia Situations, senses data from scheduler, location, connectivity and react on it: Change

Ringtones, Answer missed calls with SMS, Save Power, Change UI theme / Wallpaper, Open a

Web bookmark or application.

A very interesting project is MUSIC-Middleware. Its target is a cross-platform middleware

10 of 12

Page 11: Context Aware Computing

Context-Aware Computing

especially for mobile entities. It carries all the stuff like gathering and supplying context to

ease and unify the development of context-aware applications. The concentration on context-

aware apps for mobile devices is a contemporary theme because context-awareness and

ubiquitous computing are two things that start to belong together more and more. In

addition, the amount of sold smart-phones currently increases extremely fast.

A location-based service is

Foursquare. It is a mobile geosocial

network service where users tag

certain places and rate them. They

can use their accounts of other social

networks to be in contact with their

friends. Foursquare updates their

position, status, actions and so on.

On the one hand it is informative

Fig. 5. Foursquare and useful, on the other hand it is

attractive to young people being constructed like a game, for example getting so called

”Badges” the more they rate.

A similar application is Google Latitude that enables friends to see your position, but the

precision is defined by the user.

Conclusion

Despite the effort that was spent to context-awareness, it is rarely used. Most services are

location-based. The reason for this is maybe the complexity to sense a situation and to put it

in a model that is analyzable. If context is captured right, there remains the next problem: the

device has to react reasonable to the special situation. But who defines what is "reasonable"?

So the user has to define how his device should react and react not. Hence it is necessary that

applications learn what its user likes, how he behaves and how he wants it to act. Very

important is a certain mutual trust concerning privacy and the rights of the application. If the

user cannot trust his assistant gadget then he will disable all these context-aware functions.

But the field of context-aware computing is already growing rapidly, as more and more

11 of 12

Page 12: Context Aware Computing

Context-Aware Computing

sensors proliferate throughout the world, its growth will accelerate and its importance will

only increase.

12 of 12