Programmable video recorder backing store for non-byte stream formats
First Claim
1. A method implemented in a computing system that receives streamed data comprising data samples from a streamed data source, and wherein the computing system includes a buffering store for temporarily storing the streamed data as it is received, and which is independent of a recording store configured to persistently store the streamed data upon receiving a record command from a user, the method, configuring and using the temporary buffering store to store the streamed data as it is received, wherein the method comprises:
- prior to receiving the streamed data, specifying a total duration of content the buffering store is configured to temporarily store;
configuring the buffering store to include a plurality of separately identifiable files for storing the content;
prior to receiving the streamed data, specifying, for each of the plurality of files, a duration of the content each of the plurality of files in the buffering store is permitted to hold, rather than specifying the size of each file in terms of byte size, wherein the duration of content that each of the plurality of files is configured to hold is substantially the same for each of the plurality of files;
as streamed data is received, writing data samples of the streamed data into a first file of the buffering store until the duration of the first file is reached and then writing additional data samples to each subsequent file in the buffering store, one file at a time, until the duration of each subsequent file is reached; and
once the duration of each file in the buffering store is reached, removing data samples written to the first file of the buffering store and replacing the removed data samples with newly received data samples of the streamed data.
2 Assignments
0 Petitions
Accused Products
Abstract
The buffer of a programmable video recorder includes a backing store having a plurality of discrete temporary files that are configured to store non-byte streamed data, such as ASF data. The data stream includes a number of data samples that are each assigned a time stamp upon receipt. Each data sample is then assigned and written to a temporary file based on a corresponding duration assigned to each of the temporary files. The backing store operates like a moving window as the oldest temporary files are replaced with the newest temporary files.
13 Citations
47 Claims
-
1. A method implemented in a computing system that receives streamed data comprising data samples from a streamed data source, and wherein the computing system includes a buffering store for temporarily storing the streamed data as it is received, and which is independent of a recording store configured to persistently store the streamed data upon receiving a record command from a user, the method, configuring and using the temporary buffering store to store the streamed data as it is received, wherein the method comprises:
-
prior to receiving the streamed data, specifying a total duration of content the buffering store is configured to temporarily store; configuring the buffering store to include a plurality of separately identifiable files for storing the content; prior to receiving the streamed data, specifying, for each of the plurality of files, a duration of the content each of the plurality of files in the buffering store is permitted to hold, rather than specifying the size of each file in terms of byte size, wherein the duration of content that each of the plurality of files is configured to hold is substantially the same for each of the plurality of files; as streamed data is received, writing data samples of the streamed data into a first file of the buffering store until the duration of the first file is reached and then writing additional data samples to each subsequent file in the buffering store, one file at a time, until the duration of each subsequent file is reached; and once the duration of each file in the buffering store is reached, removing data samples written to the first file of the buffering store and replacing the removed data samples with newly received data samples of the streamed data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
23. A computer-readable storage media storing computer-executable instructions for implementing a method in a computing system that receives streamed data comprising data samples from a streamed data source, and wherein the computing system includes a buffering store for temporarily storing the streamed data as it is received, and which is independent of a recording store configured to persistently store the streamed data upon receiving a record command from a user, the method configuring and using the temporary buffering store to store the streamed data as it is received, the method further comprising:
-
prior to receiving the streamed data, specifying a total duration of content the buffering store is configured to temporarily store; configuring the buffering store to include a plurality of separately identifiable files for storing the content; prior to receiving the streamed data, specifying, for each of the plurality of files, a duration of the content each of the plurality of files in the buffering store is permitted to hold, rather than specifying the size of each file in terms of byte size, wherein the duration of content that each of the plurality of files is configured to hold is substantially the same for each of the plurality of files; as streamed data is received, writing data samples of the streamed data into a first file of the buffering store until the duration of the first file is reached and then writing additional data samples to each subsequent file in the buffering store, one file at a time, until the duration of each subsequent file is reached; and once the duration of each file in the buffering store is reached, removing data samples written to the first file of the buffering store and replacing the removed data samples with newly received data samples of the streamed data. - View Dependent Claims (24, 25, 26, 27)
-
-
40. A method implemented in a computing system that receives streamed data comprising data samples from a streamed data source, and wherein the computing system includes a buffering store for temporarily storing the streamed data as it is received, and which is independent of a recording store configured to persistently store the streamed data upon receiving a record command from a user, the method, configuring and using the temporary buffering store to store the streamed data as it is received, wherein the method comprises:
-
prior to receiving the streamed data, specifying a total number of files to be used in the buffering store, the total number of files comprising a plurality of files; specifying, for each of the plurality of files, a duration of the streamed data content each file of the plurality of files in the buffering store is permitted to hold, rather than specifying the size of each file in terms of byte size, the duration of the streamed data content that each file of the plurality of files is configured to hold being substantially the same and being received prior to the receipt of the streamed data; as the streamed data is received and until the duration of each file the buffering store is permitted to hold is reached, iteratively performing the acts of; assigning a time stamp to a new data sample of the streamed data; upon determining the time stamp of the new data sample corresponds to the duration of an existing file that is not being read by the reader, writing the data sample to said existing and corresponding file; and upon determining that the time stamp of the new data sample does not correspond to a duration of any existing file in the buffering store, and upon determining the total number of files existing in the buffering store is less than the specified total number of files, opening a new file in the buffering store and specifying a duration of the streamed data content the file is permitted to hold and which corresponds with the time stamp assigned to the new data sample; and wherein once the specified duration of each of the total number of files specified in the buffering store is reached, iteratively performing the acts of; upon determining the reader is not reading from an oldest temporary file in the backing store, overwriting an oldest temporary file with a new temporary file having a specified duration of the streamed data content the new temporary file is permitted to hold and which corresponds with the time stamp assigned to the new data sample; and writing the data sample to the new temporary file. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47)
-
Specification