The present invention is embodied in a
system and method for generating and validating reference handles for consumers requiring access to resources in a computer
system. The
system of the present invention includes a resource manager having a
handle administrator, a plurality of consumers, and a plurality of resources. The
handle administrator includes an assignment routine, a release routine, and a dereference routine. The assignment routine issues new handles, the release routine releases handles that are no longer required (thus rendering the
handle invalid), and the dereference routine dereferences handles into a pointer to a resource, which entails verifying that the handle is valid. Also included is an auxiliary sub-routine for managing used and unused records, an expansion sub-routine for efficiently expanding the handle
database, a handle recycling sub-routine for recycling handles, a contraction sub-routine for efficiently contracting the handle
database, a
hysteresis sub-routine for probabilistically contracting the handle
database, and a memory allocation failure sub-routine to improve functionality in the event of memory allocation failure.