System and method for dynamically allocating resources in a client/server environment
First Claim
1. A computer-readable medium having computer-executable components, comprising:
- a server component configured to receive from a client information that indicates the client needs additional resources to perform a transaction, the server component being further configured to determine if allocating to the client the additional resources puts the server component in a resource constrained situation, and if so, to rebalance resources currently allocated to a plurality of existing clients.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is a mechanism for dynamically allocating receive buffers on a server to a plurality of clients in a network environment. The server maintains a list of the number of transaction credits in use by each client, the number of transaction credits allocated to each client, and the number of pending transaction requests that are not being handled due to a limitation on the number of allocated transaction credits. The transaction credits correspond to the receive buffers. In a resource constrained situation, the server computes an equitable distribution of the available credits and reallocates the available credits based on that equitable distribution.
55 Citations
24 Claims
-
1. A computer-readable medium having computer-executable components, comprising:
a server component configured to receive from a client information that indicates the client needs additional resources to perform a transaction, the server component being further configured to determine if allocating to the client the additional resources puts the server component in a resource constrained situation, and if so, to rebalance resources currently allocated to a plurality of existing clients. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. A computer-readable medium encoded with a data structure, comprising:
-
a plurality of data stores, each data store being associated with a different client connection to a server, each data store including;
a credits used field that identifies a number of resource credits currently in use by a client corresponding to the data store;
a credit limit field that identifies a number or resources available to the client corresponding to the data store;
a pending count field that identifies a number of transactions that are pending due to an unavailability of sufficient resources to handle the transactions; and
an open files field that identifies a number of files that are currently in use by the client. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A computer-readable medium encoded with a data structure, comprising:
-
a credits used field that identifies a number of resource credits currently in use by a client corresponding to the data structure;
a credit limit field that identifies a number or resources available to the client;
a pending count field that identifies a number of transactions that are pending due to an unavailability of sufficient resources to handle the transactions; and
a pending queue field that includes transaction messages corresponding to the transactions that are pending.
-
-
19. A computer-implemented method, comprising:
-
computing a total number of client connections, each client connection being associated with a client connected to a server, each client having a credit limit that identifies a number of resources that are allocated to the client computing a total number of pending requests that identifies a number of transaction requests that are not being handled due to a limitation on resources;
computing a total number of credits in use; and
if the total number of pending requests and the total number of credits in use combined exceeds a total number of available resources, calculating a new credit limit for each of the clients connected to the server; and
reallocating the total available resources in accordance with the new credit limits. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification