Hello! I am currently in the process of writing this article, exploring the technologies that used and the skills that I learned throughout the process. In the meantime, here is a brief summary of the project:
A dry-van is typically comprised of both a tractor vehicle as well as the trailing container unit. Samsara creates IoT sensor devices for both the tractor and trailer units, enabling users to track the velocity, GPS location, and other statistics of their assets at all times.
Tractors will switch between pulling various different trailers, so we devised an automated system to determine (with a high degree of confidence) which tractors were paired with which trailers at any point in time. With this, our customers can gain greater insight into their fleet easy navigate between associated tractor-trailer pairs within the web application.
This project was accomplished by creating two new Golang microservices: a persistent data server and an asynchronous background worker that computes various heuristics (GPS and so on) to perform best-effort pairings. Due to the scale of computation--tens to hundreds of thousands of devices updating in real-time--designing a performant and future-proof means of accomplishing this was one of the most difficult obstacles I had to overcome.