Student Projects ("afstudeerprojecten")
There are lots of opportunities for students to participate in the Globe
project. Rather than composing a detailed list of project descriptions
(which is outdated in no time), here are descriptions of the main topics
we are now working on. In all cases, if you need further info, either read
the introductory papers, or contact
Maarten van Steen.
Scalable Objects & Compositions (Arno Bakker)
Devising distributed shared objects on paper is easier than actually
getting them to work. We are currently doing research on practical
scalability issues for distributed objects, with a strong emphasis on
replication techniques. For example, in order to let replicas
communicate with each other, we may need scalable and reliable
multicasting facilities. Building reliable multicasting facilities is
hard enough, let alone constructing scalable solutions. Our current
approach is to set up a generic framework that will allow us to
construct hierarchical solutions in which different (new and existing)
algorithms can be embedded. At the same time, we are taking a look at
optimistic algorithms (i.e. algorithms that assume multicasting
succeeded unless a receiver starts complaining). The main goal is
merely to gain insight in scalability problems.
Scalable multicasting is related to having lots of replicas
distributed worldwide. One particular problem that we are tackling is
what happens when a replicated object invokes another replicated
object. Clearly, the invocation cannot be executed once for each
invoking replica (just imagine we are updating a bank
account). Testing proposed solutions by implementing them on the DAS
and evaluating performance is one way of getting an idea how
distributed objects behave worldwide.
The Globe Location Service (Gerco Ballintijn)
Part of Globe deals with tracking objects worldwide. We are currently developing
a worldwide location service that accepts a location-independent object
identifier as input and returns one or more addresses where an object can
be contacted. The service is constructed as a huge search tree consisting
of millions of nodes distributed worldwide. Each node basically consists
of three parts:
- A communication layer implementing a reliable, ordered RPC mechanism
- A local database for storing object-to-address information
- An algorithmic layer containing the actual update and look-up algorithms
So far, students have been prototyping the database and the
communication layer. We have also made a transparent interface to
existing Web browsers that lets you use what we call Globe URLs. We
are now cooperating with Oce in building a "real" prototype system in
Java. A first version is up and running, but there's still a lot of
work to do.
A Distributed Web Service (Ihor Kuz)
To prove that our approach actually works, we are developing a
wide-area distributed Web service in which pages are constructed as
distributed shared objects. Pages can be replicated, cached, etc. The
novel aspect of our approach is that how to replicate or cache pages
can be decided per page. In contrast, existing Web services apply the
same policy to all their pages. Our Web service will be implemented
on the DAS, running across all four clusters. Of course, we'll
experiment with other platforms as well, for example by running the
system on a collection of existing Web servers.
Most of the current work concentrates on the question how to implement
distributed shared objects in Java. We are already have a Globe
Interface Definition Language (IDL) that allows us to specify
interfaces, but there is no proper IDL-to-Java compiler yet
available. Also, our IDL definition needs to be extended to support
generation of stubs as in RPC systems.
Security (Bruno Crispo)
Finally, we are looking into the security aspects of Globe. No worldwide
system can do without security. Research in this area has only recently
started, but there are already lots of projects you can do. Get in touch with
Bruno if this is what you want to do.