You are on page 1of 6

Peer-to-peer Autonomic Location Based Services

Peter Leong
Singapore Polytechnic
500 Dover Road
Singapore 139651
Senthil Sukumar
Singapore Polytechnic
500 Dover Road
Singapore 139651

Valencia Lee
Singapore Polytechnic
500 Dover Road
Singapore 139651

In this paper, we describe a new approach towards creating
location-based services with autonomic characteristics. Location
based services is gaining acceptance in many applications that
require the geographical context of the user. Examples of these
include mobile advertisements, events announcements, news
feeds, and information guides. Peer-to-peer systems are suited to
dynamic mobile systems because the loose association between
the mobile clients fits naturally with the P2P network; and
additionally P2P architecture allows each service client machine
to act also as a service provider. However, most present P2P
systems had been designed with a fixed infrastructure rather than
a wireless or mobile infrastructure. This paper proposes an
intelligent location context-aware peer-to-peer multiagent system
that could be used to address the dynamic requirements of a
mobile infrastructure and hence provide reliable autonomic
location-based services environment.
Peer-to-Peer, Location Based Service, Autonomic
In this paper, we describe a new approach towards creating a
location-based service with autonomic characteristics. The
architecture is completely distributed with autonomous agents
interacting enable the delivery of the location-based services; as
well as performing the self-management or autonomic functions
of the system. Agents are embedded programs that are capable of
responding pro-actively and flexibly to changes in their
environment. When a problem is complex, a multi-agent system
(MAS) where a number of individual agents collaborate to solve a
common problem is possible solution.
This rest of this paper is organized as follows. In section 2, we
give an example of the motivation for the P2P autonomic location
service. Section 3 discusses in detail the development of a
prototype of such a location-based service. Section 4 discusses the
autonomic features in more detail. Section 5 reviews some related
work. Finally, the conclusion and future work are discussed in
section 6.

Location based services is gaining acceptance in many
applications that require the geographical context of the user. In
this paper, our motivating scenario is that of a Mobile Digital
Concierge (MDC) application that was conceived as a way to
allow foreign visitors to navigate our urban landscape with the
ease and comfort and access to on-demand information. The aim
of the application is to provide a personalized experience akin to
having a personal tour guide while at the same time providing the
extensive knowledge of maps, street directories and brochures
without actually physically having to resort to these.
There are a variety of commercially available tourist-friendly
applications today. The problem with these applications is that
they are often desktop-based, and provide little or no mobile
capabilities. Those that do rely on external software developers to
port the map service onto handheld devices, with the result being
that these have limited functionality and usability.
In addition to the lack of mobile interfaces, there is also a lack of
service consolidation or composite services. There are many
mobile services that are available to users wishing to seek
particular types of information. However, while these services
may exist in one form or another, there are usually only available
to subscribers of a particular mobile service, and they are often
standalone services. Users today may be able to get airline flight
data, hotel information or location-specific maps just with their
mobile device, but they often are required to subscribe to multiple
services to access them.
The mobile environment has very diverse communication
technologies ranging from 3G, HSDPA, and WiFi to IMS [13].
Mobile users may also be connected to different communication
channels depending on their location. Managing such a
heterogeneous complex architecture requires the system to be
capable of self-manage or autonomic capabilities. Autonomic
feature increase the system reliability and manageability.
3. MDC Location-based Service

3.1 Requirements Analysis
In the MDC, three different kinds of agents or actors were
identified; namely, the Client Agent, the Middleman Agent and
the Server Agent (see Figure 1). The Client Agent will be in
charge of representing the client in the network and

Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists,
requires prior specific permission and/or a fee.
MC'07 (Mobility'07), September 10-12, 2007, Singapore.
Copyright 2007 ACM 978-1-59593-819-0.….…$5.00

communicating with the Middleman Agent for requests to the
server. The task of the Middleman Agent is clearly determined by
its name, acting as the middleman between the client and the
server, transferring requests and data. The Server Agent will then
be in charge of representing the server in the network and
communicating with the Middleman Agent for response to the

Search for Appropriate Service
Check User Agent ID
Transfer Data
Forward UserAgent Request
Return Requested Data
Service Agent
Return Requested Data
Select Requested Data
Send Service Update(s)
Store Record Of User Request

Figure 1. Agents Use Case for MDC

