Exactly once JMS communication
AssigneeBEA Systems, Inc.
InventorsDean Jacobs, Eric Halpern
Life of this patent
Estimating the term…
Abstract
A system for managing a JMS message store in a clustered network includes an object acting as a message store for Java Message Service (JMS). A lead server is selected from several clustered servers. The lead server uses a distributed consensus algorithm to select a host server, utilizing multicast messaging while executing rounds of the algorithm. The selected host server hosts the JMS message store, providing sole access to JMS. The other servers are notified of the new host by multicast messaging. All servers in the cluster can use JMS, but they must send messages to the message store on the host and pick up any messages from the message store.
Claims13
A method for hosting Java Messenger Service (JMS) on a network, comprising:
- receiving, at a host server selected from a plurality of servers forming a cluster in the network using a distributed consensus algorithm, an assignment of a JMS object, the JMS object comprising a JMS message store to provide a sole access point and a message queue for JMS over the network;
- receiving, at the JMS message store on the host server, at least one indication from at least one remaining server in the cluster that the remaining server needs to send a message;
- and
- providing at least one message from the message store to the remaining server, thereby allowing the remaining server in the cluster to be able to use JMS.
A computer-readable medium carrying one or more sequences of instructions for managing objects on a network, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
- receiving, at a host server selected from a plurality of servers forming a cluster in the network using a distributed consensus algorithm, an assignment of a JMS object, the JMS object comprising a JMS message store to provide a sole access point and a message queue for JMS over the network;
- receiving, at the JMS message store on the host server, at least one indication from at least one remaining server in the cluster that the remaining server needs to send a message;
- and
- providing at least one message from the message store to the remaining server, thereby allowing the remaining server in the cluster to be able to use JMS.
A computer program product for execution by a server computer for managing objects on a network, comprising:
- computer code for receiving, at a host server selected from a plurality of servers forming a cluster in the network using a distributed consensus algorithm, an assignment of a JMS object, the JMS object comprising a JMS message store to provide a sole access point and a message queue for JMS over the network;
- computer code for receiving, at the JMS message store on the host server, at least one indication from at least one remaining server in the cluster that the remaining server needs to send a message;
- computer code for receiving, at the JMS message store on the host server, at least one indication from at least one remaining server in the cluster that the remaining server needs to send a message;
- and
- computer code for providing at least one message from the message store to the remaining server, thereby allowing the remaining server in the cluster to be able to use JMS;
- and
- a machine-readable medium for containing the computer codes.
A system for distributing objects in a cluster, comprising:
- means for receiving, at a host server selected from a plurality of servers forming a cluster in the network using a distributed consensus algorithm, an assignment of a JMS object, the JMS object comprising a JMS message store to provide a sole access point and a message queue for JMS over the network;
- means for receiving, at the JMS message store on the host server, at least one indication from at least one remaining server in the cluster that the remaining server needs to send a message;
- and
- means for providing at least one message from the message store to the remaining server, thereby allowing the remaining server in the cluster to be able to use JMS.
A computer system comprising:
- a processor;
- object code executed by the processor, the object code configured to:
- receive, at a host server selected from a plurality of servers forming a cluster in the network using a distributed consensus algorithm, an assignment of a JMS object, the JMS object comprising a JMS message store to provide a sole access point and a message queue for JMS over the network;
- receive, at the JMS message store on the host server, at least one indication from at least one remaining server in the cluster that the remaining server needs to send a message;
- and
- provide at least one message from the message store to the remaining server, thereby allowing the remaining server in the cluster to be able to use JMS.
A method for managing a JMS message store on a network, comprising:
- receiving, at a JMS message store on a host server selected from a plurality of servers forming a cluster in the network using a Paxos algorithm, at least one indication from at least one remaining server in the cluster that the remaining server needs to send a message;
- and
- providing at least one message from the message store to the remaining server, thereby allowing the remaining server in the cluster to be able to use JMS.
Dependencies are inferred from the claim text.