  Broadcasting is known to be an efficient means of disseminating data in
wireless communication environments (such as Satellite, mobile phone
networks,...). It has been recently observed that the average service time of
broadcast systems can be considerably improved by taking into consideration
existing correlations between requests. We study a pull-based data broadcast
system where users request possibly overlapping sets of items; a request is
served when all its requested items are downloaded. We aim at minimizing the
average user perceived latency, i.e. the average flow time of the requests. We
first show that any algorithm that ignores the dependencies can yield arbitrary
bad performances with respect to the optimum even if it is given arbitrary
extra resources. We then design a $(4+\epsilon)$-speed
$O(1+1/\epsilon^2)$-competitive algorithm for this setting that consists in 1)
splitting evenly the bandwidth among each requested set and in 2) broadcasting
arbitrarily the items still missing in each set into the bandwidth the set has
received. Our algorithm presents several interesting features: it is simple to
implement, non-clairvoyant, fair to users so that no user may starve for a long
period of time, and guarantees good performances in presence of correlations
between user requests (without any change in the broadcast protocol). We also
present a $ (4+\epsilon)$-speed $O(1+1/\epsilon^3)$-competitive algorithm which
broadcasts at most one item at any given time and preempts each item broadcast
at most once on average. As a side result of our analysis, we design a
competitive algorithm for a particular setting of non-clairvoyant job
scheduling with dependencies, which might be of independent interest.
