Patent attributes
In a resource-pooling system, predictions can be made as to when and how resources may be needed by particular processes in the system. Requests can be made preemptively to client systems to pre-allocate resources such that resources are ready to use when needed. Client systems can submit constraints on how particular resources may be used by the system. In order to efficiently evaluate these constraints, the system may be organized into a hierarchy of groups, subsystems, and processes, and the constraints may be formulated to match this hierarchy. When resources need to be allocated, constraints may be evaluated using an algorithm that traverses levels of the hierarchy to quickly identify pre-allocations that are available for a particular process based on its location in the system hierarchy.