The digitalization of everyday life, where the average bus passenger would rather ignore the surroundings and stare blankly into his phone for snapchat updates, creates great opportunities for digitalization of public transport, as well as some challenges. Ruter, Norway’s largest public transport authority, is putting significant effort into improving digital services for customers. However, the current technology stack behind Ruter's operations, is not able to provide the necessary real-time information.
In this talk I will explain how Ruter is participating in the development of new European standards for information technology for public transport (ITxPT), and how Apache Kafka and Kafka streams serve as the core components in building "Transport-as-a-Service".
Presented at Berlin Buzzwords 2018 https://berlinbuzzwords.de/18/session/transport-service-taas-how-we-build-next-generation-plug-and-play-it-systems-public
What's New in Teams Calling, Meetings and Devices March 2024
Transport-as-a-Service (TaaS) - How we build next generation plug-and-play IT-systems for public transport (ITxPT) at Ruter
1.
2. Christoffer Vig
11 June 2018
Plug-and-play IT systems for public transport using ITxPT + Kafka @Ruter
Traffic-as-a-service: Plug-and-
play IT systems for public
transport
4. 4
Ruter
Largest public transport authority (PTA) in
Norway
2017
371 million registered passenger boardings
Ruter serves Oslo + surroundings (Akershus): 1,5 million people
13. 1 3
Ruter - current situation
- Trip planning apps do not use real time
information
- Departure Times show «real time»
information
- Physical signs at Stop place show
somewhat improved «real time»
- Too short dog walks.
14. 1 4
Ruter - current situation
Operators (PTO) own data
Ruter can not directly access data from
vehicles.
«Real time» data available via third-party
(Entur)
15. 1 5
Operators control vehicles + data
• PTA - Public Transport AUTHORITY (Ruter/ VBB)
• Responsible for public transport in an area
• Planning - time tables
• Marketing, public information
• Order services from PTO
• PTO - Public Transport OPERATOR (Unibuss, Nobina, Oslo Sporveier/ BVG,
DB)
• Responsible for operation of traffic
• Owns vehicles and employs staff - drivers, service personell
16. 1 6
Operators control
vehicles + data
• PTA - Public Transport AUTHORITY (Ruter/ VBB)
• Responsible for public transport in an area
• Planning - time tables
• Marketing, public information
• Order services from PTO
• PTO - Public Transport OPERATOR (Unibuss, Nobina, Oslo Sporveier/ BVG,
DB)
• Responsible for operation of traffic
• Owns vehicles and employs staff - drivers, service personell
17. 1 7
APC Project - Automatic Passenger Count
Started in 2016
Passenger counting sensors installed
in 400+ buses.
18. 1 8
APC Project - Automatic Passenger Count
Started in 2016
Passenger counting sensors installed
in 400+ buses.
24. 2 4
ITxPT Modules - S02 OnBoard Architecture
DPI - Dynamic Passenger Information
AVMS - Advanced Vehicle Monitoring System
ASP - Automatic Signal Prioritization
APC - Automatic Passenger Counting
GPS - Global Positioning System
MADT - Multi Application Driver Terminal
FMStoIP/VEHICLEtoIP - Fleet Management System to IP
26. 2 6
AVMS - Advanced Vehicle Monitoring System
Keeps track of vehicle progress:
Driver information (PTO responsibility)
Passenger information (PTA responsibility)
Calculate time to next stop, etc.
27. 2 7
ITxPT S03 - BackOffice
Transmodel - Abstract Reference Data model for public transport
NeTEx - (Network Exchange) - concrete implementation of XML for
planned data (routes, stops, journeys, time tables)
SIRI (Service Interface for Real Time Information) - Real Time
Information
SIRI describes changes to NeTEx data
28. 2 8
ITxPT S04 - Over the Air
Communication between vehicle and back office
MQTT bridge
Using 3G, 4G, LTE
Allows real time data exchange
30. 3 0
TaaS - Transport as a Service
Ruter’s initiative to create an implementation
of ITxPT
Romerike tender: 400 new buses to be delivered in 2019
IT specs based upon ITxPT
Open source components
32. 3 2
Assumption: vehicles are NOT always online
AVMS - Automated Vehicle Monitoring
- load journey info from back office when bus
starts at depot
- bus-computer
tracks progress
- Hard to update
33. 3 3
Assumption: all vehicles are always online
- continuous stream of data
from bus to back office
- computing happens in back office
- Everything is dynamic
- Allows for heavy computing.
- machine learning
37. 3 9
- Publish and subscribe to streams of records, similar
to a message queue or enterprise messaging system.
- Store streams of records in a fault-tolerant durable
way.
- Process streams of records as they occur.
- Kafka streams - join and process topics to generate
new topics.
39. 4 1
TPS
Traffic Plan System
information on time tables, stops, routes.
Follows the Norwegian variant of the NeTEx standard
- Network Timetable Exchange (http://netex-cen.eu/)
If all vehicles always were on time, we did not need
any real time information. Then TPS would be the
single source of truth.
40. 4 2
Tps - GraphQL
GraphQL - NeTEx
query linesForStopPlace($stopPlaceId: String!) {
stopPlace(id: $stopPlaceId) {
id
name {
value
}
passengerStopAssignments {
scheduledStopPoint {
stopPointInJourneyPattern {
order
journeyPattern {
route {
id
name {
value
}
line {
id
publicCode
}
}
}
}
}
}
}
}
47. 4 9
Signon + Service Journey
-> Signed On Journey
Joined in Kafka streams
Signon (KStream) +
Service Journeys (GlobalKTable) -
-> new Kafka topic: SignedOnJourneys =
Vehicle
Service Journey
Planned Time table
49. 5 1
GPS + SignedOnJourney = Real time update
Kafka streams processing.
Gps (Stream) -joined with
SignedOnJourney(KTable) - both keyed by vehicleId
Using GPS we can figure out
- Bus location on Journey.
- Next Stop
Combining GPS, current time with expected departure times, we can find
- Estimated time to Next Stops
- Delay
50. 5 2
Subheading- Click to add text
• First level
• Second level
• Third level
• Fourth level
51. 5 3
ITxPT + Kafka enables real time data
processing for public transport