25-manna

25-manna is an old famous relay competition, which is held in Stockholm on the second weekend in October each year. The attendance is about 400 teams with 25 runners each, which means 10000 runners. This is the world’s largest orienteering relay competition.
In 2001, this event used electronic punching for the first time. To implement the suitable software, was the greatest challenge I ever had as a programmer.

It is exciting how this event runs.
The first two legs are run as usual. The leg 2 runner changes over to 4 runners who run the 3rd leg simultaneously. Also legs 4-7 are run by 4 runners simultaneously. There is no predefined change over rule, f.ex. which 3rd runner must change over to which 4th runner, and so on. Instead, each team itself must decide who has to change over to which next runner, with the following goal.
The last leg 7 runner will change over to the (normal single) leg 8 runner. This means that the legs 3-7 must be composed in that way that all leg 7 runners finish as close together as possible. The 4 parallel courses for each of those legs are of the same length and branched as usual. The runners can take any of the remaining maps of their leg and team.
Legs 8-10 (these are runners 23-25) will be run as a normal relay again.

This had been realised by a special version of the standard software: OS2001 för 25-manna.
The first edition had been implemented in V.9.6. in 2000 to enable the first tests for the organisers. This had been updated in 2001 to the level of OS2001.
In 2001, OS2001 för 25-manna will be used for the actual competition only and an existing software solution for the preparation and the official results. It is planned to enhance the software later to cover the whole competition.

Special features of OS2001 för 25-manna:

  • Handling teams of 25 runners (OS2001 standard is 10)
  • Import and export functions to exchange data with the existing software
  • Entries: special handling of the SI cards. SI cards must not be preassigned to every runner but only to the whole team. It is possible to assign additional 10 reserve cards to each team.
  • Course combination assignment: Also the combinations can not be preassigned to a particular runner, but only to the whole team.
  • Code checking: when reading the SI cards in the finish, the software must find out the correct team, leg and combination automatically.
  • SI card evaluation: A new fast online function is necessary to handle errors/mispunches quickly. In peak times of legs 4-7 there will be 50-70 runners finishing per minute. Failures of the automatic assignments (when a runner had mispunched) must be fixed manually before the next runner arrives. Such cases will be shown automatically in a special window on a client PC, where an operator is waiting for them.
  • Extra handling of the late start: It is possible that any runner must start in the late start. There are special rules to calculate valid results for them. (Of course, the main precondition is that none of the 25 runners has mispunched.)
  • Preliminary results according to the competition rules.
  • Some special reports required by 25-manna.
  • Security issues: It must be possible for the finish clients to switch to local mode automatically when the network fails (or the server). Later all new local information must be joined to the server again. Backups must be possible at any time without interrupting the data processing.

For 2002, the software had been updated to the level of version 9.8. Some minor fixes and enhancements had been implemented. For example, the preformance of reading the SI cards could be improved by saving the course definitions locally on each client.

New in 2002 was the special speaker software OSSpeaker för 25-manna. Besides the adaptation to the special data structure of OS2002 för 25-manna, basic changes in the computing algorithms were necessary, compared to the standard OSSpeaker.

  • A basic problem of this competition is that the speaker software is not able to assign punches from the radio controls (also the finish controls) to the correct runner, because at that time you don’t know which runner using which SICard runs which leg. Thus OSSpeaker för 25-manna simply fills up the expected punches of each team in a row. This information is used for all reports and other computing in OSSpeaker för 25-manna.
    Formerly, the speaker information had been collected manually. This algorithm has proved to be sufficient at least for the leading teams.
  • To make this calculation a bit more reliable, there is a table where you can define which radio control/code number will be used on which leg.
  • The speaker system and the event system will run on two different servers for performance and security reasons. OSSpeaker för 25-manna offers a function which updates the data of the speaker system using the latest backup from the event system.
  • The preliminary results are calculated based on the online punches information and can be printed. There is also an automatic function which prints a new results page for every 10 teams, after they had completed a leg.
  • The speaker window offers detailed information also about the standings within the legs 4-7. That means, you can see the standings related to the 1st until the 4th runner of those legs.
  • The report about missing SI cards shows which SI cards had not yet been read within a specified time interval after the finish punch. They can then be called by the speaker during the event.

For 2003, the software had been updated to the level of version 10.0. The most important new feature is that now the new database DBIsam is used. The computer specialists of that event had done precise and comprehensive tests which prove that V.10.0 together with DBIsam will fulfill the performance requirements of 25-manna much better and much more reliable than this had been possible with the previous versions and BDE.
Some minor fixes and enhancements had been implemented. For example, there are new result reports. The specific evaluation of OS25manna uses a log file now as an additional backup feature.

In 2004, of course the software had been updated to the level of version 10.1. The main focus of the enhancements was laid on a better performance and reliability for receiving the online punches in OSSpeaker för 25-manna. To achieve this, the online monitor had been completely redesigned. Now there are two parts, a client and a server monitor, which are working fully event driven. Because both parts are working independently, there will be no more punches lost if there will be network problems.
This year, it is also the first time that only a single server is used for all tasks. This allows additional security features like validating the online punches by the information of the SICards.

For 2005, the software had been updated to V.10.2. Besides some bug fixes, some small enhancements had been implemented, among them additional result reports and a possibility to change the course for the leg 25 late starters automatically.