Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
360 words
In a computer system having a shared disk file system for multiple files running on multiple computer nodes each having their own instance of an operating system and being coupled for parallel data sharing access to files residing on network attached shared disks, the method of: providing a parallel file system for multiple servers of the file system with a file structure residing on one or more disks directly accessible by multiple separate deer computer nodes, said file system allowing a computation that uses the file structure to be broken up into multiple pieces that can be run in parallel on separate computer nodes allowing users to login to any node of said multiple separate peer computer nodes which share in the management of the file system and to access multiple disks in the system which are directly attached to different server nodes, said file system managing sets of disks which hold data and metadata allowing said multiple separate peer computer nodes to share in the management of the file system without assignment of the files system management to a single computer node with disks containing the data and metadata being attached to different ones of the multiple peer computer nodes in a manner that makes the disks appear to be locally attached to each file system even though directly attached to a separate peer computer node and to appear the same for all instances of the file system, and keeping a local copy of the file size of a file within each node accessing said file together with a lock mode whereby different file sizes are cached at different nodes permitting parallel write sharing of a file with a consistent view to all file users; and providing a lock manager for determining that a lock mode does not conflict with a lock mode for another node, whereby a lock mode for each read and write operation assumes that a locally cached file size is accurate enough for a correct result of an operation and no file lock modes conflict which would prevent said multiple separate seer computer nodes simultaneously accessing striped files in parallel without interferring with each other.
Claim 2
Dependent Claim
360 words
In a computer system having a shared disk file system for multiple files running on multiple computer nodes each having their own instance of an operating system and being coupled for parallel data sharing access to files residing on network attached shared disks, the method of: providing a parallel file system for multiple servers of the file system with a file structure residing on one or more disks directly accessible by multiple separate deer computer nodes, said file system allowing a computation that uses the file structure to be broken up into multiple pieces that can be run in parallel on separate computer nodes allowing users to login to any node of said multiple separate peer computer nodes which share in the management of the file system and to access multiple disks in the system which are directly attached to different server nodes, said file system managing sets of disks which hold data and metadata allowing said multiple separate peer computer nodes to share in the management of the file system without assignment of the files system management to a single computer node with disks containing the data and metadata being attached to different ones of the multiple peer computer nodes in a manner that makes the disks appear to be locally attached to each file system even though directly attached to a separate peer computer node and to appear the same for all instances of the file system, and keeping a local copy of the file size of a file within each node accessing said file together with a lock mode whereby different file sizes are cached at different nodes permitting parallel write sharing of a file with a consistent view to all file users; and providing a lock manager for determining that a lock mode does not conflict with a lock mode for another node, whereby a lock mode for each read and write operation assumes that a locally cached file size is accurate enough for a correct result of an operation and no file lock modes conflict which would prevent said multiple separate seer computer nodes simultaneously accessing striped files in parallel without interferring with each other.
Claim 3
Dependent Claim
41 words
The method for a computer system according to claim 1, wherein every read operation includes checking if the operation's offset is beyond the current file size, and returning an end of file if the offset is beyond the current file size.
Claim 4
Dependent Claim
33 words
The method for a computer system according to claim 2, wherein every write operation includes checking if the operation's offset is beyond the current end of file, and extending it if it is.
Claim 5
Dependent Claim
35 words
The method for a computer system according to claim 3, wherein whenever a node upgrades its lock mode, it reads the new file size from a metadata node that keeps track of the file size.
Claim 6
Dependent Claim
34 words
The method for a computer system according to claim 4, wherein whenever a node downgrades its lock mode, it sends its file size to the metanode, while the metanode itself keeps a file size.
Claim 7
Dependent Claim
71 words
The method for a computer system according to claim 5, wherein there are a plurality of lock modes, and some modes only allow reading the file size (rw, rf), while some modes (wf, wa) allow increasing the file size, while one mode (xw) allows to decrease the file size, and wherein the true file size is the maximum of all the local copies of the file sizes that the nodes hold.
Claim 8
Dependent Claim
155 words
The method for a computer system according to claim 6, wherein operations that read or write within the locally cached copy of the file size, require an "rw" lock on the file size, while operations the read beyond the locally cached copy of the file size, need to ensure that the file size did not increase since they last read the file size, and they need to acquire an "rf" lock which conflicts with modes that increase file size; while operations that increase the file size acquire either an "wf" or "wa" lock wherein a "wf" lock is needed if the writer knows the new absolute file size and a "wa" lock is needed for APPEND operations which write at the current end of file, such that several APPEND operations will write one at the end of the other, whereby one "wa" conflicts with itself since one APPEND operation should wait for other APPEND operation.
Claim 9
Dependent Claim
65 words
The method for a computer system according to claim 6, wherein operations that decrease the file size require an exclusive mode, "xw", which will cause all other nodes to relinquish their locks and thus lose the locally cached file size whereby after the node that acquired the "xw" finishes its operation all the nodes will have to get the new file size from the metanode.
Claim 10
Dependent Claim
456 words
In a computer system having a shared disk file system for multiple files running on multiple computer nodes each having their own instance of an operating system and being coupled for parallel data sharing access to files residing on network attached shared disks, the method of: keeping a local copy of the file size of a file within each node accessing said file together with a lock mode whereby different file sizes are cached at different nodes permitting parallel write sharing of a file with a consistent view to all file users; and providing a lock manager for determining that a lock mode does not conflict with a lock mode for another node, whereby a lock mode for each read and write operation assumes that a locally cached file size is accurate enough for a correct result of an operation and no file lock modes conflict; and every read operation includes checking if the operation's offset is beyond the current file size, and returning an end of file if the offset is beyond the current file size; and every write operation includes checking if the operation's offset is beyond the current end of file, and extending it if it is; and whenever a node upgrades its lock mode, it reads the new file size from a metadata node that keeps track of the file size; and whenever a node downgrades its lock mode, it sends its file size to the metanode, while the metanode itself keeps a file size; and wherein there are a plurality of lock modes, and some modes only allow reading the file size (rw, rf), while some modes (wf, wa) allow increasing the file size, while one mode (xw) allows to decrease the file size, and wherein the true file size is the maximum of all the local copies of the file sizes that the nodes hold; and operations that read or write within the locally cached copy of the file size, require an "rw" lock on the file size, while operations the read beyond the locally cached copy of the file size, need to ensure that the file size did not increase since they last read the file size, and they need to acquire an "rf" lock which conflicts with modes that increase file size; while operations that increase the file size acquire either an "wf" or "wa" lock wherein a "wf" lock is needed if the writer knows the new absolute file size and a "wa" lock is needed for APPEND operations which write at the current end of file, such that several APPEND operations will write one at the end of the other, whereby one "wa" conflicts with itself since one APPEND operation should wait for other APPEND operation.
Claim 11
Dependent Claim
456 words
In a computer system having a shared disk file system for multiple files running on multiple computer nodes each having their own instance of an operating system and being coupled for parallel data sharing access to files residing on network attached shared disks, the method of: keeping a local copy of the file size of a file within each node accessing said file together with a lock mode whereby different file sizes are cached at different nodes permitting parallel write sharing of a file with a consistent view to all file users; and providing a lock manager for determining that a lock mode does not conflict with a lock mode for another node, whereby a lock mode for each read and write operation assumes that a locally cached file size is accurate enough for a correct result of an operation and no file lock modes conflict; and every read operation includes checking if the operation's offset is beyond the current file size, and returning an end of file if the offset is beyond the current file size; and every write operation includes checking if the operation's offset is beyond the current end of file, and extending it if it is; and whenever a node upgrades its lock mode, it reads the new file size from a metadata node that keeps track of the file size; and whenever a node downgrades its lock mode, it sends its file size to the metanode, while the metanode itself keeps a file size; and wherein there are a plurality of lock modes, and some modes only allow reading the file size (rw, rf), while some modes (wf, wa) allow increasing the file size, while one mode (xw) allows to decrease the file size, and wherein the true file size is the maximum of all the local copies of the file sizes that the nodes hold; and operations that read or write within the locally cached copy of the file size, require an "rw" lock on the file size, while operations the read beyond the locally cached copy of the file size, need to ensure that the file size did not increase since they last read the file size, and they need to acquire an "rf" lock which conflicts with modes that increase file size; while operations that increase the file size acquire either an "wf" or "wa" lock wherein a "wf" lock is needed if the writer knows the new absolute file size and a "wa" lock is needed for APPEND operations which write at the current end of file, such that several APPEND operations will write one at the end of the other, whereby one "wa" conflicts with itself since one APPEND operation should wait for other APPEND operation.
Claim 12
Dependent Claim
65 words
The method for a computer system according to claim 9, wherein operations that decrease the file size require an exclusive mode, "xw", which will cause all other nodes to relinquish their locks and thus lose the locally cached file size whereby after the node that acquired the "xw" finishes its operation all the nodes will have to get the new file size from the metanode.