This document discusses the design and deployment of context-aware mobile services. It presents a generic logical view of a context-aware system including data acquisition, context inference, quality of context evaluation, decision making, and service offering. It then describes the architecture of a prototyped context-aware system including context acquisition and storage, reasoning and decision processes, and web-based mobile applications. Examples of prototyped context-aware services are provided like location-based messaging and a contextual agenda. User experience testing showed viability of the concept though improvements were needed in positioning accuracy and system stability.
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
[MADRINET'08] Design and deployment of context aware services - a prototyping case-study
1. Grupo de Procesado de Datos y Simulación
ETSI de Telecomunicación
Universidad Politécnica de Madrid
Design and deployment of context-aware
services: a prototyping case-study
MADRINET’08
Ana M. Bernardos, Paula Tarrío, Josué Iglesias, José R. Casar
{abernardos, paula, josue, jramon}@grpss.ssr.upm.es
2. presentation content
generic environment description
generic logical view
user’s context
system environment description
service offering
architecture
examples
user’s experience
conclusions
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 2 / 1323
2/
3. generic environment description
symbolic generic
zones with different
shapes and sizes
generic mobile context-aware system
communication sensors
(infraestructure/ location system
infrastructure devices)
logical platform context-aware
mobile devices
(reasoning & decision) services
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 3 / 1323
3/
4. logical view
service
offering
personal
profile profiles
context QoC decision
inference evaluation making
data
acquisition
tracking [authentication &
user’s privacy management]
environment
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 4 / 1323
4/
5. logical view
service
offering
personal
profile profiles
context QoC decision
inference evaluation making
data
acquisition
tracking [authentication &
user’s privacy management]
environment
data acquisition and basic context descriptors
calculation includes sensor management,
continuous data acquisition mechanisms and
adaptive multisensor fusion to obtain
appropriate first level descriptors
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 5 / 1323
5/
6. logical view
service
offering
personal
profile profiles
context QoC decision
inference evaluation making
data
acquisition
tracking [authentication &
user’s privacy management]
environment
context interpretation will be also conditioned
by other descriptors shaped by user’s
personal profiles
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 6 / 1323
6/
7. logical view
service
offering
personal
profile profiles
context QoC decision
inference evaluation making
data
acquisition
tracking [authentication &
user’s privacy management]
environment
inference of composite data, sensor data and
profiles have to be associated to identities and
histories in an object recognition process
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 7 / 1323
7/
8. logical view
service
offering
personal
profile profiles
context QoC decision
inference evaluation making
data
acquisition
tracking [authentication &
user’s privacy management]
environment
tracking and predictive mechanisms to
anticipate the entities’ intentions, desires or
needs (it needs certain knowledge about the
user history)
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 8 / 1323
8/
9. logical view
service
offering
personal
profile profiles
context QoC decision
inference evaluation making
data
acquisition
tracking [authentication &
user’s privacy management]
environment
evaluation of quality of context to optimize
context acquisition to fulfill the applications’
requirements (is the context information
updated, accurate, complete, …)
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 9 / 1323
9/
10. logical view
service
offering
personal
profile profiles
context QoC decision
inference evaluation making
data
acquisition
tracking [authentication &
user’s privacy management]
environment
decision making, where context data is
combined to form an informational picture
that will decide which actions to take
regarding communications, service provision
or user interaction needs
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 10101323
/ /
11. logical view
service
offering
personal
profile profiles
context QoC decision
inference evaluation making
data
acquisition
tracking [authentication &
user’s privacy management]
environment
service offering and resources assignment to
support the continuity of services and the
service experience from the user point of view
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 11111323
/ /
12. generic context-aware system
generic mobile context-aware system
communication sensors positioning
infrastructure (infraestructure/ devices) system
logical platform context-aware
mobile devices
(reasoning & decision) services
symbolic generic
zones with different
shapes and sizes
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 12121323
/ /
13. how does itcontext
user’s works?
identity user’s context / time
location date
(user & device) (X,Y <zone>)
social profile
(student, professor, preferences
information researcher, …)
profile
...
services information *
visibility filter filter
n services bundle of services contextually filtered
contextually filtered information
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 13131323
/ /
14. system environment description
our mobile context-aware system
communication
infrastructure
WiFi
Bluetooth & WiFi sensor
sensors
infraestruscture
hybrid fusion system:
location
WiFi signal strength fingerprint
system
Bluetooth propagation model
commerciar service provider
logical
application server
platform
databases
mobile devices several PDAs
context-aware
services
web-based services [next slides]
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 14141323
/ /
15. service offering
• WEB services (access to dynamic WEB pages)
• manually triggered (icons) or via QR codes
information • fair general information or particular information about an exhibitor,
group member or exhibitor location, maps, …
services
customized agenda context-aware context-aware
finder
(by date & time) advertising reports access
• to keep in contact the different fair participants
communication
services geo-referenced notification to
vCards exchange
messaging exhibitors
• direct access to device built-in applications
• to make visible those applications that could be useful to the user in a
execution given moment
services
QR reader notebook recorder VoIP
• personal information management
control • control services for exhibitor and organizers
services system registration profile & preferences management statistics
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 15151323
/ /
16. architecture design
functionalities:
database store
applications information request construction
data exchange files generation
content management & update
processes:
user’s authentication & registration
reasoning & predicate handling
decision contextual service offering configuration
rule-based reasoning
context descriptors acquisition processes:
context identity acquisition & store
preferences management
acquisition & location estimation
store group association
contextual model: tuple-value
COTS web services
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 16161323
/ /
17. arquitecture
messaging •
agenda •
preferences • contents •
external external administrator …•
groups • context context
…• DB generator
...
applications
HTTP/XML support DB
WiFi RSS
fingerprint
fusion HTTP/XML application
engine context- handler
Bluetooth (location) aware
model services
provider HTTP/HTML
PDA applications
role •
zone • context client
statistics • context
…• DB positioning client
acquisition & store reasoning & decision applications
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 17171323
/ /
18. examples
registration
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 18181323
/ /
19. examples
context-aware
service offering
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 19191323
/ /
20. examples
geo-referenced messaging
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 20201323
/ /
21. examples
contextual
agenda finder
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 21211323
/ /
22. user’s experience
services
10 fair visitors
PDA with pre-installed applications
limited experience (6/10)
information & communication
services
location-based services
experience
easy use / control
viability of the concept of offering
context-aware services
bundle of services programmed
system stability
positioning system accuracy
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 22221323
/ /
23. conclusions
1. functionalities identified in the theoretical model are finally built
on different components, not attached to a single component
1. user’s system expectations are mainly influenced by the stability
and accuracy of the positioning engine
1. compromise between user interaction requests, automation and
user control is needed
.
.
analysis of the user experience let us think that centric device
.
context-aware services may be widely accepted in a near future
it remains pending long range evaluation about the use of these
kind of services, matter not so much covered in related literature
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 23231323
/ /
24. any question?
Prototyping of context-aware mobile services – – CISTI 2008
Prototyping of context-aware mobile services MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 24241323
/ /
25. full service offer
Prototyping of context-aware mobile services – 2008
Servicios móviles basados en contexto – CISTI MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 25251923
/ /
26. real implementation
Prototyping of context-aware mobile services – 2008
Servicios móviles basados en contexto – CISTI MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 26261923
/ /
27. another functional view
Prototyping of context-aware mobile services – 2008
Servicios móviles basados en contexto – CISTI MADRINET’08 josue@grpss.ssr.upm.es
josue@grpss.ssr.upm.es 27271923
/ /
Editor's Notes
Hello, good morning. I’m Josué Iglesias, I work for the GPDS group in the UPM, there in Madrid, and I’m going to talk about a context-aware provisioning system we have developed. The main objective of my speech is to describe the design, development and evaluation of this system that, even thought it has been developed for a specific domain, it also shares in general a lot of horizontal functionalities with other context-aware systems. HABLAR EN PRIMERA PERSONA!!!!!!!
The speech is divided in this 3 big blocks: first, I will introduce a generic context-aware system second block will cover our particular solution to the problem and finally, we will show some examples of our system to conclude with the evaluation of the user’s experience and conclusions
We have supposed an hypothetical environment in which context-aware services are offered to the users via mobile devices. This environment it is divided into different virtual zones And we have identified the main elements in this domain. These are: a communication infrastructure to support the system-users communication and also the communication between users. We are thinking about heterogeneous technologies altogether (WiFi, Bluetooth, cellular, etc.) a number of sensors to acquire context data a location system, not only to get absolute positioning (you know, like X,Y) but also mapping them into well-known locations a logical platform to manage user’s context in order to take decisions related to the services and information to be offered; and a bundle of context-aware services and, of course, mobile devices This environment would be built in order to adapt the services and the information offered to the users depending on their context. Now I’m going to show you our logical view of this generic system.
We have divided this logical view in different blocks that I’m going to explain now:
This first block is the one in charge of acquiring the user’s context; it includes sensor management, continuous data acquisition and adaptive multisensor fusion to obtain first level context descriptors
At the same level we find this block that gathers and manages user’s personal profiles.
In this block, context descriptors are associated to real identities, in what we have called an object recognition process. These descriptors are context data from sensors, personal profile data, but also new data inferred from these ones
tracking is used to anticipate the users’ intentions, desires or needs To achieve this objective, it is necessary to keep certain knowledge about the user history
Quality of Context is a very important concept in context-aware systems nowadays. It uses some indicators to diagnose if the information received from sensors is, for example, updated, accurate or complete, this in order to satisfy application’s requirements.
Position, profiles and context in general are combined to form an informational picture that will be used as input data for this decision support block. it will decide which actions to take regarding communications, service provision or user interaction need
The last block , the service offering block, will support the continuity of services and the service experience from the user’s point of view
Then now I’m going to translate this generic system we have just seen, the environment description, filters that we have used and the logical view, into our particular implementation
This environment would be built in order to adapt the services and the information offered to the users depending on their context. So we will use user’s context twice: first to filter the whole set of services, showing in the user’s terminal just those services adapted to his context (like a kind of “visibility filter”) and later, when one of these services is run, we will again use user’s context to filter the information that the services show (something like a “presentation filter”). These are the specific context descriptors we have used to shape user’s environment: identity of the user and his device user location temporal information, that is: date and time user’s profile, this is a classification of users in: student, professor or researcher and other information (social information and preferences) provided to the system by the user himself when registering. This goes from private groups to user’s technology interest, that are also used to filter information
Regarding the environment, our testbed was prepared for an employment fair that is annually held in our telecommunication school, there in Madrid. We have divided the available space into 3 main zones: entrance, conferences and general, but also one specific zone attached to each expositor. As you can see in the table: we have use WiFi as communication infrastructure there is also a sensoring infrastructure based on Bluetooth and WiFi, that ... is used by the location system, fusioning both technologies we will see later in details the logical platform when talking about the systems architecture and finally, of course, several kinds of PDAs and a set of context-aware services
We can divide the services offered in these 4 groups: information services are web services activated by icons or via QR-codes They offer location services and also general information about the fair or particular information about expositors. Like an example of this kind of service we can think about a customized agenda filtered by date and time context-aware advertising a locator. Of people, groups or expositors or access to context-aware technological reports the main objective of communication services is to keep in contact the different participants of the fair we are talking about geo-referenced messaging notifications to the exhibitor when not in the stand or virtual cards exchange execution services are device built-in applications. in this case, the objective of our system is to make more visible those applications that could be useful to the user in each moment. for example: a QR-codes reader when some QR-code is close to the user a notebook when in a conference or a VoIP application to conclude with the services, control services are those that allow users to manage their personal information and other control mechanism to exhibitors and organizers these could be initial system registration service user’s preferences management or statistics
Talking about the architecture design, I just want you to know three or four key ideas: our architecture is divided in 3 functional levels: context acquisition & store, reasoning & decision and application contextual descriptors are stored using a tuple-value data model contextual service offering configuration (this is, which services are offered to the users depending on what context) has been done using a rule-based reasoning and, in general, we support all this architecture using COTS technologies and in particular a web-services approach You can find more details on this in the paper.
Well, about the architecture we can say that: Our system revolves around a commercial context provider, a logical element with reasoning and decision capabilities in charge of providing services to the users depending on their context. In this case, in order this subsystem to run properly, we need a client software in user’s devices. From the set of context descriptors our system uses, one of the most important is location. We have developed our own positioning system fusioning WiFi signal strength fingerprinting with Bluetooth propagation models. In order this subsystem to work properly, we also need a positioning client in user’s devices. Other contextual descriptors are stored in different data bases when the user registers. These are the context DB (that is part of the commercial context provider) and a external context DB. Context Provider receives and interprets context data via XML code. Our location subsystem directly offers XML, but we need an “external context generator” in order the Context Provider to access data from external context DB. In this point, Context Provider can apply the first filter we saw before (visibility filter), offering to the user just those services adapted to his context. We, as system’s administrators, will configure the relation between services offered and context. Then, when the user decides to run any service, a device built-in application will be launch or web services application will be accesed in a Application Handler. This handler (supported by the Applications support DB) can filter information offered to the user (remember, the presentation filter shown before) also depending on user’s context. It’s because of this that the Application Handler may get access acquisition & store level.
Before evaluation and conclusions, I’m going to show you here some examples of how our system looks like. Here you can see the system’s registration window. Here the user can introduce some information like the “social information” and the “preferences” we talk about them before.
service offering received by the user is modified by contextual descriptors. Here you can see how this offering changes depending on the user being in a conference room or in a particular stand of the fair. In both windows we can see some “common services” (like a map of the fair, for example) In the conference window we can see services like a notebook or a virtual card exchange service On the other hand, in the stand, services are related to the exhibitor activities.
Another important service is the geo-referenced messaging. Here messages are sent to a particular zone of the deployment and then, these messages will be received by the user just when being in that particular zone.
To finish with the examples, you can see here a capture of the contextual agenda (filtered by date and time) and a finder service to locate people, groups or stands.
Next in these 2 graphics, the results of an evaluation on the system I have just present. We know that it is a limited-scope evaluation, as the experiment involved just 10 fair visitors. They received a PDA with pre-installed applications and they all said to have a limited experience with that kind of devices From the analysis of the results we can conclude that: from the 4 sets of services offered, those most appreciated are information & communication services in general and location-based ones in particular in general, users agree that they could use services in a easy way and they always feel services under control regarding the global experience, users appreciate both the viability of the concept (offering context-aware services in this kind of environments), and also the bundle of services programmed The stability of the system obtains a middle score that may be associated with lack of accuracy of the positioning system.
As main conclusions we can say that: functionalities identified in the theoretical model are explicitly present in the real system but they are finally built on different components, not attached to a single component it is critical to find an effective positioning system, as user’s system expectations are mainly influenced by the stability and accuracy of the positioning engine using a centralized and externally managed system (both for positioning and context data acquisition) may have some advantages. But it is important to analyze the impact of this strategy on the feeling of control the user has over the process. A compromise between user interaction requests, automation and user control is needed And as more general and long-termed conclusion: favorable analysis of the user experience let us think that device centric context-aware services may be accepted if they are deployed on stable infrastructures (both regarding communications and positioning) and designed with an adequate automation level that guarantees the equilibrium between the feeling of control and the need of interaction it remains pending long range evaluation about the use of these kind of services, matter not so much touched in related literature