1. A computer readable medium storing a computer program which when executed by at least one processor distributes an operation for processing by a set of background services, the computer program comprising sets of instructions for: automatically determining a number of background services for performing an operation; partitioning the operation into a plurality of sub-operations; and distributing the plurality of sub-operations across the determined number of background services.