Available via license: CC BY-NC-ND 4.0
Content may be subject to copyright.
*Corresponding author. Tel.: +66 4336 2160
Email address: krunapon@kku.ac.th
doi: 10.14456/kkuenj.2016.15
KKU ENGINEERING JOURNAL April – June 2016;43(2):94-99 Research Article
KKU Engineering Journal
https://www.tci-thaijo.org/index.php/kkuenj/index
RFID data processing in a real-time monitoring system for marathon
Suchart Joolrat1), Kanda Runapongsa Saikaew*1), Mongkon Tengrungroj2), Patcharaporn Jiranuwattanawong2),
Channarong Janpanich1) and Kittiphan Sornsakda1)
1)Department of Computer Engineering, Faculty of Engineering, Khon Kaen University, Khon Kaen 40002, Thailand.
2)Bureau of Information Technology, Khon Kaen University, Khon Kaen 40002, Thailand.
Received August 2015
Accepted December 2015
Abstract
In all marathon events, an organizer needs to determine the winners. However, this is a complicated process in a marathon
event that has many participants and starting points with limited space. In such condition, runners cannot start running
concurrently and thus the runners who cross the finish line first are not always the winners. To judge the top runners with
accuracy and fairness, the organizer needs to acquire a net time in ranking participants. The net time, which is the difference
between the time recorded at the finish line minus the time recorded at the start, can be calculated for each runner. Currently,
the advances in RFID technology are widely used to record times and determine awarded runners in several marathon events.
However, most RFID-based solutions in marathon events are commercially available and licensed on a yearly basis. The cost
of a commercial product can be as high as 2,000,000 Baht. This article presents an implementation of RFID technology for a
marathon organizer to determine the winners by recording times of the check in point, the start point, the checkpoint, and the
finish point. Furthermore, the developed system also reports the results of the marathon series in real-time via a web application
that can be viewed on any online electronic device. The proposed solution estimated cost is about 200,000 Baht and can reduce
the processing time from one hour to just five minutes which is about one-tenth of that of a commercial product.
Keywords: Real-time monitoring, RFID, Information tracking, RFID for marathon
1. Introduction
In each marathon event, there are many steps to conduct
before an organizer can officially announce the winners. An
international marathon event usually consists of three
running types: 1) Marathon (42.195 km), 2) Half Marathon
(21.10 km) 3) Mini Marathon (11.55 km). Each year there
are more than 100 race events in Thailand. For each of these
events, there are 5,000 competitors. In a simple and small
event, the runner who reaches the finish line first is the one
who wins the race. However, in major marathon events with
more than 1,000 runners, it is more complicated because
there are many participants who cannot concurrently be at
the starting points that have limited space. Thus, in such case,
the runner who reaches the finish line first is not always the
one who wins the race. A marathon organizing committee
needs to have a net time of each runner is required to rank
them in each category. The net time is the time taken to go
from the start to the finish. It can be computed by the
difference between the time recorded at the finish minus with
the time recorded at the start.
RFID systems have been applied to identify and capture
time for runners in the event [1]. RFID technology is used
widely and commercially available in several marathon
events [2-7]. The usage of RFID technology requires both
hardware and software systems that are licensed on a yearly
basis. A hardware system consists of many components and
equipment to work together synchronously. A software
system needs to have well-written logic programs to handle
several complex and complicated conditions. The overall
system needs to ensure that the race result will be announced
fast and accurately. Thus the cost of such system is
extremely high, such as one of marathon organizers paid
2,000,000 Baht several years ago.
This paper presents an implementation of RFID
technology to keep the times of runners in different points
and report the results of the marathon series in real-time.
The developed system can reduce the cost of processing steps
match up to one tenth of the commercial system. We have
evaluated our system in four race events that are 1)
Siamrathani 2013, which had 192 participants, 2) Nakhon
Phanom University – Khammouan International Marathon
2013, which had 605 participants, 3) the 16th Srinakarin
Minimarathon, which had 791 participants, and 4) the 11th
Khon Kaen International Marathon, which had 5,113
participants. Based on our experience in using such system,
the chip reader could not read all chips thus there were
several errors. This paper proposes and presents the design
and development of the system that has the estimated cost as
200,000 Baht.
95 KKU ENGINEERING JOURNAL April – June 2016;43(2)
2. Materials and methods
2.1 Related work
Some important web applications for managing racing
events include the innovative timing system (Jaguar) [2],
other desktop applications [3-7], and EnduRan [8].
Figure 1 Innovative Timing System Application [1]
Figure 1. shows an innovation timing system. Based on
our experiences, it could not connect to a server and merge
online results. This system runs on the Ethernet machine
system connected directly from the controller that retrieved
data reading from the chip. The computer processor
connected and fed data from the memory buffer on the
controller. The information was collected separately for each
controller. Thus, it took an excessive amount of time to
integrate information from each controller and retrieved the
final results of the competition time.
Another related work is EnduRan, which is a web
application to manage racing events as shown in Figure 2.
The EnduRan was used in a racing event that spanned across
multiple days and whose participants had to run (on foot) for
100 miles. In such events, many checkpoints were needed to
provide runners with access to food, water and, if necessary,
medical assistance. At these checkpoints updates on
participants’ health status and race timings needed to be sent
to a central location so that followers across the globe could
monitor the overall progress of the race as well as the current
situation of individual racers. This system was the real-time
application but without data processing part while our
proposed system supports real-time data processing.
Figure 2 EnduRan System Level Diagram [7]
Wang et al. [9] proposed an event-oriented framework to
automate the transformation of physical RFID observations
to semantic data in various applications. Then, they
evaluated their work with their developed simulator of an
RFID-enabled supply chain system. Later, Zang and Fan [10]
had implemented the architecture and the event processing
mechanism in enterprise information systems based on
RFID. In addition, they also proposed optimization strategies
to detect complex event effectively. On the other hand, our
work has tested with an actual real-time event.
RFID has also been applied in real-time manufacturing
information tracking for enterprises. Zhang et al. [11]
presented the framework and methods to capture real-time
manufacturing data. However, they did not evaluate their
proposed infrastructure but used a case study to demonstrate
their work.
2.2 Design and methodology
In this section, we will describe the system data flow,
web application, web service, and RFID system [12].
2.2.1 RFID data flow
We designed and developed the system with the
workflow as shown in Figure 3. The data comes from an
RFID controller with the machine controller reading data
from an RFID tag through an antenna. The controller sends
readable data through the internet to our proposed web
service.
Figure 3 System Data Flow
In a system design RFID controller will read RFID chip
tag and send a real-time of chip data to the database server
via the developed web service. It will then process data and
notification to staff on a web application. The goal of the
system flow is to record the times at different points which
include the check in point, the start point, checkpoints and
the finish point. At the check in point, each runner needs to
check chip data before the start of the running time about 20
– 30 minutes. We designed and arranged the check in point
and the start point are near to each other. After the runner
passed the check in point and the start point, then he/she are
will run pass the checkpoint stations. Finally, they will reach
the finish point which is in the same position as the start
point. All of four kinds of points are shown in Figure 4.
2.2.1.1 Web service design and development
Our team has designed and developed a web application
based on PHP programming language [13]. First, we tested
the web service on top of Slim framework [14], running on
Apache web server [15]. However, there was the problem of
concurrency and performance for storing data to MySQL
server [16]. Because PHP has a non-blocking I/O
architecture, during PHP processing between receiving data
and storing data to a database, PHP based system cannot
receive another request. As a result, our system based on
PHP could not handle multiple requests at the same time.
This time delay problem causes poor performance and
efficiency. We therefore shift to using Node.js platform [17]
which is a platform built on Chrome's JavaScript runtime.
KKU ENGINEERING JOURNAL April – June 2016;43(2) 96
Figure 4 Different Points of the Race
It guarantees 10,000 concurrency requests at once [18] and
JavaScript has a non-blocking I/O architecture [19]. By using
Node.js with non-blocking I/O architecture, the system can
handle a large amount of data quickly without waiting time
for the processing of other tasks. These multiple tasks can be
executed in parallel and this is the main reason why the
operation time of our proposed system is reduced. The
system with the web service based on Node.js can transfer
RFID data to the database at the same time that it receives
the newly sent data from the controller. Our system is shown
in Figure 5. We use Node.js to implement a web service and
MySQL server to store data.
Figure 5 The Web Service with a Non-blocking I/O System
by Node.js
2.2.1.2 Web application for race result
We have designed and developed the international
Khon Kaen marathon race result website at
http://timetrack.kku.ac.th. When a user types a URL
address, the browser will display the race result. They system
can display the results by the running category and support
search by a Bib number or a runner name. The information
for each information entry includes Bib number, race type,
running category, nation, net time, and finish time. When the
web service receives data, the data will be used to save data
in a standalone MySQL Server. The information of runners
was imported from another database used in the registration
system. In addition to a standalone MySQL database server,
we have another database as a backup on a different server.
The web application developed using PHP language and Yii
framework retrieves data from MySQL server. When users
make a request to the system, the system will process and
display data on the web page. The system is designed to be
responsive as shown in Figure 6.
2.2.2 RFID system
An RFID system mainly consists of an RFID controller
set and RFID tags.
2.2.2.1 RFID controller set
An RFID controller is a hardware component for reading
RFID chip tags from runners and sending chip data to a
server over the internet network to the web service. The
controller specification is shown in Table 1. The picture of
RFID Controller is shown in Figure 7.
Figure 6 Online Real-time Processing Marathon System
97 KKU ENGINEERING JOURNAL April – June 2016;43(2)
Figure 7 An RFID Controller and RFID Antenna
Table 1 An RFID controller specification
Air Interface Protocol
EPCglobal UHF Class 1 Gen 2 /
ISO 18000-6Cac
Antennas
4 high performance, monostatic
antenna ports 2 high performance,
monostatic antenna ports
optimized for Impinj reader
antennas (RP TNC)
Transmit Power
+10.0 to +30.0 dBm (PoE)
+10.0 to +32.5 dBm (external
universal power supply)
Max Receive Sensitivity
-82 dBm
Min Return Loss
10 dB
Management Console
RS-232 using a standard Cisco-style
management cable (DB-9 to RJ-45)
Baud rate: 115200, Data: 8 bit,
Parity: none, Stop: 1 bit, Flow
control: none
Power Sources
Power over Ethernet (PoE) IEEE
802.3af
+24 VDC @ 800mA via external
universal power supply with
locking connector—sold separately
Operating Temperature
-20 °c to +50 °c
Dimensions (H x W x D)
7.5 x 6.9 x 1.2 in (19 x 17.5 x 3 cm)
Weight
1.5 lbs (24.5 oz)
An antenna is initially designed for boundary/threshold
crossing applications, the threshold of an Impinj RFID
antenna (as shown in Figure 9) has a very wide beam width
to maximize zone coverage. Threshold antennas provide a
consistent and continuous read zone when linearly
distributed head-to-tail. At 46 x 9 x 2 cm, the threshold
antenna’s planar form factor fits readily onto fencing or other
borders. Electrical specifications of the RFID antenna are
shown in Figure 8
Regarding the error checking of the data transmitted
from the chip, we used the first four bits of data to check for
our specified condition. If the values of those four bits match
the conditions, the transmitted data will be processed.
Otherwise, the data will be ignored.
To reduce ESD effect to a human body, we have
designed a method to install the chips in shoes to minimize
contact between a chip with a human.
Figure 8 RFID Antenna Electrical Specifications
Figure 9 An RFID Antenna
Figure 10 An RFID Controller Station
The controller and antenna are arranged on the ground,
for the performance of the data read from the chip RFID. The
antenna is placed under the plastic panels as shown in Figure
10.
Table 2 shows RFID components in the 11th Khon Kaen
International Marathon. We use the Wi-Fi router instead of
3G at the start and finish points because we can access
Wi-Fi that is available for free in that area.
Table 2 RFID components at different station points
Station point
Component
Number of uses
Check in
RFID Controller
1
RFID Reader
4
3G Router
1
Start and Finish
(same location)
RFID Controller
4
RFID Reader
16
Wi-Fi Router
1
Checkpoint 1
RFID Controller
1
RFID Reader
4
3G Router
1
Checkpoint 2
RFID Controller
1
RFID Reader
4
3G Router
1
KKU ENGINEERING JOURNAL April – June 2016;43(2) 98
2.2.2.2 RFID tags
An RFID tag is used to store data. Before the race event,
the chip data is programmed and checked for confirming the
rights of data and checking chip performance. The
appearance of the chip RFID will put them on the line, which
can prevent wet from water. Chips are placed in the shoes on
both sides by inserting under a shoe lace. The chip is shown
in Figure 11. When sending RFID chip tag data from the
controller to the web service, we protected data by using two
methods 1) implementing a secret KEY on the web service
and requiring an RFID controller to send a secret KEY. Each
data transmission needs to have its own secret key. 2)
configuring prefix of data on a programmable chip. The
prefix is the randomization of data specific for each marathon
event.
Figure 11 RFID tags attached to a shoe rope
3. Results
We have used our system in many events, including the
11th Khon Kaen international marathon. In this section, we
describe the registered runners, the web application result,
and the statistics of the 11th Khon Kaen international
marathon.
3.1 Registration runner
There were 7,725 registered and 5,608 runners who
participated in these three types in the 11th Khon Kaen
international marathon as shown in Table 3.
Table 3 List of runners divided by category
Type
Registered
Runners
Actual
Runners
Marathon
712
667
Half Marathon
948
876
Mini Marathon
6,065
4,065
3.2 Race result report
The 11th Khon Kaen international marathon event had 53
categories of race types. The awards were bestowed to the
top 5 and the top 10 runners of each category. The runner
can check the results online at http://timetrack.kku.ac.th.
The result shows two types of runner time. finish time and
net time. Finish time is the time between the start time of the
first runner and each runner's finish time. On the other hand,
the net time is the difference between the time recorded at
the finish minus the time recorded at the start.
Staff can monitor the statistics of runners from the
beginning of the race. It shows the information of the runner
when running through checkpoints. The system keeps the
logs and statistics. The search from the numbers run, or the
name of a runner is shown in Figure 12.
Figure 12 Real-time Result, Monitoring System and Search
Support of the Web Application
From Figure 12, a left-handed side picture shows a
monitor that displays status reports in real time. When the
runners run through a RFID controller, the system will
update the information of the runners on that monitor. After
the race ends, runners can check the results through a website
as shown in the right-handed side picture of Figure 12.
3.3 RFID chip tag data
The 11th Khon Kaen international marathon 11th event
has data from RFID chip tag 161,551 records of input from
the controller. The data was retrieved from the web service
and stored to the database.
3.4 Experimental result analysis
We compared the existing system which was used in the
10th Khon Kaen international marathon event and the system
that we developed which was used in the 11th Khon Kaen
international marathon event. We summarize the main
points of the comparison in Table 4.
From Table 4, the operation time of our proposed system
is greatly reduced. The chip cost is much cheaper than the
existing method because the chip that we use is made in
Thailand. We need to speed up the process because several
runners are from other provinces or from other countries.
Many of them plan to go back their homes or attend other
next events right after they know the current race results.
4. Conclusions
We have designed and developed the real-time marathon
processing and reporting system for many marathons,
including the 11th Khon Kaen international marathon. The
developed system uses RFID data processing technique to
compute the processing time of running at the check in point,
the start point, the checkpoints, and the finish point. It can
also calculate the net time (the elapsed time which is the
difference between the finish point and the start point). The
net time is used to order the ranking of the runners and
reporting race results in 53 categories on the web application.
In the future, we would like to handle many simultaneous
reads and writes to a single server. By using a MySQL Server
replication to distribute information from master to slave and
processed separately from each other. We would like to
detect duplicates which may be due to multiple tags are
attached to the same runner. In addition, we would like to
speed up the processing system by storing data using
memory instead of using a relational database. We are also
interested in using data mining to find interesting
information about runners and their running times at
different points of the race.
99 KKU ENGINEERING JOURNAL April – June 2016;43(2)
Table 4 The result comparison between the existing system and our proposed system
Particular
Existing
Proposed
Cost
Hardware cost
Bought the hardware of approximately two
million Baht.
The project was a collaboration between
universities and the company with no cost.
Software cost
Included in the purchased price of the hardware
but used only two years under the software
license.
custom development
chip cost
210,000 Baht (30 x 7,000 pcs)
182,000 Baht (13 x 14,000 pcs)
Operation time
Installation time
1.5 hours
30 minutes
Monitor time
It was not a real-time PC-based processing. Staff
needed to retrieve data from the controller
according to a preset time.
real-time on the check in point, the start
point, the checkpoints and the finish point.
Merging data before process
30 minutes
None
Processing time
1 hour
5 minutes
Competition result announcement
time
Cannot be announced within 24 hours due to chip
quality.
4 hours
Competition results for all runners
Unavailable
12 ours
5. References
[1] Tengrungroj M. Performance Improvement of RFID
System in Mass Races. The 29th International
Technical Conference on Circuit/Systems Computers
and Communications (ITC-CSCC); 2014 July 1-4;
Phuket, Thailand. 2014.
[2] The Innovative Timing Systems Jaguar™ RFID Race
Timing Systems. Read success-The jaguar advantage
[Internet]. [cited 2013 July 14]. Available from
http://innovativetimingsystems.com/why-jaguar
[3] RFID Race timing Systems [Internet]. [cited 2013 July
14]. Available from http://rfidtiming.com/software
[4] RFID Race Timing System Software [Internet]. [cited
2013 July 14]. Available from http://rfid-in-
china.com/rfid-race-timing-system-software.html
[5] Hardcard Systems High-Performance Timing and
Scoring [Internet]. [cited 2013 July 15]. Available from
http://www.hardcardsystems.com/running
[6] Agee Race Timing Software [Internet]. [cited 2013
July 15. Available from http://www.ageeracetiming.
com/down load /Default.aspx
[7] The ChampionChip Timing System [Internet]. [cited
2013 July 15]. Available from http://championchip-
thailand.com/aboutchip.html
[8] Jigarkumar Patel, Sergiu M. Dascalu. EnduRan: A
Web Application for Managing Racing Events. 2011
Eighth International Conference on Information
Technology: New Generations; 2011 April 11-13; Las
Vegas, NV. IEEE; 2011. p. 60 - 65.
[9] Wang F, Liu S, Liu P, Bai Y. Bridging physical and
virtual worlds: complex event processing for RFID
data streams. Advances in Database Technology-
EDBT 2006;3896:588-607.
[10] Zang C, Fan Y. Complex event processing in enterprise
information systems based on RFID. Enterprise
Information Systems 2007;1(1):3-23.
[11] Zhang Y, Jiang P, Huang G, Qu T, Zhou G, Hong J.
RFID-enabled real-time manufacturing information
tracking infrastructure for extended enterprises.
Journal of Intelligent Manufacturing 2012;23(6):2357-
2366.
[12] Roy W. The Magic of RFID. ACM Queue 2004;2(7):
40-48.
[13] PHP Language Ref. Manual [Internet]. [cited 2013
Aug 23).Available from http://www.php.net/ manual/
en /langref.php
[14] Slim is a PHP micro framework [Internet]. [cited 2013
Aug 23]. Available from http://www.slimframework
.com
[15] The Apache HTTP Server Project [Internet]. [cited
2013 Aug 23]. Available from http://httpd.apache.org
[16] MySQL Developer zone [Internet]. [cited 2013 Aug
23]. Available from http://dev.mysql.com
[17] Node.js is a platform built on Chrome's JavaScript
runtime [Internet]. [cited 2013 Sep 12]. Available from
http://nodejs.org/about
[18] Stefan T, Steve V. Node.js: Using JavaScript to Build
High-Performance Network Programs. IEEE
Computer Society 2010;14,80-83. doi:10.1109/MIC.
2010.145
[19] Griffin L. Scaling Instant Messaging communication
services: A comparison of blocking and non-blocking
techniques. Computers and Communications (ISCC),
2011 IEEE Symposium; 2011 June 28-July 1; Kerkyra,
Greece. IEEE; 2011. p. 550 - 557.