Exactly once JMS communication
First Claim
1. 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.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
13 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5)
-
-
6. 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.
-
-
7. 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.
-
-
8. 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.
-
-
9. 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.
-
-
10. 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. - View Dependent Claims (11, 12, 13)
-
Specification