EP1096751A2

Method and apparatus for reaching agreement between nodes in a distributed system

Abstract

One embodiment of the present invention provides a system for selecting a node to host a primary server for a service from a plurality of nodes in a distributed computing system. The system operates by receiving an indication that a state of the distributed computing system has changed. In response to this indication, the system determines if there is already a node hosting the primary server for the service. If not, the system selects a node to host the primary server using the assumption that a given node from the plurality of nodes in the distributed computing system hosts the primary server. The system then communicates rank information between the given node and other nodes in the distributed computing system, wherein each node in the distributed computing system has a unique rank with respect to the other nodes in the distributed computing system. The system next compares the rank of the given node with the rank of the other nodes in the distributed computing system. If one of the other nodes has a higher rank than the given node, the system disqualifies the given node from hosting the primary server.

EP1096751A2, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Projected expiry passed 18 October 2020, 5.9 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

33 claims: 5 independent, 28 dependent

  1. 1
    A method for selecting a node 102,103,104,105 to host a primary server 106 for a service from a plurality of nodes in a distributed computing system 100, the method comprising:a) receiving 401 an indication that a state of the distributed computing system has changed;b) in response to the indication, determining 602 if there is already a node hosting the primary server for the service;andc) if there is not already a node hosting the primary server, selecting 604 a node to host the primary server based upon rank information for the nodes.
  2. 13
    A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform the method steps of any one of claims 1 to 12.
  3. 14
    A computer program, which when run on a computer, is adapted to perform the method steps of any one of claims 1 to 12.
  4. 15
    An apparatus that selects a node to host a primary server for a service from a plurality of nodes in a distributed computing system, the apparatus comprising:a) a receiving mechanism 401 that is configured to receive an indication that a state of the distributed computing system has changed;b) a determination mechanism 602 that is configured to determine if there is already a node hosting the primary server for the service in response to the indication;c) a selecting mechanism 604, wherein if there is not already a node hosting the primary server, the selecting mechanism is configured to select a node to host the primary server based upon rank information for the nodes.
  5. 28
    A method for selecting a node to host a primary server for a service from a plurality of nodes in a distributed computer system, comprising:a) communicating disqualification information between the node and remaining nodes in the plurality of nodes;b) disqualifying the node from hosting the primary server based upon the disqualification information received from the remaining nodes.