Patent ID: 8751662

Claim:
A system for optimizing content distribution in an electronic network, comprising: client devices that are configured to locally store content segments of content items in a distributed manner, said client devices accessing required content segments from other ones of said client devices for performing content reassembly procedures to produce required ones of said content items; and an optimization module stored on a non-transitory computer-readable medium that iteratively redistributes said content segments among said client devices to seek a content segment configuration of said content segments that optimizes performance characteristics of said content reassembly procedures, said optimization module iteratively calculating network cost functions that quantify said performance characteristics of said client devices during said content reassembly procedures, said network cost functions being approximately equal to weighted sums of financial costs for obtaining said content items directly from an external content distributor plus estimated content segment delivery times for performing said content reassembly procedures, said optimization module iteratively redistributing said content segments into a current configuration by randomly applying perturbation functions to one or more of said content segments on said client devices, said perturbation functions being predefined to include a move function that moves a random content segment from one of said client devices to another one of said client devices, a swap function that swaps two randomly chosen ones of said content segments, a delete function that deletes a first randomly chosen content segment, and a duplicate function that copies a second randomly chosen content segment to another one of said client devices, a split function that splits a third randomly chosen content segment into two different content segments, a concatenate function that joins two randomly chosen consecutive content segments to form a new unified content segment, a swap-swap function that performs two consecutive swap functions, and a swap-move function that first executes said swap function, and then executes said move function.