1. An apparatus comprising: a storage device storing code executable by a processor and comprising: a search module configured to locate existing replica source information including a mapping of logical replica source names to physical locations; a collection module configured to collect current network statistics and maintain a history of previous network statistics for candidate replica sources, the network statistics comprising a network response time calculated by sending an Internet Control Message Protocol (ICMP) packet and a bandwidth calculated by sending multiple packets of a predetermined size over a specified time period; a determination module configured to determine identifiers for replica sources by starting with historical data to select a first trial which acts as a predefined profile for determining optimal replica sources and then checking statistics for other more optimal options in response to historical network statistics and current network statistics and rules of a user policy module; the user policy module comprising one or more user-defined policies, the policies establishing rules for preferred attributes of the replica sources, wherein the user-defined policies comprise a desired number of replica sources to identify, the number of replica sources ordered from a most optimal replica source to a least optimal replica source, file size, membership of the replica sources in a preferred set of replica sources, proximity of the replica sources, network response time, workload of a host for the replica sources, and bandwidth of the connection to the replica sources; and a sending module configured to send the identifiers of the replica sources to a file transfer service that copies from the replica sources in a parallel data transfer to create a replica.