access locked for a while: it is common, for in-
stance, to lose connection to Instant Messaging (IM)
server or to have some delays in sending emails if
data transfer has been previously opened to a very
fast peer. While this scenario mainly applies to desk-
top users, mobile device users become to experience
similar problems related to concurrent network ac-
cess. Flat rate per-month subscriptions offered by
cellular network operators encourage customers to
use PDAs and high-end cellular phones to access
web site, mailboxes and adapted content (audio and
video). Business oriented applications (remote office
and file sharing, email with attachments, simplified
editor for text documents, spreadsheets and presenta-
tions) and hardware tailored for mobile workers (ex-
tended keyboards, large displays, enhanced connec-
tivity) are bundled and offered to selected customers.
Network-oriented mobile applications refer to three
main classes: user interactive applications, user
browsing applications, system applications. User in-
teractive class identifies applications which response
time is critical for user experience. It comprises email
clients, IM systems, navigation systems. These ap-
plications are expected to have very short delays and
give best responsiveness. For instance, IM clients en-
able people to talk nearly in real-time and most of
time is spent reading and typing, while data transfer
involves a few data; moreover, since it consist of syn-
chronous communication between humans, user ex-
pects continuous dialog with remote peer (response
time half a second or less). User browsing class iden-
tifies applications which response time is not critical,
so that some delay is being tolerated. Video and audio
downloading, web browsing and software installation
may require some time to be completed and experi-
enced users are aware about it. Finally, system class
identifies applications executed in background by the
operating system. It includes system updates (bug
fixes, security updates), network synchronization and
similar.
In an ideal scenario, any system application should
suspend any data transfer if a user interactive appli-
cation requires to send or receive data. This way,
the user perceives that communication channel is de-
voted to his conversation or important web brows-
ing. To simplify, it is better to give the user best
performance of device and network connection, while
a delay of a few seconds will not affect system op-
erations (such as those previously described). Such
an approach can be found in modern operating sys-
tem design, where process scheduler tries to provide
good responsiveness to graphical interface and delay-
ing system processes (such as writing on filesystem).
Figure 1: Priority management in mobile communication:
user interactive and user browsing applications require dif-
ferent responsiveness.
3 LCPP
Lightweight Client-Pull Protocol (LCPP) has been
designed to provide mobile application developers
with a priority- and receiver- driven protocol. It has
been designed as a lightweight protocol, easy to im-
plement even on resource constrained devices. As
said before, priority management is key element for
mobile communication; in order to manage data com-
ing from multiple source, client is responsible for
managing data packets transmission. We identify peer
that sends data as Transmitter (TX), while the one that
receives is called Receiver (RX). Main LCPP con-
cepts can be summarized as follows:
• RX drives communication progress: data sender
(TX) cannot arbitrarly send any data if it has not
be requested by the RX
• all data packets moving from point to point contain
a priority information: RX should make requests
for higher priority data fragments first
• communication stacks of peers share information
about priority management and network conges-
tion.
LCPP relies on UDP, because it is lighter than TCP
and requires less resources to be implemented on low-
end devices. While TCP/IP offers good infrastruc-
ture for continuous connections, it is time and re-
source consuming for intermittent connections. LCPP
does not introduce any custom addressing or rout-
ing schema; therefore LCPP headers do not con-
tain any information about source nor destination of
data: it is implicitly assumed that such an informa-
tion will be accessible through the underlying proto-
col. LCPP uses raw UDP packets and it is responsi-
ble for data synchronization, transport and connection
control. LCPP defines two type of data packets: Com-
mand and Data. Command packets are exchanged
ICEIS 2005 - SOFTWARE AGENTS AND INTERNET COMPUTING
228