I have time-series data coming from multiple sources. The data from each source arrives at a "roughly known" interval (i.e. once per hour), but the timestamps across the sources are not synchronized with each other in any way, and to make matters worse, are not very precise (i.e. a data source that generates a new sample "once per hour" may actually send a sample every 60 +/- 5 minutes or so; and the error "drifts" for a given source between reports).
In other words, I know that all my sources of asynchronous/imprecise timestamps will each produce one sample in a known interval. I need to be able to accommodate the individual "drift" of each source, and still end up with one "normalized" timestamp for each sample per source per interval.
What are some ways, without regard to any particular software (I'm trying to understand the underlying approaches to this problem), to synchronize these timestamps over a long period of time?