Patent ID: 8028085

Claim:
In a message publication system comprising a publishing component, a subscription and message store, and one or more receiving components each associated with one or more subscribers, wherein the publishing component stores a message to be published in the subscription and message store and a receiving component may retrieve the message from the subscription and message store and publish it to one or more of the subscribers with which it is associated, a method for reducing the latency in publishing a message from the publisher to a subscriber comprising: receiving the message to be published; identifying a subscriber to which the message is to be published; determining, for the identified subscriber, whether the receiving component associated with that subscriber is in the same process space as the publishing component, wherein components in the same process space communicate via intra-process communication or common data structure updates; if the subscriber is in the same process space as the publishing component, transferring the message directly from the publishing component associated with the publisher to the receiving component associated with the subscriber through direct updates of in-memory data structures of the receiving component of the subscriber wherein the subscriber directly accesses the received message, without requiring the receiving component to retrieve the message from the subscription and message store; and if the subscriber is not in the same process space as the publishing component, transferring the message into a message queue of the subscription and message store for that subscriber, detecting the message during a polling process performed by the receiving component, and publishing the message to an in-memory component of the subscriber.