Patent ID: 8832242

Claim:
A computer program product for selecting an address to use to communicate between a source device and target devices over at least one network, wherein the computer program product comprises a computer readable storage device having computer readable program code embodied therein that executes to perform operations, the operations comprising: maintaining a plurality of network addresses to identify the source device in the at least one network; maintaining a plurality of subscriptions for the source device to receive messages from the target devices, wherein each subscription identifies one of the target devices and one of the source network addresses the identified target device uses to communicate with the source device; detecting a change to a changed network address; determining a subscription indicating the changed network address for communication with one of the target devices; determining the target device indicated in the determined subscription; selecting a selected network address comprising one of the network addresses other than the changed network address; determining whether the selected network address can be used to establish a connection that enables communication between the determined target device and the source device; in response to determining that the selected network address can be used to establish the connection, performing: indicating to use the selected network address for communication with the determined target device; and providing the selected network address to the determined target device indicated in the determined subscription for the determined target device to use to send messages to the source device.