Synchronization of a client and a server in a prefetching resource allocation system
AssigneeMicrosoft Corporation
InventorShankar Pal
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorShankar Pal
Estimating the term…
A prefetching resource allocation system is provided. Although performance improvements are realized through the use of prefetching, the use of prefetching introduces a problem where the client and the server may become unsynchronized with respect to their understanding of whether a resource is allocated. The improved resource allocation system prevents this synchronization problem from occurring by maintaining a counter for the client as well as a counter for the server. Each time that the server allocates a resource to the client, the server increments its counter. Similarly, each time that the client receives an indication that the resource has been allocated on its behalf, the client increments its counter. When the client requests the deallocation of a resource, it provides the current value of its counter. Hence, upon receiving a deallocation request, the server determines if the client's counter value received in the deallocation request is less than the server's counter value. If this condition is true, the synchronization problem has been detected because the resource has been allocated to the client while the deallocation request was in transit to the client. Under these circumstances, the improved resource allocation system ignores the deallocation request so that the client and server do not become unsynchronized.
A method in a data processing system having a server that manages allocation of database objects and a client that requests allocation of the database objects, wherein the server maintains a server counter that is incremented each time that a database object is allocated to the client, and wherein the client maintains a client counter that is incremented each time that the client is made aware of an allocation of a database object on its behalf, comprising the steps of:
A method in a data processing system having a server that manages allocation of resources and a client that requests allocation of the resources, the method performed by the server comprising the steps of:
A method in a data processing system having a server that manages allocation of resources and a client that requests allocation of the resources, the method performed by the client comprising the steps of:
A method in a data processing system having a server that manages allocation of resources and a client that requests allocation of the resources, the method comprising the steps of:
A data processing system having resources comprising:
A computer-readable memory device containing a data structure containing allocation information utilized by a server when allocating resources to a client and utilized by the server when deallocating resources from the client, the server maintaining a counter that is incremented each time that a resource is allocated to the client, the client maintaining a counter that is incremented each time that the client is made aware that a resource has been allocated on its behalf, the data structure containing entries for each resource, each entry containing:
A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system having a server that manages allocation of resources and a client that requests allocation of the resources, the method performed by the server comprising the steps of:
A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system having a server that manages allocation of resources and a client that requests allocation of the resources, the method performed by the client comprising the steps of:
A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system having a server that manages allocation of resources and a client that requests allocation of the resources, the method comprising the steps of:
Dependencies are inferred from the claim text.