Patent ID: 8918588

Claim:
A computer-implemented method for maintaining a cache of blocks from a plurality of data streams, the method comprising executing the following steps on a computer: storing blocks of data of a plurality of different data streams in a cache, wherein the blocks are stored in the cache by grouping the blocks in the cache into groups of blocks, each group of blocks corresponding to a respective one of the plurality of different data streams; receiving one or more incoming blocks of an active one of the plurality of different data streams; invalidating at least one stored block of at least one group of blocks in the cache to free space for storing the one or more incoming blocks, wherein invalidating comprises comparing a length of the at least one group of blocks to a sliding window of a pre-defined length., and invalidating one or more blocks in the at least one group of blocks until the length of the at least one group of blocks does not exceed the predefined length of the sliding window; and storing the one or more incoming blocks in the cache.