A disaster-tolerant data backup and remote copy system which is implemented as
a controller-based replication of one or more LUNs (logical units) between two
remotely separated pairs of array controllers connected by redundant links. The
system provides a method for allowing a large number of commands to be 'outstanding'
in transit between local and remote sites while ensuring the proper ordering of
commands on remote media during asynchronous or synchronous data replication. In
addition, the system provides a mechanism for automatic 'tuning' of links based
on the distance between the array controllers.