<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computing Science Simon Fraser University Vancouver</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Zakaria Maamar , Wathiq Mansoor , and Qusay H. Mahmoud'</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Section 2 motivates our work on m-services. Section 3 denes mobile
combe oered need to be tailored to each device individually. Unfortunately, this
wireless devices.
sible. In an open environment with dieren t users and needs, looking for the
puting and e-services. Section 4 presents our system of m-services. Section 5
advocate that m-services will be fetched on-demand from provider sites to users’
describes our system implementation. Section 6 presents related work. Section 7
and coordination, while important, do not fall in the scope of this paper.
users where looking for the lowest common denominator between them is
feafollow for systems designed to the wireless world.
e-services into m-services is a necessity. M-services will have to consider the
Having pre-installed services on users’ wireless devices is an option that could
to wireless devices is more appropriate than pre-installing services. Enabling
be considered. However, this option would have worked for a small number of
concludes the paper. It is made clear at that level that issues such as negotiation
common denominator is not trivial. Therefore, on-demand delivery of services
goes against the e-services platform independence principle. Thus, leveraging
the downloading of dynamically composed services is among the approaches to
characteristics of the wireless devices on which they will be running. In fact, we
2 Motivating scenario
before he leaves his oce this time he did not do wnload the appropriate software
sentative working for a software company; it is based in country X but serves
representative has to send "wirelessly" the required data. Later on, the server
required data to the request he submitted in the rst time. Unfortunately , this
one is to put his request in a waiting list. The second one is to send the required
oce tools. Moreover, the representative uses the PDA to record the deals he
applications to his PDA for execution. These applications transfer has to follow
applications into his PDA. Consequently, he decides to proceed as follows. First,
ing, the representative has to carry out specic operations such as simulating
Server not "busy" - it accepts the request and processes it. To this end, the
transmits "wirelessly" results to the representative’s PDA. If the representative
customers from over the world. Since the representative is most of the time on
is dicult to predict.</p>
      <p>To motivate our work, we consider the following ctiv e scenario. A sales
reprethe move visiting customers, he is equipped with a PDA, which provides basic
he sends a "wireless" request to the company server. According to the workload
made with customers. It may happen that in preparation for an important
meetServer "busy" - it suggests two alternatives to the representative. The rst
specic rules, as w e will discuss it.
the consequences of this meeting on the company stock shares. Unfortunately,
of the server, one of the following situations occurs.
has known before that the server was not busy, he could have attached the
4 System of m-services
4.2 Architecture
3 Background
4.1 M-services
operations because they lack appropriate facilities on their devices. Therefore,
adaptable according to the wireless devices’ computing characteristics; and
exeof using wireless communication mechanisms. Finally, a solution to 3) consists
of using Software Agents (SAs) [6].
devices, and 3) to conduct the operations 1) and 2) in a transparent way. A
socutable on wireless devices.</p>
      <p>We consider an application component as an m-service if it is: transportable
it becomes important to support such users by allowing them: 1) to search for
lution to 1) consists of creating brokering mechanisms. A solution to 2) consists
ties to wireless devices-oriented users. It happens that these users postpone their
The rationale of designing and developing is to oer new opportuni- m-services2
through wireless networks; exible in term of composition with other m-services;
additional facilities, when needed, 2) to fetch these facilities to their wireless
If this is the rst time that a user-agent submits requests, the
supervisoragent creates a user-delegate in the MI to be associated with that user-agent
location. To download the m-services one at a time from the storage server to
user-delegate the storage server to be used considering for example the server’s
ting them to the user-delegate, the user-agent goes into a standby mode and
"notify" performatives illustrating the interactions that take place between
userThe user-agent keeps track of the execution of an m-service, before it asks the
vice is deleted from the wireless device platform. Finally, the user-agent informs
storage-agent to submit the next m-service. When it is received, the executed
serthe user’s wireless device, the user-agent communicates with the storage-agent.
the user about the completed requests.</p>
      <p>User-oriented components User-agent resides in a wireless device. First,
