WO0058852A1

Reliable multicast for cluster communications

Abstract

According to the present invention, a cluster communications system (123) is provided that supports reliable and efficient cluster communications. The preferred embodiment cluster communication system (123) can be used to provide this reliable and efficient cluster communication for cluster configurations extending beyond a single local area network (LAN) (195). The cluster communications system (123) provides reliable and efficient cluster communication by facilitating multicast messaging between systems in the cluster. In particular, the preferred embodiment provides for the etablishment of multicast groups in behveen which multicast messaging is provided. The preferred embodiment provides this multicasting while providing the needed mechanisms to assure ordered message delivery between systems. The preferred embodiment extends this efficient and reliable cluster communication by providing for additional point-to-point communication between systems not on the same LAN (195). Thus, the preferred embodiment provides a cluster communication system that uses reliable multicasting for efficient cluster communication in a way that can be used for clusters that extend beyond a single local area network (195).

WO0058852A1, drawing sheet 1
Sheet 1 of 6

Term

No projected expiry on record.

  1. Priority and filed
  2. Published
  3. Today

59 claims: 6 independent, 53 dependent

  1. 1
    Claims 1. An apparatus comprising:at least one processor;a memory coupled to at least one processor;a cluster communication servicer residing in said memory, said cluster communication servicer facilitating multicast cluster messaging to a plurality of other nodes in a cluster without requiring an intervening dedicated local area network to said plurality of other nodes.
  2. 12
    An apparatus comprising:at least one processor;a memory coupled to at least one processor;a cluster communication servicer residing in said memory, said cluster communication servicer including: a group send mechanism for sending group messages to predefined groups of nodes in a cluster, wherein the group send mechanism delivers group messages to a send queue corresponding to a specified group of nodes, the message queue sending the group message to the specified group of nodes in the cluster by sending a multicast message to members of the specified group of nodes on a local subnet and sending a point to point messages to a relay node for members of the specified group of nodes in the cluster on non local subnets;and a plurality of node objects for receiving messages from other nodes in the cluster and delivering the received message to a client, and wherein the plurality of node objects include a plurality of receive next parameters, with each of the plurality of receive next parameters indicating a sequence number for a next message to be received for a corresponding message queue such that the plurality of node objects will not redeliver a received message that has been previously delivered by the node object.
  3. 22
    A method for sending a group message from a sending node to a group of nodes in a cluster, the method comprising the steps of:sending a multicast message to members of the group in a local subnet;sending a point to point message to a relay node on a non- local subnet that include members of the group;and sending a multicast message from the relay node on the non-local subnets to other members on the non-local subnet.
  4. 29
    A method for sending a group message from a sending node to- a specified group of nodes in a cluster, the method comprising the steps of:enqueing the group message onto a message queue for the specified group of nodes in the cluster;sending a multicast message to members of the specified group in a local subnet by specifying a UDP multicast address for the specified group;sending a point to point message to a relay node on a non- local subnet that include members of the group by specifying an IP address of the relay node;sending a multicast message from the relay node on the non-local subnets to other members on the non-local subnet by specifying the UDP multicast address for the specified group;sending an acknowledgment message to the sending node from each node in the group receiving the group message;and waiting to send a next group message from the sending queue until the acknowledgment message from each group node is received by the sending node.
  5. 35
    A program product comprising:(A) a cluster communication servicer facilitating multicast cluster messaging to a plurality of other nodes in a cluster without requiring an intervening dedicated local area network to said plurality of other nodes;and (B) signal bearing media bearing said cluster communication servicer.
  6. 48
    A program product comprising:(A) a cluster communication servicer, said cluster communication servicer including: a group send mechanism for sending group messages to predefined groups of nodes in a cluster, wherein the group send mechanism delivers group messages to a send queue corresponding to a specified group of nodes, the message queue sending the group message to the specified group of nodes in the cluster by sending a multicast message to members of the specified group of nodes on a local subnet and sending a point to point messages to a relay node for members of the specified group of nodes in the cluster on non local subnets;and a plurality of node objects for receiving messages from other nodes in the cluster and delivering the received message to a client, and wherein the plurality of node objects include a plurality of receive next parameters, with each of the plurality of receive next parameters indicating a sequence number for a next message to be received for a corresponding message queue such that the plurality of node objects will not redeliver a received message that has been previously delivered by the node object;and (B) signal bearing media bearing said cluster communication servicer.