Method and system for organizing internal structure of a file
First Claim
1. A method in a computer system having a processor, the method for storing data within a compound document having data stored in a plurality of processor, the computer system having a file system for organizing data into files of the file system that executes on the processor, the method comprising the steps of:
- creating a file of the file system;
storing a directory structure within the created file, the directory structure for pointing to sub-files contained within the created file;
for each computer programcreating a sub-file within the created file by allocating a location for the sub-file and by storing a name of the sub-file and the allocated location in the directory structure; and
storing data in the native format of the computer program in the created sub-file at the allocated location wherein the data in the native format is accessible by the computer program.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for storing data in a file is provided. The present invention provides for data to be organized within a compound document as a file bundle. A file bundle is a file system file that contains sub-files, which may be organized hierarchically. The data within a file bundle file is preferably stored in a format defined by the program that generates the data. The program that generates the data can open the file bundle created by another program and directly access the data within the file bundle file.
-
Citations
35 Claims
-
1. A method in a computer system having a processor, the method for storing data within a compound document having data stored in a plurality of processor, the computer system having a file system for organizing data into files of the file system that executes on the processor, the method comprising the steps of:
-
creating a file of the file system; storing a directory structure within the created file, the directory structure for pointing to sub-files contained within the created file;
for each computer programcreating a sub-file within the created file by allocating a location for the sub-file and by storing a name of the sub-file and the allocated location in the directory structure; and storing data in the native format of the computer program in the created sub-file at the allocated location wherein the data in the native format is accessible by the computer program.
-
-
2. A method in a computer system having a processor, the method for accessing data within a file bundle, the file bundle being a file system file accessed using a file system that executes on the processor, the file bundle having a directory and a plurality of file bundle files, the method comprising the steps of:
-
under control of a first application executing on the processor, opening the file bundle; identifying a file bundle file that contains data generated by a second application program; and requesting the second application program to access the data in the identified file bundle file; and under control of the second application executing on the processor, opening the file bundle; opening the identified file bundle file within the opened file bundle; and accessing data within the opened file bundle file.
-
-
3. A method in a computer system having a processor, the method for storing data generated by a plurality of applications within a file system file accessed using a file system that executes on the processor, the method comprising the steps of:
-
creating a file system file; storing a directory structure within the created file system file; creating a sub-file within the created file system file for storing data generated by an application that executes on the processor; requesting that the application that generates the data to store the data in the created sub-file; and under control of the requested application, storing the generated data in the created sub-file. - View Dependent Claims (21)
-
-
4. A method in a computer system having a processor, the method for storing a plurality of sub-flies within a file system file of a file system, the file system for providing access to the file system file and being executed on the processor, each sub-file having data and a name, the method comprising the computer-implemented steps of:
under control of an application program that executes on the processor, requesting the file system to create the file system file; requesting the file system to store data representing a directory structure within the file system file, the directory structure for mapping the name of each sub-file to a location within the file system file at which the sub-file is stored; and for each of the sub-flies, identifying a location within the file system file in which to store the sub-file; requesting the file system to store data of the sub-file at the identified location within the file system file; and requesting the file system to store data that maps the name of the sub-file to the identified location in the directory structure within the file system file. - View Dependent Claims (5, 6, 7, 8, 9)
-
10. A method in a computer system having a processor, the method for creating a sub-file within a file bundle, the file bundle being a file system file accessible by a file system that executes on the processor, the file system having a file system implementation for a create function, the create function for creating a file system file of the file system, the computer system having a child computer program that executes on the processor and has an invocation of the create function for creating a file system file, the method comprising the computer-implemented steps of:
-
providing a file bundle implementation of the create function, the file bundle implementation for creating a sub-file within a file bundle; starting execution of a parent computer program on the processor; under control of the parent computer program, creating the file bundle file using the file system implementation of the create function; starting execution of the child computer program wherein the invocation of the create function is linked to the file bundle implementation of the create function; and under control of the child computer program, involving the create function wherein the linked file bundle implementation of the create function is executed to effect creation of the sub-file within the file bundle file. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method in a computer system for providing a plurality of application program data streams for accessing a single file system data stream, the computer system having a single data stream access mechanism for accessing the file system data stream, the single data stream access mechanism having a file system file pointer indicating a position in the file system data stream, the single data stream access mechanism for accessing data of the file system data stream at the position of the file system file pointer, the method comprising the computer-implemented steps of:
for each of the plurality of application program data streams, receiving a request to set the file system file pointer to a position in the file system data stream; in response to receiving the request to set the file system file pointer, setting an application file pointer for the application program data stream to the requested position; receiving a request to access the file system data stream; and in response to receiving the request to access the file system data stream, retrieving the application program file pointer for the application program data stream; setting the file system file pointer to the retrieved application program file pointer; and accessing the file system data stream using the single data stream access mechanism whereby data is accessed at the position indicated by the application program file pointer of the application program data stream. - View Dependent Claims (16, 17)
-
18. A method in a computer system of accessing data in a file bundle, the computer system having a processor and a file system that executes on the processor, the file bundle being a file of the file system, the file bundle containing a directory structure and a plurality of sub-files, the directory structure for mapping identifiers of each sub-file to locations within the file bundle at which the sub-file is contained, the method comprising the steps of:
-
under control of first application program executing on the processor, opening the file bundle by invoking an open operation provided by the file system; identifying within the opened file bundle a sub-file that contains data generated by a second application program; and requesting the second application program to access the data in the identified sub-file; and under control of the second application program executing on the processor, opening the file bundle by invoking the open operation provided by the file system; opening the identified sub-file by invoking a sub-file open operation wherein the sub-file open operation accesses the directory structure of the file bundle to determine a location of the identified sub-file within the file bundle; and accessing data of the opened sub-file. - View Dependent Claims (19)
-
-
20. A computer-readable memory for a computer system having a processor, the computer system having a file system that executes on the processor, the memory containing a file of the file system, the file comprising:
-
a plurality of sub-files, each sub-file having data and an identifier and being stored at a location within the file, the data of each sub-file being generated by an application program that executes on the processor and being in a native format of the generating application program; and a directory structure for mapping the identifier of each sub-file to the location of the sub-file whereby the generating application program for each sub-file can access the sub-file.
-
-
22. A computer-readable medium whose contents cause a computer system having a processor to store data generated by a plurality of applications within a file system file using a file system that executes on the processor by performing the steps of:
-
creating a file system file; storing a directory structure within the created file system file; creating a sub-file within the created file system file for storing data generated by an application that executes on the processor; requesting that the application that generates the data to store the data in the created sub-file; and under control of the requested application, storing the generated data in the created sub-file.
-
-
23. A computer-readable medium whose contents cause a computer system to provide a plurality of application program data streams for accessing a single file system data stream, the computer system having a single data stream access mechanism for accessing the file system data stream, the single data stream access mechanism having a file system file pointer indicating a position in the file system data stream, the single data stream access mechanism for accessing data of the file system data stream at the position of the file system file pointer, by performing the steps of:
for each of the plurality of application program data streams, receiving a request to set the file system file pointer to a position in the file system data stream; in response to receiving the request to set the file system file pointer, setting an application file pointer for the application program data stream to the requested position; receiving a request to access the file system data stream; and in response to receiving the request to access the file system data stream, retrieving the application program file pointer for the application program data stream; setting the file system file pointer to the retrieved application program file pointer; and accessing the file system data stream using the single data stream access mechanism whereby data is accessed at the position indicated by the application program file pointer of the application program data stream.
-
24. A method in a computer system for manipulating files in a file bundle and the file bundle as a whole both under the control of an application program, the method comprising the steps of:
-
under the control of the application program, issuing a command to manipulate a single file within the file bundle; under the control of a file system capable of manipulating files within the file bundle, manipulating the file within the file bundle in accordance with the issued command; under the control of the application program, issuing a command to manipulate the file bundle as a whole; and under the control of a file system capable of manipulating the file bundle as a whole, manipulating the file bundle in accordance with the issued command. - View Dependent Claims (25, 26, 27, 28, 29)
-
-
30. A computer-readable medium whose contents cause a computer system to manipulate files in a file bundle and the file bundle as a whole both under the control of an application program by performing the steps of:
-
under the control of the application program, issuing a command to manipulate a single file within the file bundle; under the control of a file system capable of manipulating files within the file bundle, manipulating the file within the file bundle in accordance with the issued command; under the control of the application program, issuing a command to manipulate the file bundle as a whole; and under the control of a file system capable of manipulating the file bundle as a whole, manipulating the file bundle in accordance with the issued command. - View Dependent Claims (31, 32, 33, 34, 35)
-
Specification