Context-Sensitive Conversation Patterns
for Agents in Wireless Environments
Santtu Toivonen
1
, Heikki Helin
2
,
Mikko Laukkanen
2
, and Tapio Pitk
¨
aranta
1
1
VTT Information Technology
P.O.Box 1203, FIN-02044 VTT, FINLAND
2
TeliaSonera Finland
P.O.Box 970, FIN-00051 Sonera, FINLAND
Abstract. We outline an approach for adapting software agent conversations be-
tween a mobile client and a service provider. The adaptation takes advantage of
the context information characterizing the client’s current situation. The service
provider takes this context information into account when selecting / creating a
suitable interaction protocol for communicating with the client. Both the context
information and the interaction protocol descriptions are based on ontologies,
which are assumed to be known by the conversating agents.
1 Introduction
In ubiquitous environments, services can be accessed in various contexts. Context infor-
mation is anything that can be used to characterize the situation of an entity. An entity,
in turn, can be a person, place, or object that is considered relevant to the interaction
between a user and an application, including the user and application themselves [1].
Also details of the device used to access the service, and characteristics of the network
over which the services are accessed, are contextual information. In this paper, we focus
especially on wireless networks, and how they can be utilized when customizing agent-
based services for users. Particularly, network Quality of Service (QoS) is investigated.
When performing a handshake between a client and the service provider, context
information is taken into account before the actual interaction. Context information can
have influence on what services are provided to the client, or how a specific service
is tailored to best facilitate the interaction between the client and the service provider.
More specifically, context information may have impact on the chosen interaction pro-
tocol according to which the service is accessed. Interaction protocols set the rules that
govern the interaction [2] and are often used to steer software agent conversations. They
typically consist of ordered sets of messages, as well as restrictions on which participant
can send a message, of what type, to whom, and in what state of the protocol.
In [3], the authors discuss a bilateral negotiation protocol. Conversating agents can
utilize it for adapting to the quality of the network they are using. In contrast to their
approach, we make a distinction between the client and the service provider, and do not
Toivonen S., Helin H., Laukkanen M. and Pitkäranta T. (2004).
Context-Sensitive Conversation Patterns for Agents in Wireless Environments.
In Proceedings of the 1st International Workshop on Ubiquitous Computing, pages 11-17
DOI: 10.5220/0002676800110017
Copyright
c
SciTePress
Network
Class
WirelessNetwork
Class
WirelineNetwork
Class
disjointWith
subClassOf
subClassOf
GSM
Class
subClassOf
GPRS
Class
subClassOf
WLAN
Class
subClassOf
IEEE802.11a
Class
IEEE802.11b
Class
subClassOf
subClassOf
UMTS
Class
subClassOf
QoSProperty
Class
Service
Class
hasService
ObjectProperty
range
hasIdentifier
ObjectProperty
Operator
Class
operatedBy
ObjectProperty
domain
range
availableAt
ObjectProperty
domain
Location
Class
range
qosProperties
ObjectProperty
domain
domain
Identifier
Class
range
domain
PacketSwitched
Class
CircuitSwitched
Class
subClassOf
subClassOf
subClassOf
subClassOf
WAN
Class
LAN
Class
PAN
Class
BlueTooth
Class
subClassOf
subClassOf
subClassOf
subClassOf
subClassOf
subClassOf
hasGPRS
ObjectProperty
range
subClassOf
Restriction
subClassOf
1
onProperty
maxCardinality
range
Fig. 1. The core concepts of the network ontology
design a framework where the agents could negotiate as equal peers about how the in-
teraction should take place. Instead, in our approach the service provider is responsible
for the selection / creation of the interaction protocol to be used.
We are unaware of any research in ubiquitous environments, which investigates the
relationships between context information and the selection / creation of interaction
protocols used to access services. We believe, however, that such relationships could be
found and explicated. One rule of thumb might be, that the longer round-trip times for
messages, the simpler interaction protocol should be. Another one could emphasize the
relationship with the device’s and operating system’s ability for parallel processing and
the number of concurrent protocols under execution.
Both context information and interaction protocol descriptions are specified accord-
ing to ontologies. The ontologies can be utilized for adaptation by both the service
provider and the client. The service provider’s agent can adapt the service based on the
context information received from the client. The client, in turn, can modify its behavior
to conform with the interaction protocol description received from the service provider.
An example on how the client-side adaptation to interaction protocol descriptions can
take place is described in [4].
In the next section, we briefly address the ontologies that are relevant for adapt-
ing interaction protocol based services according to network characteristics and net-
work QoS attribute values. We then consider an example of such adaptation. Finally,
we present some concluding remarks and future directions.
12
2 Context Ontologies for Service Adaptation
This section summarizes three ontologies. These are intended for describing networks,
network QoS, and interaction protocols, respectively. These ontologies are needed in
order to perform the adaptation of services according to the context information char-
acterizing the client. There are other kinds of relevant contextual information that could
have impact on the service adaptation. Information about the person accessing the ser-
vice is one potential candidate. Information which is more permanent in nature, such as
gender and nationality, could result in completely different services provided to differ-
ent people. In addition, dynamic information such as social context and user’s current
mood, could be taken account when adapting the services. Properties of client device,
such as screen size, operating system, and available memory, could also have impact on
the adaptation [5]. However, in this but in this paper we focus on the network, especially
on its QoS.
Figure 1 concentrates on the wireless branch of the network ontology [6], which
is more important in typical ubiquitous scenarios, than the wireline branch. WIRE-
LESSNETWORK has several subclasses such as WLAN and UMTS. The notions of
CIRCUITSWITCHED and PACKETSWITCHED can be used to define the data connection
mode of the network. Furthermore, each network is available at some LOCATION. In
this paper, we do not consider how locations are expressed, but assume that there is
some other ontology, which can be used to describe such issues.
Figure 2 depicts a network QoS ontology, which is based on the FIPA Quality of
Service Ontology [7]. It is contains for example the following properties. LINERAT E
is used to express the bandwidth in one direction over a measured component. DELAY
is the (nominal) time required for a data segment to be transmitted to a peer entity.
RTT, round-trip time, is the time required for a data segment to be transmitted to a
peer entity and a corresponding acknowledgment sent back to the originating entity.
FRAMEERRORRATE is the probability, that a data segment is not transmitted correctly
over a measured component.
Interaction protocol ontology [8] plays a different role in the service adaptation than
the previous two ontologies. The network ontology and the network QoS ontology were
used to describe the context information, whereas the interaction protocol ontology
is used to describe how the services are accessed. The offered interaction protocol is
selected / created based on the contextual details.
Figure 3 depicts the concepts forming the core of the interaction protocol ontology.
INTERACTIONPROTOCOL concept contains general information about the interaction
protocol, such as information about the participating agents. Every protocol has one
INITIATOR and one or more PARTICIPA N Ts.
Every interaction protocol has exactly one PROGRESS component that defines pro-
gression of the interaction protocol. PROGRESS consists of STATEs that constitute the
flow of the protocol. STATEs can have decision points called CHOICEs that in turn have
OPTIONs to choose from. Only one OPTION can be chosen in a given STATE. A MES-
SAG E can be sent or received as a consequence of choosing an option in a particular
state. In the core set of the ontology, the message only contains an identifier and the
sender and receiver information. However, it can be extended with concepts that enable
13
QoSProperty
Class
LineRate
Class
subClassOf
Delay
Class
subClassOf
Throughput
Class
subClassOf
value
DataTypeProperty
Direction
Class
direction
ObjectProperty
Collection
oneOf
InBound OutBound
range
xsd:nonNegativeInteger
range
RateValue
Class
hasRateUnit
ObjectProperty
hasRateValue
ObjectProperty
range
RateUnit
Class
range
Collection
oneOf
bits/s
kbits/s
mbits/s
Restriction
onProperty
subClassOf
1
cardinality
Restriction
subClassOf
onProperty
1
cardinality
Restriction
onProperty
subClassOf
1cardinality
TimeValue
Class
hasTimeUnit
ObjectProperty
TimeUnit
Class
range
Collection
oneOf
ms
s
m
h
Restriction
subClassOf
1
cardinality
onProperty
Restriction
subClassOf
1
cardinality
onProperty
Restriction
subClassOf
1
onProperty
maxCardinality
ProbabilityValue
Class
Restriction
subClassOfRestriction
subClassOf
1
maxCardinality
onProperty
onProperty
RTT
Class
subClassOf
MeanUpTime
Class
subClassOf
ConnSetupDelay
Class
subClassOf
TimeQoSProperty
Class
subClassOf
hasTimeValue
ObjectProperty
domain
range
RateQoSProperty
Class
subClassOf
domain
ProbQoSProperty
Class
subClassOf
hasProbValue
ObjectProperty
domain
range
BER
Class
subClassOf
OmissionRate
Class
subClassOf
FrameErrorRate
Class
subClassOf
ConnSetupFailureProb
Class
subClassOf
1
cardinality
Fig. 2. The network QoS ontology
more detailed descriptions. For example, in [8], we introduced a FIPA extension to the
ontology.
3 An Adaptation Example
We now describe one way of adapting a service according to network conditions. Lo-
cation of a mobile user changes as he moves around. By having location information
of the user, the service provider can conclude where the user is heading and how fast.
These information may be useful for the service provider when adapting services [9,
10]. Knowledge of the direction, for example, can result in the system providing the
user with information related to things that are ahead of user, rather than behind [11].
14
InteractionProtocol
Class
Class
Agent
Class
Initiator
Class
Participant
subClassOf
subClassOf
Class
State
Class
Progress
Restriction
subClassOf
1
minCardinality
ObjectProperty
hasState
onProperty
range
Restriction
subClassOf
1
cardinality
ObjectProperty
hasProgress
onProperty
Restriction
subClassOf
1
cardinality
ObjectProperty
hasInitiator
onProperty
Restriction
subClassOf
1
minCardinality
ObjectProperty
hasParticipant
onProperty
range
ObjectProperty
follows
Class
PredThing
range
sendBy
ObjectProperty
recvBy
ObjectProperty
range
range
range
range
choices
ObjectProperty
range
hasTimeout
ObjectProperty
TimeOut
Class
range
Message
Class
Exception
Class
subClassOf
subClassOf
hasMessage
ObjectProperty
range
Option
Class
subClassOf
domain
domaindomain
domain
domain
domain
domain
domain
domain
domain
Fig. 3. The core concepts of the interaction protocol ontology
Knowledge of speed and direction of the user can be utilized also when specifying
the interaction protocol for accessing the services. The service provider can estimate, for
example, how soon the user is expected to be out of network coverage. This estimation
can in part determine the chosen interaction protocol. If the service provider estimates
that the user is expected to be out of network coverage soon, it tries to provide the
user with an interaction protocol description with less roundtrips. Instead, if the user
is expected to stay longer within the network coverage area, the service provider can
provide him with a more sophisticated version of the interaction protocol. This kind of
reasoning could, for example, result in providing different interaction protocols to users
on foot than to users on a tram or driving a car.
Should the service provider have the user’s current network and QoS information,
it can perform further reasoning besides that based on the speed and direction. For
example, if the expected round-trip time is short enough, the service provider can decide
to go forward with a protocol having more round-trips, even if the user is soon heading
out of the network coverage area. With a potential for more round-trips, the service
provider can engage a conversation trying to find out the user’s preferences and interest
of the services it is providing.
Furthermore, should there be multiple networks to choose from, the service provider
can select the most suitable one to best facilitate the user. The service provider can also
perform handovers, for example from WLAN to GPRS networks and back [12]. While
15
in WLAN coverage area, the service provider and the client can engage a conversa-
tion along a more sophisticated interaction protocol, and shift to a more stripped-down
version when the user is heading out of the WLAN hotspot. In addition to mere net-
work types, the service provider could also take advantage of the real-time QoS values,
as discussed in [13]. For example, should the user enter a crowded WLAN hotspot,
continuing the conversation with GPRS connection can prove to be more appropriate.
4 Conclusions and Future Work
We presented ontologies for expressing wireless networks, network QoS, and inter-
action protocols. Such ontologies can in part enable service adaptation according to
context information in ubiquitous environments. We outlined one adaptation example.
Our future work around the area includes considering further properties of networks
and how they could have impact on the chosen interaction protocol. In addition, we are
going to consider device details and user preferences as context information. In this pa-
per we focused on interaction protocols and did not consider individual messages. Fur-
ther work could be done on adjusting message contents and sizes based on the context
information. Such message level adaptation could also be integrated with the interaction
protocol level adaptation.
References
1. Moran, T., Dourish, P.: Special issue on context-aware computing. Human Computer Inter-
action (2001)
2. Jennings, N., Faratin, P., Lomuscio, A., Parsons, S., Sierra, C., Wooldridge, M.: Automated
negotiation: Prospects, methods and challenges. International Journal of Group Decision and
Negotiation 10 (2002) 199–215
3. Paurobally, S., P.J., Turner, Jennings, N.: Automating negotiation for m-services. IEEE
Transactions on Systems, Man and Cybernetics, Part A 33 (2003) 709–724
4. Toivonen, S., Helin, H., Min, J., Pitk
¨
aranta, T.: Using interaction protocols in distributed
construction processes. In: Proceedings of the 6th International Conference on Enterprise
Information Systems (ICEIS 2004), Porto, Portugal (2004)
5. Foundation for Intelligent Physical Agents: FIPA Device Ontology Specification, Geneva,
Switzerland. (2000) Specification number SI00091.
6. Helin, H., Laukkanen, M.: Wireless network ontology. In: Proceedings of the 9th Meeting
of the Wireless World Research Forum (WWRF), Zurich, Switzerland (2003)
7. Foundation for Intelligent Physical Agents: FIPA Quality of Service Ontology Specification,
Geneva, Switzerland. (2000) Specification number SC00094.
8. Toivonen, S., Helin, H.: Representing interaction protocols in DAML. In van Elst, L.,
Dignum, V., Abecker, A., eds.: Agent-Mediated Knowledge Management: Selected Papers
from AAAI 2003 Spring Symposium. Volume 2926 of Lecture Notes in Artificial Intelli-
gence., Berlin, Springer (2004) 310–321
9. Vidales, P., Chakravorty, R., Patanapongpibul, L.: Ubiquitous networking in heterogeneous
environments. In: Proceedings of the 8th IEEE Mobile Multimedia Communications (Mo-
MuC 2003), Munich, Germany (2003)
10. Baus, J., Ding, Y., Kray, C., Walther, U.: Towards adaptive location-aware mobile assis-
tants. In: Proceedings of the IJCAI Workshop on Artificial Intelligence in Mobile Systems
(AIMS’01), Seattle, USA (2001)
16
11. Jones, G., Brown, P.: Challenges and opportunities for context-aware retrieval on mobile
devices. In: Proceedings of the SIGIR workshop on Mobile Personal Information Retrieval,
Tampere, Finland, ACM (2002) 47–56
12. Pesola, J., Ponkanen, S.: Location-aided handover in heterogeneous wireless networks. In:
Proceedings of the Mobile Location Workshop (MLW’03), Aalborg, Denmark (2003)
13. Helin, H., Misikangas, P.: Supporting seamless roaming in FIPA nomadic application ar-
chitecture. In: Proceedings of the IJCAI-01 Workshop on Artificial Intelligence in Mobile
Systems (AIMS’01), Seattle, USA (2001) 25–30
17