Abstract:
A technique for efficiently populating a cache in a data processing system with resources is disclosed. In particular, a node in accordance with the illustrative embodiment of the present invention defers populating its cache with a resource until at least two requests for the resource have been received. This is advantageous because it prevents the cache from being populated with infrequently requested resources. Furthermore, the illustrative embodiment of the present invention populates a cache with a resource only when: at least i requests for the resource have been received at a given node within an elapsed time interval, t, wherein i is an integer greater than one; and at least one request for the resource has been received from at least n of the m filial nodes of the given node within an elapsed time interval, t, wherein m is an integer greater than one, n is an integer greater than one, and m n. Embodiments of the present invention are particularly advantageous in computer networks that comprise a logical hierarchical topology, but are useful an any computer network, and in individual data processing systems and routers that comprise a cache memory.