← Back to Patent Explorer
US5202971A Expired / Lapsed US ⏱️ 0.0 years remaining

System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock

Assignee: International Business Machines Corp
•
Filing: 1990-12-17
•
Granted: 1993-04-13
•
Expires: 2010-12-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A conventional single node operating system is provided with a distributed file management system (DFS) with a plurality of nodes and a plurality of files. The DFS uses the UNIX operating system tree structure employing inodes (data structure containing administrative information for each file) to manage the local files and surrogate inodes (s -- inode) to manage access to files existing on another node. In addition, the DFS uses a lock table to manage the lock status of files. The method which implements the DFS locking of records and files involves the following steps. If the file is a local file, then the UNIX operating system standard file locking is used. However, if a remote file is to be locked, the UNIX operating system LOCKF and FCNTL system calls are intercepted and an remote process call (RPC) DFS -- LOCK -- CONTROL is executed. The server node receives the remote process call and carries out the lock request. The request could entail locking a single record, a set of records or the whole file. The server then acknowledges receipt of the RPC by sending a signal while the client surrogate inode is waiting for a reply from the DFS -- LOCK -- CONTROL RPC. The client confirms the reception of the lock and sends an acknowledgement to the remote server. The server updates the lock table after receiving the acknowledgement from the client surrogate inode. If the server does not confirm the reception of DFS -- LOCK -- CONTROL's acknowledgement, then DFS -- LOCK -- CONTROL updates the lock table.

Inventors

  • 👤 Larry W. Henson
  • 👤 Amal A. Shaheen-Gouda
  • 👤 Todd A. Smith

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 05:40
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F16/00; G06F16/10; G06F16/17; G06F16/176; G06F16/1767; G06F16/1774; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99938

Claims Analysis

