GPS-based Asset Tracking

October 23, 2013

Data connectivity in mobile terminals has taken asset tracking to a different level. Now, asset tracking is not limited to inventory management, rather we can have online location tracking of moving assets based on their GPS fix. All we need to do is to install a mobile terminal on the asset which can periodically take its GPS fix and report that to a central hub through over-the-air data connectivity.

Apart from sending location data, this service can also facilitate two-way communication between an operator at central hub and an asset user collocated with an asset. This two-way communication can be very useful for the exchange of emergency messages.

GPS-based asset tracking system can also be hosted as a service and can provide coverage over a wide geography.

Key challenges in a GPS-based Asset Tracking System are :  

  • Hosting Asset Tracking System as a Service
  • Different kinds of assets have different velocity of movement 
  • Handling large number of assets
  • Storing data for a long duration 
  • Map based interface for tracking 
  • CDR generation
  • Providing capability for integration with third party GIS application 
  • Hierarchical User Groups
  • Two-way communication for emergency messages 
  • 99.999% availability

Asset Tracking as a Service 

The system is developed such that a service provider can host it and subscribers can register with it to track movement of their assets.

Figure 1 : Asset Tracking As a Service 

A subscriber contacts customer care and registers for the asset tracking service. After successful registration, an asset tracking terminal is installed on the asset. Asset can be an aircraft, a vehicle, a marine ship or any other object which can be co-located with the terminal. After successful installation of the asset tracking terminal, the asset is provisioned on the billing server and the asset tracking hub (AT Hub).

Each asset gets its GPS fix individually and sends it to AT Hub periodically, through over-the-air data connectivity. For each provisioned asset, AT Hub records the location message in its storage. Subscribers can connect with the AT Hub through a HTTP-based web interface that plots location of each asset online through a geographical map based interface.

Subscribers are grouped with in User Groups. Each User Group has a set of assets to be tracked and a set of subscribers who should have sufficient privileges to monitor those assets. Access control is implemented in such a way that a subscriber can view location of only those assets which belong to his/her User Group.

The User Groups can be hierarchical such that a parent organization can view all the assets that belong to its subgroups.

The system also provides an HTTP based interface to operators for managing the service and for administrative functions like managing user accounts, taking backups, etc. Operators are part of the staff of the service provider who keeps the service up & running and performs administrative functions.

Asset Profiles

Each asset may move with a different velocity and accordingly their frequency to send location messages is required to be different. Therefore, reporting profiles are maintained for each asset type. For example, an aeronautical asset should send its location message every 10 seconds. However, a vehicular asset should send every 5 minutes.

Moreover, since billing is done on the basis of number of location messages processed, therefore different User Groups prefer different frequency of reporting. For example, for intra-city transport, updates might be desired every minute. Whereas for intercity transport, frequency of 30 minutes might be more desirable.

The system provides function to customize reporting frequency of each asset type to each User Group, so that each User Group can configure its assets to report their location messages as relevant for that User Group.

GIS Integration & Customization

Figure 2: Map server integration

The web-interface of the system, intergrates with map server (i.e. ArcGIS Server) through JavaScript. The
JavaScript interfaces with ‘ArcGIS API for JavaScript’ which pulls in map data from the map server and displays a geographical map. The JavaScript also fetches GPS location data of the desired assets from the Asset Tracking application hosted on a JBoss Application server. The JavaScript plots assets on top of the basemap layer using a graphics layer. Location data is periodically fetched using AJAX based call. The user interface provides functions to drill down a map and take a closer look at the assets & its surroundings.

Figure 3: Sample assets location view

Figure 3 illustrates how a subscriber can view various assets of its User Group, spread over a large geography. Subscriber can click on an asset to view its details in a callout kind of box.

Storing large data

Consider a case where a total of 10,000 assets are being managed. Out of that one-third assets send location message every 10 seconds and remaining two-third assets send location message every 30 seconds. If size of each location message is 64 bytes, then this results in data of 64 KB per second ay AT Hub and 5.5 GB per day. If data is required to be maintained for 365 days, then total size of the location records will be approximately 2 terra bytes.

The system is required to be capable of storing such large set of data and to efficiently query the same when data is requested by a subscriber.

High Availability

The system is required to be available for 99.999% of the time. This means that the system can be down for maximum of 43 minutes in a month and 8.76 hours in an year. This can be made possible through 1:1 hot redundancy, where two identical asset tracking servers work in a cluster which can be accessed through a floating IP address.

Redundancy is facilitated through a state machine, implemented through Linux HA framework. File system is replicated across two redundant servers using DRBD.


1.    ArcGIS Resource Center, 
2.    Similar application, 

No Comments

Add Comment


We use cookies (including third party cookies) to ensure you get the best experience while visiting our website. Click "Accept All Cookies" to accept the cookie usage. Click "Cookie Settings" to adjust cookie settings.

Mandatory Cookies

These cookies cannot be disabled

These cookies are necessary for the website to function and cannot be switched off.

  • __RequestVerificationToken
  • authentication
  • dnn_IsMobile
  • language
  • LastPageId
  • NADevGDPRCookieConsent_portal_0
  • userBrowsingCookie

Analytics Cookies

These cookies allow us to monitor traffic to our website so we can improve the performance and content of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited or how you navigated around our website.

  • _ga
  • _gat
  • _gid

Functional Cookies

These cookies enable the website to provide enhanced functionality and content. They may be set by the website or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.

  • __atuvc
  • euconsent

Targeting Cookies

These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising.


Not used.