Offer a simple interface to allow fast access to
most of functions in order to be easier to use,
and offer the functionality to customise the
interfaces in agreement with the ages of the
users.
Allow the students to present/display their
homework during the period in which they can
participate in the class.
Minimise the effects of the distance between
the students and the teacher, which is
fundamental for the acceptance of the method
by students and professors.
2.2 Design
The traditional video-conference tools are designed
to communicate every client with the rest of the
group, which makes it difficult for the teacher to
control the class and it wastes system resources, by
sending data between students that should not be
sent.
To avoid this problem the system has not been
designed with a pure client-server architecture,
because some clients (teachers) can work like
servers. This architecture leaves the central server
some minimal coordination tasks, while the clients
work in a distributed way.
To minimize more the data sent, the clients are
grouped by classes, so they only need to interchange
information between them, relieving the main server
of these tasks (Figure 2) and thereby improve the
efficient.
The main server is delegated to do some
functions of general coordination; it is in charge of
authenticate the users and give them general
information like the list of classes where they can
access and their contacts information (students in the
case of teachers and only the teacher for the
students)
For each class there is a sub-server, role played
by the teacher, which is in charge of handling and
coordinating the messages sent by the students in the
class. In this way, every student can see the teacher
and hear his/her explanations. The students send a
video stream to the teacher, when the class begin so
he/she can see what the student is doing, but they
can not send audio and participate actively in the
class until the teacher allows it, although the
students can ask for permission to speak, similar to
if they put the hand up in a real class.
No other data is sent from the students to the
teacher and never between students. In fact the ip
address of the students is unknown for all the clients
except for the teacher.
With this architecture’s schema each class is
independent of the others, decreasing the problem of
interferences between them, and the amount of data
sent by the clients.
The application uses three communications
protocols, two for the video and the audio
transmission, and other more for the transmission of
text messages and synchronization commands.
For the multimedia transfers we chose the
standard audio and video protocols provided by the
Java Media Framework (JMF) library (sun, 2006).
These protocols work over UDP so they provide real
time transmission but don’t guarantee the reception
of data.
For the coordination tasks, we created a text
commands based protocol. It has commands to start
and finish the class; handle the permission of the
students, get user info, etc. So, we need that these
messages arrive to the target, for that we developed
it over TCP. Other feature that this protocol offers, is
the possibility of sending text messages like in a
chat, this is the only global communication between
all the participants of a class, but always under the
supervision of the corresponding teacher, of course,
the teacher also can communicate personally with
any student using this method in a private way.
The modular design of the application, also
allows the inclusion of new features, as plug-ins,
which can extend and improve the functionality of
the program. For example, we have a tool to send
files between users of the same class or a whiteboard
where as much the professor as the students can
write and draw (always under the supervision of the
teacher) and also a practical slide show where the
professor can make presentations. Theses two
features can aid the teacher in the class when the
quality of the video sent by him/her has not got
enough quality.
Figure 2: Schema of the system architecture.
WEBIST 2007 - International Conference on Web Information Systems and Technologies
502