A method to synchronize consumption of an ordered data stream among a plurality of consumers comprising: defining a group clock measuring a group time indicating when a data chunk in the ordered data stream should be consumed by the plurality of consumers ; synchronizing the group clock with a plurality of local clocks associated with the plurality of consumers requesting to consume the ordered data stream, said synchronizing comprising sending a plurality of group times to the plurality of consumers ; sending the group time associated with the data chunk and the data chunk to the plurality of consumers ; receiving from a consumer in the plurality of consumers an arrival time of the data chunk; based on the arrival time of the data chunk and the group time associated with the data chunk, determining whether the consumer has received at least 10% of data chunks late; and upon determining that the consumer has received at least 10% of data chunks late, ensuring that the plurality of consumers synchronously consume the ordered data stream by: obtaining a setting specifying a minimum quality threshold in the form of a minimum bitrate associated with the data chunk sent to the consumer in the plurality of consumers ; determining a network throughput; and upon determining that the network throughput is less than the minimum bit rate, adjusting a latency of the ordered data stream by assigning later consumption timestamps to future outgoing data chunks. defining a group clock measuring a group time indicating when a data chunk in the ordered data stream should be consumed by the plurality of consumers ; synchronizing the group clock with a plurality of local clocks associated with the plurality of consumers requesting to consume the ordered data stream, said synchronizing comprising sending a plurality of group times to the plurality of consumers ; sending the group time associated with the data chunk and the data chunk to the plurality of consumers ; receiving from a consumer in the plurality of consumers an arrival time of the data chunk; based on the arrival time of the data chunk and the group time associated with the data chunk, determining whether the consumer has received at least 10% of data chunks late; and upon determining that the consumer has received at least 10% of data chunks late, ensuring that the plurality of consumers synchronously consume the ordered data stream by: obtaining a setting specifying a minimum quality threshold in the form of a minimum bitrate associated with the data chunk sent to the consumer in the plurality of consumers ; determining a network throughput; and upon determining that the network throughput is less than the minimum bit rate, adjusting a latency of the ordered data stream by assigning later consumption timestamps to future outgoing data chunks. obtaining a setting specifying a minimum quality threshold in the form of a minimum bitrate associated with the data chunk sent to the consumer in the plurality of consumers ; determining a network throughput; and upon determining that the network throughput is less than the minimum bit rate, adjusting a latency of the ordered data stream by assigning later consumption timestamps to future outgoing data chunks. <EOS>