Patent ID: 8464272

Claim:
An apparatus for inter-process communication, comprising: a processor configured to control a message distribution entity, operating as a messaging interface as part of a multicast message distribution process that serves to hide at least some of the distributed nature of a system including multiple software components, said processor being configured to control the message distribution entity to: receive, at the message distribution entity, a first message sent from a first software component, said first message corresponding to a multicast event and including a logical name of said multicast event; determine, at the message distribution entity, by reference to a multicast registration data structure, which software components have registered for the multicast event, said determining identifying multiple software components that have registered for said multicast event, said multiple software components including at least a second software component and a third software component; identify at the message distribution entity, from information included in the multicast registration data structure, physical addresses corresponding to the software components that are determined to have registered for said multicast event, said multicast registration data structure including information indicating physical addresses of software components which have registered for said multicast event identified by said logical name; send messages, using said identified physical addresses, from the message distribution entity, to the software components that have registered for the multicast event, said messages communicating information obtained from said first message, sending messages communicating information obtained from said first message including sending a second message to said second software component and sending a third message to said third software component, said second and third messages including information obtained from said first message; receive, at the message distribution entity, acknowledgement messages from the software components registered for the multicast event that received one of the messages sent from the message distribution entity communicating information obtained from said first message, receiving acknowledgement messages including receiving a first acknowledgement message from the second software component and receiving a second acknowledgment message from the third software component; and send, from the message distribution entity, a single acknowledgement message to the first software component after receiving acknowledgment messages from software components registered for the multicast event that received one of the messages sent from the message distribution entity communicating information obtained from said first message.