The architecture of mobile traffic map service

19
The Architecture Of Mobile Traffic Map Service BJ JANG, Hayan Shin 1

description

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.

Transcript of The architecture of mobile traffic map service

Page 1: The architecture of mobile traffic map service

The Architecture Of Mobile Traffic Map Service BJ JANG, Hayan Shin

1

Page 2: The architecture of mobile traffic map service

Total Traffic Information Service

2

Sponsored by NTIC(National Transport Information Center)

Mobile Traffic Map Service

Page 3: The architecture of mobile traffic map service

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

Page 4: The architecture of mobile traffic map service

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

Page 5: The architecture of mobile traffic map service

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

Page 6: The architecture of mobile traffic map service

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

Page 7: The architecture of mobile traffic map service

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

Page 8: The architecture of mobile traffic map service

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

Page 9: The architecture of mobile traffic map service

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

Page 10: The architecture of mobile traffic map service

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

Page 11: The architecture of mobile traffic map service

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

Page 12: The architecture of mobile traffic map service

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

Page 13: The architecture of mobile traffic map service

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

Page 14: The architecture of mobile traffic map service

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

Page 15: The architecture of mobile traffic map service

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

Push Cache

Server

Map Server

Cache Server

Cache Server

For more connection, just add cache server more scalable

15

Map Server

Page 16: The architecture of mobile traffic map service

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

Page 17: The architecture of mobile traffic map service

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

Page 18: The architecture of mobile traffic map service

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

Page 19: The architecture of mobile traffic map service

Q&A

Please Ask BJ Jang via Email !

[email protected]

With experience of this project, he is constructing Mobile Weather Chart Service Using GeoServer and PostgreSQL at KMA(Korea Meteorological Administration)

19