Computer file system providing looped file structure for post-occurrence data collection of asynchronous events
First Claim
1. An operating system for a computer which provides a file system through which files containing data are made accessible to application programs, comprising:
- means for enabling a looped mode of writing to a file wherein data is written in a continuous loop of clusters, wherein the continuous loop has a length;
means for writing data to the file in a looped mode, whereby data written to the file in an amount greater than length of the continuous loop is written into clusters within the continuous loop;
means, operative in response to disabling the looped mode, for reconstructing the file into a linear sequence of clusters and for enabling a linear sequence mode of writing to the file; and
means for writing data to the file in the linear sequence mode.
4 Assignments
0 Petitions
Accused Products
Abstract
An operating system has a file system which supports writing data to a file in a logical loop of clusters of storage locations. Writing can be performed in looped or unlooped modes, and a transition between looping and non-looped recording may be supported. Recording prior to occurrence of an asynchronous event is performed in a looped mode. After occurrence of the asynchronous event, the data collected in the looped portion is seamlessly merged with subsequently collected data by manipulation of pointers to the clusters by the operating system. By providing such a general structure for use in a file system of a computer, a substantially larger amount of memory is available for looped recording. In fact, several minutes of full motion broadcast quality video may be captured. In addition, by using the file system to handle the storage of data, an application does not need to arrange of recorded information on a physical recording medium. Such a file system may be used in any application which collects data for the purpose of capturing the occurrence of an asynchronous event. Such applications include, but are not limited to, motion video recording, surveillance, test data collection, and other types of systems that need to record events that precede some arbitrary “trigger” condition and which may require a large amount of storage.
-
Citations
12 Claims
-
1. An operating system for a computer which provides a file system through which files containing data are made accessible to application programs, comprising:
-
means for enabling a looped mode of writing to a file wherein data is written in a continuous loop of clusters, wherein the continuous loop has a length;
means for writing data to the file in a looped mode, whereby data written to the file in an amount greater than length of the continuous loop is written into clusters within the continuous loop;
means, operative in response to disabling the looped mode, for reconstructing the file into a linear sequence of clusters and for enabling a linear sequence mode of writing to the file; and
means for writing data to the file in the linear sequence mode. - View Dependent Claims (2, 3)
means for identifying one of the clusters in the loop of clusters as a last cluster into which data is written prior to disabling the looped mode of recording;
means for identifying a first cluster into which data is written in the linear sequence mode of recording; and
means for updating the file to indicate that the last cluster is followed by the first cluster, whereby data written to the file in the linear sequence mode logically follows the data in the last cluster in the file.
-
-
3. The operating system of claim 1, further comprising:
-
means for disabling the linear sequence mode and enabling the looped mode of recording so as to creat a second continuous loop of clusters in the file; and
means for writing data to the second continuous loop in the file in the looped mode.
-
-
4. A system for recording digital video information, comprising:
-
means for receiving data defining a requested loop length;
means for allocating storage for a file in a file system according to the requested loop length;
means for receiving and storing the digital video information in a continuous loop in the file;
means for receiving an indication of occurrence of a triggering event; and
means, operative after occurrence of the triggering event, for reconstructing the file into a linear sequence of data and for continuing to receive and store the digital video information in the file in a linear sequence, whereby digital video information occurring both before and after the triggering event are stored in the file. - View Dependent Claims (5, 6)
means for identifying one of the clusters in the loop of clusters as a last cluster into which data is written prior to occurrence of the triggering event;
means for identifying a first cluster into which data is written after occurrence of the triggering event; and
means for updating the file to indicate that the last cluster is logically followed in the file by the first cluster, whereby data written to the file in a linear sequence logically follows the data in the last cluster in the file.
-
-
6. The system of claim 4, further comprising:
-
means, operative after occurrence of a second triggering event, for allocating storage for a second continuous loop in the file; and
means for receiving and storing the digital video information in the second continuous loop in the file.
-
-
7. A method for recording digital video information, comprising:
-
receiving data defining a requested loop length;
allocating storage for a file in a file system according to the requested loop length;
receiving and storing the digital video information in a continuous loop in the file;
receiving an indication of occurrence of a triggering event; and
after occurrence of the triggering event, reconstructing the file into a linear sequence of data and for continuing to receive and store the digital video information in the file in a linear sequence, whereby digital video information occurring both before and after the triggering event are stored in the file. - View Dependent Claims (8, 9)
identifying one of the clusters in the loop of clusters as a last cluster into which data is written prior to occurrence of the triggering event;
identifying a first cluster into which data is written after occurrence of the triggering event; and
updating the file to indicate that the last cluster is logically followed in the file by the first cluster, whereby data written to the file in a linear sequence logically follows the data in the last cluster in the file.
-
-
9. The method of claim 7, further comprising:
-
after occurrence of a second triggering event, allocating storage for a second continuous loop in the file; and
receiving and storing the digital video information in the second continuous loop in the file.
-
-
10. A computer program product, comprising:
-
a computer readable medium;
computer program instructions stored on the computer readable medium that, when executed by a computer, instruct the computer to perform a method for recording digital video information, comprising;
receiving data defining a requested loop length;
allocating storage for a file in a file system according to the requested loop length;
receiving and storing the digital video information in a continuous loop in the file;
receiving an indication of occurrence of a triggering event; and
after occurrence of the triggering event, reconstructing the file into a linear sequence of data and for continuing to receive and store the digital video information in the file in a linear sequence, whereby digital video information occurring both before and after the triggering event are stored in the file. - View Dependent Claims (11, 12)
identifying one of the clusters in the loop of clusters as a last cluster into which data is written prior to occurrence of the triggering event;
identifying a first cluster into which data is written after occurrence of the triggering event; and
updating the file to indicate that the last cluster is logically followed in the file by the first cluster, whereby data written to the file in a linear sequence logically follows the data in the last cluster in the file.
-
-
12. The computer program product of claim 10, further comprising:
-
after occurrence of a second triggering event, allocating storage for a second continuous loop in the file; and
receiving and storing the digital video information in the second continuous loop in the file.
-
Specification