Systems and methods for providing video-on-demand services for broadcasting systems
First Claim
1. A method for generating a scheduling matrix for a data file, said scheduling matrix provides a send order for sending data blocks of a data file, such that said data blocks are available in sequential order to a client receiving said data blocks, said method of comprising the steps of:
- (a) receiving a number [x], wherein said number [x] is a number into which said data file is divided;
(b) setting a first variable [j] to zero;
(c) setting a second variable [i] to zero;
(d) clearing all entries in a reference array;
(e) writing into said reference array at least one data block stored in matrix positions of a column [(i+j) modulo x, j] of said scheduling matrix, if said reference array does not contain said at least one data block;
(f) writing a data block [i] into said reference array and a matrix position [(i+j) modulo x, j] of said scheduling matrix, if said reference array does not contain said data block [i];
(g) incrementing said second variable [i] by one and repeating step (e) through step (g) until said second variable [i] is equal to said number [x]; and
(h) incrementing said first variable [j] by one and repeating said step (c) through step (h) until said first variable [j] is equal to said number [x].
1 Assignment
0 Petitions
Accused Products
Abstract
A method for sending data to a client to provide data-on-demand services comprises the steps of: receiving a data file, specifying a time interval, parsing the data file into a plurality of data blocks based on the time interval such that each data block is displayable during a time interval, determining a required number of time slots to send the data file, allocating to each time slot at least a first of the plurality of data blocks and optionally one or more additional data blocks, such that starting from any of the time slots, (i) the data file can be displayed by accessing the first of the plurality of data blocks; (ii) at a consecutive time slot, a next data block sequential to a prior displayed data block is available for displaying; and (iii) repeating step (ii) until all of the plurality of data blocks for the data file has been displayed, and sending the plurality of data blocks based on the allocating step.
-
Citations
10 Claims
-
1. A method for generating a scheduling matrix for a data file, said scheduling matrix provides a send order for sending data blocks of a data file, such that said data blocks are available in sequential order to a client receiving said data blocks, said method of comprising the steps of:
-
(a) receiving a number [x], wherein said number [x] is a number into which said data file is divided;
(b) setting a first variable [j] to zero;
(c) setting a second variable [i] to zero;
(d) clearing all entries in a reference array;
(e) writing into said reference array at least one data block stored in matrix positions of a column [(i+j) modulo x, j] of said scheduling matrix, if said reference array does not contain said at least one data block;
(f) writing a data block [i] into said reference array and a matrix position [(i+j) modulo x, j] of said scheduling matrix, if said reference array does not contain said data block [i];
(g) incrementing said second variable [i] by one and repeating step (e) through step (g) until said second variable [i] is equal to said number [x]; and
(h) incrementing said first variable [j] by one and repeating said step (c) through step (h) until said first variable [j] is equal to said number [x]. - View Dependent Claims (2)
(i) repeating said steps (a) to (h) to generate a set of scheduling matrices for a set of data files; and
applying a convolution method to generate a delivery matrix based on said set of scheduling matrices for sending said set of data files.
-
-
3. A method of calculating a delivery matrix, said delivery-matrix provides a send order for sending data blocks of a set of data files, said method comprising the steps of:
-
(a) calculating a scheduling matrix for each corresponding data file in a set of data files to form a set of scheduling matrices, wherein;
said scheduling matrix sends out said data blocks using a pattern based on a number [x] into which said each corresponding data file is divided; and
said pattern allows for said data blocks in said each corresponding data file to be accessible in a sequential order at a random time;
(b) generating an identification array containing an identification for each of said set of data files; and
(c) combining said set of scheduling matrices and said identification array to generate a delivery matrix for said set of data files. - View Dependent Claims (4)
-
- 5. A computer implemented on-demand data broadcast method comprising the act of preparing a delivery matrix defining a data transmission sequence suitable for broadcast, to a plurality of clients, on-demand data in a non client specific manner, wherein transmission of said on-demand data files requires an amount of transmission bandwidth that is independent of the number of said plurality of clients.
Specification