Computer file system providing looped file structure for post-occurrence data collection of asynchronous events
First Claim
1. An operating system for a computer system having a memory system having a plurality of logic blocks of memory storage locations, the operating system providing a file system through which at least one file containing data is made accessible to at least one application program, the operating system comprising:
- means for mapping a first file of the at least one file to a first two or more loop blocks of a plurality of blocks;
means for enabling a loop mode of writing to the first file wherein data is written in a continuous loop of the first loop blocks;
means for detecting one or more triggering events;
means for disabling the loop mode in response to a first triggering event;
means for enabling a linear sequence mode of writing to the first file, wherein the means for enabling the linear sequence mode is evoked responsive to the first triggering event; and
means for constructing the first file into a linear sequence of blocks when the loop mode is disabled.
5 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 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.
54 Citations
28 Claims
-
1. An operating system for a computer system having a memory system having a plurality of logic blocks of memory storage locations, the operating system providing a file system through which at least one file containing data is made accessible to at least one application program, the operating system comprising:
-
means for mapping a first file of the at least one file to a first two or more loop blocks of a plurality of blocks; means for enabling a loop mode of writing to the first file wherein data is written in a continuous loop of the first loop blocks; means for detecting one or more triggering events; means for disabling the loop mode in response to a first triggering event; means for enabling a linear sequence mode of writing to the first file, wherein the means for enabling the linear sequence mode is evoked responsive to the first triggering event; and means for constructing the first file into a linear sequence of blocks when the loop mode is disabled. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An operating system for a computer system having a memory system having a plurality of logic blocks of memory storage locations, the operating system providing a file system through which at least one file containing data is made accessible to at least one application program, the operating system comprising:
-
means for mapping a first file of the at least one file to a first two or more loop blocks of a plurality of blocks; means for enabling a loop mode of writing to the first file wherein data is written in a continuous loop of the first loop blocks; means for detecting one or more triggering events; means for disabling the loop mode in response to a first triggering event; and means for enabling a linear sequence mode of writing to the first file, wherein the means for enabling the linear sequence mode is evoked responsive to the first triggering event; and means for constructing the first file into a linear sequence of blocks when the loop mode is disabled and the linear sequence mode is enabled. - View Dependent Claims (7, 8, 9)
-
-
10. A method for providing looped and unlooped writing to at least one file of a file system provided by a computer operating system operating on a computer system having a memory system having a plurality of logic blocks of memory storage locations, the at least one file containing data and being accessible to at least one application program, the method comprising the steps of:
-
mapping a first file of the at least one file to a first two or more loop blocks of the plurality of blocks; enabling the loop mode of writing to the first file wherein data is written in a continuous loop of the first blocks; detecting one or more triggering events; disabling the loop mode in response to a first triggering event; enabling a linear sequence mode of writing to the first file; and reconstructing the first file into a linear sequence of blocks when the loop mode is disabled. - View Dependent Claims (11, 12, 13)
-
-
14. A method for providing looped and unlooped writing to at least one file of a file system provided by a computer operating system operating on a computer system having a memory system having a plurality of logic blocks of memory storage locations, the at least one file containing data and being accessible to at least one application program, the method comprising the steps of:
-
mapping a first file of the at least one file to a first two or more loop blocks of the plurality of blocks; enabling the loop mode of writing to the first file wherein data is written in a continuous loop of the first blocks; detecting one or more triggering events; disabling the loop mode in response to a first triggering event; enabling a linear sequence mode of writing to the first file; and reconstructing the first file into a linear sequence of blocks when the loop mode is disabled and the linear sequence mode is enabled. - View Dependent Claims (15, 16, 17)
-
-
18. A computer system comprising:
-
a central processing unit; an operating system that provides a file system having at least one file; and at least one memory stored system having stored therein a set of application instructions for execution of an application program by the central processing unit in cooperation with the operating system, the memory system also having a plurality of logical blocks of memory storage locations;
wherein;the file system supports writing data to at least one file and a continuous logical loop of a first plurality of loop blocks of the plurality of logical blocks having a first loop length, wherein the data is accessible to the application program; and wherein the file system further supports writing data to the at least one file in a logical linear sequence of one or more of a first set of non-loop blocks of a plurality of logical blocks comprised of blocks that are now loop blocks, wherein the data in the first set of non-loop blocks is accessible to the application program; wherein prior to occurrence of the first synchronous event, the file system provides that data is written to the first plurality of loop blocks, and responsive to occurrence of the first asynchronous event, the file system provides that data is written to the first set of non-loop blocks and further provides that the data written to the first plurality of loop blocks is logically sequentially linked with data written to the first set of non-loop blocks in an order in which the data was written so that those of the first plurality of loop blocks into which data was written, and those of the first set of non-loop blocks into which data was written, are reconstructed into a linear sequence of blocks accessible to the application program by accessing the file. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A computer program product for use with a computing system having an operating system that provides a file system having at least one file containing data and being accessible to at least one application program, the computing system further having at least one memory storage system having a plurality of logical blocks of memory storage locations, the computer program product comprising a computer usable medium having embedded therein computer readable program code method steps comprising:
-
mapping a first file of the at least one file to a first two or more loop blocks of the plurality of blocks; enabling a loop mode of writing to the first file wherein data is written in a continuous loop of the first loop blocks; detecting one or more triggering events; disabling the loop mode in response to a first triggering event; enabling a linear sequence mode of writing to the first file; and reconstructing the first file into a linear sequence of blocks when the loop mode is disabled. - View Dependent Claims (25, 26, 27)
-
-
28. A method for providing looped and unlooped writing to at least one file of a file system provided by a computer operating system having an I/O system, the operating system operating on a computer system having a central processing unit (CPU) and a memory system having a plurality of logical blocks of memory storage locations, the memory system having stored therein a set of application instructions for execution of an application program by the CPU in cooperation with the operating system, the at least one file containing data and being accessible to the application program, the method comprising:
-
initializing a loop control data structure comprising a first value indicating a user-requested length of the first loop, and a second value indicating an actual length of the first loop determined to be at least as great as the user-requested length; opening the at least one file; determining a first block of the at least one file that is a first write location; implementing an I/O system control function comprising passing the first and second values of the loop control data structure to the I/O system; and activating a loop control function of the file system that, based on the first write location and the loop control data structure, enables writing to the first loop.
-
Specification