Skip to end of metadata
Go to start of metadata

Description

The purpose of this driver is to perform an election process which decides which QINSy system is the primary system for data output. 
Each output system can be configured to enable/disable its output based on redundancy. Output drivers that have been configured as such will only output data if they are on the system that is 'Master'.

Typical use for this driver is on a larger vessel whereby there are multiple QINSy computers that are part of the same network and only one computer should output data to external systems. Each QINSy computer needs to have the driver running and correctly configured. The driver will make sure that there is only one Master QINSy computer and this Master can be the only system to output data.

Note

TCP based drivers will allow/establish a connection if they are not the 'Master' system, but will not send data on this link.
In case of systems that do not allow multiple open connections, this may cause a problem.

    Driver Information

    Driver Redundancy Monitor  Interface Type UDP Driver Class Type
    UTC Driver (question) No Input / Output Input and Output Executable DrvRedundancyUdpUi.exe 
    Related Systems
    Related Pages
    Table of Contents

    Interfacing Notes

    In order to be able to perform the election each QINSy system should be running a copy of this driver. Once the drivers are running they should be configured with information necessary to communicate with the other QINSy systems. Once this is done the drivers will start sending heartbeat messages to each other on a regular basis. The heartbeat messages contain the QINSy system priority list mentioned above. Apart from the heartbeat messages at a fixed interval the driver will also send a heartbeat message in case the user decides to change the QINSy system priority list. A heartbeat message is also sent at driver start-up.

    Master Primary System Election Algorithm

    The primary system election algorithm uses the following rules:

    1. If the age of the most recently received heartbeat message is equal to or lower than the entered heartbeat time-out value the system is considered to be ‘Online’. If the age is above the set value the system is considered to be ‘Offline'.
    2. At start-up the status of each QINSy system is initialized at ‘Unknown’ and the reception times of the last heartbeat messages are set to the current time.
    3. As long as no other QINSy systems have a status ‘Offline’ or ‘Online’ the outcome of the election process is set to ‘Unknown’.
    4. The QINSy system highest in the priority list with the status ‘Online’ is designated as the ‘Master’ system. All other systems are designated as ‘Slave’ systems.
    5. If a configuration message with a more recent time tag is received by the driver it will replace the current configuration. This will allow a configuration change in one instance of the driver to propagate to the other drivers.
    6. Whenever a QINSy system becomes master and the "On former master reconnect" setting has been set to "Current master stays master", the new master elevates its own priority to the highest priority. 
      This way, it ensures that it will remain master when the former master returns. If the setting is set to "Former master becomes master again", the priority will not be changed.


    Time Synchronisation

    All these rules depend on a common time reference for each QINSy system.
    This may be accomplished through:

    1. Central network time reference (i.e. domain controller)
    2. Time Synchronization System (formerly known as PPS system) to each QINSy system.
      1. PPS and Time Message
      2. Time Message Only @ 1Hz (ZDA / UTC / RMC / GGA)
      3. NTP

    Database Setup

    Add a driver of the type Miscellaneous to the setup and use the driver 'Redundancy Monitor'. Normally, the IP address can be left at the default value of '0.0.0.0' (a broadcast on the current network). When specifically required, a specific broadcast domain (e.g. 192.168.255.128) can be entered. In this case, the user has to make sure that the broadcast address matches the network's network mask.

    Enter an (arbitrary) port number and make sure that the same port number is used on all QINSy systems.

    Slot name

    Make sure to add a Generic observation in the driver and use the slot number "Redundancy".


    Setup Redundancy Monitor

    Setup of output drivers that can use Redundancy monitor functionality

    The output drivers that can make use of the Redundancy functionality show this option on the first page of the setup wizard.

    The option can be Enabled/Disabled or set to Redundancy. This setting can also still be changed online.

    • Enabled: data will always be outputted on this computer
    • Disabled: data will not be outputted on this computer
    • Redundancy based: data will be outputted by the primary computer

    Online

    Online settings

    In order to allow the election process to be performed a preferred QINSy system priority list needs to be set up. Make sure that all QINSy instances are added to the list by entering the IP address of the network interface on which it can be reached. This is including the one on which QINSy is running.

    Once the QINSy instances have been defined it might be necessary to tune the heartbeat message interval or heartbeat message time-out.

    The settings dialog can also be used to determine the redundancy behavior when a 'former master' comes back online. 
    Observe a situation with two QINSy instances, of which system 1 has the highest priority for the two possible methods:

    Network status
    Instance 1 
    Network status
    Instance 2
    Master
    "Current master stays master"  
    Master
    "Former master becomes master again" 
    Online Online Instance 1 Instance 1
    Offline Online Instance 2 Instance 2
    Online Online Instance 2 Instance 1


    Presentation of Status Information

    In order to allow the user to monitor the outcome of the election process and the availability of each QINSy system the user interface contains a list of each detected/configured QINSy system and its status information. The list is according to the order in which the specific QINSy system will become the primary system if all QINSy systems above the specific system are no longer detected on the network. Below you will find a screen design for the user interface:

    The outcome of the election process is displayed in the ‘Status’ field. This field can have the following values:

    Value

    Description

    Unknown

    The election algorithm was unable to determine which system should be designated as the master system.

    Master

    The election algorithm has designated this system as the master system.

    Slave

    The election algorithm has designated another system as the master system.

    The information about each known QINSy Instance is displayed in the QINSy Instances grid control.
    This grid control contains the following information about each of the QINSy instances:

    Column

    Description

    IP Address

    IP address of network interface on which QINSy instance may be reached.

    Status

    Status on QINSy instance. Possible value may be found in table below.

    Age

    Age in seconds since last heartbeat message was received.

    ‘Unknown’

    If no heartbeat messages have been received since startup of driver.

    Status

    Description

    Online

    System is considered to be online because age of last heartbeat message is lower than heartbeat message time-out setting.

    Offline

    System is considered to be offline because age of last heartbeat message is greater than heartbeat message time-out setting or no heartbeat message has been received at all since start-up of driver.

    Time Synchronisation

    The rules mentioned under Interfacing Notes depend on a common time reference for each QINSy system.
    This may be accomplished through:

    1. Central network time reference (i.e. domain controller)
    2. Time Synchronization System (formerly known as PPS system) to each QINSy system.
      1. PPS and Time Message
      2. Time Message Only @ 1Hz (ZDA / UTC / RMC / GGA)
      3. NTP

    Generic display/output

    The observation for the redundancy monitor can also be selected in the Generic Layout editor.
    The value that is shown corresponds with the order so Master will have the value 1.

    Online

    The Controller has Output driver settings which can be found under the Settings menu.
    The dialog shows which output drivers are available and if they make use of the redundancy option or not.
    In the dialog is also visble if the Redundancy Monitor driver is active or not and if the system is master or slave.