Thus far we have omitted any discussion of synchronizing data from mobile clients. As edge device capabilities increase, and our demand for data captured from mobile, IoT, and other edge devices increases, so too does the need to synchronize data from these devices.
Techniques for synchronizing from these devices must ensure the reliable, accurate, and timely transmission of data.
Our running example has served us well so far and represents a typical mobile application in these regards – syncing data from a server to store locally for offline usage. As effective as it has been, it will unfortunately not scale well to the discussion ahead without becoming contrived. Therefore the discussion ahead necessitates another example application.
Going forward we will instead use an example of an IoT (Internet of Things) application, which will fill the role of collecting information from an automobile’s sensors, and reporting those back to a central web application. This example will serve our needs well going forward, as cars are mobile, and are therefore not guaranteed to be connected to the Internet at any given point in time, cars also represent the source of data in our example. Finally, cars represent something that many people can understand, regardless of industry background – cars have engines or motors, those operate at a variable RPM over time, moving at a variable rate, over a continuously varying trajectory.
We will begin constructing this new sample application starting in the next chapter, and continue developing it throughout the remainder of this book. Despite its differences, all the previous patterns discussed are equally as applicable to this new application in the down-sync direction.