This website is intended for software developers and professional time
keepers.
Introduction
During the last years, time keeping turned out to be a very complex task.
The complexity of sports events arises from the complete dependency among
all data: if one time was changed, the positions and team results of all
participants may change. This alone is easy to handle. The requirement to
provide real time information, however, is extremely complicated by these
dependencies.
If, for example, triathlon unions demand live results in the Internet for
millions of visitors at the latest 10 seconds after a passing, the software
must have extremely efficient structures to evaluate the results quickly
and then to distribute them.
A Better Approach
Many software tried to cope with this task using SQL based databases.
Normal database systems are an excellent choice to save large amounts
of data, but they do not offer data structures to calculate complex ranks
and team results efficiently.
For this reason, we developed a database system that replaces databases
completly and that is optimized for the scoring of sports events. This
system is called Sports Event Server and is the base of RunManager 10.
From the beginning on the goal was to allow real time scoring so that
during the query of any data almost no calculations are necessary any
more. Instead, the necessary updates are already done after modifying
any data of the event. In a practical view this means that you can access
any time, any rank and any team result at any moment without any delay.
An Open System
RunManager is a very mighty program. You will be surprised how much can
be done without any additional software. Nevertheless, there may be situations
which demand special applications which require data from the time keeping.
We want that you do not have to reinvent the wheel, but instead that you
can build on existing systems of RunManager. Therefore, the Sports Event
Server has an open interface such that anyone can develop programs based
on Sports Event Server. In consequence, you can use RunManager and develop
additional tools for special requirements, or you can use your own software
and use Sports Event Server only for the data management.
Not only Sports Event Server is an open system, but also the other parts
of RunManager. This means that you can easily develop Windows or web applications
that make use of pure data, or already formatted lists, certificates or
anything else from RunManager.
Detailed Information about Sports Event
Server
Since 2008 we offer Sports Event Server, on which all our software of
the newest generation is based on, as a separate product for professional
time keepers and other software developers. Sports Event Server is a server
application for Windows operating systems, that allows a simple, robust
and extremely fast handling of the data of sports events such as marathons,
city runs, bike and inline races, biathlons, swimming contests, etc. The
server only manages the data of the event. Other programs communicate with
it via an TCP/IP interface to edit and present data.
Data Storage
The primary function of the server is storing the data of the event, i.e.
competitors, contests, event settings, scoring settings, age categories,
results (times, laps, etc.), additional files (e.g. photos or videos of
the participants) and a history of all changes made on each competitor.
Calculating Times and Points
For each participant an arbitrary number of results can be stored. These
are usually times, but it can be any numerical value such as athletic results.
On basis of these results the server calculates formula results, such as
net times, number of laps, penalties, minimum, maximum and mean values,
etc.
Calculating Positions
A main task for the server is calculating positions. The server can calculate
an arbitrary number of freely defined positions for each participant, for
example overall positions, age category positions, net and gross time positions,
etc. The server conducts these calculations in real time, i.e. after each
data modification, all positions are re-calculated, such that at any time
all positions can be accessed without delay. In consequence it may happen
that the server has to update all positions after a single modification
(e.g. when you add a competitor at the very top of the result list). Thanks
to certain data structures such an update takes less than a hundredth of
a second. Even for the biggest running competitions in the world the server
can calculate positions in real time.
As a result of this, the position of each participant is known in that very
moment when he crosses the finish line. This information can be shown immediately
on screens or sent as a text message on his cell phone.
Dependency Walker and Solver
Every sports event has different dependencies between its data. For example
the measured times influence the formula results (e.g. net time) and these
again are base of positions and team results. The Dependency Walker analyzes
the dependencies of your event and the Solver solves all inconsistencies
created by a data update as efficiently as possible. This way it is ensured
that at any moment all results are calculated correctly but that unnecessary
calculations will not be done.
Team Results
Sports Event Server can create any kind of teams with various configurations,
group and rank them, and calculate points, lap times and many more. For
each event you can calculate several different team results.
Team results can optionally be updated in real time after each modifications
or when team results are queried. Even the biggest 24h races with more than
5.000 participants and more than 200.000 passings after 24 hours can be
calculated in real time without any problem. That means that each team can
be informed about its current position at any time without delay. Client
programs can use this information for cell phone messages, present it on
screens and scoreboards, inform an announcer, etc.
Triggers
In order to make use of the real time functionality of the server, it
can send messages, called triggers, to the client on the occurrence of certain
events. For example, the server can fire a trigger every time someone reaches
the finish line as a winner of an age category. The client could be a PDA,
that the announcer holds in his hand, such that he can welcome the athlete
with his name, time and position.
Data Retrieval
Arbitrary lists can be retrieved from the server. Therefore, certain
fields can be selected, the records can be filtered and sorted and the
result can be transmitted in several formats, for example HTML, XML or
CSV.
Other
Other functions round out the program: The server can calculate entry
fees, provide information about zip codes and the genders of first names
and statistics can be retrieved aggregated from the server.
Internet Connections
The communication protocol in use has little overhead. This way, you
can communicate with the server even over slow internet connections (e.g.
GPRS). Additionally the protocol contains a function to transmit data
compacted to reduce the data volume.
Documentation
In the RunManager Technical Documentation you will find all necessary
information to create applications that are based on data from RunManager.
In this ZIP file you will find all components mentioned in the documentation
except from Sports Event Server. Sports Event Server will be installed
automatically during the installation of RunManager 10. You will find
the download at Software/Download.