The DPF Service design is based on a pull streaming model, i.e. a DataSink pulls data from a DataSource. This allows the sink to control the rate of transfer and potentially parallelize operation. Moreover, optimizations can be made such as copy-in-place when the source and sink are the same infrastructure such as object storage hosted by a single cloud provider.
Implementations may support random data access for parallel transfers of large files. For example, both AWS S3 and Azure Object Storage have facilities for ranged gets.
DataSink implementations will provide the ability to configure parallel transfers, e.g. controlling the number of threads to perform ranged gets.