Here's some info from recent "incremental improvements" we've made 
for UDL that can work for any SAIL/OTrunk instance.

The first two are applicable to any SAIL instance, the third is 
specific to SAIL/OTrunk instances.

1) Local installer for Java Web Start Resources

We try to have one frozen jnlp at the start of a semester for UDL and 
this means that after the installer is run on a computer new jars 
will not need to be downloaded (unless we've fixed a bug that needs 
to be deployed).

Here's a quick run-down on the Installer:

The installer comprises a zipped archive of all the jars needed for 
one or more JNLPs, and a small Java program that can start a Jetty 
server and use Web Start to install the jars to the user's Web Start 
cache.

An example of this for the UDL project can be found at 
http://udl.concord.org/install/

The installer for that project (probably the largest one) is about 80 
MB, and takes about 2-3 minutes to install to an empty Web Start 
cache (shorter if there are already versions of the jars).

As for installing to a folder outside of the user's home folder (so 
that it can be installed once per computer), there is a page on that 
here: 
http://confluence.concord.org/display/CSP/Deploying+Java+applications+onto+local+computers+in+schools

With a frozen JNLP and the installer already run for a computer/user, 
We estimate that it takes between 15-60 seconds for a student on a 
slow network to start an activity, depending on how many users are 
running and how much learner data they are downloading.

2) Fix continued activity slowdown during session.

It turns out that the whole console log was being re-written EVERY 
TIME a new line was written to the log. For projects that generate a 
great deal of log output (true for the VLE) this obviously becomes 
slower and slower as the log gets larger.

See more details here:

   Running as the anonymous user from the DIY has long and increasing delays.
   https://jira.concord.org/browse/UDL-55

3) Make second and subsequent startups faster (also makes within 
session navigation faster).

   Add new JRes protocol for getting resources from jars
   http://jira.concord.org/browse/ALL-61

This allows us to move external resources such as scripts and common 
images into the signed jars stored in the users Java web start cache.

Here are some tests we've run locally where the conditions are:

# The local users Java web start cache is up-to-date
# The network speed from the CC servers to the users computer is 
simulated as: 512 kbps, 50% utilization, 120ms network latency

The limited network speed is simulated with the Java http network 
proxy software called Charles.

The idea is to simulate a student starting a UDL activity in a school 
with a plausible but moderately-loaded network.

Using the older codebase:

   UDL Fall 2008 Clouds 3-4:   15.5s

Using the newer codebase and the same activity with scripts and 
resources moved into jars to minimize initial downloading.

   UDL Spring 2009 Clouds 3-4: 11s

Simulating a network speed of a 57kbps modem at 50% utilization the 
startup time drops from 5 to 2 minutes.

The overall speedups are actually more impressive because in the 
older system scripts and many images would be reloaded over the 
network as the student moved from page to page. The measurements 
above don't describe those speedups.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"SAIL-Dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/SAIL-Dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to