A distributed file server system has multiple data servers connected to
stream data files continuously over a network to multiple clients. Data
files are distributed across the data servers so that data blocks of the
data files are stored at each of the data servers. A scheduler is located
at each of the data servers to manage distributed portions of a schedule.
Each data server sees a different portion of the schedule, but no one
data server sees the whole schedule. The scheduler facilitates service of
requested data streams from its corresponding data server according to a
schedule portion that is available to the data server. The scheduler
determines whether to insert a new data stream into the current slot it
presently owns in its schedule portion, or to wait for a subsequent slot
in the schedule based on a thrifty policy.