Patent ID: 7930706

Claim:
A method of operation for a proxy server comprising: a) receiving a plurality of concurrent requests for a digital asset; b) selecting a decoupled writer mode of operation for serving the plurality of current requests in response to first selection criteria, wherein if the first selection criteria is met, the method further includes: i) obtaining the digital asset from a web server hosting the digital asset with a decoupled writer thread; ii) storing the digital asset in a proxy cache of the proxy server with the decoupled writer thread; iii) obtaining the digital asset from the proxy cache with a dependent reader thread for each of the plurality of concurrent requests; and iv) transferring the digital asset to clients associated with the plurality of concurrent requests with the dependent reader threads; and c) selecting a reader/writer mode of operation for serving the plurality of current requests in response to second selection criteria, wherein if the second selection criteria is met, the method further includes: i) providing a plurality of reader/writer threads, each one of the plurality of reader/writer threads corresponding to one of the plurality of concurrent requests; ii) selecting one of the plurality of reader/writer threads as a writer thread operating to obtain at least a segment of the digital asset from a web server hosting the digital asset and store the at least a segment of the digital asset in the proxy cache; iii) configuring remaining ones of the plurality of reader/writer threads as reader threads operating to obtain a cached portion of the digital asset from the proxy cache and transfer the cached portion of the digital asset to the clients associated with the plurality of concurrent requests; and iv) switching roles of the writer thread and a select one of the reader threads, wherein the select one of the reader threads is identified based on a comparison of a connection speed of the writer thread and connection speeds of the reader threads.