×

Autonomous primary node election within a virtual input/output server cluster

  • US 8,583,773 B2
  • Filed: 01/11/2011
  • Issued: 11/12/2013
  • Est. Priority Date: 01/11/2011
  • Status: Expired due to Fees
First Claim
Patent Images

1. In a data processing system having one or more computing electronic complexes (CECs) that comprise a plurality of virtual input/output (I/O) servers (VIOSes) configured within a VIOS cluster, which has an associated VIOS database (DB) and in which each VIOS provides I/O resources to one or more logical partitions (LPARs) executing within the one or more CECs, a first VIOS of the VIOS cluster executing code on a processing resource to perform a method comprising:

  • the first VIOS of the VIOS cluster detecting that a primary node is required for the VIOS cluster, wherein the first VIOS is a first node; and

    autonomously initiating an election process to elect a next primary node from among one or more VIOSes within the VIOS cluster;

    the first node determining whether it meets a plurality of pre-established requirements to become a primary node by checking a plurality of configuration parameters of the first node against the plurality of pre-established requirements for a node to become the primary node;

    in response to the first node not meeting the plurality of pre-established requirements, activating a primary node discovery process which discovers and notifies a next node from within an elector list of a need to elect a primary node;

    wherein the first node becomes an elector node if there is a next node that meets the pre-established requirements to be a candidate for election;

    in response to the first node meeting the plurality of pre-established requirements, determining whether a primary node identifier (ID) field within the VIOS DB is locked by another node, wherein the primary node ID field within the VIOS DB contains the unique ID of the primary node;

    in response to the primary node ID field being locked, setting a primary node election timer to track an elapsed time from when the first node made the attempt to become the primary node, wherein the timer expires after a pre-set amount of time, and wherein an expiration of the timer prior to another node being elected as the primary node triggers the first node to re-initiate an attempt to become the primary node; and

    in response to the primary node ID field being unlocked;

    locking the primary node ID field within the VIOS DB; and

    initiating a primary node commit process to assign the first node as the primary node by;

    sending a commit signal to the VIOS DB to update the primary node ID field with a unique ID of the first node;

    in response to an updating of the primary node ID field with the unique ID of the first node, unlocking the primary node ID field; and

    issuing a notification message to all other nodes in the cluster to inform the other nodes that a new primary node has been elected.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×