Overview
In this client’s system, credits purchased by users are processed when smartcards are presented to the system smartcard readers. These devices receive details of customer top ups as incremental or full updates via push notifications across the network. Devices mounted at fixed locations work across a wired network, those deployed in mobile locations such as buses and taxis connect to a mobile network.
The Issues
Software Primitives was engaged to investigate the following issues:
- The processing of top ups by the smartcard readers was taking far longer than expected. Overnight top ups across the mobile network were still being processed an hour or so into the start of the working day. Customers were finding they were unable to use their top ups until much later in the day.
- The smartcard readers were using an excessive amount of network bandwidth. Mobile network bandwidth usage was significantly higher than expected incurring excessive network costs.
- Processing of the top ups by the smartcard readers would stall. Customers would be unable to use their top ups.
Resolution
Software Primitives spent around 3 weeks examining the client code to gain an understanding of the architecture and software design. At the end of this period Software Primitives had identified the reason for the excessive processing time and bandwidth usage and also identified logic errors relating to connection drop-outs (typically when smartcard readers pass through signal dead spots) leading to top up downloads to stall.
Software Primitives then spent the next 3 to 4 weeks implementing and testing the code changes necessary to resolve these issues.
Outcome
After the changes, overnight top ups were now getting processed within a couple of minutes and the excessive network bandwidth costs were eliminated. The changes went live a couple of weeks later.

