Upload
subrata-halder
View
121
Download
1
Embed Size (px)
Citation preview
Context-Aware Computing
Context-Aware
Computing
Presented by: Subrata HalderMCA III Sem VI
1 of 12
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
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
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
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
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
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
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
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
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
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
Context-Aware Computing
sensors proliferate throughout the world, its growth will accelerate and its importance will
only increase.
12 of 12