Version: 1.1.9.

About igpp.mimic

Mimic is a set of tools to create mirrors of file collections. It uses a combination of techniques to optimize the synchronization of the collections. Mimic can use either the HTTP, SSH or FTP protocol to copy files. It supports both pushing files to remote locations or pulling files from remote locations. This means that the Mimic tools only needs to be installed on one of the systems in the set of mirror hosts.

Mimic was written to address the performance issues that exist in tools like bbcp, rsync and rcp. While these tools are widely used they are not optimized for synchronizing large data collections. For example, bbcp achieves high speed copying of files, but the process is blind to the state of the destination file. While bbcp does support the use of check sums using this feature slows down the copy process as the check sum is calculated on demand. With rsync only those files (blocks) which are different are copied, but the process of building the block maps occurs with each invocation. For a collection with thousands or millions of files the building of the block list is very time consuming. With rcp copies are completely blind with every file copied everytime. Mimic takes the best of what bbcp, rsync and rcp offer and combines the features into a single tool designed specifically to deliver and synchronize mirrors of file collections at multiple distributed locations.

System Requirements

The igpp-mimic library was developed using Java and will run on any platform with a supported Java Runtime Environment (JRE). The software was developed under Java version 1.7 and has only been tested with this version. You can determine which version of Java you are running with the command:

% java -version
java version "1.7.0_51"
OpenJDK Runtime Environment (rhel-2.4.4.1.el6_5-x86_64 u51-b02)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

Unpacking the Package

Download the igpp-mimic package from the IGPP web site To use the jar file, first unbundle the distribution package, then place jar files in the "jar" folder in one of the folders on your Java search path. The package comes with convenience scripts in the "bin" folder which allows running the jar files without system wide installation.

For system wide installation the installation directory may vary from environment to environment but in UNIX-based environments it is typical to install software packages in the /usr/local directory and in Windows-based environments it is typical to install software packages in the C:\Program Files directory.

% jar -xvf igpp-mimic-1.1.9.jar

The unzip will result in the creation of the igpp-mimic-1.1.9 directory with the following directory structure:

Using the Tool

Shell scripts to run the tool are in the "bin" directory in the distribution. You can run the tool on a Linux system with the command:

% ${package.command} task
or on a Windows system with the command:
% ${package.command}.bat task
Allowed options can be viewed by invoking the tool with no options.

Tasks that the Mimic tool can perform are: