×

Priority resource allocation in programming environments

  • US 7,007,277 B2
  • Filed: 03/12/2001
  • Issued: 02/28/2006
  • Est. Priority Date: 03/23/2000
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer implemented language extension to an object oriented programming language for the allocation of resource objects to users in a programming environment, the language extension comprising:

  • a resource pool for storing a plurality of individual available resource objects;

    a resource queue for storing data representing select ones of the users, the users on the resource queue seeking the allocation of the resource objects;

    a release resource system for releasing a concluded resource object after use by a user, comprising;

    means for returning the concluded resource object to the resource pool; and

    means for, when the resource queue is not empty, using an object oriented programming language notify method to notify the users waiting on a synchronization object that the concluded resource object is available;

    an acquire resource system for an acquiring user to acquire at least one of the resource objects, comprising;

    means for returning at least one of the resource objects in the resource pool if the resource pool is not empty and there are no users on the resource queue;

    when the resource pool is empty or the resource queue is non-empty;

    means for adding the acquiring user to the resource queue;

    means for having the acquiring user wait for notification by using the object oriented programming language wait method on the synchronized object;

    means for awakening the acquiring user wait for notification by using the object oriented programming language wait method on the synchronized object;

    means for awakening the acquiring user when there is a resource object in the resource pool;

    means for determining if the acquiring user is at the head of the resource queue, and if the acquiring user is at the head of the resource queue;

    means for removing the acquiring user from the resource queue;

    means for removing at least one of the resource objects from the resource pool; and

    means for returning said at least one of the resource objects to the acquiring user, otherwise, continuing to have the acquiring user wait for notification by using the object oriented programming language wait method on the synchronized object; and

    means for the acquire resource system to remove the acquiring user from the resource queue if the acquiring user does not acquire said at least one of the resource objects within a predefined time; and

    synchronization means to constrain users with regard to a plurality of individual available resource objects such that only one user may execute either the release resource system or the acquire resource system at any one time, said synchronization means being synchronized on the synchronization object.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×