gps

GouldTrack GPS Server

GouldTrack GPS server has been designed to receive GPS data (GPS fixes) from various types of devices and route them to different GPS systems. This system allows the user to organize a GPS hosting, it can host multiple independent corporate accounts. The system is designed to be easily integrated with external GPS data providers, such as databases or MAP27 radio gateways.

Architecture

wtrack_arch_new

The software has cluster architecture and consists of several modules:

  • GPS router – a high-productivity module receiving data from multiple GPS devices, storing them in a fast database and routing the data to the appropriate tracking server (different customer accounts can be hosted on different servers);
  • Accounting server – this module stores customer accounts, charges them daily for the usage of the service, and accepts PayPal payments;
  • External database reader – this module reads GPS data from an external database and sends them to the GPS router, thus providing integration with other GPS systems;
  • Radio gateway – this module is used to get GPS data from non-GSM (MAP27) radio units which are usually connected to the separate computer; radio gateway receives and parses the data from non-GSM units, and sends the GPS data to the GPS router;
  • Tracking server – this software receives GPS data in a unified form and renders it to the user;
  • Mobile application – we have developed apps for Android and iOS which is installed by the client, tracks his location, and shows other team members to the user;
  • Driver’s app – this app is running on the in-cab Android tablet in the locked kiosk mode, the driver can see his driving quality and report vehicle faults.

The modular architecture allows the administrator to share the load between multiple servers. The GPS router can be also used for “soft” integration of GouldTrack GPS server into an existing GPS tracking solution with further replacing of the old system by GouldTrack GPS server.

Features

  • Corporate accounts with various user roles;
  • Realtime tracking of vehicles;
  • Logs of coordinates, events and alarms;
  • Automatic determination of the vehicle address;
  • Alert notifications by SMS and e-mail;
  • Connection of GPRS, SMS and MAP27 devices;
  • Various types of statistical reporting: history, start/stop, overspeed, geofences.

Technologies

The web-based GPS server software is written in Java. Rendering of web content is being done on a client’s side and is written in JavaScript (AngularJS framework).

The GPS router uses Cassandra database for storing data. This NoSQL database allows fast writing GPS data (5-10 times faster than PostgreSQL or MySQL database) and effective storage of large volumes of records (hundreds of millions).

The GPS data on the rendering server are stored in PostgreSQL database. PostgreSQL was selected because it supports work with geospatial data and is more functional than MySQL.