FlyingGrid : from Volunteer Computing to Volunteer Cloud