3.2 Architecture
The software agents identified in the analysis work co-operatively
to attain the system objectives. The agents will be able to help
reduce the network load by minimizing computation work and
executing tasks simultaneously on multiple network hosts. They
will be able to adapt quickly to new environments, making the
system information more dynamic and catered to each client’s
specific needs. Only the source needs to be updated on the new
information thus providing flexibility in maintenance. The agents
can also operate without an active connection between client and
server, enhancing the tolerance level of the whole system to
network faults. They will thus have the ability to update the client
on the necessary data once the connection is being retrieved.
The MDC application provides location-based mapping to aid
users in navigating their terrain. This functionality is the strongest
aspect of the MDC application in terms of being a replacement
tool for paper-based guides, and replicates the function of a
normal map on the mobile device.
3.2.1 Agent Models
In [4], we have proposed a new agent model that is a hybrid of
fuzzy cognitive networks and goal-net. The following sub-
sections give the background to fuzzy cognitive maps and goal-
net. Subsequently, we shall examine how the FCGAMAS is being
extended for a large-scale extended MAS (EMAS).
Fuzzy cognitive maps [2] are a formal way of representing
knowledge and modelling relationships between concepts.
Variable concepts are represented by nodes in a directed graph.
The graph’s edges are the casual influences between the concepts.
The value of a node reflects the degree to which the concept is
active in the system at a particular time. A FCM is represented
mathematically by a n state vector C, which gathers the values of
the n concepts, and by an n x n weighted matrix M. Each element
of the matrix is the value of the weight between concepts c

and c
. The activation level is calculated by the following rule:


m c f c
This computation process is repeated until the system
convergence (for example, when
C =
C ) or reaches a
limit-cycle. f is a threshold curve function (for example,
sigmoid, tanh, erf, or erfc functions).
3.2.2 Goal Net modelling
Goal Net is a methodology to model the complex goals of agents.
A Goal Net is composed of states, transitions, arcs, and branches.
With reference to figure 2, the various Goal Net objects are:
A. States: States represent the goals in the Goal Net model.
They may be composite goals that can be decomposed into
sub-goals forming a hierarchy.
B. Transitions: A transition represents actions that bring the
Goal Net from one state to another state. Transitions are the
behavioural model of goal-net.
C. Arcs: Transitions and states are joined via arcs. The model
the relationship between goals and transitions. For example,
sequence, choice, concurrency and synchronization.
D. Branches: A composite state is linked to a sub goal net via
branches (left and right).

Figure 2. Goal net model elements

3.3 Implementation
The MDC system has agent based components that interact
together with other agents forming a multiagent system (MAS).
However, several components of the MDC are implemented using
non-agent based approaches. Non-agent components include the
GPS location information provider, the Web Mapping Service
(WMS), the Map and Hotspot database, the Information Service
database, the Events database, and the Promotions database.
In the MDC system, there are multiple data sources from non-
agent based components. To improve interoperability, these non-
agent based components export service oriented interfaces.
g1 g2
composite state
t1 t4
atomic state
atomic state
Proc. of the 4
Intl. Conf. on Mobile Technology, Applications and Systems (Mobility 2007) 275
Agents in the system connect with these non-agent components
through the service oriented interfaces. Between agents in the
multiagent system, the rich semantics of agent communication
language (ALC) help the different agents in the system to
cooperate to fulfil the system objectives.

Figure 3. System Diagram of MDC

