Concurrency classes for shared file systems
AssigneeInternational Business Machines Corporation
InventorsMurthy V. Devarakonda, John T. Robinson
Life of this patent
Estimating the term…
Abstract
A method, apparatus and computer product wherein means and mechanisms are provided whereby, in a distributed or clustered shared file system, (1) concurrency classes may be defined specifying granularity of locking, whether locks are cached, and whether modified data is written-through at the completion of updates, (2) certain files, file types, or files and/or file types as used by given applications or classes of applications, may be associated with concurrency classes, and (3) for each usage of a file by an application, the associated concurrency class determines a policy for choosing specific concurrency and coherency control mechanisms to be used for accessing the given file.
Claims34
In a distributed computer system with a shared file system, a method for managing concurrency and coherency of files, comprising:
- defining a number of concurrency classes in a concurrency class table;
- specifying files and applications to be associated with each concurrency class in a file/application concurrency class policy table;
- and
- determining granularity of locking, caching of locks, and write-through of cached data, to a file server, policies to be used for files and applications in accordance with an associated concurrency class, wherein said concurrency classes include:
- a default concurrency class in which granularity is at the file level, a cache lock is used, and there is no write-through;
- a shared file concurrency class in which granularity is at the file level, a cache lock is used, and there is write-through;
- an update file concurrency class in which granularity is at the file level, no cache lock is used, and there is write-through;
- a default data concurrency class in which granularity is at the block level, a cache lock is used, and there is no write-through;
- a shared data concurrency class in which granularity is at the block level, a cache lock is used, and there is write-through;
- and
- an update data concurrency class in which granularity is at the block level, no cache lock is used, and there is write-through.
A computer system having at least one file server and a plurality of clients served by said at least one file server, wherein files provided by said at least one file server are shared by said clients, said system comprising:
- a file manager for managing coherency and concurrency of the files, said file manager including:
- a storage including a concurrency class table for defining a number of concurrency classes, and a file/application concurrency class policy table for specifying files and applications to be associated with each concurrency class;
- and
- apparatus for execution of granularity of locking, caching of locks, and write-through of cached data, to a file server, policies to be used for files and applications in accordance with an associated concurrency class, wherein said concurrency classes include:
- a default concurrency class in which granularity is at the file level, a cache lock is used, and there is no write-through;
- a shared file concurrency class in which granularity is at the file level, a cache lock is used, and there is write-through;
- an update file concurrency class in which granularity is at the file level, no cache lock is used, and there is write-through;
- a default data concurrency class in which granularity is at the block level, a cache lock is used, and there is no write-through;
- a shared data concurrency class in which granularity is at the block level, a cache lock is used, and there is write-through;
- and
- an update data concurrency class in which granularity is at the block level, no cache lock is used, and there is write-through.
An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing a computer to manage concurrency and coherency of files, said computer readable program code comprising:
- code for defining a number of concurrency classes in a concurrency class table;
- code for specifying files and applications to be associated with each concurrency class in a file/application concurrency class policy table;
- and
- code for determining granularity of locking, caching of locks, and write-through of cached data, to a file server, policies to be used for files and applications in accordance with an associated concurrency class, wherein said concurrency classes include:
- a default concurrency class in which granularity is at the file level, a cache lock is used, and there is no write-through;
- a shared file concurrency class in which granularity is at the file level, a cache lock is used, and there is write-through;
- an update file concurrency class in which granularity is at the file level, no cache lock is used, and there is write-through;
- a default data concurrency class in which granularity is at the block level, a cache lock is used, and there is no write-through;
- a shared data concurrency class in which granularity is at the block level, a cache lock is used, and there is write-through;
- and
- an update data concurrency class in which granularity is at the block level, no cache lock is used, and there is write-through.
Dependencies are inferred from the claim text.