Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
290 words
In a multi-client data processing system, an improved method for storing files on a storage device, the method comprising: storing a plurality of files as a plurality of logical files stored in a single physical file, said physical file residing as a single disk file on a storage device, each logical file being stored as a contiguous sequence of uniform storage blocks in the physical file; storing with the physical file a directory describing each logical file stored within the physical file; receiving a first request from a client for information from a particular logical file; in response to said first request, determining from said directory where said logical file is located in said physical file, and storing at the client information comprising a pointer describing that location, so that a subsequent request for the logical lock file can be satisfied without the directory; receiving a second request from another client for storing in the logical file new information which causes overflow of the logical file; in response to said second request, storing the new information by: (i) appending to one end of the physical file a sufficient number of new uniform storage blocks for storing the new information, (ii) storing information for the logical lock file together with the new information being added in said new uniform storage blocks, (iii) marking storage blocks which previously comprised the logical file as invalid, and (iv) storing with the invalidated storage blocks a pointer which points to said storage blocks being appended to said physical file; and as each client requests access to information stored in the logical file, updating the pointer stored at the client to reference a location in the physical file where the new storage blocks have been appended.
Claim 2
Dependent Claim
290 words
In a multi-client data processing system, an improved method for storing files on a storage device, the method comprising: storing a plurality of files as a plurality of logical files stored in a single physical file, said physical file residing as a single disk file on a storage device, each logical file being stored as a contiguous sequence of uniform storage blocks in the physical file; storing with the physical file a directory describing each logical file stored within the physical file; receiving a first request from a client for information from a particular logical file; in response to said first request, determining from said directory where said logical file is located in said physical file, and storing at the client information comprising a pointer describing that location, so that a subsequent request for the logical lock file can be satisfied without the directory; receiving a second request from another client for storing in the logical file new information which causes overflow of the logical file; in response to said second request, storing the new information by: (i) appending to one end of the physical file a sufficient number of new uniform storage blocks for storing the new information, (ii) storing information for the logical lock file together with the new information being added in said new uniform storage blocks, (iii) marking storage blocks which previously comprised the logical file as invalid, and (iv) storing with the invalidated storage blocks a pointer which points to said storage blocks being appended to said physical file; and as each client requests access to information stored in the logical file, updating the pointer stored at the client to reference a location in the physical file where the new storage blocks have been appended.
Claim 3
Dependent Claim
20 words
The method of claim 1, wherein each uniform storage block is allocated as a multiple of a disk sector size.
Claim 4
Dependent Claim
39 words
The method of claim 2, wherein said appending step includes appending the uniform storage blocks as a contiguous sequence of storage blocks, so that said logical file can always be read from disk in a single disk read operation.
Claim 5
Dependent Claim
19 words
The method of claim 1, wherein each logical file itself includes a directory describing contents stored at that file.
Claim 6
Dependent Claim
25 words
The method of claim 1, further comprising: storing a high water mark in the physical file for indicating where new storage blocks can be appended.
Claim 7
Dependent Claim
33 words
The method of claim 1, wherein said directory stores information for locating said logical files, said directory including a plurality of entries each of which stores a starting address for one logical file.
Claim 8
Dependent Claim
29 words
The method of claim 1, wherein each particular logical file includes a header storing a flag for indicating whether the particular logical file has moved within said physical file.
Claim 9
Dependent Claim
33 words
The method of claim 7, wherein said logical file header for the particular logical file stores a pointer to a new logical file if said flag indicates that the logical file has moved.
Claim 10
Dependent Claim
24 words
The method of claim 1, wherein each at least one logical file stores concurrency information specific to a particular resource shared among multiple clients.
Claim 11
Dependent Claim
41 words
The method of claim 1, wherein said physical file is a separate disk file stored on a server computer, and wherein one physical file is created for each directory of the server computer which has resources being shared among multiple clients.
Claim 12
Dependent Claim
29 words
The method of claim 1, wherein each logical file comprises a number of uniform storage blocks allocated within said physical file as a multiple of a common disk unit.
Claim 13
Dependent Claim
63 words
The method of claim 1, wherein said physical file comprises a physical lock file and wherein said plurality of logical files comprise a plurality of logical lock files, each logical lock file storing information for accessing particular resources of a database, said physical lock file having a plurality of uniform storage areas each of which stores no more than one logical lock file.
Claim 14
Dependent Claim
301 words
A multi-client data processing system comprising: a server computer storing a plurality of files as a plurality of logical files stored in a single physical file, said physical file residing as a single disk file on a storage device of said server computer, each logical file being stored as a contiguous sequence of uniform storage blocks in the physical file, said physical file including a directory describing each logical file stored within the physical file; a client computer capable of generating a first request from a client for information from a particular logical file; means, responsive to said first request, for determining from said directory where said logical file is located in said physical file, said means storing at the client computer information comprising a pointer describing that location, so that a subsequent request for the logical lock file can be satisfied without the directory; means for receiving a second request from another client computer requesting storage of new information in the logical file, said new information causing overflow of the logical file; means, responsive to said second request, for storing the new information by: (i) appending to one end of the physical file a sufficient number of new uniform storage blocks for storing the new information, (ii) storing information for the logical lock file together with the new information being added in said new uniform storage blocks, (iii) marking storage block which previously comprised the logical file as invalid, and (iv) storing with the invalidated storage blocks a pointer which points to said storage blocks being appended to said physical file; and means for updating the pointer stored at the client computer to reference a location in the physical file where the new storage blocks have been appended, as each client requests access to information stored in the logical file.
Claim 15
Dependent Claim
301 words
A multi-client data processing system comprising: a server computer storing a plurality of files as a plurality of logical files stored in a single physical file, said physical file residing as a single disk file on a storage device of said server computer, each logical file being stored as a contiguous sequence of uniform storage blocks in the physical file, said physical file including a directory describing each logical file stored within the physical file; a client computer capable of generating a first request from a client for information from a particular logical file; means, responsive to said first request, for determining from said directory where said logical file is located in said physical file, said means storing at the client computer information comprising a pointer describing that location, so that a subsequent request for the logical lock file can be satisfied without the directory; means for receiving a second request from another client computer requesting storage of new information in the logical file, said new information causing overflow of the logical file; means, responsive to said second request, for storing the new information by: (i) appending to one end of the physical file a sufficient number of new uniform storage blocks for storing the new information, (ii) storing information for the logical lock file together with the new information being added in said new uniform storage blocks, (iii) marking storage block which previously comprised the logical file as invalid, and (iv) storing with the invalidated storage blocks a pointer which points to said storage blocks being appended to said physical file; and means for updating the pointer stored at the client computer to reference a location in the physical file where the new storage blocks have been appended, as each client requests access to information stored in the logical file.
Claim 16
Dependent Claim
20 words
The system of claim 13, wherein each uniform storage block is allocated as a multiple of a disk sector size.
Claim 17
Dependent Claim
44 words
The system of claim 14, wherein means for storing the new information includes: means for appending the uniform storage blocks as a contiguous sequence of storage blocks, so that said logical file can always be read from disk in a single disk read operation.
Claim 18
Dependent Claim
19 words
The system of claim 13, wherein each logical file itself includes a directory describing contents stored at that file.
Claim 19
Dependent Claim
27 words
The system of claim 13, further comprising: means for storing a high water mark in the physical file for indicating where new storage blocks can be appended.
Claim 20
Dependent Claim
33 words
The system of claim 13, wherein said directory stores information for locating said logical files, said directory including a plurality of entries each of which stores a starting address for one logical file.
Claim 21
Dependent Claim
29 words
The system of claim 13, wherein each particular logical file includes a header storing a flag for indicating whether the particular logical file has moved within said physical file.
Claim 22
Dependent Claim
33 words
The system of claim 19, wherein said logical file header for the particular logical file stores a pointer to a new logical file if said flag indicates that the logical file has moved.
Claim 23
Dependent Claim
24 words
The system of claim 13, wherein each at least one logical file stores concurrency information specific to a particular resource shared among multiple clients.
Claim 24
Dependent Claim
43 words
The system of claim 13, wherein said physical lock file is a separate disk file stored on the server computer, and wherein one physical lock file is created for each directory of the server computer which has resources being shared among multiple clients.
Claim 25
Dependent Claim
29 words
The system of claim 13, wherein each logical file comprises a number of uniform storage blocks allocated within said physical file as a multiple of a common disk unit.
Claim 26
Dependent Claim
63 words
The system of claim 13, wherein said physical file comprises a physical lock file and wherein said plurality of logical files comprise a plurality of logical lock files, each logical lock file storing information for accessing particular resources of a database, said physical lock file having a plurality of uniform storage areas each of which stores no more than one logical lock file.