Mobile users are typically described by more attributes than those
needed by other categories of users. Besides personal preferences, a
profile should include descriptions of the device, of the network
infrastructure, of the user location, and of the socio-cultural context in
which the user is involved. In practice, these attributes are managed
by different entities - such as the service provider, the network
operator, or the user itself. At present, service providers
can provide limited personalization since they are unable to collect
all attributes relevant for adapting their services.
|
|
|
Fig.1: Proper user and service provider
policies can determine the resolution in a streaming video service. |
|
Mobility also emphasizes the need for modeling the dynamics of some of
the profile attributes. For example, changes in the supported
bandwidth (due, e.g., to a switch to a different mobile device)
should correspond to a change in the value of the attributes specifying
the desired bitrate for streaming video services.
The same need might also occur with attributes related to user preferences;
for example, when the format of messages being received (say, text or voice)
is specified depending on the mobile device being used.
A natural approach to the modeling of this dynamics is augmenting the profile
attributes with policies; that is, rules that set or change certain profile
attributes based on the current values of other profile attributes (see Fig.1).
|
The CARE (Context Aggregation and REasoning) middleware architecture
enables an integrated representation
and handling of profile information, including user, device, network, and context
descriptions as well as a mechanism to resolve conflicts in static and dynamic
descriptions.
In particular, our approach is focused on the representation and management of
distributed profile data and on the representation and evaluation of policies to
dynamically change these data.
The distinctive features of our approach are:
- a notion of profile data that goes beyond the representation
of user personal data and preferences by including information on the
device, its current status, the network infrastructure, the current
socio-cultural context and the content involved in the service request;
- a formalism to represent user and service provider policies
describing the dynamics of profile data;
- a mechanism to retrieve and compose profile data and policies from
different sources;
- an efficiently implementable strategy to resolve conflicts on policies
and profile attributes;
- a trigger-based mechanism for the adaptation of continuous services.
Architecture
The information in our extended profile
is owned by various entities located in different logical and physical places.
We identified three main entities involved in the
task of building an integrated profile, namely: the user and his devices
(called user), the network operator (called operator), and
the service provider. Every entity is associated with a Profile Manager
(called UPM, OPM, and SPPM respectively) devoted
to manage profile data and policies.
|
Fig.2:Overview of the CARE middleware architecture |
In particular:
- The UPM stores information related to the user and his devices.
These data include, among
other things, personal information, interests, context information,
and device capabilities.
The UPM also manages policies defined by the user, which
describe the content and the presentation he wants to receive under
particular conditions.
- The OPM is responsible for managing attributes describing the
current network context (e.g., location, connection profile, and network status).
- Finally, the SPPM is responsible for managing service provider
proprietary data including information about users derived from previous
service experiences.
The UPM and SPPM are also in
charge of managing local adaptation policies, and of interacting with ontology
services.
A high-level description of the system behavior is more easily illustrated
by mentioning the main steps involved in a typical service request (see Fig.2).
- A user, through his device and the connectivity offered by a network operator,
issues a request to a service provider.
- The service provider asks the Context Provider module to obtain the
context information needed to handle the request.
- The Context Provider module queries the profile managers
to retrieve remote profiles and policies.
- The Merge module aggregates profile data resolving
possible conflicts by means of priorities.
Then, the Inference Engine (IE) evaluates service provider and user
policies against the merged profile data, possibly resolving
conflicts. The resulting profile attributes are then returned to
the service provider.
These attribute values are used by the application logic to
properly select content and customize its presentation.
- Finally, the formatted content is sent to the user.
In Fig.2 a dashed line from an entity to a profile
manager indicates that the entity has the ability to update the
profile data and policies stored by that profile manager.
Profile Management and Aggregation
In order to aggregate profile information, data retrieved from the
different entities must be represented using a
well defined schema, providing a mean to understand the semantics
of the data.
As a language for representing context information we adopted the Composite
Capabilities/Preference Profiles (CC/PP) structure and vocabularies, with
possible references to OWL classes and relations.
Once the Context Provider has obtained profile data from the other profile
managers, this information is passed to the Merge, which is
in charge of profile integration. Conflicts can arise when different
values are given for the same attribute. For example, the UPM
could assign to the Coordinates attribute a certain value x
(obtained through the GPS of the user's device), while the OPM
could provide for the same attribute a different value y,
obtained through triangulation.
In order to resolve this type of conflict, the Service
Provider has to specify resolution rules at the attribute level in the form of priorities
among entities. Priorities are defined by profile resolution directives which
associate to every attribute an ordered list of profile managers.
This means that, for instance, a service provider willing to obtain the
most accurate value for user's location can give preference to the
value supplied by the UPM while keeping the value provided by
the OPM just in case the value from the UPM is totally
missing.
Adaptation Policies
Adaptation policies can be declared
by both the service provider and the user.
In particular, service providers can declare policies
in order to dynamically personalize and adapt their services
considering explicit profile data. For example, a
service provider can choose the appropriate resolution for an image to
be sent to the user, depending both on user preferences and on current
available bandwidth.
Similarly, users can declare policies in order to dynamically change their
preferences regarding content and presentation depending on some
parameters. For instance, a user may prefer to
receive high resolution media when working on his palm device, while
choosing low resolution media when using a WAP phone.
Both service providers and users' policies determine new
profile data by analyzing profile attribute values retrieved from
the aggregated profile.
Since policies can dynamically change the value of an attribute that may have
an explicit value in a profile, or that may be changed by some other policies,
they introduce nontrivial conflicts.
They can be determined by policies and/or by explicit
attribute values given by the same entity or by different entities.
For each class of possible conflicts, we have devised a proper conflict resolution
strategy, which is implemented in our policy language.
A direct evaluation algorithm for policies in our language has been developed, that
is linear in the number of rules.
Adaptation of Continuous Services
In order to include in the adaptation process the dynamics
of network- and user-side data which may change during
the continuous media provision, the CARE middleware
includes an asynchronous notification mechanism based on triggers.
Triggers in this case
are essentially conditions over changes in profile data (e.g.,
available bandwidth dropping below a certain threshold, or
a generic change in the user’s activity) which fire a notification
when met. In particular, when a trigger fires, the corresponding
profile manager sends the new values of the modified
attributes to the Context Provider module, which should then
re-evaluate the policies.
|
Fig.3:Trigger mechanism |
Fig.3 shows an overview of the mechanism. To ensure
that only useful update information is sent to the service
provider, a deep knowledge of the service characteristics
and requirements is needed. As a consequence, the
conditions upon notifications are set by the service provider
application logic, and communicated to the
Context Provider,
which appropriately forwards them to the profile managers.
Moreover, since most of the events monitored by
trigger settings sent to the UPM are generated by the user device,
the UPM communicates the settings to a server module
resident on the device.
Devices are equipped with an application monitoring the state of
the device against the received triggers (called Monitor in Fig.3).
Each time a profile manager receives an update that fires a trigger,
it forwards the update to the Context Provider. Finally,
the integrated profile is re-computed, and possible changes in
context data are communicated to the application logic, that can
properly adapt the service.
Experiments with an Adaptive Multimedia Streamer
Video captures of the experiments reported in "Distributed Context Monitoring for the Adaptation of Continuous Services", World Wide Web Journal (WWWJ), Special issue on Multi-channel Adaptive Information Systems on the World Wide Web (to appear).
Results with no adaptation, and variable bandwidth: no-adaptation.mpg
Results with our adaptive streamer, and variable bandwidth: care-adaptation.mpg
Note: the VLC media player is needed to display the videos.
Publications
Book chapters: |
- Alessandra Agostini, Claudio Bettini, Daniele Riboni,
"Integrated Profiling of Users, Terminals, and Provisioning Environments".
Chapter in The Handbook of Mobile Middleware, P. Bellavista and A. Corradi (Eds.), Auerbach Publications, pp. 901-937. 1st edition October, 20, 2006. ISBN 0849338336.
|
|
Journals: |
- Claudio Bettini, Oliver Brdiczka, Karen Henricksen, Jadwiga Indulska, Daniela Nicklas, Anand Ranganathan, Daniele Riboni,
"A Survey of Context Modelling and Reasoning Techniques".
Journal of Pervasive and Mobile Computing (to appear).
- Delfina Malandrino, Francesca Mazzoni, Daniele Riboni, Claudio Bettini, Michele Colajanni, Vittorio Scarano,
"MIMOSA: Context-aware Adaptation for Ubiquitous Web Access".
Personal and Ubiquitous Computing (to appear).
(DOI: 10.1007/s00779-009-0232-9).
- Alessandra Agostini, Claudio Bettini, Daniele Riboni,
"Hybrid Reasoning in the CARE Middleware for Context-Awareness".
International Journal of Web Engineering and Technology, 5(1):3-23, Inderscience publishers, 2009. (DOI: 10.1504/IJWET.2009.025011).
- Claudio Bettini, Linda Pareschi, Daniele Riboni,
"Efficient Profile Aggregation and Policy Evaluation in a Middleware for Adaptive Mobile Applications".
Journal of Pervasive and Mobile Computing, 4(5):697-718, Elsevier, 2008. (DOI: 10.1016/j.pmcj.2008.04.002).
- Daniele Riboni, Linda Pareschi, Claudio Bettini,
"Shadow Attacks on Users' Anonymity in Pervasive Computing Environments".
Journal of Pervasive and Mobile Computing, 4(6):819-835, Elsevier, 2008. (DOI: 10.1016/j.pmcj.2008.04.008).
- Claudio Bettini, Dario Maggiorini, Daniele Riboni,
"Distributed Context Monitoring for the Adaptation of Continuous Services".
World Wide Web Journal (WWWJ), Special issue on Multi-channel Adaptive Information Systems on the World Wide Web, 10(4):503-528, Springer, 2007. (DOI: 10.1007/s11280-007-0028-7).
|
|
International conferences: |
- Daniele Riboni, Claudio Bettini,
"Context-aware Activity Recognition through a Combination of Ontological and Statistical Reasoning". 6th International Conference on Ubiquitous Intelligence and Computing (UIC-09), to appear.
- Linda Pareschi, Daniele Riboni, Claudio Bettini
"Protecting Users' Anonymity in Pervasive Computing Environments". In Proceedings of the Sixth Annual IEEE International Conference on Pervasive Computing and Communications (PerCom 2008). IEEE Computer Society, 2008.
Full paper (pdf)
- Claudio Bettini, Daniele Riboni,
"Context-aware Web Services for Distributed Retrieval of Points of Interest". In Proceedings of the Second International Conference on Internet and Web Applications and Services (ICIW 2007). IEEE Computer Society, 2007.
Full paper (pdf)
- Claudio Bettini, Dario Maggiorini, Daniele Riboni,
"Distributed Context Monitoring for Continuous Mobile Services".
John Krogstie, Karlheinz Kautz, David Allen (Eds.): Mobile Information Systems II: IFIP Working Conference on Mobile Information Systems (MOBIS 2005), pp. 123-137. Springer, 2005. ISBN 0387295518.
Full paper (pdf)
- Alessandra Agostini, Claudio Bettini, Daniele Riboni,
"Loosely Coupling Ontological Reasoning with an Efficient Middleware for Context-awareness".
In Proceedings of MobiQuitous 2005, the Second Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services, pp. 175-182. IEEE Computer Society, 2005. ISBN 0769523757.
Full paper (pdf)
- Alessandra Agostini, Claudio Bettini, Daniele Riboni,
"Demo: Ontology-based Context-aware Delivery of Extended Points of Interest".
In Proceedings of the 6th International Conference on Mobile Data Management (MDM'05), pp. 322-323. ACM, 2005. ISBN 1-59593-041-8.
Full paper (pdf)
- Alessandra Agostini, Claudio Bettini, Nicolò Cesa-Bianchi, Dario Maggiorini, Daniele Riboni, Michele Ruberl, Cristiano Sala, Davide Vitali,
"Towards Highly Adaptive Services for Mobile Computing".
Elaine Lawrence, Barbara Pernici, John Krogstie (Eds.): Mobile Information Systems, IFIP TC 8 Working Conference on Mobile Information Systems (MOBIS 2004), pp.121-134. Springer, 2005. ISBN 0-387-22851-9.
Full paper (pdf)
- Claudio Bettini, Daniele Riboni,
"Profile Aggregation and Policy Evaluation for Adaptive Internet Services".
In Proceedings of MobiQuitous 2004, the First Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services, pp. 290-298. IEEE Computer Society, 2004. ISBN 0-7695-2208-4.
Full paper (pdf)
|
|
International workshops: |
- Daniele Riboni,
"Towards the Combination of Statistical and Symbolic Techniques for Activity Recognition".
Invited talk at the 6th IEEE Workshop on Context Modeling and Reasoning (CoMoRea'09), colocated with PerCom'09, Galveston, Texas, 13 March 2009.
Extended abstract (pdf)
Slides (pdf)
- Linda Pareschi, Daniele Riboni, Alessandra Agostini, Claudio Bettini,
"Composition and Generalization of Context Data for Privacy Preservation".
In Proceedings of CoMoRea'08, 5th IEEE Workshop on Context Modeling and Reasoning. IEEE Computer Society, 2008.
Full paper (pdf)
- Linda Pareschi, Daniele Riboni, Claudio Bettini, Sergio Mascetti,
"Towards Privacy Protection in a Middleware for Context-awareness (Short Paper)".
In Proceedings of Context Awareness and Trust Workshop (CAT 2007).
Online proceedings
- Alessandra Agostini, Claudio Bettini, Daniele Riboni,
"A Performance Evaluation of Ontology-based Context Reasoning".
PerCom 07 Workshops (CoMoRea'07, 4th Workshop on Context Modeling and Reasoning), pp. 3-8. IEEE Computer Society, 2007. ISBN 0-7695-2788-4.
Full paper (pdf)
- Claudio Bettini, Linda Pareschi, Daniele Riboni,
"Conflict Resolution for Context Reasoning with Multi-Entity Policies".
In Proceedings of the Workshop on Context Representation and Reasoning (in conjunction with ECAI 2006), pp. 7-12. Printed by Universita' di Trento, 2006.
- Alessandra Agostini, Claudio Bettini, Daniele Riboni,
"Online Ontological Reasoning for Context-Aware Internet Services".
In Proceedings of the Workshop on Context and Ontologies: Theory, Practice and Applications (in conjunction with ECAI 2006), pp. 77-78. Printed by Universita' di Trento, 2006.
- Alessandra Agostini, Claudio Bettini, Daniele Riboni,
"Experience Report: Ontological Reasoning for Context-aware Internet Services".
In Proceedings of PerCom 06 Workshops (CoMoRea'06, 3rd Workshop on Context Modeling and Reasoning), pp. 8-12. IEEE Computer Society, 2006. ISBN 0-7695-2520-2.
Full paper (pdf)
- Raffaella Grieco, Delfina Malandrino, Francesca Mazzoni, Daniele Riboni,
"Context-aware Provision of Advanced Internet Services".
In Proceedings of PerCom 06 Workshops (PerCom'06 Work in Progress session), pp. 600-603. IEEE Computer Society, 2006. ISBN 0-7695-2520-2.
Full paper (pdf)
- Claudio Bettini, Nicolo' Cesa-Bianchi, Daniele Riboni,
"A Distributed Architecture for Management and Retrieval of Extended Points of Interest".
In Proceedings of the 25th IEEE International Conference on Distributed Computing Systems - Workshops (ICDCS 2005 Workshops), pp. 266-272, IEEE Computer Society, 2005. ISBN 0-7695-2328-5.
Full paper (pdf)
- Dario Maggiorini, Daniele Riboni,
"Continuous Media Adaptation for Mobile Computing Using Coarse-Grained Asynchronous Notifications".
In 2005 IEEE/IPSJ International Symposium on Applications and the Internet Workshops (SAINT 2005 Workshops), pp. 162-165. IEEE Computer Society, 2005. ISBN 0-7695-2263-7.
Full paper (pdf)
-
Alessandra Agostini, Claudio Bettini, Nicolò Cesa-Bianchi, Dario Maggiorini, Daniele Riboni,
"Integrated Profile Management for Mobile Computing".
P. Ala-Siuru, N. J. Belkin, O. Mayora-Ibarra, S. Mizzaro (Eds.), Proceedings of AI Moves to IA Workshop, held in conjunction with IJCAI 2003, pp. 18-22. Morgan Kaufmann, 2003.
Full paper (pdf)
|
|
Public Demonstrations
- Alessandra Agostini, Claudio Bettini, Daniele Riboni,
"Demo: Ontology-based Context-aware Delivery of Extended Points of Interest" (pdf).
Demo session of the 6th International Conference on Mobile Data Management (MDM'05), May 11, 2005, Ayia Napa, Cyprus.
- Claudio Bettini, Daniele Riboni,
"Context-aware Adaptation Based on Distributed Policies: an Experimental Service" (pdf).
Demo session of MobiQuitous 2004, The First Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services, August 22-25, 2004, Boston, Massachusetts, USA.
People