Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
First Claim
1. In a continuous media file server system having multiple data servers connected to distribute data streams over a network, each data server supporting at least one storage disk, wherein data files are distributed across the data servers and stored on each of the storage disks, and wherein not all of the data files have the same transmission rate, a method comprising the following steps:
- scheduling when the data servers are to transmit segments of a first size of a first requested data file over the network and when the data servers are to transmit segments of a second size of a second requested data file over the network based on a network schedule arranged to maximize network bandwidth utilization, and wherein the first size is different from the second size;
reading the segments from the disks associated with the data servers prior to when the data servers are scheduled to transmit the segments, andseparately, completely transmitting the segments of the first size and the segments of the second size during corresponding transmission times over single communication channels, wherein the transmission times are of equal fixed durations.
2 Assignments
0 Petitions
Accused Products
Abstract
A continuous media file server system has a controller connected to multiple data servers. Each data server supports at least one storage disk. Data files are distributed across the data servers so that data blocks of the data files are stored on each of the storage disks. The data files have different data transmission rates at which they are served over a network to clients in the form of data streams. A scheduling unit maintains a network schedule that provides a relative ordering of transmission times of requested data streams. The transmission times indicate when the data servers are to transmit corresponding data blocks of the requested data files over the network to stream the data to clients. The block play times for all data files have a fixed duration, with the size of the data blocks from data file to data file varying according to the data transmission rates of the files. When a transmission time for a data file block approaches, the scheduling unit instructs the appropriate data server to read a data block for that data file from the disk prior to the transmission time in the network schedule. In this manner, disk reads are scheduled implicitly according to the network schedule. The data is temporarily stored in buffer memory, and later transmitted over the network. When a request for a new data stream is received, the scheduling unit evaluates whether the new data stream can be inserted into the network schedule without overburdening the data servers'"'"' ability to serve the existing data streams on the network schedule.
-
Citations
49 Claims
-
1. In a continuous media file server system having multiple data servers connected to distribute data streams over a network, each data server supporting at least one storage disk, wherein data files are distributed across the data servers and stored on each of the storage disks, and wherein not all of the data files have the same transmission rate, a method comprising the following steps:
-
scheduling when the data servers are to transmit segments of a first size of a first requested data file over the network and when the data servers are to transmit segments of a second size of a second requested data file over the network based on a network schedule arranged to maximize network bandwidth utilization, and wherein the first size is different from the second size; reading the segments from the disks associated with the data servers prior to when the data servers are scheduled to transmit the segments, and separately, completely transmitting the segments of the first size and the segments of the second size during corresponding transmission times over single communication channels, wherein the transmission times are of equal fixed durations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a continuous media file server system having multiple data servers connected to distribute data streams over a network, each data server supporting at least one storage disk, wherein data files are distributed across the data servers and stored on each of the storage disks, and wherein not all of the data files have the same transmission rate, a method comprising the following steps:
-
scheduling transmission times of multiple data files of different data transmission rates into a network schedule to maximize network bandwidth utilization, the transmission times within the network schedule indicating a relative order in which the data servers are to transmit corresponding blocks of the data files over the network, and wherein the corresponding blocks of at least two of the data files are different in size; reading the blocks from the disks associated with the data servers prior the transmission times in the network schedule; and separately, completely transmitting the blocks of the data files over single communication channels in the network during corresponding transmission times, wherein the transmission times are of equal fixed durations. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. In a continuous media file server system having multiple data servers connected to distribute data streams over a network, each data server supporting at least one storage disk, wherein data flies are distributed across the data servers and stored on each of the storage disks, and wherein not all of the data files have the same transmission rate, a method comprising the following steps:
-
scheduling transmission times of multiple data streams of different data transmission rates into a network schedule to maximize network bandwidth utilization, the transmission times indicating a relative order in which the data servers are to transmit corresponding blocks of the data files over the network, and wherein the corresponding blocks of at least two of the data streams are different in size; in an event that a new data stream is requested, searching the network schedule for a suitable position to add the new data stream without overloading resources of the file server system; and separately, completely transmitting the blocks of the data files over single communication channels in the network during corresponding transmission times, wherein the transmission times are of equal fixed durations. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A method for operating a data server in a continuous media file server system having multiple data servers connected to distribute data streams over a network, each data server supporting at least one storage disk, wherein data files are distributed across the data servers and stored on each of the storage disks, and wherein not all of the data files have the same transmission rate, the method comprising the following steps:
-
receiving a portion of a network schedule from a preceding data server, the network schedule containing transmission times of one or more data streams of one or more data transmission rates wherein the transmission times indicate a relative order in which the data streams are to be played to maximize network bandwidth utilization; reading data blocks from the data files that have corresponding transmission times on the portion of the network schedule, said reading step occurring prior to the transmission times; and transmitting the data blocks over single communication channels during the transmission times in the portion of the network schedule, and wherein the data blocks of at least two of the data files are different in size, and each of the transmission times is of an equal fixed duration. - View Dependent Claims (28, 29, 30, 31)
-
-
32. A continuous media file server system, comprising:
-
multiple data servers, each data server supporting at least one storage disk, wherein data files are distributed across the data servers so that data blocks of the data files are stored on each of the storage disks, and not all of the data files have the same transmission rate and therefore the corresponding data blocks of at least two of the data files are different in size; a controller coupled to the data servers; a network switch coupled to the data servers; a scheduler to maintain a network schedule that provides a relative ordering of transmission ties of requested data files, the transmission times indicating when the data servers are to transmit corresponding data blocks of the requested data files over the network switch to maximize network bandwidth utilization; and the data servers reading the data blocks from the disks prior to the transmission times in the network schedule, and wherein each of the transmission times is of an equal fixed duration and associated with transmitting the data blocks over single communication channels. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A network scheduler embodied as a computer program on a computer-readable medium, the network scheduler being implemented in a continuous media file server system having multiple data servers connected to distribute data streams over a network, each data server supporting at least one storage disk, wherein data files are distributed across the data servers and stored on each of the storage disks, and not all of the data files have the same transmission rate, the network scheduler comprising:
-
code means for scheduling transmission times of multiple requested data files of different data transmission rates into a network schedule, the transmission times within the network schedule indicating a relative order in which the data servers are to transmit corresponding blocks of the data files over the network to maximize network bandwidth utilization; and code means for instructing the data servers to read the blocks for the requested data files prior their corresponding transmission times in the network schedule, and wherein the blocks of at least two of the data files are different in size, and each of the transmission times is of an equal fixed duration and associated with transmitting the blocks over single communication channels. - View Dependent Claims (44, 45, 46, 47)
-
-
48. A network scheduler embodied as a computer program on a computer-readable medium resident at a data server, the data server being part of a continuous media file server system having multiple data servers connected to distribute data streams over a network, each of the data servers supporting at least one storage disk, wherein data files are distributed across the data servers and stored on each of the storage disks, and wherein not all of the data files have the same transmission, rate, the network scheduler comprising:
-
code means for receiving a portion of a network schedule from a preceding data server, the network schedule containing transmission times of one or more data files of one or more data transmission rates wherein the transmission times indicate a relative order in which the data files are to be played to maximize network bandwidth utilization; code means for instructing the data server to read a data block from the data files that have corresponding transmission times on the portion of the network schedule, prior to the transmission times; and code means for instructing the data server to transmit the data blocks during the transmission times in the portion of the network schedule, and wherein the corresponding blocks of at least two of the data files are different in size, and each of the transmission times is of an equal fixed duration and associated with transmitting the data blocks over single communication channels. - View Dependent Claims (49)
-
Specification