vice, m-services are put in a storage server. The MI supervisor-agent suggests to
user-delegate (cf. Table 2). Table 1 and Table 2 use "submit", "reply", and
m-services that satises the user’s requests. Before executing them on user’s
dethe user communicates with his user-agent to arrange requests. After
submitagents and supervisor-agent and between user-agents and delegate-agents. In
waits for notications from its delegate. Notications concern the sequence of
Table 1, "submit" performative has v e elds among them "Device"; it species
(cf. Table 1). For the next requests, the user-agent interacts directly with the
environment in which they meet and interact directly. The MI plays the role
questers and providers may have to bypass the broker. They need a common
instead of several user-agents. Security is increased for both users and providers.</p>
      <p>Storage-servers are independent platforms where security control are conducted.
delegates interact in a local and secure environment [9]. In an open environment,
sibilities, among them: it monitors the interactions that occur within the MI;
of this environment. In our system, the MI supervisor-agent has several
responto a user’s wireless device one by one. Several advantages are obtained from the
most of the interactions between requesters of services and providers of services
for execution. According to our system execution’s principles, m-services are sent
Its point of contact for getting the m-services is the storage-agent. The same
use of storage-servers. A user-agent does not have to deal with several providers.
thing applies to device-agents that will be interacting with few storage-agents
less devices for execution. The rationale of having device-agents is to consider
processor speed.
it makes the MI a safe environment; and it directs user-delegates towards the
are conducted through third parties, known as brokers. Despite its important
role, a broker could easily become a bottleneck. To overcome this problem,
reprovider-delegates that interest them.</p>
      <p>The MI part is a software platform on which user-delegates and
