The basic server-side architecture is composed by several
components: a database where information about jobs is held;
a data server where input and output data is stored and a
scheduler that is responsible for delivering tasks to volunteers
when asked. freeCycles adds two additional components (see
Figure 1): a BitTorrent tracker (to enable volunteers to use
the BitTorrent protocol to download and upload data to and
from clients and the central server), and a BitTorrent client
(that will be used to share the initial input and to receive the
final output through the BitTorrent protocol).