Methods, systems and computer program products for port assignments of multiple application instances using the same source IP address
First Claim
Patent Images
1. A method of assigning a port for a connection originated by one of multiple application instances, the multiple application instances executing on different data processing systems and utilizing a common network address, comprising:
- providing an indication of available ports for the common network address to each of the different data processing systems executing the multiple application instances; and
selecting a port identified as available as the port for the connection utilizing the common network address, wherein providing an indication of available ports comprises maintaining an identification of available ports associated with the common network address in a storage accessible by each of the multiple data processing systems; and
wherein selecting a port comprises selecting a port identified as available in the storage accessible by each of the data processing systems.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems and computer program products provide assignment of ports for connections originated by multiple application instances executing on different data processing systems utilizing a common network address. An indication of available ports for the common network address is provided to each of the different data processing systems executing the multiple application instances. A port identified as available is selected as a port for a connection utilizing the common network address.
-
Citations
32 Claims
-
1. A method of assigning a port for a connection originated by one of multiple application instances, the multiple application instances executing on different data processing systems and utilizing a common network address, comprising:
-
providing an indication of available ports for the common network address to each of the different data processing systems executing the multiple application instances; and selecting a port identified as available as the port for the connection utilizing the common network address, wherein providing an indication of available ports comprises maintaining an identification of available ports associated with the common network address in a storage accessible by each of the multiple data processing systems; and wherein selecting a port comprises selecting a port identified as available in the storage accessible by each of the data processing systems. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of assigning a port for a connection originated by one of multiple application instances, the multiple application instances executing on different data processing systems and utilizing a common network address, comprising:
-
providing an indication of available ports for the common network address to each of the different data processing systems executing the multiple application instances; and selecting a port identified as available as the port for the connection utilizing the common network address; wherein providing an indication of available ports comprises maintaining an identification of available ports associated with the common network address in a storage accessible by each of the multiple data processing systems; wherein selecting a port comprises selecting a port identified as available in the storage accessible by each of the data processing systems; wherein the different data processing systems comprise a Sysplex and the storage accessible by each of the data processing systems comprises a coupling facility; wherein the steps of maintaining an identification of available ports associated with the common network address in a storage accessible by each of the data processing systems and selecting a port identified as available in the storage accessible by each of the data processing systems are carried out by communication protocol stacks of the data processing systems; and wherein the step of maintaining an identification of available ports associated with the common network address further comprises; maintaining a first structure in the coupling facility which indicates whether the port is available for assignment by any of the communication protocol stacks; and maintaining a second structure in the coupling facility for each of the communication protocol stacks which indicates which ports are in use by the corresponding communication protocol stack; detecting a failure of one of the communication protocol stacks; and revising the first structure based on the second structure corresponding to the failed communication protocol stack so as to indicate that the ports in used by the failed communication protocol stack are available for use.
-
-
12. A method of coordinating port assignments for connections utilizing a dynamic virtual Internet Protocol address (DVIPA) as a source address, wherein the DVIPA is utilized as a source address for connections originated by a plurality of data processing systems, comprising:
-
maintaining an indication of available ports associated with the DVIPA in a storage facility which is commonly accessible to communication protocol stacks of the plurality of data processing systems; and selecting a port for a connection utilizing the DVIPA as a source address based on the indication of available ports associated with the DVIPA in the storage facility, wherein maintaining an indication of available ports and selecting a port are carried out by the communication protocol stacks of the plurality of data processing systems and wherein maintaining an indication of available ports and selecting a port are selectively carried out by the communication protocol stacks responsive to a predefined keyword being provided in a configuration statement which defines the DVIPA to the communication protocol stack. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 25, 26, 27, 29, 31)
-
-
22. A method of coordinating port assignments for connections utilizing a dynamic virtual Internet Protocol address (DVIPA) as a source address, wherein the DVIPA is utilized as a source address for connections originated by a plurality of data processing systems, comprising:
-
maintaining an indication of available ports associated with the DVIPA in a storage facility which is commonly accessible to communication protocol stacks of the plurality of data processing systems; and selecting a port for a connection utilizing the DVIPA as a source address based on the indication of available ports associated with the DVIPA in the storage facility; wherein maintaining an indication of available ports and selecting a port are carried out by the communication protocol stacks of the plurality of data processing systems; wherein maintaining an indication of available ports associated with the DVIPA comprises maintaining a structure in a coupling facility of a Sysplex, the structure indicating whether a port is in use by a connection utilizing the DVIPA as a source address; wherein maintaining a structure in a coupling facility further comprises updating the structure in the coupling facility to reflect that a port of a connection utilizing the DVIPA as a source address is not in use when the connection utilizing the DVIPA as a source address terminates; and wherein updating the structure in the coupling facility comprises; obtaining the structure from the coupling facility; locking the structure in the coupling facility to prevent access to the structure by other communication protocol stacks;
thenrevising the structure to reflect that the port associated with the terminated connection is not in use; returning the structure to the coupling facility; and
thenunlocking the structure in the coupling facility to allow access to the structure by other communication protocol stacks. - View Dependent Claims (23, 24)
-
-
28. A method of coordinating port assignments for connections utilizing a dynamic virtual Internet Protocol address (DVIPA) as a source address, wherein the DVIPA is utilized as a source address for connections originated by a plurality of data processing systems, comprising:
-
maintaining an indication of available ports associated with the DVIPA in a storage facility which is commonly accessible to communication protocol stacks of the plurality of data processing systems; and selecting a port for a connection utilizing the DVIPA as a source address based on the indication of available ports associated with the DVIPA in the storage facility; wherein maintaining an indication of available ports and selecting a port are carried out by the communication protocol stacks of the plurality of data processing systems; wherein maintaining an indication of available ports associated with the DVIPA comprises maintaining a copy of a connection routing hash table associated with the DVIPA in a coupling facility of a Sysplex, the connection routing hash table indicating source address and source port and destination address and destination port for connections utilizing the DVIPA, the method further comprising updating the connection routing hash table in the coupling facility to incorporate the determined connection routing hash table entry; and wherein evaluating the connection routing hash table and updating the connection routing hash table comprise; obtaining the connection routing hash table from the coupling facility; locking the structure in the coupling facility to prevent access to the connection routing hash table by other communication protocol stacks;
thenincorporating the determined connection routing hash table entry into the connection routing hash table; returning the connection routing hash table to the coupling facility; and
thenunlocking the connection routing hash table in the coupling facility to allow access to the connection routing hash table by other communication protocol stacks.
-
-
30. A method of coordinating port assignments for connections utilizing a dynamic virtual Internet Protocol address (DVIPA) as a source address, wherein the DVIPA is utilized as a source address for connections originated by a plurality of data processing systems, comprising:
-
maintaining an indication of available ports associated with the DVIPA in a storage facility which is commonly accessible to communication protocol stacks of the plurality of data processing systems; and selecting a port for a connection utilizing the DVIPA as a source address based on the indication of available ports associated with the DVIPA in the storage facility; wherein maintaining an indication of available ports and selecting a port are carried out by the communication protocol stacks of the plurality of data processing systems; wherein maintaining an indication of available ports associated with the DVIPA comprises maintaining a copy of a connection routing hash table associated with the DVIPA in a coupling facility of a Sysplex, the connection routing hash table indicating source address and source port and destination address and destination port for connections utilizing the DVIPA; wherein maintaining a copy of a connection routing hash table in a coupling facility further comprises updating the connection routing hash table in the coupling facility to reflect that a connection utilizing the DVIPA as a source address is not in use when the connection utilizing the DVIPA as a source address terminates; and wherein updating the connection routing hash table in the coupling facility comprises; obtaining the connection routing hash table from the coupling facility; locking the connection routing hash table in the coupling facility to prevent access to the connection routing hash table by other communication protocol stacks;
thenrevising the connection routing hash table to remove an entry corresponding to the terminated connection; returning the connection routing hash table to the coupling facility; and
thenunlocking the connection routing hash table in the coupling facility to allow access to the connection routing hash table by other communication protocol stacks.
-
-
32. A method of coordinating port assignments for connections utilizing a dynamic virtual Internet Protocol address (DVIPA) as a source address, wherein the DVIPA is utilized as a source address for connections originated by a plurality of data processing systems, comprising:
-
maintaining an indication of available ports associated with the DVIPA in a storage facility which is commonly accessible to communication protocol stacks of the plurality of data processing systems; and selecting a port for a connection utilizing the DVIPA as a source address based on the indication of available ports associated with the DVIPA in the storage facility; wherein the step of maintaining an indication of available ports further comprises; maintaining a first structure in the storage facility which indicates whether the port is available for assignment by any of the communication protocol stacks; and maintaining a second structure in the storage facility for each of the communication protocol stacks which indicates which ports are in use by the corresponding communication protocol stack; detecting a failure of one of the communication protocol stacks; and revising the first structure based on the second structure corresponding to the failed communication protocol stack so as to indicate that the ports in used by the failed communication protocol stack are available for use.
-
Specification