Data-on-demand digital broadcast system utilizing prefetch data transmission
First Claim
1. A computer implemented universal 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 comprises a first stream including a first subset of said data transmission sequence and a second stream comprising a second subset of said data transmission sequence.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for a decreased idle time scheduling matrix for a data file reduced into data blocks. A scheduling matrix is generated and idle time is filled with data blocks that appear later in the matrix, keeping with the original sequence of data blocks. This is then repeated, or equally a new decreased idle time scheduling matrix is created. A preloading stream can be configured from the decreased time scheduling matrix. Specially designed set-top boxes are then described which can received these data blocks. In a preferred embodiment the set-top box can store a continuously broadcast and optimized preloading stream for increased bandwidth savings.
108 Citations
90 Claims
- 1. A computer implemented universal 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 comprises a first stream including a first subset of said data transmission sequence and a second stream comprising a second subset of said data transmission sequence.
-
18. A computer implemented method for generating a constant bandwidth, decreased idle time scheduling matrix suitable for the delivery of on-demand data in a non client specific format, said method comprising the acts of:
-
generating a scheduling matrix suitable for transmission of a first data file, said first data file being represented by a first plurality of data blocks, said first scheduling matrix providing a first sequence for transmitting said first plurality data blocks sequentially within time slots in a manner such that any client receiving transmission of said first data file according to said first scheduling matrix may begin accessing said first data file within one time slot;
determining a desired constant transmission bandwidth, wherein said constant bandwidth is then used to stream said data blocks sequentially according to the order of said first scheduling matrix;
determining a correct allocation for dividing streaming data blocks into separate streams based on said constant bandwidth; and
loading at least one of said separate streams onto a set top box, while set top box is not transmitting to a display device.
-
-
19. A universal set top box which performs the following functions:
-
a. switching to an idle mode;
b. accessing a pre-loading transmission stream at some time while in said idle mode;
c. storing a set of data blocks in said pre-loading transmission stream on a computer readable medium; and
d. retrieving a portion of said data blocks upon switching from said idle mode to an active mode and signaled by a user and displaying a first portion first program from said stored pre-loaded transmission stream;
e. automatically tuning into a correct data stream, such that there is no interruption in broadcast between said first portion of said program and the remainder of said first program;
whereby said retrieval step allows said user to access a program immediately without further access to broadcast data.
-
-
26. A computer implemented method for pre-loading a set top box with broadcast data, which includes the acts of:
-
switching said STB to a idle mode;
automatically tuning said STB to said a first channel in order to select data for preprogramming said STB, said first channel including a pre-fetch data stream;
processing said first plurality of data blocks as received when said user switches said STB to an active mode, said processing including at least one of the following;
decoding said received data blocks;
decompressing said received data blocks;
re-assembling said received data blocks as necessary; and
storing said received data blocks to a local memory present within said STB; and
providing said first data file to an output device by said user of said universal STB.
-
-
32. A data delivery matrix comprising
a data file divided into a number of data blocks; said number of data blocks being arranged into an order determined by the steps of;
a) dividing said data file into said number of data blocks;
b) setting a first variable to zero;
c) clearing a reference array;
d) comparing said first variable to the total number of said number of data blocks;
e) if said first variable is less than the total number of said number of data blocks, set a second variable to zero;
f) compare said second variable to the total number of said number of data blocks;
g) if said second variable is less than the total number of said number of data blocks writing one or more stored data blocks stored in a column of a scheduling matrix into said reference array, said column determined by the [(i+j)mod(x)] where i is said second variable, j is said first variable and x is said number of data blocks;
h) if said reference array already has at least one of said stored data blocks, do not write a second copy;
i) check if said reference array contains a block corresponding to said second variable;
j) if said reference array does not contain said data block corresponding to said second variable, said data block is added to said reference array and said scheduling matrix at a position in said matrix equal to [(i+j)mod(x),j] and said second variable is increased by 1;
k) if said reference array does contain said data block corresponding to said second variable, said second variable is increased by 1;
l) repeat steps g) through k) until said second variable is equal to said total number of data blocks;
m) increase said first variable by 1;
n) repeat steps c) through m) until said first variable is equal to said total number of data blocks; and
o) reconfigure said scheduling matrix into a plurality of streams;
wherein said order is transmitted in a repeating signal over a medium having a bandwidth assigned to said data file, and wherein said bandwidth is fully used by said repeating signal. - View Dependent Claims (33, 34, 35, 36, 38, 39, 40, 41, 42)
-
37. A computer implemented universal data broadcast method comprising the acts of:
-
at a universal data broadcast system, performing the acts 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 comprises a first stream including a first subset of said data transmission sequence and a second stream comprising a second subset of said data transmission sequence;
wherein said first stream is pre-loading transmission data;
providing a first channel server suitable for the transmission of said pre-loading transmission data via a first channel;
prior to data broadcast, preparing a second channel server for the transmission of an electronic program guide, said electronic program guide (EPG) including information on a third channel contains at least said second stream; and
transmitting data from said first channel and said second channel; and
at a universal STB, performing the acts of;
receiving digital data in said first stream in said first channel while said universal STB is in a passive mode;
storing said digital data in said first stream in a computer readable medium while said universal STB is in said passive mode;
receiving digital data said EPG;
providing said EPG data to a user of said universal STB;
receiving data processing instructions from said user of said universal STB; and
implementing said instructions from said user of said universal STB.
-
-
43. A data-on-demand (DOD) broadcast server method for providing DOD services suitable for broadcast to a plurality of clients, in a non-client specific manner, via a transmission medium, comprising the acts of:
-
providing a first data stream including a plurality of first data blocks and a plurality of additional data blocks, said first data blocks and said additional data blocks comprising a selected DOD service;
removing said plurality of first data blocks from said first data stream;
placing at least one of said first data blocks in a second data stream; and
transmitting said second data stream via said transmission medium; and
transmitting said first data stream via said transmission medium, such that a user receiving said first and second data streams may combine at least a portion of said first and second data streams in order to access said selected DOD service. - View Dependent Claims (44, 45, 46, 47, 49, 50)
-
-
48. A data-on-demand (DOD) broadcast reception method for accessing DOD services transmitted from a non client specific DOD broadcast server system via a DOD receiver, comprising the acts of:
-
receiving a first data stream comprising a portion of a selected DOD service via a transmission medium; and
receiving a second data stream comprising a portion of said selected DOD service via said transmission medium; and
combining said first and second data streams in order to access said selected DOD service.
-
-
51. A data-on-demand (DOD) broadcast server method for providing DOD services suitable for broadcast to a plurality of clients, in a non-client specific manner, via a transmission medium, comprising the acts of:
-
providing a decreased idle time linear sequence of data blocks containing data including a selected DOD service;
removing a most frequently occurring data block from said decreased idle time sequence of data blocks;
placing said removed most frequently occurring data block in a prefetch data stream such that said prefetch data stream includes prefetch data blocks corresponding to said selected DOD service;
transmitting said prefetch data stream via said transmission medium; and
transmitting said remaining decreased idle time sequence of data blocks via said transmission medium such that a receiving device may combine said remaining decreased idle time sequence of data blocks and said prefetch data blocks to create said selected DOD service, thereby decreasing the bandwidth necessary to transmit said DOD service. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58, 59)
-
-
60. A data-on-demand (DOD) broadcast reception method for accessing DOD services transmitted from a non client specific DOD broadcast server system via a DOD receiver, comprising the acts of:
-
receiving a prefetch data stream containing prefetch data blocks corresponding to a selected DOD service;
storing said prefetch data blocks in a memory location;
receiving a primary data stream containing primary data blocks corresponding to said selected DOD service; and
processing said primary data blocks and said prefetch data bocks in order to enable a user to access said selected DOD service. - View Dependent Claims (61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90)
-
-
67. A universal set-top-box (STB) capable of receiving and handling a plurality of digital services such as VOD and digital broadcast, wherein at least one of said digital services is transmitted as a plurality of independent data streams, said universal STB comprising:
-
a databus;
a first communication device suitable for coupling to a digital broadcast communications medium, said first communication device operable to receive digital data including a primary data stream and a prefetch data stream;
memory bi-directionally coupled to said databus;
a digital data decoder bi-directionally coupled to said databus; and
a central processing unit (CPU) bi-directionally coupled to said databus, said CPU implementing a STB control process controlling said memory, said digital decoder, and said demodulator, said STB control process operable to process digital data received at said first communications device, said CPU being further operative to process said primary data stream and said prefetch data stream.
-
Specification