We analyzed the MDC system in detail to identify the autonomic
features which the system must exhibit. In the process, we also
identified the agent capabilities that must support these autonomic
characteristics. Agents in the system that must have these
capabilities are also identified. The result of the analysis is
summarized in Table 1.
Table 1. Autonomic Capabilities of MDC
Self-* /
Agent /
1. Finds most optimal
communication service
(for example WiFi, 3G,
2. Switches the most
optimal communication
3. Stores the new

• Location
• User
• Middleman
4. Switches to most
optimal service
5. Select suitable service
agent used to avoid
congestion on mobile
proxy servers.
6. Select suitable service
agent used depending
on available services
matching query
• Location
• Middleman
• Service
7. Instantiate use of new
service agent for
service provider when
• Location
location of user
changes. This is
depends on the current
location of the user.
8. Switch to new service
provider when access
is faster or information
quality is better or more
relevant based on the
present location of the

• User
• Location
• Middleman
• Service

9. Promotions and events
information that are
relevant based on the
present user location
are selected for
10. Promotion and events
information must be
filtered based on user

• Location
• Promotion
• Events
• User
• Service

The partitioning of the system for deployment into different
physical servers is dependant upon the infrastructure. For
example, all agents related to the organization C (see Figure 3) for
users can be placed on agent server 2 (AS2). The geographical
distribution of service providers also has an impact on the
distribution of agents and agent servers. The Map database and
Information database are located in the same data centre; hence,
their service agents are co-located on the same agent server 1
The MDC system is distributed to improve reliability by removing
unique points of failure. It is also able to continue to function
even when there is a partial failure of some service providers. To
enable self-management or autonomic characteristics of the MDC
system, we require a distributed autonomic system as well.
Agent capabilities that are specifically for autonomic behaviour in
the MDC (see Table 1) must be distributed. The structure for the
network of autonomic agents may be hierarchical, distributed
MAPE elements, or peer-to-peer. One possible choice is to use a
hierarchical network of autonomic managers (see Figure 4). The
lower level autonomic management agents are coordinated
through the next higher level of autonomic managers. The lower
level autonomic manager feed information to the higher level
managers. In return, control actions are dispatched by the higher
level managers to the lower level autonomic agents. Lowest level
autonomic agents are concerned with direct interface to physical
resources such as compute, network and storage resources. Higher
level autonomic agents deal with virtualized resources which may
be formed by the composition of more basic services. The
decision making processes in the system is decentralized and
distributed throughout the hierarchy of autonomic agents.
However, the coordination of policy is centralized in the sense
that the highest level manager is responsible for enforcing global
organization wide policies and coordinating its execution through
the hierarchy.
276 Proc. of the 4
Intl. Conf. on Mobile Technology, Applications and Systems (Mobility 2007)
Another possible choice in partitioning the network of autonomic
managers is to distribute the Monitor, Analyze, Plan, Execute
(MAPE) control loop elements in the network (see Figure 6.5). In
this configuration, the processing is distributed. However, the
intelligent components of the system, the Analysis and Planning
elements, are shared by multiple lower elements which perform
more basic functions such as monitoring or effecting control
actions on the environment of the system.

Physical Resources

Figure 4. Hierarchy of Autonomic Agents

There may be a highest level autonomic manager with the
complete MAPE functional elements which is responsible for
higher level decisions such as global policy level decisions. This
configuration may result in a lower cost for the computational
components used for the Monitor (M) and Execution (E)
autonomic elements because these are typically simple
components with minimum computation. But, it will result in a
higher communication costs between the distributed computation
components; such as between the components with the Monitor
(M) and Execution (E) autonomic elements and the Analyze (A)
and Plan (P) autonomic elements

Physical Resources

Figure 5. Distributed MAPE autonomic elements

A third alternative is to use a peer-to-peer network of autonomic
agents similar to the one used for the data exchanges. In this case,
a separate overlay network is formed for communications between
the peer autonomic agents (see Figure 6). This particular
partitioning of the system is maximally distributed. All policy data
is distributed and there is no centralized coordination. However,
there may be unnecessary redundancy as portions of the
functionalities of the system are duplicated in different peers in
the network of autonomic agents. However, this peer-to-peer
autonomic agent network shows better self-protection and self-
healing properties because of the additional redundancy built into
the system. A further variation of this is the choice between pure
P2P architecture, hybrid P2P architecture, or a structured P2P

Figure 6. P2P Network of Autonomic Agents

For MDC, a structured P2P network is used to support the
interconnection of the autonomic agents. Service providers and
middle agents in the MDC do not show a very high rate of joining
and leaving the P2P network. Hence, the structured P2P network
is able to meet our requirements.
In our proposed agent mediated P2P autonomic network, we
would use mobile proxies that could also act as agent servers for a
groups of mobile terminals. Each mobile proxy node is connected
to the fixed infrastructure and acts as a node in the P2P network.
There is a separate group (for redundancy and availability) of
control nodes that administer the main working P2P nodes.



Figure 7. Mobile proxy

A prototype (see Figure 8) is implemented using Java ME clients
on 3G mobile phones. A mobile proxy with agent server
functionality is implemented using JADE [9] agent toolkit and
Tomcat Java web server. Agents implemented with JADE are able
to take advantage of their goal-autonomy to solve problems in a
Proc. of the 4
Intl. Conf. on Mobile Technology, Applications and Systems (Mobility 2007) 277
dynamic mobile environment. In a complex or naturally
distributed problem, we can take advantage of the distributed
nature and higher processing capacity of MAS. In additional,
clients using Internet browsers on desktop computers are
implemented to test the seamless of the data exchange services
when moving between fixed infrastructure and a mobile
A structured P2P [5][6] network is built using the JXTA [16]
platform for the communication between autonomic elements.



Service agent
Mobile User
Fixed User

Figure 8. Prototype with Mobile proxy

Using agents in wireless environments has been an active research
area in the past few years [8]. Some researchers have also focused
on running agents on resource constrained devices such as
handheld devices [7, 8]. To cater for a dynamic mobile
environment, the agent architecture should exhibit both goal and
behaviour autonomy. Shen [1] describes an agent architecture for
exhibiting both executive or behaviour-autonomy, and goal-
autonomy using Goal Net.
Bertolini [14] has proposed peer-to-peer as an approach toward
agent-based mechanisms for service orchestration mechanism for
service-oriented architectures. Increases in flexibility are possible
when definitions of workflow are not hard-coded but can
accommodate inherently dynamic mobile environments.
Lightweight service interfaces [15] such as REST [10][11][12]
are also a critical part of providing services in the mobile
This paper introduces a novel P2P autonomic location-based
service prototype. It presents novel use of agent mediated peer-to-
peer systems in a highly dynamic mobile environment with
consideration given to ensure the exhibition of autonomic
characteristics. Currently we have implemented an early prototype
of the agent-mediated P2P autonomic location-services. Initial
results from the approach are encouraging. We are able to
maintain a seamless service interface in spite of the dynamic
mobile and fixed infrastructure. In addition, we are able to
mitigate the effects of intermittent connections and availability in
the wireless network. In the future, we plan extension to our
research in the following direction.
• Context awareness: In combination with RFID, Near-
Field-Communications devices, or 2D-Bar codes, the system
could have the ability to deliver context aware services. For
example, if the present time is night time and the mobile user
touches a smart tag on a poster, an information service may pick
all the pubs the user likes in the vicinity.
• Semantic service matching. A suitable ontology for
describing services coupled with a suitable algorithm will allow
for nearest equivalent service matching; rather than just keyword
matching or syntactic matching done currently.

[1] Z. Shen, C.Y.Miao, R. Gay, X. Tao, ''Goal Oriented
Modeling for Intelligent Software Agents,'' in Proceedings of
2004 IEEE/WIC/ACM International Conference on
Intelligent Agent Technology (IAT'04), 2004.
[2] Kosko B. “Fuzzy Cognitive Maps”, Int. Journal of Man-
Machine Studies, Vol. 24, pp. 65-75, 1986.
[3] Z Shen, D. Li, C.Y. Miao, and R. Gay ,“Goal-oriented
Methodology for Agent System Development”, In
Proceedings of 2005 IEEE/WIC/ACM International
Conference on Intelligent Agent Technology (IAT'05), 2005.
[4] Leong, P, Chunyan, Miao, Bu-Sung, Lee, “Agent Mediated
Autonomic Service Orchestration in Grid Environment,” in
Proceeding of 3
International Conference on Industrial
Informatics (INDIN2005), Perth, 10-12 August, 2005.
[5] Harvey B. Newman, Iosif C. Legrand, Julian J.Bunn, “A
Distributed Agent-based Architecture for Dynamic
Services”, CHEP 2001, Beijing, Sept 2001.
[6] B.Y. Zhao, J.D. Kubiatowicz, and A.D.Joseph. Tapestry: An
infrastructure for fault tolerant wide area location and
routing. Technical report CSD-01-1141, University of
California at Berkeley, 2001.
[7] F. Bergenti, A. Poggi, B. Burg and G.Caire. Deploying FIPA-
compliant systems on handheld devices. IEEE Internet
Computing, 5(4):20-25, 2001
[8] S. Tarkoma and S. Laukannen. Facilitating agent messaging
on PDAs. In Fourth International Workshop on Mobile
Agents for Telecommunication Applications (MATA 2002),
pages 259-268, Barcelona, Spain, 2002, Springer.
278 Proc. of the 4
Intl. Conf. on Mobile Technology, Applications and Systems (Mobility 2007)
[9] F. Bellifemine, A. Poggi, and G. Rimassa. Jade
programmers guide, June 2000. Available at URL
[10] Khare, R. and Taylor, R. N. 2004. Extending the
Representational State Transfer (REST) Architectural Style
for Decentralized Systems. In Proceedings of the 26th
international Conference on Software Engineering (May 23
- 28, 2004). International Conference on Software
Engineering. IEEE Computer Society, Washington, DC,
[11] Fielding, R. T. Architectural Styles and the Design of
Network-based Software Architectures (PhD Thesis), UC
Irvine, Information and Computer Science, 2000.
[12] Khare, R. Extending the Representational State Transfer
(REST) Architectural Style for Decentralized Systems (PhD
Thesis), UC Irvine, Information & Computer Science, 2003.
[13] 3GPP TS 22.228; 3rd Generation Partnership Project;
Technical Specification Group Services and System
Aspects; Service requirements for the Internet Protocol (IP)
multimedia core network subsystem; Stage 1.
[14] Bertolini, D., P. Busetta, et al. (2003). Designing Peer-to-
Peer Applications: An Agent-Oriented Approach. : Agent
Technologies, Infrastructures, Tools, and Applications for E-
Services: NODe 2002 Agent-Related Workshops, Erfurt,
Germany, October 7-10, 2002. Revised Papers: 92-106.
[15] Milanovic, N., "Service Engineering Design Patterns,"
Service-Oriented System Engineering, 2006. SOSE '06.
Second IEEE International Workshop , vol., no.pp.19-26,
Oct. 2006
[16] JXTA (Juxtapose) is an open source peer-to-peer platform:
Available at:

Proc. of the 4
Intl. Conf. on Mobile Technology, Applications and Systems (Mobility 2007) 279