Exactly once JMS communication
First Claim
Patent Images
1. A method for hosting Java Messenger Service (JMS) on a network, comprising:
- selecting a host server from among a plurality of network servers in a cluster, using a distributed consensus algorithm;
assigning a JMS object to the host server, the JMS object comprising a JMS message store providing the sole access point and message queue for JMS over the network; and
notifying the network servers that the host server is hosting the sole JMS message store;
thereby allowing all servers in the cluster to be able to use JMS, but each of the servers must send messages to the message store on the host and pick up any messages from the message store.
2 Assignments
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.
64 Citations
28 Claims
-
1. A method for hosting Java Messenger Service (JMS) on a network, comprising:
-
selecting a host server from among a plurality of network servers in a cluster, using a distributed consensus algorithm; assigning a JMS object to the host server, the JMS object comprising a JMS message store providing the sole access point and message queue for JMS over the network; and notifying the network servers that the host server is hosting the sole JMS message store; thereby allowing all servers in the cluster to be able to use JMS, but each of the servers must send messages to the message store on the host and pick up any messages from the message store. - View Dependent Claims (2, 3, 4)
-
-
5. A method for ensuring the existence of a JMS object in a cluster, comprising:
-
providing access to a JMS object using a host server in a plurality of servers, the JMS object comprising a JMS message store providing the sole access point and message queue for JMS over the network; selecting a new host server from among the plurality of servers using a distributed consensus algorithm if the host server is unable to provide access to the JMS object; pulling information from the JMS message store to the new host server needed to provide access to the JMS object; and notifying other servers in said plurality of servers that a new host server is providing access to the JMS object.
-
-
6. A method for assigning a JMS object to a server in a cluster, comprising:
-
selecting a host server from among a plurality of network servers using a distributed consensus algorithm; contacting each server in the cluster to determine whether the selected host is acceptable; and multicasting a notification to other servers in the cluster to commit the selection of a new host server if all servers in the cluster agree that the selected host is acceptable.
-
-
7. 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:
-
selecting a host server from among a plurality of network servers using a distributed consensus algorithm; assigning a JMS object to the host server, the host server assigned to provide sole access to JMS; and notifying other network servers that the host server provides sole access to JMS.
-
-
8. A computer readable medium program product for managing objects on a network, comprising:
-
computer code for selecting a host server from among a plurality of network servers using a distributed consensus algorithm; computer code for assigning a JMS object to the host server, the host server assigned to provide sole access to JMS; computer code for notifying other network server;
that the host server provides sole access to JMS; anda machine-readable medium for containing the computer codes.
-
-
9. A system for distributing objects in a cluster, comprising:
means for selecting a host server from among a plurality of network servers using a distributed consensus algorithm;
means for assigning a JMS object to the host server, the host server assigned to provide sole access to JMS; and
means for notifying other network servers that the host server provides sole access to JMS.
-
10. A computer system comprising:
-
a processor; an object code executed by said processor, said object code configured to; select a host server from among a plurality of network servers using a distributed consensus algorithm; assign a JMS object to the host server, the host server assigned to provide sole access to JMS; and notify other network servers that the host server provides sole access to JMS.
-
-
11. A method for managing a JMS message store on a network, comprising:
-
selecting a host server from among a plurality of network servers in a software cluster using a Paxos algorithm; and assigning a JMS store to the host server, the JMS message store existing only on the host server. - View Dependent Claims (12, 13, 14)
-
-
15. A system for managing a JMS object on a network, comprising:
-
a plurality of network servers; and a lead server in said plurality of network servers, the lead server containing a distributed consensus algorithm for selecting a host server from said plurality of network servers, the host server containing a JMS object such that any of said plurality of network servers needing to access JMS must access the JMS object on the host server. - View Dependent Claims (16, 17, 18)
-
-
19. A system for managing JMS on a network, comprising:
-
a JMS component; a plurality of servers in communication with the JMS component; a lead server in said plurality of servers, the lead server containing a distributed consensus algorithm for selecting a host server from said plurality of servers; and the host server in said plurality of servers, said host server containing a JMS message store, said host server adapted to provide access to the JMS component to any of said plurality of servers. - View Dependent Claims (20)
-
-
21. A system for managing JMS on a network, comprising:
-
a JMS component; a plurality of servers in communication with the JMS component; a hardware cluster containing hardware cluster servers located in said plurality of servers, said hardware cluster containing an algorithm for selecting a lead server from among said hardware cluster servers; a lead server in said hardware cluster servers, the lead server containing a distributed consensus algorithm for selecting a host server from said plurality of servers; and a host server in said plurality of servers, said host server containing a JMS message store, said host server adapted to provide access to JMS to any of said plurality of servers. - View Dependent Claims (22)
-
-
23. A framework for managing JMS on a network, comprising:
-
a plurality of servers, each server capable of hosting a JMS message store; a distributed consensus algorithm for selecting a host server from among said plurality of servers, the host server to host a JMS message store; and a distribution system for notifying servers on the network that the host computer is hosting the JMS message store.
-
-
24. A method for leasing a JMS object to a server on a network, comprising:
-
selecting a host server from among a plurality of network servers using a distributed consensus algorithm; assigning a JMS object to the host server, the host server assigned to provide sole access to JMS for a specific period of time; and notifying other network servers that the host server is hosting the JMS object. - View Dependent Claims (25, 26)
-
-
27. A method for leasing a JMS object to a server on a network, comprising:
-
selecting a lead server from among a plurality of hardware cluster servers in a hardware cluster; selecting a host server from among a plurality of network servers using a distributed consensus algorithm on said lead server; assigning a JMS object to the host server, the host server assigned to provide sole access to JMS for a specific period of time; and notifying other network servers that the host server is hosting the JMS object.
-
-
28. A method for assigning ownership of an object on a network, comprising:
-
selecting a lead server from among a plurality of hardware cluster servers in a hardware cluster; selecting a host server from among a plurality of network servers using a distributed consensus algorithm on said lead server; assigning a JMS object to the host server, the host server assigned to provide sole access to JMS; and notifying other network servers that the host server is hosting the JMS object.
-
Specification