System and method for implementing a transaction log |
| The present invention satisfies the above-described needs by using a chronological list ... |
|
Method and apparatus for transforming data |
| Systems implementing the invention provide users with a set of tools for transforming data from ... |
|
Providing access to user interface elements of legacy application programs |
| An architecture is provided that enables an accessibility aid to directly access and manipulate ... |
|
Translation of object queries involving inheritence |
| Join expressions, expressed in terms of objects, are translated into a relational database join ... |
|
Development system with application browser user interface |
| The present invention is embodied in a component-based, rapid application development (RAD) Java ... |
|
Multi-processor JAVA subsystem |
| OF THE INVENTION Reference will now be made in detail to the preferred embodiments of the ... |
|
Context programming in object-oriented environments |
| The present invention is directed to control of time structured or other context related data by ... |
|
Method and apparatus for centralized management of a storage virtualization engine and data services |
| In accordance with the principles of the invention, an SVE control system uses management software ... |
|
|
Pledge-based resource allocation system
| Details |
Inventors: Pal, Shankar; Bennett, John G.;
Assignee: Microsoft Corporation (Redmond, WA)
Primary Examiner: Coulter; Kenneth R.
Assistant Examiner:
Attorney, Agent or Firm: Woodcock Washburn LLP
A pledge-based resource allocation system is provided in a client/server environment. In this system, resources, such as database objects, are allocated to clients for a limited time period. Allocating resources to clients for a limited time period ensures that a client cannot allocate a resource for so long as to affect other client's use of the resource. This limited use of resources also has other benefits, such as preventing concurrency problems like deadlock. Additionally, using this scheme, a client knows for how long it can utilize a resource since it knows for how long the resource will be valid (i.e., how long it integrity can be guaranteed) and can plan accordingly. Another aspect of the pledge-based resource allocation system is that it efficiently stores a directory structure containing allocation-related information for all resources in the system. This aspect provides that when accessing resource information, all related information of related resources are grouped closely together (i.e., partitioned) to facilitate their access and reduce memory access time. |
|
DETAILED DESCRIPTION A pledge-based resource allocation system for a client/server environment is provided. In this system, resources, such as database objects, are allocated to clients for a limited time period. Allocating resources to clients for a limited time period ensures that a client cannot allocate a resource for so long as to affect other client's use of the resource. This limited use of resources also has other benefits, such as preventing concurrency problems like deadlock. Additionally, using this system, a client knows for how long it can utilize a resource since it knows for how long the resource will be valid (i. e. , how long its integrity can be guaranteed) and can plan accordingly. Another aspect of the pledge-based resource allocation system is that it efficiently stores a directory structure containing allocation-related information for all resources in the system. This aspect provides that when accessing resource information, all related information of related resources are grouped closely together (i. e. , partitioned) to facilitate their access and reduce memory access time. In accordance with a first aspect of the present invention, a method is practiced in a computer system for allocating groups of resources of the computer system to a client. The method assigns a first expiration time to each group, receives a request from the client to allocate one of the resources in one of the groups, and allocates the one resource to the client. Further, the method determines when the first expiration time of the one group has been reached, and when it is determined that the first expiration time has been reached, the method assigns a second expiration time to the one group. The method also determines when the second expiration time has been reached, and when it is determined that the second expiration time has been reached, the method deallocates the one resource from the client. In accordance with a second aspect of the present invention, a method is practiced in a computer system for allocating objects to a client where the computer system has a B+tree data structure with an entry for each object
|
|