Scaling up a Web-Based Intelligent Tutoring System Jozsef ...

bricklayerbelchedInternet και Εφαρμογές Web

5 Φεβ 2013 (πριν από 3 χρόνια και 9 μήνες)

88 εμφανίσεις

Scaling up a Web
Based Intelligent
Tutoring System

Jozsef Patvarczki, Shane Almeida, and Neil Heffernan

Computer Science Department

Our research team has built a web
tutor, located at

that is used by hundreds of students a day in
Worcester and surrounding towns

system’s focus is to teach 8th and 10th grad
mathematics and MCAS preparation.

Accessibility is an important concern for
tutoring systems. Students, teachers, and
content creators all must have access to the
system. Because of widespread Internet
access, Web
based tutoring systems have the
potential to provide access to many more
users than can be reached with client
We will present how the
Assistment system c
an improve performance
and reliability with a fault
tolerant scalable


based systems virtually eliminate much of time and cost of
installing software on individual client machines.

We have greater control over content distribution.

Software updates and configuration changes are easily

Data collection is simplified by a centralized system and reports
can be available immediately.

The disadvantage of server
based systems is scalability as
centralization of resources can create bottlenecks.

In order to server thousands of users, we must achieve high
reliability and scalability at different levels.

Two concerns when running the Intelligent Tutor on a central
server are:

1) building a scalable server architecture;

2) providing reliable service to researchers, teachers, and

We will answer several research questions:

1) can we reduce the cost of authoring ITS;

2) how can we improve performance and reliability with a
better server architecture.

System Scalability and Reliability



Razzaq, L, Feng, M., Nuzzo
Jones, G., Heffernan, N.T. et. al (2005). The Assistment Project: Blending
Assessment and Assisting.
12th Annual Conference on Artificial Intelligence in



Chunqiang Tang, et. al. (2007). A Scalable Application Placement Controller for Enterprise Data Centers.
Proceedings of the 16

international conference on World Wide Web 2007, Canada

Ruby on Rails, a free Web application framework based
on the open
source Ruby programming language, was used
to create mockups of new interface components.

We reduced the lines of code from roughly 20,000 to
around 5,000.

Mongrel, a single
threaded web server for Ruby
applications, is used to serve content. Because it is single
threaded, multiple Mongrel application servers are used
concurrently in a cluster.

During peak times, the database server was constantly at
maximum capacity while the application servers remained
nearly idle waiting for data

According to log data, the tutoring portion of our system
spends an average of 2.27 seconds processing a request
(standard deviation of 3.39)

We calculated the average response time of the most
expensive operations in the tutor.

Most expensive ones: account creation (
Signup"), the
welcome page (
Account"), class assignment page
Assignment"), and loading the first problem of an
assignment (
First Problem").

We captured the average response time of the created test
curriculum (
Average Response Time") and the total

number of users for that particular day (indicated above the
each cluster).

Fourth Generation: Rails with Thicker Client Architecture

The lightweight interface means our software can be
used in schools with limited budgets for computing

Beyond a reasonably modern web browser with
support for JavaScript, no special software or third
party applications are required to use our system.

With a server
based architecture, all changes in content
and software happen on our systems and we do not
need to push updates to clients.

In initial testing of the JavaScript implementation of
the tutor, our system spends an average of 0.08 seconds
processing a request (standard deviation of 1.43). With

just six Mongrel servers, our system is now posed to
handle 75 requests per second.

Contact: Neil Heffernan,

Horizontal scaled configuration

Scalable, Fault
tolerant, and Dynamically configurable