Patent ID: 8856368

Claim:
A method for distributing a plurality of data portions from a server computer system to a plurality of client computer systems, comprising: operatively coupling the server computer system to a non-transitory computer-readable storage medium; storing, in the storage medium, a data portion library, the data portion library comprising the plurality of data portions, each data portion being dividable into data chunks, wherein a portion identifier is assigned to each data portion; storing, in the storage medium, a data chunk library, the data chunk library comprising all the data chunks constituting the plurality of data portions, wherein meta-data is assigned to each data chunk of the data chunk library, the meta-data of a given data chunk comprising the portion identifiers of the data portions said data chunk is contained in; obtaining, by a processor of the server, one or more first requests, each first request obtained from a client computer system of the plurality of client computer systems and each first request comprising a portion identifier; in response to each of the one or more first requests, transmitting, by the processor, a list of chunk identifiers to the requesting client computer system, wherein the list of chunk identifiers specifies the data chunks whose meta-data comprise the data portion identified by the portion identifier contained in the first request of the client computer system; obtaining, by the processor, a second request, during a time period, from the client computer system, the second request comprising a request to transmit data chunks and an identifier of the client computer system; evaluating, by the processor, the second request; and transmitting, by the processor, data chunks to each of the requesting client computer systems of the plurality of client computer systems, wherein the composition of the data chunks transmitted depends on a result of the evaluation, and wherein the data chunks transmitted comprise the data chunks in the list of chunk identifiers.