Patent ID: 8732406

Claim:
A method for managing an amount of read-ahead data, comprising: monitoring client read operations, a client read operation requesting data blocks representing a read stream; populating a data structure with read stream sizes and read stream counts based upon the client read operations; evaluating the data structure to select a first read stream having a first read stream size; evaluating the data structure to identify a set of read streams, where read streams within the set of read streams have read stream sizes equal to or greater than the first read stream size; generating a stream metric corresponding to the read stream sizes and a count of the read streams within the set of read streams; determining an expected size of a target read stream based upon the stream metric, the determining comprising: determining a probability that the first read stream corresponds to the expected size; and adjusting the expected size, comprising: responsive to the probability exceeding a first threshold, decreasing the expected size; and responsive to the probability exceeding a second threshold, increasing the expected size; and reading ahead a number of data blocks corresponding to a difference between the first read stream size and the expected size after the adjusting.