Claims
- 1. A method of communicating with a plurality of application instances executing on a cluster of data processing systems utilizing a single Internet Protocol (IP) address, the method comprising the steps of:
notifying a distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address; identifying potential target data processing systems in the cluster of data processing systems at the distributing data processing system based on the notification; receiving a request to establish a connection to the single IP address and a port associated with the single IP address at the distributing data processing system; selecting a data processing system from the potential target data processing systems if the port associated with the request is associated with a potential data processing system; and routing communications for the connection to the selected data processing system.
- 2. The method of claim 1, further comprising notifying a distributing data processing system if an application opens a listening socket utilizing an enumerated port if ports associated with the single IP address are enumerated; and
wherein notifying the distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address comprises notifying the distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address if ports are not enumerated.
- 3. The method of claim 1, further comprising notifying a distributing data processing system if an application opens a listening socket utilizing an enumerated port of the single IP address if ports associated with the single IP address are enumerated irrespective of whether the listening socket is opened with the single IP address specifically identified; and
wherein notifying the distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address comprises notifying the distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address if the listening socket is opened with the single IP address specifically identified.
- 4. The method according to claim 1, wherein the step of selecting a data processing system comprises selecting a data processing system to distribute workload between the potential target data processing systems.
- 5. The method according to claim 4, further comprising:
determining if a port associated with the received request is a unique port associated with a listening socket of an application on a data processing system within the cluster has a port associated; selecting the data processing system associated with the unique port as a destination data processing system for the request; and routing the request to the destination data processing system.
- 6. The method according to claim 5, wherein determining if a port associated with the received request is a unique port comprises:
notifying the distributing data processing system if an application associated with a data processing system in the cluster of data processing systems opens a listening socket associated with the single IP address utilizing a unique port within the cluster of data processing systems so as to provide an identification of data processing systems associated with unique ports of the IP address; and determining if the port associated with the received request is a unique port associated with an identified data processing system.
- 7. The method according to claim 7, wherein the unique port comprises an ephemeral port.
- 8. The method according to claim 1, wherein the distributing data processing system comprises a routing communication protocol stack.
- 9. The method according to claim 3, further comprising:
receiving at the data processing system in the cluster of data processing systems a definition that the single IP address is a distributed address from the distributing data processing system, wherein the definition includes an indication of whether ports associated with the single IP address which are to be distributed are enumerated; and evaluating the definition to determine if the ports associated with the single IP address are enumerated.
- 10. A method for providing use of unique ports in a workload distribution system, comprising:
identifying to a distributing processor when an application of a data processing system opens a listening socket utilizing an IP address for which workload distribution is performed and a port that is uniquely assigned within a cluster of data processing systems; and establishing, in response to the identification, a route at the distributing processor to the data processing system independent of workload distribution such that connection requests to the IP address and the unique port received at the distributing processor are routed to the data processing system.
- 11. The method according to claim 10, further comprising:
receiving at the distributing processor a request for a connection; determining if the request for a connection is to the listening socket; and utilizing the established route if the request for a connection is to the listening socket.
- 12. The method according to claim 11, further comprising:
determining a target for the request for a connection if the request for a connection is not to the listening socket; establishing a route to the target; and forwarding the request for a connection to the target.
- 13. The method according to claim 12, wherein determining a target comprises selecting a target from a plurality of candidate targets based on workload distribution.
- 14. The method according to claim 10, wherein the distributing processor comprises a routing communication protocol stack.
- 15. The method according to claim 14, wherein identifying to a distributing processor comprises sending a connection administration message from a first communication protocol stack to the routing communication protocol stack, wherein the connection administration message identifies an IP address and port of the listening socket.
- 16. The method according to claim 14, wherein the cluster of data processing systems is a SYSPLEX.
- 17. A system for communicating with a plurality of application instances executing on a cluster of data processing systems utilizing a single Internet Protocol (IP) address, comprising:
means for notifying a distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address; means for identifying potential target data processing systems in the cluster of data processing systems at the distributing data processing system based on the notification; means for receiving a request to establish a connection to the single IP address and a port associated with the single IP address at the distributing data processing system; means for selecting a data processing system from the potential target data processing systems if the port associated with the request is associated with a potential data processing system; and means for routing communications for the connection to the selected data processing system.
- 18. The system according to claim 17, further comprising means for notifying a distributing data processing system if an application opens a listening socket utilizing an enumerated port if ports associated with the single IP address are enumerated; and
wherein the means for notifying the distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address comprises means for notifying the distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address if ports are not enumerated.
- 19. The system according to claim 17, further comprising means for notifying a distributing data processing system if an application opens a listening socket utilizing an enumerated port of the single IP address if ports associated with the single IP address are enumerated irrespective of whether the listening socket is opened with the single IP address specifically identified; and
wherein the means for notifying the distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address comprises means for notifying the distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address if the listening socket is opened with the single IP address specifically identified.
- 20. The system according to claim 17, wherein the means for selecting a data processing system comprises means for selecting a data processing system to distribute workload between the potential target data processing systems.
- 21. The system according to claim 20, further comprising:
means for determining if a port associated with the received request is a unique port associated with a listening socket of an application on a data processing system within the cluster has a port associated; means for selecting the data processing system associated with the unique port as a destination data processing system for the request; and means for routing the request to the destination data processing system.
- 22. The system according to claim 17, wherein the means for determining if a port associated with the received request is a unique port comprises:
means for notifying the distributing data processing system if an application associated with a data processing system in the cluster of data processing systems opens a listening socket associated with the single IP address utilizing a unique port within the cluster of data processing systems so as to provide an identification of data processing systems associated with unique ports of the IP address; and means for determining if the port associated with the received request is a unique port associated with an identified data processing system.
- 23. The system according to claim 21, wherein the unique port comprises an ephemeral port.
- 24. The system according to claim 17, wherein the distributing data processing system comprises a routing communication protocol stack.
- 25. The system according to claim 19, further comprising:
means for receiving at the data processing system in the cluster of data processing systems a definition that the single IP address is a distributed address from the distributing data processing system, wherein the definition includes an indication of whether ports associated with the single IP address which are to be distributed are enumerated; and means for evaluating the definition to determine if the ports associated with the single IP address are enumerated.
- 26. A system for providing use of unique ports in a workload distribution system, comprising:
means for identifying to a distributing processor when an application of a data processing system opens a listening socket utilizing an IP address for which workload distribution is performed and a port that is uniquely assigned within a cluster of data processing systems; and means for establishing, responsive to the means for identifying, a route at the distributing processor to the data processing system independent of workload distribution such that connection requests to the IP address and the unique port received at the distributing processor are routed to the data processing system.
- 27. The system according to claim 26, further comprising:
means for receiving at the distributing processor a request for a connection; means for determining if the request for a connection is to the listening socket; and means for utilizing the established route if the request for a connection is to the listening socket.
- 28. The system according to claim 27, further comprising:
means for determining a target for the request for a connection if the request for a connection is not to the listening socket; means for establishing a route to the target; and means for forwarding the request for a connection to the target.
- 29. The system according to claim 28, wherein the means for determining a target comprises means for selecting a target from a plurality of candidate targets based on workload distribution.
- 30. The system according to claim 26, wherein the distributing processor comprises a routing communication protocol stack.
- 31. The system according to claim 30, wherein the means for identifying to a distributing processor comprises means for sending a connection administration message from a first communication protocol stack to the routing communication protocol stack, wherein the connection administration message identifies an IP address and port of the listening socket.
- 32. The system according to claim 30, wherein the cluster of data processing systems is a SYSPLEX.
- 33. A computer program product for communicating with a plurality of application instances executing on a cluster of data processing systems utilizing a single Internet Protocol (IP) address, comprising:
a computer readable storage media having computer readable program code embodied therein, the computer readable program code comprising: computer readable program code configured to notify a distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address; computer readable program code configured to identify potential target data processing systems in the cluster of data processing systems at the distributing data processing system based on the notification; computer readable program code configured to receive a request to establish a connection to the single IP address and a port associated with the single IP address at the distributing data processing system; computer readable program code configured to select a data processing system from the potential target data processing systems if the port associated with the request is associated with a potential data processing system; and computer readable program code configured to route communications for the connection to the selected data processing system.
- 34. The computer program product according to claim 33, further comprising computer readable program code configured to notify a distributing data processing system if an application opens a listening socket utilizing an enumerated port if ports associated with the single IP address are enumerated; and
wherein the computer readable program code configured to notify the distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address comprises computer readable program code configured to notify the distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address if ports are not enumerated.
- 35. The computer program code according to claim 33, further comprising computer readable program code configured to notify a distributing data processing system if an application opens a listening socket utilizing an enumerated port of the single IP address if ports associated with the single IP address are enumerated irrespective of whether the listening socket is opened with the single IP address specifically identified; and
wherein the computer readable program code configured to notify the distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address comprises computer readable program code configured to notify the distributing data processing system if an application opens a listening socket utilizing any port associated with the single IP address if the listening socket is opened with the single IP address specifically identified.
- 36. The computer program product according to claim 33, wherein the computer readable program code configured to select a data processing system comprises computer readable program code configured to select a data processing system to distribute workload between the potential target data processing systems.
- 37. The computer program product according to claim 36, further comprising:
computer readable program code configured to determine if a port associated with the received request is a unique port associated with a listening socket of an application on a data processing system within the cluster has a port associated; computer readable program code configured to select the data processing system associated with the unique port as a destination data processing system for the request; and computer readable program code configured to route the request to the destination data processing system.
- 38. The computer program product according to claim 37, wherein the computer readable program code configured to determine if a port associated with the received request is a unique port comprises:
computer readable program code configured to notify the distributing data processing system if an application associated with a data processing system in the cluster of data processing systems opens a listening socket associated with the single IP address utilizing a unique port within the cluster of data processing systems so as to provide an identification of data processing systems associated with unique ports of the IP address; and computer readable program code configured to determine if the port associated with the received request is a unique port associated with an identified data processing system.
- 39. The computer program product according to claim 37, wherein the unique port comprises an ephemeral port.
- 40. The computer program product according to claim 33, wherein the distributing data processing system comprises a routing communication protocol stack.
- 41. The computer program product according to claim 35, further comprising:
computer readable program code configured to receive at the data processing system in the cluster of data processing systems a definition that the single IP address is a distributed address from the distributing data processing system, wherein the definition includes an indication of whether ports associated with the single IP address which are to be distributed are enumerated; and computer readable program code configured to evaluate the definition to determine if the ports associated with the single IP address are enumerated.
- 42. A computer program product for providing use of unique ports in a workload distribution system, comprising:
a computer readable storage media having computer readable program code embodied therein, the computer readable program code comprising: computer readable program code configured to identify to a distributing processor when an application of a data processing system opens a listening socket utilizing an IP address for which workload distribution is performed and a port that is uniquely assigned within a cluster of data processing systems; and computer readable program code configured to establish, responsive to the computer readable program code configured to identify, a route at the distributing processor to the data processing system independent of workload distribution such that connection requests to 30 the IP address and the unique port received at the distributing processor are routed to the data processing system.
- 43. The computer program product according to claim 42, further comprising:
computer readable program code configured to receive at the distributing processor a request for a connection; computer readable program code configured to determine if the request for a connection is to the listening socket; and computer readable program code configured to utilize the established route if the request for a connection is to the listening socket.
- 44. The computer program product according to claim 43, further comprising:
computer readable program code configured to determine a target for the request for a connection if the request for a connection is not to the listening socket; computer readable program code configured to establish a route to the target; and computer readable program code configured to forward the request for a connection to the target.
- 45. The computer program product according to claim 44, wherein the computer readable program code configured to determine a target comprises computer readable program code configured to select a target from a plurality of candidate targets based on workload distribution.
- 46. The computer program product according to claim 42, wherein the distributing processor comprises a routing communication protocol stack.
- 47. The computer program product according to claim 46, wherein the computer readable program code configured to identify to a distributing processor comprises computer readable program code configured to send a connection administration message from a first communication protocol stack to the routing communication protocol stack, wherein the connection administration message identifies an IP address and port of the listening socket.
- 48. The computer program product according to claim 46, wherein the cluster of data processing systems is a SYSPLEX.
CLAIM OF PRIORITY
[0001] The present application is a continuation-in-part of, and claims priority from, U.S. patent application Ser. No. 09/640,409, filed Aug. 17, 2000, and entitled “METHODS, SYSTEMS AND COMPUTER PROGRAM PRODUCTS FOR CLUSTER WORKLOAD DISTRIBUTION” and U.S. patent application Ser. No. 09/862,968, filed May 22, 2001, and entitled “METHODS, SYSTEMS AND COMPUTER PROGRAM PRODUCTS FOR PORT ASSIGNMENTS OF MULTIPLE APPLICATION INSTANCES USING THE SAME SOURCE IP ADDRESS”, the disclosures of which are incorporated herein by reference as if set forth fully herein.
Continuation in Parts (2)
|
Number |
Date |
Country |
Parent |
09640409 |
Aug 2000 |
US |
Child |
10087853 |
Mar 2002 |
US |
Parent |
09862968 |
May 2001 |
US |
Child |
10087853 |
Mar 2002 |
US |