MOLIT(Ministry of Land, Infrastructure, and Transport) has established NTIC(National Transport Information Center) for effective management of various kinds of transportations in South Korea and released several services that people can use. Gaia3D Inc., has involved in one part of mobile service which displays traffic status on roads, streets, and highways up on geographical map, making people easily check the status of traffc wherever they’re heading. Gaia3D Inc., will introduce not only the experience of implementing mobile traffic map service (iPhone App, Android App, and Mobile Web Client) showing traffic on roads, streets, and highways at NTIC using Squid Proxy Server, GeoServer, and SQL Server but also advanced architecture coming up in 2014. NTIC system collects all kinds of real time traffic data of all highways, routes, streets, and roads in South Korea and divides those collected traffic data into three colors in green, yellow, and red by speed. These colorized traffic data are mashed up with map data to service on mobile devices. Servers carry out tiling traffic map in every 5 minutes and clients receive and display those tiled data. This system aimed at tolerating peak times of two major holiday seasons in South Korea - Chuseok(Korean Thanksgiving day) and Seolnal(Lunatic New Year’s day) when almost 15 million people per day travel at the peakest dat and about 8 million vehicels are poured out to roads, streets, and highways, so the system should be designed to safely handle over 100,000 concurrent connections. The whole system is consisted of two Cache Servers with Squid Proxy, six Map Server with GeoServer, and three Database Server with SQL Server. Real time traffic information and road lines are managed in SQL Server and provided to GeoServer. Traffic map tiles are produced in GeoServer and are passed to Cache Server. The client is designed to request tiles via interface of WMTS(Web Map Tile Service) protocol with Time Tag. The very initail architecture designed in 2012 somehow managed to endure traffic loads at peak times, but had some problems, which was quite disappointing and unexpected results. In order to improve the system, we’ve mainly focused on the enhancement of scalability. Also, we’ve newly redesigned the system into separating tile producing servers and managing static contents using NGINX web server.
3. Background
About NTIC (our customer)
National Transport Information Center is a national organization
belonging to the Ministry of Land, Infrastructure, and Transport
Role: Traffic Information Collection, Processing, Providing
http://www.its.go.kr/Eng/
Collected content
Wide-area(whole Korea) traffic
information
Traffic cast CCTV
Vehicle Message Content
Service (VMS)
Provided Information
Real-time road flow information
Standardized Node/Link data
of roads (for ITS)
Short/long distance travel route
information
3
4. Background
NTIC’s Requirements
Deliver Real-Time Traffic Information to Users
To Disperse Traffic on major national holidays
- Lunatic New year’s first day, Chuseok
Environment at System Peak Times
About 30 million people move to visit
hometowns and families
Most of them have
Smartphone
4
5. Overview of Main
Features
Traffic status on roads and highways up on
geographical map
Support interactive zoom in/out
3 Steps colorized traffic data
Updates every 5 minutes
>40km/h 20~40 km/h <20km/h
>40km/h 20~40 km/h <20km/h
>80km/h 40~80 km/h <40km/h
Road
City highway
highway
5
6. Overview of Main
Features
Traffic status on roads and highways up on
geographical map(continue)
traffic accidents information
CCTV on roads (over 1000 points)
KMA Weather Forecast/Warning
6
7. Architecture(2011)
Mobile Data Provider
MobileMananger
WAS(Tomcat7)
Windows Server
Info Server
GeoServer2.0.3
WAS(Tomcat7)
Windows Server
Map Server
PostGIS 1.5.3
PostgreSQL 8.4
Windows Server
Geo DB Server
PostGIS
Info Server
Geo DB Server
Map Server
• 30,000 users
• adopt Open Source GIS
• request one-size image non-
tiled
• don’t consider cache
Oracle
7
8. Problems on Existing
System
Absence of Cache Server
Request for same region data
So, Frequent GeoServer Down at Peak Times
Reliability issue
Take lots of time to import traffic data into
PostgreSQL
Doubt on GeoServer , PostGIS,PostgreSQL
about low performance
8
9. System Improvement
Goals in 2012
NTIC’s Requirements
Support 200,000 Users Per Day
Change DBMS to SQL Server
Consulting about Open Source GIS
Our Solutions
Reconstruct System Architecture and Redevelop SW
Change Mobile Client Request to Tiled Map base
Adopt Squid proxy server with SSD as Cache Server
To determine Effective Tiled Map Time and Region: Using
WMTS interface
content expire time
custom Time tag
Produce Tiled Map data every 5 minutes in advance
9
10. Architecture(2012)
Mobile Data Provider
MobileMananger
Tomcat 7 (WAS)
Windows Server
Info Server
Squid Proxy Server 2.7
Windows Server
Cache Server
GeoServer2.1.4
Tomcat 7 (WAS)
Windows Server
Map Server
SQL Server2008R2
Windows Server
Geo DB Server
Info Server
Map Server
SQL Server SQL Server
Geo DB Server
SQL Server
Cache Server
• Support 200,000 Users
• 256x256 tiled map
• Apply OpenLayers Cache
Structure into Mobile
App(Android and iPhone App)
• Apps Polling traffic map every 5
minutes
• Compliance to Cache flow of
HTTP 1.1
Cache Maker
10
OpenLayers
11. Results
System Endured at Peak Times but, Not Satisfied
Level
Sometimes Response Time went slowly
Transaction increased 10 times per User owing to tiled map
Polling Map Strategy causes unnecessary requests
Squid had in trouble when it reaches to over 100,000 Connections
Impossible to update tiled traffic map data within 5
minutes
Traffic Map Data consist of 10 levels(Zoom level) ~over 1 million
tiled maps.
So, within 5minutes, only 8 level-map data can be updated.
11
12. Results
Scalability Issue
Cache Server UP GeoServer & SQLServer UP
Cost UP
Cache Maker requests UP
SQLServer Load UP(n times)
Cache
Server Map
Server
Cache
Server
Cache
Server
Map
Server
Map
Server
DB
Server
DB
Server
DB
Server
Bad
scalable
12
13. Improvement Strategy
GeoServer connects PostGIS 1by1 instead of
SQL Server-> Cost Down, Speed up Spatial
Query
Adopt Memory Disk for Cache Server instead of
SSD
-> Cost Down
Push Tiled Traffic Map data into Cache Server
->Reduce Transaction time
Drop Polling method every 5 minutes to update
traffic map-> Reduce Transactions
13
14. Architecture(2013)
Mobile Data Provider
MobileMananger
Tomcat 7 (WAS)
Windows Server
Info Server
Squid Proxy Server 2.7
ENGINX (Web Server)
Windows Server
Cache Server
GeoServer 2.3 PostGIS 2.1
Tomcat 7 (WAS) PostgreSQL 9.2
Windows Server
Map& GeoDB Server
Info Server
Map & GeoDB Server
• Support 300,000 users per day
• PostGIS to Query Spatial data
• Request map only when client’s
map view vhanging
• Push tiled traffic data into Cache
server
Post
GIS
Post
GIS
Post
GIS
SQL Server
Traffic Data Streaming Replication
Cache Server
CSV
Tile generation manager
14
OpenLayers
15. Tile Generation Manager
Map
Server
Map
Server
Map
Server
Map
Server
Tile Generation Manager
Divide Job
Cache
Server
Cache
Server
Cache
Server
Push Generated Tile
Tile Generation Manager
Divide jobs for each GeoServer clearly
To Produce map tile data in parallel
Push Tiled Traffic Map data into Cache
Server
PushCache
Server
Map
Server
Cache
Server
Cache
Server
For more connection,
just add cache server more scalable
15
Map
Server
16. TileMap Update Idea!
Changing data are only roads
#of Map Tiles that roads across
is Not Much!
So, Update Map Tiles Passing
roads Only When Traffic
Condition Changed, Instead of
All the tiles!
Mobile Apps can get Changed
TileMap Only
16
17. Improvements
2012 2013
Initial (Total) tile
Generation
90 minutes
(empty tile included ~over
1,437,000 tiles)
6~7 minutes
(road tile only ~183,000
tiles)
Update interval
of Tile
Generation
5 minutes
(8 levels, not modified or
empty time included)
1 minute
(10 levels,
modified tile only)
Users per day 200,000 >300,000
Scalability Not good Very good
In Service Now!
17
18. Lessons Learned
To persuade customer to adopt Opensource
GIS
Need confidence of Performance about
Opensource GIS
Make sure that Opensource GIS has equivalent
performance to commercial products
18
19. Q&A
Please Ask BJ Jang via Email !
bjjang@gaia3d.com
With experience of this project,
he is constructing Mobile
Weather Chart Service Using
GeoServer and PostgreSQL at
KMA(Korea Meteorological
Administration)
19