IcePatch2 is the Ice solution for secure replication of a directory tree.

IcePatch2 supersedes IcePatch, which was a previous version of this service.

IcePatch2 is an efficient file patching service that is easy to configure and use. It includes the following components:

  • the IcePatch server (icepatch2server)
  • a text-based IcePatch client (icepatch2client)
  • a text-based tool to compress files and calculate checksums (icepatch2calc)
  • a Slice API and C++ convenience library for developing custom IcePatch2 clients

As with all Ice services, IcePatch2 can be configured to use Ice facilities such as Glacier2 for firewall support and IceSSL for secure communication.

IcePatch2 is conceptually quite simple. The server is given responsibility for a file system directory (the data directory) containing the files and subdirectories that are to be distributed to IcePatch2 clients. You use icepatch2calc to compress these files and to generate an index containing a checksum for each file. The server transmits the compressed files to the client, which recreates the data directory and its contents on the client side, patching any files that have changed since the previous run.

IcePatch2 is efficient: transfer rates for files are comparable to what you would get using ftp.

IcePatch2 addresses a requirement common to both development and deployment scenarios: the safe, secure, and efficient replication of a directory tree. The IcePatch2 server is easy to configure and efficient. For simple uses, IcePatch2 provides a client that can be used to patch directory hierarchies from the command line. With the C++ utility library, you can also create custom patch clients if you require better integration of the client with your application.