Abstract:
Scalable systems and methods for delivering ordered data updates from a plurality of data sources are provided. A described method includes receiving, a data update from a data source and assigning a global sequence identifier and a previous global sequence identifier to the data update. The global sequence identifier indicates a position of the data update in a sequence of data updates received from a plurality of data sources. The previous global sequence identifier is a global sequence identifier assigned to a preceding data update received from the same data source. The method further includes determining whether the preceding data update from the same data source has been delivered by comparing the previous global sequence identifier with a low water mark. The low water mark is an upper bound on a range of global sequence identifiers associated with data updates that have been delivered.