Computer method and apparatus for managing network ports cluster-wide using a lookaside list
First Claim
1. A method for managing port numbers designated for use by applications executing on processor nodes of a cluster, said method including the steps of:
- providing a range of available port numbers;
registering a subset of the port numbers, from the range of available port numbers, in a lookaside list such that the subset forms a locked range of port numbers and wherein information regarding the locked range of port numbers is accessible by all of the processor nodes of the cluster through the lookaside list, said information indicating which locked port numbers can only be used by applications running on a certain processor node of the cluster; and
selecting port numbers from the locked range of port numbers using a lock application running on a processor node of the cluster.
5 Assignments
0 Petitions
Accused Products
Abstract
In accordance with the present invention a method is provided for managing TCP port numbers used by applications running on a cluster. Using that method, ranges of TCP port numbers are locked (reserved) by a processor node of a cluster. An application running on one of those processor nodes uses a locked TCP port number when issuing a data packet that includes the cluster alias address as the source address. With such an invention, applications running on each processor node within a cluster will use unique TCP port numbers when using the cluster alias address. Therefore, connections between a source and destination application can be uniquely registered at the destination processor node using an index formed by a combination of the source address and the TCP port number with the destination address and TCP port number.
-
Citations
20 Claims
-
1. A method for managing port numbers designated for use by applications executing on processor nodes of a cluster, said method including the steps of:
-
providing a range of available port numbers;
registering a subset of the port numbers, from the range of available port numbers, in a lookaside list such that the subset forms a locked range of port numbers and wherein information regarding the locked range of port numbers is accessible by all of the processor nodes of the cluster through the lookaside list, said information indicating which locked port numbers can only be used by applications running on a certain processor node of the cluster; and
selecting port numbers from the locked range of port numbers using a lock application running on a processor node of the cluster. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
issuing a selection request, by a first application executing on a first processor node of the cluster; and
allocating a first locked port number, from the locked range of port numbers, to the first application running on said first processor node of the cluster in response to the selection request from said first application, said first locked port number being allocated to said first application such that said first application can use an associated cluster alias address as a source address for a data packet that is to be issued by said first application.
-
-
3. A method for managing port numbers as described in claim 2, further including the steps of:
-
establishing a connection between the first application running on said first processor node of the cluster and a second application running on a second processor node outside of the cluster by issuing the data packet to the second application; and
storing information identifying the connection in a database maintained by the second processor node, said information being stored at a location that is indexed by a combination of said source address of the data packet and the first locked port number.
-
-
4. A method for managing port numbers as described in claim 3, further including the steps of:
-
monitoring, by the lock application, a number of the locked port numbers that have not been allocated to the applications executing on the processor nodes of the cluster, said number being a number of un-allocated port numbers; and
locking, by the lock application, an additional range of the available port numbers when the number of un-allocated port numbers is reduced to a predetermined threshold number.
-
-
5. A method for managing port numbers as described in claim 4, wherein said first locked port number is allocated to the first application executing on said first processor node in response to the first one of said applications issuing an allocation request for a specified port number.
-
6. A method for managing port numbers as described in claim 5, wherein the specified port number is port zero.
-
7. A method for managing port numbers as described in claim 1 wherein the range of available port numbers is a portion of the TCP ephemeral port number space.
-
8. A method for managing port numbers as described in claim 1 wherein each of the processor nodes of the cluster are running the Digital UNIX operating system.
-
9. A method for managing port numbers as described in claim 8 wherein the locked port numbers are registered in the lookaside list by a cluster resource management application in response to a request from the lock application.
-
10. A method for managing port numbers as described in claim 9 wherein the cluster resource management application is the kernel group services application of the Digital UNIX operating system.
-
11. A computer program product for managing port numbers of a cluster having a plurality of system resources including processor nodes, shared memory and I/O circuitry through which the plurality of system resources are electrically connected and through which data packets can be exchanged with other clusters, the computer program product comprising a computer usable medium having computer readable program code thereon, including:
-
program code that establishes a group of unique port numbers dedicated for use by an associated one of the processor nodes of the cluster, the group of unique port numbers being registered in a lookaside list such that the group forms a locked range of port numbers;
program code that allocates a port number from the locked range of port numbers to an application executing on the one processor node;
program code for establishing a connection between the application running on the one processor node and an application running on a processor node of another cluster; and
program code for storing information identifying the connection in a database location that is indexed by a combination of an address of the one processor node and the allocated port number, such that a data packet returning across that connection can be delivered to the application executing on the one processor node by any processor node of the cluster receiving the data packet. - View Dependent Claims (12, 13, 14, 15)
program code for monitoring a number of the locked range of port numbers that are not allocated to applications executing on the one processor node, said number being a number of un-allocated port numbers; and
program code for adding additional unique port numbers to the group of unique port numbers when the number of un-allocated port numbers is reduced to a predetermined threshold.
-
-
13. A computer program product according to claim 12 wherein the program code that establishes the group of unique port numbers stores that group of unique port numbers in a lookaside list, the lookaside list being accessible by each of the processor nodes of the cluster.
-
14. A computer program product according to claim 13 wherein the program code that allocates a port number from the locked range of port numbers does so in response to the application issuing a request for a specified port number to be allocated to it.
-
15. A computer program product according to claim 14 wherein the specified port number is port number zero.
-
16. A computer system, comprising
a plurality of processor nodes, comprising a cluster; -
a database, accessible by each of the processor nodes of the cluster, including a range of available port numbers; and
a first processor node, of the plurality of processor nodes, for executing a first application that registers a subset of the port numbers, from the range of available port numbers, in a lookaside list such that the subset forms a locked range of port numbers and wherein information regarding the locked range of port numbers is accessible by all of the processor nodes of the cluster through the lookaside list, said information indicating which locked port numbers can only be used by applications running on a certain processor node of the cluster. - View Dependent Claims (17, 18, 19, 20)
-
Specification