I have used Unison extensivly, and scripted around it with Kix every which way from Sunday..

In one method, I install Unison as a service using SrvAny and spin up a unison client on demand via a Kix script. This works well in a 1:1 relationship. I used this to sync a central server's folder structure with 250+ branch office servers. The remote servers would compare their folder timestamp with the central server and submit a request if the data was out of sync. The central server spawns up to 10 (configurable) sync sessions, bringing more up as they complete. This allowed a full sync of 250 servers to complete within an hour.

I have a package that uses Kix & KF to implement a client-server environment. The client sends a request to a server, the server spins up a Unison listener on an available port and replies to the client with the port number. The client then spins up a Unison client and specifies the target server port. This allows multiple, bidirectional sync processes between multiple servers. I had this running between the US and AUS offices.

Unison is very WAN friendly compared to the other solutions.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D