System and method for creating multiple files from a single source file
First Claim
1. A computer-readable medium having computer-executable instructions, comprising:
- creating a first data file containing a plurality of data portions;
writing the first data file to a non-volatile medium in response to a request to a file system; and
individually storing descriptive information for each of the plurality of data portions in an information store associated with the non-volatile medium, the descriptive information for each particular data portion including attribute information for the particular data portion that identifies the data portion as a separate data file such that each data portion may be treated as a separate file by programs that provide file-directed requests to the file system.
2 Assignments
0 Petitions
Accused Products
Abstract
A mechanism is provided that allows an application program to write, as a single file, a large block of data comprising multiple portions that could otherwise be written as several smaller files, then to access, as individual files, each of the portions within the large block of data, and to be able to create individual files efficiently out of each of these subfiles. The mechanism may be partially embodied in a file system that includes an information store defining each file on a volume. The application program writes, via the file system, a single file to the volume as (preferably) a contiguous block of data. The single file includes two or more separable streams of data capable of being stored as individual files (subfiles). Once the single file is written to the volume, multiple entries are made to the information store. Each entry defines and points to a subfile within the single file. The subfiles may be positioned within the single file such that the beginning of each subfile lies on the beginning of an allocation unit. In this manner, the single file may be written to the volume in one efficient operation, yet each subfile is individually accessible via its respective entry in the information store.
-
Citations
40 Claims
-
1. A computer-readable medium having computer-executable instructions, comprising:
-
creating a first data file containing a plurality of data portions;
writing the first data file to a non-volatile medium in response to a request to a file system; and
individually storing descriptive information for each of the plurality of data portions in an information store associated with the non-volatile medium, the descriptive information for each particular data portion including attribute information for the particular data portion that identifies the data portion as a separate data file such that each data portion may be treated as a separate file by programs that provide file-directed requests to the file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 33)
reading the stored descriptive information for each of the plurality of data portions from the information store; and
storing new descriptive information that describes the recreated first data file containing the plurality of data portions.
-
-
33. The computer-readable medium of claim 13 wherein recreating the first data file further comprises, reading each of the plurality of data portions described by the stored descriptive information.
-
14. A computer-readable medium having computer-executable components, comprising:
-
a data store describing files stored on a disk; and
a file system configured to receive an instruction from a program to write data to the disk in a single data stream, and further configured to write a plurality of entries to the data store, each entry in the plurality of entries describing a subfile within the single data stream that via the entry is accessible as a separate file by programs that provide requests to the file system. - View Dependent Claims (15, 16, 17)
-
-
18. A computer-readable medium having stored thereon data structures, comprising:
-
a first data structure including two or more data fields, each data field including information, the first data structure having been written to the computer-readable medium as a continuous data stream;
a second data structure containing a plurality of records, each record describing a file stored on the computer-readable medium, a selected one record describing a first data field in the first data structure such that the first data field is accessible as a first individual file maintained by a file system from a program'"'"'s perspective, a selected other record describing a second data field in the first data structure such that the second data field is accessible as a second individual file maintained by the file system from the program'"'"'s perspective, the selected one record and the selected other record having been written to the second data structure in conjunction with the first data structure having been written to the computer-readable medium. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A computer-implemented method, comprising:
-
receiving a request to create multiple separate files from a source file, the source file containing a plurality of data portions;
in response to the request, writing the source file to a non-volatile medium, the non-volatile medium having an associated data store containing an entry for each file stored on the non-volatile medium; and
writing a plurality of entries to the data store, each entry in the plurality corresponding to one of the plurality of data portions to identify that particular data portion as a separate data file to programs that access data files via file system requests. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 34)
-
-
35. In a computer system, a method comprising:
-
at a file system, receiving a single request from a program directed to writing a set of data to a storage medium, and receiving information from the program indicative of a plurality of subfiles within the set of data;
in response to the request, writing the set of data to the storage medium; and
for each subfile, writing information to a data store associated with the storage medium, the information converting each subfile into a separate file that is accessible by programs via file system requests to the file system. - View Dependent Claims (36, 37, 38)
-
- 39. In a computer system having a file system that maintains a data store containing metadata that describe each file of a set of files maintained by the file system, a method comprising, receiving from a program a request directed to combining a plurality of files into a single file, and in response to the request, combining the plurality of files into a single file by reading the metadata for each of the plurality of files from the data store, and based on the metadata that was read, storing new metadata in the data store that describes the single data file without necessarily reading actual data of the file.
Specification