providerThe storage part receives the sequence of m-services that will be sent to users
the dierences that exist between wireless devices, e.g. screen dimension and
role of device-agents is to wrap m-services before they are sent to users’
wirefor two main reasons: even if we expect a big improvement in wireless devices’
delegate receives the user’s requests from the user-agent (cf. Table 2).
Afterwards, it interacts with provider-delegates. The purpose is to match user’s
reble 2). In Table 3, two relevant elds of "to-get-ready" performativ e are
imporand shipping it to the MI, we suggested to undertake this operation in the MI
noties the user-agen t about the sequence of m-services it has established (cf.
Tam-services has been designed. "M-services" eld corresponds to the m-services
device-agent. Instead of creating a user-delegate on a wireless-device platform
resources, those resources have to be used in a "rationale" way; and the wireless
the device-agent has to submit. To set up a sequence, the storage-agent knows
is always a match), the user-delegate designs the sequence of m-services to be
User-delegate resides in the MI, acting on behalf of user-agent. The
userready to receive m-services from device-agents. Furthermore, the user-delegate
quests with providers’ m-services. In case there is a match (we assume that there
included in satisfying the user’s requests. Information about this sequence is
the m-service that comes before and after the m-services to be submitted by a
tant. "Destination" eld corresponds to the user-agen t for which the sequence of
connection that transfers the user-delegate is avoided.
sent to the storage-agent (cf. Table 3). The purpose is to make the storage-agent
system, the provider-delegate is responsible for interacting with user-delegates,
user-delegates and provider-delegates forward to a storage-agent guarantees more
for consideration. We recall that the provider-agent creates a provider-delegate
according to the devices to which they will be sent for execution. Initially, these
the user-delegate has informed the storage-agent of that storage server about
agent for notication purposes. Notications are then forw arded to device-agent
Provider-delegate resides in the MI; it acts on behalf of provider-agent. In our
regarding the m-services it oers. In addition, it interacts with its
providerand transfers it to the MI.
the m-services it will receive (cf. Table 3). Double-checking the information that
Device-agent resides in provider’s site. Its responsibility is to wrap m-services
the contact details of the storage-server to the device agent. We recall that
security to our system.
m-services are sent to storage servers. The provider-agent has already submitted
eral responsibilities: it supervises the operations that occur in the MI; it
medidelegates the storage server to be used.</p>
      <p>MI-oriented components Supervisor-agent resides in the MI and has
sevuser-delegates and assigns them to user-agents (cf. Table 1); it checks
providerdelegates identity when they arrive from provider sites; and it suggests to
userUser-delegate and provider-delegate are explained above.
ates in case of conicts bet ween user-delegates and provider-delegates; it sets-up
the m-services one at a time (cf. Table 6). These m-services are ready for
execution. The deletion of m-services from the storage-servers as well as from wireless
Based on the requests it receives from user-agent, the storage-agent pushes
devices follows specic reliabilit y rules (cf. Figure 3).
3 This is not a shortcoming of our system. It is part of our current work to consider
1:N negotiation.</p>
      <p>Meeting infrastructure
UseUr-saegren1t.aNeeds 2.aSCure3pa.teiIornnvteirsaocrti-oangsent 2.b Migration 1.b Creation</p>
      <p>User-delegate Provider-delegate Pdreolevgidaeter Provider-agent
7t.reaMxne-scsfueetrrivofioncres 4.naoMtif-csaetrivoinces 4n.botCifocnattriaocnts 5n.oCtiofinctartaicotns</p>
      <p>6. M-services
Storage-agen1t transfer</p>
      <p>Storage
server1</p>
      <p>Device-agent
Provider
Bank of
m-services
user-agent sends an acknowledgement message to the storage-agent so it deletes
that follows the one it has received. For the last m-service of a sequence, the
that m-service (cf. Figure 3).
of this service at its level. It deletes it when the user-agent asks for the m-service
a storage-agent sends an m-service to a user-agent, the storage-agent keeps a copy
approach considers a storage-server as a back up server for the m-services. When
In the realization phase, reliability aspect has been taken into account. Our
a/ a/
Provider-delegates are targeted in advance. Supervisor-agent becomes a bottleneck.
the MI content.
delegates and provider-delegates. not satisfy completely user-delegates.</p>
      <p>User-delegates have a narrow perception of
the MI content. delegates oer.
b/ b/
User-delegates have a wide perception of More messages to discover what
providerMore freedom is given to user-delegates.</p>
      <p>Less interaction messages between user- Supervisor-agent’s recommendations could
the m-services that are involved and the storage-server that is used. Among the
actions the device-agent undertakes we cite submitting the m-services to the
storage-agent of the storage-server.
provider-agent forwards them to the device-agent. This information concerns
Based on the information it has received from its provider-delegate, the
agent about the m-services it will receive from device-agents (cf. Table 3). Before
of this stage. We recall that the user-delegate has already informed the
storageRealization stage purpose is to execute the sequence of m-services that the
user-delegate has designed. User-agent and storage-agent are the participants
the user-agent starts asking the storage-agent for the m-services it has, it waits
is ready to be submitted for execution.
for a notication message from the storage-agen t mentioning that the sequence
Advantages Disadvantages
Table8. Advantages and disadvantages of searching for provider-delegates approaches
Notic ation stage purpose is to inform dieren t agents about user-delegates’
and provider-delegates’ agreements.
upon the m-services to use, notications are sen t to dieren t recipients. This will
be explained in the notication stage.</p>
      <p>Regarding the provider-delegate, it noties the provider-agent about its
agreements with a user-delegate (cf. Table 4). We recall that provider-agents
do not reject any agreements.
of services it will receive from dieren t device-agents (cf. Table 3).</p>
      <p>Regarding the user-delegate, it is in charge of the following operations:
informs the user-agent about the sequence of m-services it has established to satisfy
its user’s request (cf. Table 2); and informs the storage-agent about the sequence
ment and consulting module supports the subscription process to user-delegates.
agement and installation, which is responsible for receiving delegates from their
which is a Java edition that runs on wireless handheld devices with constrained
communications that take place between user-delegates and provider-delegates.
network.
services that are required for satisfying specic needs. In addition, the adv
ertisein this module. The second module is the interaction module that supports the
ing Voyager [14]. Regarding the user-agent, it is mainly an interface-agent that
For instance, if a user-delegates is interested in a specic ev ent, then it can be
[8] that provides a simple, fast, and a unied mec hanism for sharing,
coordinatstock m-service that can be used to simulate stock operations. Once the stock
can enter the m-services he requires. In this example, the user is requesting a
notied when this ev ent occurs. JavaSpaces provides this notication operation.</p>
      <p>The MI is implemented as a set of three modules. The rst module is the
manis supported by JavaSpaces, deals with advertising services and identifying the
Provider-agents and their delegates and user-delegates are implemented
usproviders’ m-services advertisement. JavaSpaces is an implementation of Linda
type uses SUN’s JavaSpaces technology [5] to implement a repository that holds
At this stage of our implementation, we simulate the situation where a user
ing, and communicating distributed resources, services, and objects across the
feeds the user-delegate with requests. This agent is implemented using J2ME [4],
resources. A snapshot of the user-agent prototype is shown in Figure 4.</p>
      <p>An implementation of the MI has already been undertaken in [9]. The
protoFinally, the third module is the advertisement and consulting module, which
original systems and installing them. All the security operations are undertaken
User-agent Interactions Storage-agent
Actions Sequence: m-servic1e,2,3 Actions</p>
      <p>To-make-ready: seq1. prepare: message
prepare: request Request: ?m-servic1e</p>
      <p>Push: m-service1 save: m-service1
run: m-service
delete: m-service11 Request: ?m-servic2e</p>
      <p>delete: m-service1</p>
      <p>Push: m-service2 save: m-service2
wait: m-service2 Request: ?m-servic2e</p>
      <p>Push: m-service2
run: m-service
delete: m-service22 Request: ?m-servic3e</p>
      <p>delete: m-service2</p>
      <p>Push: m-service3 save: m-service3
run: m-service
delete: m-service33 Request: ok
delete:m-service3
m-service has been downloaded the user will be notied, as sho wn in Figure 4,
so that she can start using it as shown in Figure 5.
way of doing business [1,10,11,13]. In HP Laboratories, [10] worked on delivering
for mobile and adaptive applications. It denes a platform for adaptiv e mobile
services from storage agents according to the resources that are available on
for Pervasive Services Infrastructure (PSI). The vision is "any service to
according to the wireless devices’ characteristics; and user-agents request
mof applications to mid-point servers can enable and enhance service execution on
Furthermore, we are interested in supporting users in their search for m-services
is to adjust the quality of accessed data to match available resources. In our
their users’ devices.
any client (anytime, anywhere)". The project investigated how ooading parts
player, and a speech recognition, could run on top. The Odyssey’s approach
There exist several projects that study how wireless devices could change our
a resource-constrained device. In our work, we are interested in the same issues.
system, we considered adaptability at two dieren t levels: m-services are wrapped
Internet services to wireless users. This work was conducted under the project
in an open environment. In [11] the Odyssey project provides system support
data access on which dieren t applications, such as a web browser, a video
7 Conclusion
its previous experiences, the user-agent could entrust to this storage-agent its
less devices to complete their daily operations. Therefore, new facilities should
anisms will be applied to all m-services despite their origin (i.e. device-agent)
on wireless devices should be used in a rationale way, our future work is based on
the opportunity to deal with the same storage-agent several times and based on
heterogeneous services implemented and provided by dier ent providers available
trust between user-agents and storage-agents. For instance, if a user-agent had
dier ent networks, and from dier ent terminals".
m-services and the storage-servers can be replicated across the network. This
in Figure 1 is highly scalable. The system can be extended, at a reasonable cost,
specic securit y procedures.
to handle all client requests.
scalability. Our suggestion for security consists of enhancing the storage-agent
adding more meeting infrastructures to a wireless carrier network. The bank of
Several aspects are still under investigation, among them security [7] and
Regarding scalability, the architecture of the m-services system we suggested
as the demand for the m-services it provides increases. This can be achieved by
allows us to avoid the performance bottleneck that would arise if a single MI has
and destination (i.e. user-agent). Specic securit y procedures that answer each
user’s priorities should be done at the wireless device level. Since the resources
be provided. Our work aims at achieving "anywhere and anytime" paradigm.
with security mechanisms that could be generic; in the sense that these
mechfor roaming users as an integrated package, with the same "look and feel" across
This paradigm could be summarized by [2] who stated "How to make a set of
In this paper, we presented our work on m-services. M-services are considered
as an extension to e-services. Users are more and more relying on their
wireComparable to our sequence of m-services, a path is an abstraction through
tional intermediaries put between devices and services to shield them from each
a Service Discovery Service (SDS) for two reasons: enable services to announce
meet the requirements of an emerging class of extremely heterogeneous devices
which units, services, and active proxies are composed. Proxies are
transformaAnother related project to our work is Ninja [13]. It aimed at suggesting new
types of robust and scalable distributed Internet services. Ninja’s objective is to
architecture considered four elements: bases, units, active proxies, and paths.</p>
      <p>Similar to the SDS, the MI has a brokering role. Moreover, the MI facilitates the
direct interactions between providers and users. In fact, the MI avoids bottleneck
their presence and enable users and programs to locate these announced services.
situations and ensures a better security.
that would access these services in a transparent way. In Ninja, the proposed
other. Ninja proxies are similar to our device-agents. In addition, Ninja suggested</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>