technologies in order not to reduce the advantages of
our proposed e-learning system.
In this paper,we present a prototype of the proposed
system on Maglog (Motomura et al., 2006) that is
a Prolog-based framework for building mobile agent
systems we have developed.
2 PROPOSED SYSTEM
2.1 Overview
As mentioned in the previous section, we focus on
asynchronous WBT, that is to say, a user can connect
to the proposed e-Learning system anytime and any-
where he/she wants. Once connection is established,
the user can obtain exercises one after another through
specifying categories of the required exercises. User’s
answers for each exercise are marked as correct or
incorrect right away. Extra information may be pro-
vided for each answer, which can be viewed when the
correct answer is shown.
While a user uses the proposed e-Learning system,
his/her computer is a part of the system. Namely, it
receives some number of categories and exercises in
them from another node when it joins the system and
has responsibility to send appropriate exercises to re-
questing nodes.
The important point to note is that the categories a
node has are independent of the categories in which
the node’s user are interested as shown in Fig.1. Fig-
ure 1 illustrates that user A’s request is forwarded at
first to the neighbor node, next forwarded to the node
which has the requested category.
Network
Physics
I want to try
an exercise
of history!
User A
English History
User B
User C
1
2
Searching Message
Migration of Exercise Agent
3
Node Node
Node
Figure 1: Proposed e-Learning system.
2.2 P2P Aspect
When the proposed system begins, one initial node
has all categories in the system. When another node
joins the system, it is received some number of cate-
gories from the initial node. The categories are dis-
tributed among all nodes in the system according as
nodes join the system or leave the system.
We would like to emphasize that in existing P2P-
based file sharing systems such as Napster(Napster,
1999) and Gnutella(Gnutella, 2000) each shared file
is owned by a particular node. Accordingly, files
are originally distributed among all nodes. On the
other hand, the categories in the proposed system
are originally concentrated. Consequently, when a
new node joins the system, not only location infor-
mation of a category but the category itself must be
handed to the new node. Considering that, the P2P
network of the proposed system can be constructed as
a CAN(Ratnasamy et al., 2001).
A CAN has a virtual coordinate space that is used
to store (key, value) pairs. To store a pair (K
1
,V
1
),
key K
1
is deterministically mapped onto a point P in
the coordinate space using a uniform hash function.
The corresponding (key,value) pair is then stored at
the node that owns the zone within which the point
P lies. In the proposed system, we let each category
be a key and let a set of exercises belonging to the
category be the corresponding value.
Our P2P network is constructed with 2-
dimensional coordinate space [0,1] × [0,1] to
store exercise categories, as shown in Fig.2. The
figure shows the situation that Node C is joining
the system where Node A and Node B have already
joined. Before Node C joins, Node A and Node B
shared the whole coordinate space half and half. At
that moment, Node A managed “Math/Geometry”
category and Node B managed “Grammar” and
“History” categories, respectively. When Node C
joins the system, it is mapped on a certain coordinate
space according to a random number and takes on
corresponding categories from another node. For
example, in the case of Fig.2, Node C takes on the
“History” category from Node B and exercises move
to Node C.
2.3 Mobile Agent Aspect
Generally, in addition to service to show an exercise, a
WBT server provides services to mark the user’s an-
swers, tell the correct answers, and show some ex-
tra information about the exercise. Therefore, for the
proposed system which can be considered a distrib-
uted WBT system, it is not enough that only exercises
are distributed among all nodes. Functions to provide
the above services also must be distributed among all
nodes. We adopt mobile agent technology to achieve
this goal. Namely, an exercise is not only data but
also an agent so that it can mark user’s answers, tell
the correct answers, and show some extra information
about the exercise.
DISTRIBUTED E-LEARNING SYSTEM USING P2P TECHNOLOGY
251