The vehicle tracking system consists of wireless units
installed on the vehicles. These units communicate with the gateways through
mobile networks. The gateways communicate using protocols such as UDP and TCP
through internet with a host system having receivers which are operating system
services, and a data storage system. The incoming data is written from the
receivers to the data storage system. The receivers comprise of a port PORTi, a
process PROCi, a data log LOGii and a decoder DECi. The decoder decodes the
data from the logs and writes to the memory caches that is moved to hub of the
data storage system. The hub passes the data to an analysis engine which
processes the data and maintains a number of database tables.
The raw data packets from vehicle are received asynchronously at the
port PORTi. The format of the packet message is dependent on the origin of the
data at the vehicle on-board unit. PROCi saves two log files within its LOGi.
Among the two files the data is directly written to first sequential file. A
recovery mechanism in the receiver recovers the file in the case of failure.
During the writing, the process PROCi extracts message length and extracts time
stamp. These are added as headers and augmented message is stored in the log
file LOGi. The above steps are carried out by PROCi for each thread parallelly.
the beginning of the session, each decoder DECi instantiates a service object
for each thread i.e. for each log LOGi, in the next step each service object
reads a next message in its associated log LOGi and later decodes and
instantiates a dedicated message object. The message object instantiation
involves writing data from the current message as attributes of the message
object. The data is organized into fields including time, event and vehicle
identifier. The service object writes the message object to memory cache. When
the memory cache becomes full it is written to the hub. The