CPC G06F 11/1461 (2013.01) [G06F 11/1464 (2013.01); G06F 11/1466 (2013.01)] | 20 Claims |
1. A system comprising:
one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
extracting, by first workers of a backup service, entities (a) of a set of entities from an information service and (b) for backing up of the entities in sequential backup cycles;
scheduling jobs in each backup cycle to extract the entities, wherein each job is performed by one of a plurality of workers of the backup service, the jobs being assigned to workers from the plurality of workers in order of current expected runtimes of the extraction of the entities being extracted, from longest to shortest expected runtime; and
for each entity and for each backup cycle after an initial backup cycle calculating a current expected runtime for the entity from:
a learning factor alpha,
a damping factor lambda,
a download time DT, being a runtime to download the entity in an immediately preceding backup cycle,
a size ratio Ratio, being a ratio of (i) a current size of the entity obtained from the information service to (ii) a size of the entity as downloaded in the immediately preceding backup cycle, and
a previous expected runtime ER, being an expected runtime calculated for the entity for the immediately preceding backup cycle,
the current expected runtime being calculated according to current expected runtime=Ratio×(ER+alpha×(DT+lambda×ER−ER)).
|