I am looking to add functionality for volunteer archival in an app, in such a way that the user can specify an arbitrary amount of space, and the application will download as many files from the Dat archive as possible. My current working solution is just to pick files at random up to the storage limit.
The problem is that users can also specify certain files to download before filling the rest of the space at random. And since some files are more popular than others, the distribution becomes uneven across the network.
Is there a way to estimate file redundancy as to download the least redundant files first?