Total Claims: 30
Claim 1
Independent Claim 138 words
A method for locking at least one range of a file residing at a first node of a data processing system, said method comprising: maintaining, in memory at said first node, information describing said at least one locked range of said file, said information used to service at least one locking request from at least one process located in at least one second node; moving, from said first node, said information to reside in memory at one of said at least one second node when each of said at least one process resides at said one of said at least one second node; and servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said moved information.
Claim 2
Independent Claim 138 words
A method for locking at least one range of a file residing at a first node of a data processing system, said method comprising: maintaining, in memory at said first node, information describing said at least one locked range of said file, said information used to service at least one locking request from at least one process located in at least one second node; moving, from said first node, said information to reside in memory at one of said at least one second node when each of said at least one process resides at said one of said at least one second node; and servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said moved information.
Claim 3
Independent Claim 196 words
A method for locking at least one range of a file residing at a first node of a data processing system, said method comprising: maintaining, in memory at said first node, information describing said at least one locked range of said file, said information used to service at least one locking request from at least one process located in at least one second node; moving, from said first node, said information to reside in memory at one of said at least one second node when each of said at least one process resides at said one of said at least one second node; servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said moved information and; moving, from said one of said at least one second node, said moved information to reside in memory at said first node when at least one operation performed at a different node than said one of said at least one second node requires the use of the information describing said at least one locked range of said file.
Claim 4
Independent Claim 196 words
A method for locking at least one range of a file residing at a first node of a data processing system, said method comprising: maintaining, in memory at said first node, information describing said at least one locked range of said file, said information used to service at least one locking request from at least one process located in at least one second node; moving, from said first node, said information to reside in memory at one of said at least one second node when each of said at least one process resides at said one of said at least one second node; servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said moved information and; moving, from said one of said at least one second node, said moved information to reside in memory at said first node when at least one operation performed at a different node than said one of said at least one second node requires the use of the information describing said at least one locked range of said file.
Claim 5
Independent Claim 124 words
A method for locking at least one range of a file residing at a first node of a data processing system, said method comprising: creating information that resides in memory at at least one second node and that describes said at least one locked range of said file, said information used to service at least one locking request from at least one process located in at least one second node; and servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said information only when each of said at least one process resides at said one of said at least one second node.
Claim 6
Independent Claim 124 words
A method for locking at least one range of a file residing at a first node of a data processing system, said method comprising: creating information that resides in memory at at least one second node and that describes said at least one locked range of said file, said information used to service at least one locking request from at least one process located in at least one second node; and servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said information only when each of said at least one process resides at said one of said at least one second node.
Claim 7
Independent Claim 165 words
A method for locking at least one range of a file residing at a first node of a data processing system, said method comprising: creating information that resides in memory at at least one second node and that describes said at least one locked range of said file, said information used to service at least one locking request from at least one process located in said at least one second node; servicing, at said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said information when each of said at least one process resides at said one of said at least one second node; and storing, in memory at said first node, said information when at least one operation performed at a different node than said one of said at least one second node requires use of said information describing said at least one locked range of said file.
Claim 8
Independent Claim 165 words
A method for locking at least one range of a file residing at a first node of a data processing system, said method comprising: creating information that resides in memory at at least one second node and that describes said at least one locked range of said file, said information used to service at least one locking request from at least one process located in said at least one second node; servicing, at said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said information when each of said at least one process resides at said one of said at least one second node; and storing, in memory at said first node, said information when at least one operation performed at a different node than said one of said at least one second node requires use of said information describing said at least one locked range of said file.
Claim 9
Independent Claim 147 words
A system, in a data processing system, for locking at least one range of a file residing at a first node of said data processing system, said system comprising: a data structure, at said first node, describing said at least one range of said file, said data structure being used to service at least one locking request from at least one process located in at least one second node; means for moving, from said first node, said data structure to reside at one of said at least one second node when each of said at least one process resides at said one of said at least one second node; and means for servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said moved data structure.
Claim 10
Independent Claim 147 words
A system, in a data processing system, for locking at least one range of a file residing at a first node of said data processing system, said system comprising: a data structure, at said first node, describing said at least one range of said file, said data structure being used to service at least one locking request from at least one process located in at least one second node; means for moving, from said first node, said data structure to reside at one of said at least one second node when each of said at least one process resides at said one of said at least one second node; and means for servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said moved data structure.
Claim 11
Independent Claim 207 words
A system in a data processing system, for locking at least one range of a file residing at a first node of said data processing system, said system comprising: a data structure, at said first node, describing said at least one locked range of said file, said data structure used to service at least one locking request from at least one process located in at least one second node; first means for moving, from said first node, said data structure to reside at one of said at least one second node when each of said at least one process resides at said one of said at least one second node; means for servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said moved data structure; and second means for moving, from said one of said at least one second node, said moved data structure to said first node when at least one operation performed at a different node than said one of said at least one second node requires the use of the data structure describing said at least one locked range of said file.
Claim 12
Independent Claim 207 words
A system in a data processing system, for locking at least one range of a file residing at a first node of said data processing system, said system comprising: a data structure, at said first node, describing said at least one locked range of said file, said data structure used to service at least one locking request from at least one process located in at least one second node; first means for moving, from said first node, said data structure to reside at one of said at least one second node when each of said at least one process resides at said one of said at least one second node; means for servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said moved data structure; and second means for moving, from said one of said at least one second node, said moved data structure to said first node when at least one operation performed at a different node than said one of said at least one second node requires the use of the data structure describing said at least one locked range of said file.
Claim 13
Independent Claim 143 words
A system, in a data processing system, for locking at least one range of a file residing at a first node of said data processing system, said system comprising: a data structure, which resides at one of said at least one second node, describing said at least one locked range of said file, said data structure used to service at least one locking request from at least one process located in at least one second node; and means for servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said data structure residing at said one of said at least one second node when each of said at least one process resides at said one of said at least one second node.
Claim 14
Independent Claim 143 words
A system, in a data processing system, for locking at least one range of a file residing at a first node of said data processing system, said system comprising: a data structure, which resides at one of said at least one second node, describing said at least one locked range of said file, said data structure used to service at least one locking request from at least one process located in at least one second node; and means for servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said data structure residing at said one of said at least one second node when each of said at least one process resides at said one of said at least one second node.
Claim 15
Independent Claim 179 words
A system, in a data processing system, for locking at least one range of a file residing at a first node of said data processing system, said system comprising: a data structure, which resides at one of said at least one second node, describing said at least one locked range of said file, said data structure used to service at least one locking request from at least one process located in at least one second node; means for servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said data structure when each of said at least one process resides at said one of said at least one second node; and means for storing, in said first node, said data structure when at least one operation performed at a different node than said one of said at least one second node requires the use of the data structure describing said at least one locked range of said file.
Claim 16
Independent Claim 179 words
A system, in a data processing system, for locking at least one range of a file residing at a first node of said data processing system, said system comprising: a data structure, which resides at one of said at least one second node, describing said at least one locked range of said file, said data structure used to service at least one locking request from at least one process located in at least one second node; means for servicing, at said one of said at least one second node, a subsequent lock request, performed by any process residing at the one of said at least one second node, using said data structure when each of said at least one process resides at said one of said at least one second node; and means for storing, in said first node, said data structure when at least one operation performed at a different node than said one of said at least one second node requires the use of the data structure describing said at least one locked range of said file.
Claim 17
Independent Claim 94 words
A method for locking a range of bytes of a file residing at a first node of a data processing system, said method comprising: sending a message from a second node to the first node requesting a lock on the range of bytes of the file residing in storage at said first node; sending notification from the first node to the second node that the lock is available; and releasing the lock at the first node when a confirmation of said sent notification is not received by said first node from said second node.
Claim 18
Independent Claim 94 words
A method for locking a range of bytes of a file residing at a first node of a data processing system, said method comprising: sending a message from a second node to the first node requesting a lock on the range of bytes of the file residing in storage at said first node; sending notification from the first node to the second node that the lock is available; and releasing the lock at the first node when a confirmation of said sent notification is not received by said first node from said second node.
Claim 19
Independent Claim 89 words
A system for locking a range of bytes of a file residing at a first node and accessible by processes located at a least one second node, said system comprising: a first message from the second node to the first node requesting a lock; means for sending notification from the fist node to the second node that the lock is available; and means for releasing the lock at the first node when a confirmation of said sent notification is not received by said first node from said second node.
Claim 20
Independent Claim 89 words
A system for locking a range of bytes of a file residing at a first node and accessible by processes located at a least one second node, said system comprising: a first message from the second node to the first node requesting a lock; means for sending notification from the fist node to the second node that the lock is available; and means for releasing the lock at the first node when a confirmation of said sent notification is not received by said first node from said second node.
Claim 21
Independent Claim 138 words
A method for locking at least one range of a file residing at a first node of a data processing system, said method comprising: intercepting, in one of a at least one second node, any file locking system operation that is being applied to said file from an application running in one of the at least one second node; invoking a remote procedure call in said one of the at least one second node; processing said remote procedure call in said first node; returning to said one of the at least one second node information describing the state of the locks of the file; and using said information, which resides in memory of said one of the at least one second node, to perform said locking system operation in said one of the at least one second node.
Claim 22
Independent Claim 138 words
A method for locking at least one range of a file residing at a first node of a data processing system, said method comprising: intercepting, in one of a at least one second node, any file locking system operation that is being applied to said file from an application running in one of the at least one second node; invoking a remote procedure call in said one of the at least one second node; processing said remote procedure call in said first node; returning to said one of the at least one second node information describing the state of the locks of the file; and using said information, which resides in memory of said one of the at least one second node, to perform said locking system operation in said one of the at least one second node.
Claim 23
Dependent Claim 86 words
The method of claim 11 further comprising the step of intercepting, in one of the at least one second node, at least one subsequent file locking system call that is being applied to said file from an application running in said one of the at least one second node, and using said information, which resides in said one of the at least one second node, to perform said at least one subsequent file locking system call in said one of the at least one second node.
Claim 24
Independent Claim 239 words
A method of providing file locks in a distributed data processing system of the type having a plurality of nodes and a plurality of files physically residing at different ones of said nodes and a distributed file management system with a plurality of inodes comprising administrative information for each of said plurality of files and a plurality of surrogate inodes; said plurality of inodes including a server inode, at a server node, including access control means for a local file or a portion of said local file of said plurality of files and said plurality of surrogate inodes including a client surrogate inode, at a client node, corresponding to said server inode providing remote access control means for said local file, said remote access control means including locking means for locking said server inode to secure said local file or said portion of said local file, said method of providing file locks including: unlocking said surrogate inode at said client node in response to said remote access control means locking said local file or said portion of said local file, sending a remote procedure call for obtaining a lock on said local file or said portion of said local file by means of said remote access control means from said client node to said server node subsequent to said step of unlocking said surrogate inode, and controlling the grant of a lock in response to said remote procedure call.
Claim 25
Independent Claim 239 words
A method of providing file locks in a distributed data processing system of the type having a plurality of nodes and a plurality of files physically residing at different ones of said nodes and a distributed file management system with a plurality of inodes comprising administrative information for each of said plurality of files and a plurality of surrogate inodes; said plurality of inodes including a server inode, at a server node, including access control means for a local file or a portion of said local file of said plurality of files and said plurality of surrogate inodes including a client surrogate inode, at a client node, corresponding to said server inode providing remote access control means for said local file, said remote access control means including locking means for locking said server inode to secure said local file or said portion of said local file, said method of providing file locks including: unlocking said surrogate inode at said client node in response to said remote access control means locking said local file or said portion of said local file, sending a remote procedure call for obtaining a lock on said local file or said portion of said local file by means of said remote access control means from said client node to said server node subsequent to said step of unlocking said surrogate inode, and controlling the grant of a lock in response to said remote procedure call.
Claim 26
Dependent Claim 43 words
The method for locking said local files from a local node in a distributed data processing system as recited in claim 13 further including the steps of: requesting an unlock of said local file from said server node; and unlocking said local file.
Claim 27
Dependent Claim 92 words
The method for locking said local files from a local node in a distributed data processing system as recited in claim 13 wherein said step of controlling the grant of a lock further includes locking said local file of said portion of said local file by means of said remote access control means, wherein said method further includes the step of: locking said inode of said server node subsequent to said step of locking said local file of said portion of said local file by means of said remote access control means.
Claim 28
Dependent Claim 55 words
The method of providing file locks in a distributed data processing system as recited in claim 13 further including locking said local files from said server node including the steps of: requesting a lock on said local file from said server node, and locking said local file by means of said remote access control means.
Claim 29
Dependent Claim 72 words
The method of providing file locks in a distributed data processing system as recited in claim 16, wherein said step of requesting a lock further includes intercepting a remote procedure call from said server node to said client node of said distributed data processing system, and transmitting said remote procedure call to said client node subsequent to said step of locking said local file by means of said remote access control means.
Claim 30
Dependent Claim 92 words
The method for locking said local files from a local node in a distributed data processing system as recited in claim 17, wherein said step of controlling the grant of a lock further includes locking said local file of said portion of said local file by means of said remote access control means, wherein said method further comprising the step of: locking said inode of said server node subsequent to said step of locking said local file of said portion of said local file by means of said remote access control means.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-04-12 1996-10-12 1997-04-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-04-12 2000-10-12 2001-04-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-04-12 2004-10-12 2005-04-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag