Distributed compression of a data file can comprise a master server module
for breaking the data file into data blocks and for transmitting the data
blocks to worker server modules. A first worker server module can
compress a first data block using a first compression algorithm,
resulting in a first compressed data block. A second worker server module
can compress the second data block using a second compression algorithm,
resulting in a second compressed data block. The first and second
compression algorithms can comprise the same algorithm or different
algorithms. An archive module can save the first and second compressed
data blocks in an archive file for storage or for transmission over a
communication network. The worker server modules also can compress the
respective data blocks using multiple compression algorithms and can
choose the highest compressed result.