System and methods for improved file management in a multi-user environment
First Claim
1. 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.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system having concurrently shared objects or resources is described. An exemplary embodiment includes a multi-user database management system having information tables and related objects stored in shared directories on a file server. A plurality of lock types, including directory lock, full lock, write lock, prevent full lock, and prevent write lock, are provided for controlling concurrent access. Methods are described for managing locks by creating a special lock file for each shared directory that is accessed. The lock file stores at least one logical lock file having locking or concurrency information specific to a family of related members. The logical lock file itself includes a plurality of entries for specifying concurrency information of associated family members. A shared object or resource is accessed according to the information retrieved from the corresponding logical lock file.
208 Citations
24 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. 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. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification