|

|

|

Context
Tailor
Deep context-aware (DCA) computing
Context-aware computing is the process of using data from the user’s
environment (i.e., context) to adapt the execution of a computation. The
Context Tailor project focuses on an important class of context-aware
applications that we refer to as deep context-aware applications. Such
applications utilize machine learning to customize their execution to the
expected needs of the user. Examples include:
• Weiser’s
waking state coffee machine that brews coffee in anticipation of a user
waking up.
• A Smart HVAC system that adjusts the thermostat
just-in-time by predicting a user’s arrival.
• A scheduler that predicts computer idleness to
schedule expensive computations conveniently.
• A content distribution system that
pre-fetches/pre-transcodes web content by predicting user access.
Deep context-aware applications represent an important emerging class of new
applications that involve predictions of user behavior based on context about
the user. One benefit is that they facilitate calm computing by enabling
mundane tasks to be performed without requiring conscious interaction by a
user and by preparing a service for a user’s anticipated needs. The
secondary, but arguably more significant, impact is that the removal of
active user attention from the execution process affords the opportunity for
extremely efficient application execution.
DCA design challenges
Imagine developing a DCA application such as Weiser’s waking state
coffee machine that prepares coffee so that it is ready at the appropriate
time in the morning. Machine learning and formal reasoning can leverage
historical user context to determine the appropriate time to schedule coffee
brewing. Nevertheless, designing and implementing a machine learning based
system is non-trivial. A developer must be aware of the abundance of machine
learning algorithms available. Each algorithm class is appropriate for a
particular type of problem target and each class contains several algorithm instances
and variants. Once the learning algorithm has been selected, the developer
must implement the algorithm – a considerable task unto itself. The
implementation process requires efficient model representation and the model
must be efficiently applied when processing new data. For those developers
unfamiliar with machine learning and formal reasoning, acquiring and using
this knowledge makes deep context-aware application development formidable
and time-consuming.
The Context Tailor goals and challenges
The goal of the Context Tailor project is to radically simplify the
development of DCA applications so that developers are not required to have
an understanding of machine learning. Context Tailor middleware provides
machine learning utilities that can be leveraged by application developers. A
significant research challenge of the Context Tailor project is to design an
API that is machine learning independent but that enables access to the
appropriate machine learning functionality within the Context Tailor
infrastructure.
|
|