Optimisation techniques for data distribution in Volunteer Computing