A computer network remote data mirroring system writes update data both to
a local data device and to a local, chronologically sequenced journal
storage area, or writelog device. A graphical user interface enables a
user to create and configure throttles, which are user-defined tests and
actions evaluated by the primary mirror daemon to regulate network
bandwidth, CPU, and writelog device utilization during data update
mirroring. Network bandwidth throttling enables a predetermined portion
of the network bandwidth to be assigned to remote data mirroring based on
user-selected criteria. CPU throttling enables a user to control the
amount of time the local data storage unit will wait prior to returning
control to applications after an update. Writelog device throttling
prevents a memory overflow condition by dynamically assigning memory to
the writelog device by chaining writelog device extensions to the
writelog device.