One is designated as the database server. It can also run some of the programs, and usually runs the display manager and results printer programs.
When the database server starts up it sets up a ShareFS share for the folder with the software in. The others on startup run a program which scans for the network share containing the software. Once this appears it runs the Launcher program from there.
The launcher reads a config file which determines what appears on the menu for that copy of Launcher. In addition in many cases it starts one of the main programs.
From the iconbar icon of Launcher users can start a subset of the programs. For example the scoreboard computers, which are accessible to competitors, run the rolling scoreboard immediately, but also allow competitors to run a program which shows their score in detail. (This is also printed out at intervals and displayed, so no extra personal information is given out this way.) It doesn't allow launching of any program which can alter the data.
With cards the data flow is controlled by passing the cards around. When the start clerk has seen a competitor start, the card will then be passed to a judges clerk. It then passes round the clerks to the finisher who puts the score on, and passes it to a fifth person who enters it on the computer.
When cardless, this data flow is managed by the server. The start clerk will click "Start" on their computer. This causes the competitor to appear in a list of runners on the screens of the judges clerks and the finish clerk. The judges clerks then know they need to ask for scores, and the finisher can add the finish time. These actions can be simultaneous, unlike the paper system, which should speed things up if a backlog develops.
This software allows the event to run "cardless", where instead of scores being written on cards, which are then copied into the computer before being displayed, the detailed scores are entered directly. The "card based" system only stores the total penalties and time for each run. When cardless, we need to store the penalties for each of up to 25 gates separately, calculate the total, and store the time. This can't be done effectively on one station.
Normally we will have four judges sitting on the side of the course, and two clerks in Control who are on the phone to two judges each. These clerks will each have a computer, where they enter the results from "their" judges. The starter and finishers use phones connected to "Tutti", a hardware timing system. They talk to the finish clerk, and use a button on their phones to start or stop clocks on the timer. The finish clerk then transcribes these times on to the cards.
Because the results go on the computer directly, there is no need for the fifth person. It should reduce the workload on the start clerk too, which may make it possible to combine the start and finish clerks in one person.
We still need to display printed results, so a "scoresheet" program takes "scorechanged" messages from the server, and when it detects 6 complete scores, prints them in detail on an A4 sheet, which is displayed.