Patent ID: 7529768

Claim:
An apparatus comprising: at least one processor; a memory coupled to the at least one processor; and a container controller residing in the memory that autonomically determines what objects to cache based on one or more preset parameters and a plurality of previous accesses to a server; where relationships between the objects are used to determine which objects are more beneficial to place in a cache by: determining a plurality of object groups each object group having a corresponding size, based on a plurality of previous accesses to the cache; determining if the size of the cache is small with respect to the corresponding size of said each object group of the plurality of object groups and choosing an object group with the largest benefit ratio, where the corresponding size is less than or equal to the size of the cache; analyzing the plurality of object groups to determine an access rate, the corresponding size and the largest benefit ratio resulting from accesses to the cache from one or more client computers; choosing the object group with the largest benefit ratio that has the corresponding size is less than a space remaining in the cache to add to the cache; re-analyzing the plurality of object groups to adjust the corresponding size and the largest benefit ratio after removing a size of common objects chosen in a previous step from the corresponding size of the plurality of objects groups that were not chosen in the previous step; determining space remaining in the cache; and where space remaining in the cache is greater than or equal to the smallest remaining object, repeating the step of choosing and the step of re-analyzing.