Method and system for managing computational resources
First Claim
1. A method for managing a pool of computational resources, each computational resource allocatable from the pool of resources, used for a period of time following allocation, and deallocated and returned to the pool following allocation and use, the method comprising:
- storing resource descriptions and resource-reallocation-enabling information in entries of a resource table;
when receiving a resource-allocation request, returning a resource identifier and resource-reallocation-enabling information contained in an available entry of the resource table, and freeing the available entry of the resource table; and
when receiving a request to deallocate a resource, storing an identifier of the resource and resource-reallocation-enabling information into a next free entry of the resource table.
1 Assignment
0 Petitions
Accused Products
Abstract
Various embodiments of the present invention are directed to an efficient and flexible method and system for managing a pool of computational resources that can be allocated from a resource pool, used for varying periods of time, and eventually returned to the resource pool. Certain embodiments of the present invention are directed to a method and system for efficiently managing ephemeral ports used for short-duration communications connections. In one embodiment of the present invention, an array of port tables is employed to store and manage a large space of ephemeral protocol ports. Each port table is a circular buffer, each entry of which includes a port number that uniquely identifies a communications port, a sequence number that allows the port to be immediately reallocated, and any other additional protocol-specific information that may be associated with the port. A non-local-port-number portion of a connection address, comprising a remote HP address, a remote port number, and a local IP address, may be hashed to generate a numerical reference to a particular port table within the array, or list, of port tables, and ephemeral ports for the non-local-port-number portion of a connection address are allocated from, and deallocated and returned to, the numerically identified port table.
42 Citations
17 Claims
-
1. A method for managing a pool of computational resources, each computational resource allocatable from the pool of resources, used for a period of time following allocation, and deallocated and returned to the pool following allocation and use, the method comprising:
-
storing resource descriptions and resource-reallocation-enabling information in entries of a resource table;
when receiving a resource-allocation request, returning a resource identifier and resource-reallocation-enabling information contained in an available entry of the resource table, and freeing the available entry of the resource table; and
when receiving a request to deallocate a resource, storing an identifier of the resource and resource-reallocation-enabling information into a next free entry of the resource table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 17)
-
-
9. The method of claim I
wherein the computational resources are communications ports; - and
wherein resource-reallocation-enabling information is a message sequence number.
- and
-
10. A method for managing a pool of communications ports, each communications port allocatable from the pool of communications ports, used for a period of time following allocation, and deallocated and returned to the pool following allocation and use, the method comprising:
-
storing communications-port descriptions paired with sequence numbers in entries of a port table;
when receiving a communications-port-allocation request, returning a communications-port identifier and a sequence number stored within an available entry of the communications-port table, and freeing the available entry of the port table; and
when receiving a request to deallocate a communications port, storing a communications-port identifier and a sequence number into a next free entry of the port table. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
Specification