Distributed storage systems (DSSs) provide a scalable solution for reliably storing massive amounts of data coming from various sources. Heterogeneity of these data sources often means different data classes (types) exist in a DSS, each needing a different level of quality of service (QoS). As a result, efficient data storage and retrieval processes that satisfy various QoS requirements are nee...