Elements of RACE RESULT 12

Here you will find some typical scenarii and how things are connected to bring the times from your hardware to the event file in the Sports Event Server.

Legend

Arrows

Boxes

Event File

An Event File saves all data and settings for your event like participant data, settings, pictures, times.

Usually one event file contains the data for one event which usually contains serveral contests (like 5K, 10K and half marathon). In some cases one event file can also contain the data of an entire race series.

When working offline, the event file is saved to your computer and has the ending ".ses" which stands for "Sports Event Server" since the Sports Event Server is the actual program which works with the file and supplies all other programs with data.

As all data is saved in this file, you can copy the file onto another computer without a problem, or send it via email. When opening it on another computer, you get the exact same results, lists, certificates etc.

Timing Locally

Timing Online

Timing Locally with Multiple PCs

Exporters

Exporting

  • If the Web Server gets the command to connect an exporter it first opens a TCP connection to the Sports Event Server and creates a trigger for that exporter. Now the Sports Event Server will send all new incoming data to the Web Server on that connection that fits the criteria set up for that exporter.
  • The Web Server then opens a connection to the exporter target and forwards the incoming trigger data to it. Depending on the connection type there is a more permanent connection (TCP), single HTTP Calls or very short-lived File-Handles. If an exporter connection breaks it is just reopened.
  • Data that could not be sent is put back on the stack and retried later with exponential backoff. After ~24 hours the Web Server will stop retrying. If it is restarted (e.g. locally) retrying stops as well.

Network Ports

In order to connect to different services RACE RESULT 12 uses different ports for different applications.

It is common for free public wifi service providers to block all traffic on TCP ports except port 80 (HTTP), some routers may also block this by default, so you may need to make an exception in your network's firewall settings.

TCP Port 1023

Used by the RACE RESULT Web Server to check-out and check-in files from the events server, additionally for online forwarding.

Error: Connection to server could not be established.

UDP Port 3601

Used by the RACE RESULT Web Server to automatically detect RACE RESULT systems on the local network. 

Error: Systems are not listed automatically in the Timing tab

Background Information: Sports Event Server

The SportsEventServer is the program in the background doing all the data processing. When working offline, you can access it through the icon in the tray bar:

 
In detail, the SportsEventServer (SES) does the following:

  • As the local server, the SES manages TCP/IP connections to the various programs on various computers in your local network.
  • It accepts job request from these programs. A job can either be a write job (change participant data, add a time, change a setting, etc.) or a read job (retrieving settings, performing a data query, etc.). The server prioritizes the job requests and processes them.
  • At all times, the server ensures data consistency: it always knows which information needs to be calculated or updated.

Real Time Scoring

For a race, it is not only important that you can make any kind of scoring (flexibility), but also that these calculations will be performed very fast with virtually no delay. During the race you may need instant real time information without any delay in order to be able to show it on a live screen or even in TV graphics.

For this reason, the SportsEventServer in the background performs almost every calculation in real time, i.e. whenever some data is changed (e.g. a new lap time added), the server will recalculate and update all depending data (e.g. number of laps, fastest lap, slowest lap, rank of this rider and other riders). Therefore, the server analyzes the dependencies in the event file and thus knows which information may need to be updated if some data was changed. This dependency tree of your event can be seen in Overview->Technical Information.

Most events are fairly simply, but if you think of an event like the Tour de France, you can imagine that an event file can have hundreds of results and dozens of ranks with long dependency trees. There are results for each day, special sprint scores, overall scores, and so on.

Real Time Limits

Note that not everything can be calculated in real time:

  • Team scores will be updated in real time only if the real time option is activated in the settings.
  • A formula result will not be calculated in real time if it depends on a rank or a team score.
  • Everything that depends on something that is not being calculated in real time cannot be calculated in real time either.

If something is not being calculated in real time, it will simply be calculated when needed: if you open a result list based on a non-real time team score, the system will calculate the team score first before creating the list. This will create an additional delay of a few milliseconds or seconds depending on the size of the event.