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

File lock management in a distributed data processing system

Assignee: International Business Machines Corp
•
Filing: 1992-06-04
•
Granted: 1993-07-06
•
Expires: 2012-06-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A distributed data processing system and method in which locks on a file are supported by a data structure that resides on either a client machine or on the file's server. When only a single client's processes are locking a file, the data structure can reside on that client. Whenever a plurality of client machines attempt to place locks on a file, the data structure is moved to the server; this forces the clients locking the file to communicate with the server when performing lock operations. When a client requests a lock from the server that cannot be granted because of an existing blocking lock, the client is informed that it should put the requesting process asleep awaiting a retry notification. When there is a change in the locks on the file that might allow such a client's now sleeping process to acquire the lock, the server sends a retry notice to the client. This awakens the sleeping process at the client, and the process then reattempts the lock operation by sending a message to the server.

Inventors

  • 👤 Larry W. Henson
  • 👤 Donavon W. Johnson
  • 👤 Stephen P. Morgan
  • 👤 Todd A. Smith

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 21:29
CPC Classifications
G; G06; G06F; 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: 18
Claim 1
Independent Claim 141 words
A method of locking a first portion of a file stored at a server of a distributed data processing system in which at least one client machine has access to said file, comprising: (a) receiving, at said server, a request by one client machine to lock said first portion of said file; (b) detecting, at said server, whether any other client machine has locked any portion of said file; (c) replying to said one client machine that said one client machine can maintain a lock on said first portion of said file locally in response to detecting in step (b) that no other client machine has locked any portion of said file; and (d) establishing, at said one client machine, a data structure describing said lock in response to said replying that said one client machine can maintain said lock locally.
Claim 2
Independent Claim 141 words
A method of locking a first portion of a file stored at a server of a distributed data processing system in which at least one client machine has access to said file, comprising: (a) receiving, at said server, a request by one client machine to lock said first portion of said file; (b) detecting, at said server, whether any other client machine has locked any portion of said file; (c) replying to said one client machine that said one client machine can maintain a lock on said first portion of said file locally in response to detecting in step (b) that no other client machine has locked any portion of said file; and (d) establishing, at said one client machine, a data structure describing said lock in response to said replying that said one client machine can maintain said lock locally.
Claim 3
Dependent Claim 59 words
The method of claim 1 further comprising the additional step of: (e) notifying said one client machine that said one client machine must transfer said data structure describing said lock from said one client machine to said server in response to a request to said server by another client machine attempting to lock said any portion of said file.
Claim 4
Dependent Claim 44 words
The method of claim 2, wherein said step of (d) establishing, at said one client machine a data structure describing said lock further comprises: determining an amount of space required at said one client machine for storage of said data structure describing said lock.
Claim 5
Dependent Claim 81 words
The method of claim 3, wherein said step of (e) notifying said one client machine that said one client machine must transfer said data structure describing said lock from said one client machine to said server further comprises: (f) determining if said amount of space required at said one client machine for storage of said data structure describing said lock is available at said server following said request by another client machine attempting to lock said an portion of said file.
Claim 6
Dependent Claim 79 words
The method of claim 4, wherein said step of (f) determining if said amount of space required at said one client machine for storage of said data structure describing said lock is available at said server further comprises: (g1) transferring said data structure describing said lock from said one client machine to said server if said amount of space required at said one client machine for storage of said data structure describing said lock is available at said server.
Claim 7
Dependent Claim 90 words
The method of claim 5, wherein said step of (f) determining if said amount of space required at said one client machine for storage of said data structure describing said lock is available at said server further comprises: (g2) notifying said another client machine that said attempt to lock said any portion of said file by said another client machine is presently impossible if said amount of space required at said one of said client machines for storage of said data structure describing said lock is unavailable at said server.
Claim 8
Dependent Claim 198 words
In a method of locking a file stored at a server of a distributed data processing system in which at least one client machine has access to said file, the improvement comprising: (a) attempting by a first client machine to lock a portion of said file in response to a request by a process at said first client machine for locking a portion of said file; (b) detecting, at said server, whether any other client machine has locked said portion of said file; (c) detecting, at said server, whether any other client machine has unlocked said portion of said file; (d) notifying, by said server, said first client machine to put to sleep the process at said first client machine requesting said locking a portion of said file in response to said server's detecting in step (b) that said any other client machine has locked said portion of said file; and (e) notifying, by said server, said first client machine to awaken said attempting by a first client machine to lock a portion of said file in response to said server's detecting in step (c) that said any other client machine has unlocked said portion of said file.
Claim 9
Dependent Claim 198 words
In a method of locking a file stored at a server of a distributed data processing system in which at least one client machine has access to said file, the improvement comprising: (a) attempting by a first client machine to lock a portion of said file in response to a request by a process at said first client machine for locking a portion of said file; (b) detecting, at said server, whether any other client machine has locked said portion of said file; (c) detecting, at said server, whether any other client machine has unlocked said portion of said file; (d) notifying, by said server, said first client machine to put to sleep the process at said first client machine requesting said locking a portion of said file in response to said server's detecting in step (b) that said any other client machine has locked said portion of said file; and (e) notifying, by said server, said first client machine to awaken said attempting by a first client machine to lock a portion of said file in response to said server's detecting in step (c) that said any other client machine has unlocked said portion of said file.
Claim 10
Independent Claim 159 words
A system for locking a first portion of a file stored at a server of a distributed data processing system in which at least one client machine has access to said file, comprising: means for receiving, at said server, a request by one client machine to lock said first portion of said file; means responsive to said means for receiving for detecting, at said server, whether any other client machine has locked any portion of said file; means connected to said means for detecting for replying to said one client machine that said one client machine can maintain a lock on said first portion of said file locally while no other client machine attempts to lock any portion of said file; and means responsive to said means for replying for establishing, at said one client machine, a data structure describing said lock in response to said means for replying that said one client machine can maintain said lock locally.
Claim 11
Independent Claim 159 words
A system for locking a first portion of a file stored at a server of a distributed data processing system in which at least one client machine has access to said file, comprising: means for receiving, at said server, a request by one client machine to lock said first portion of said file; means responsive to said means for receiving for detecting, at said server, whether any other client machine has locked any portion of said file; means connected to said means for detecting for replying to said one client machine that said one client machine can maintain a lock on said first portion of said file locally while no other client machine attempts to lock any portion of said file; and means responsive to said means for replying for establishing, at said one client machine, a data structure describing said lock in response to said means for replying that said one client machine can maintain said lock locally.
Claim 12
Dependent Claim 65 words
The system of claim 8 further comprising: means responsive to said means for replying for notifying said one client machine that said one client machine must transfer said data structure describing said lock from said one client machine to said server in response to a detection of a request to said server by another client machine attempting to lock said any portion of said file.
Claim 13
Dependent Claim 51 words
The system of claim 9, wherein said means for establishing, at said one client machine, a data structure describing said lock further comprises: means responsive to said means for notifying for determining an amount of space required at said one client machine for storage of said data structure describing said lock.
Claim 14
Dependent Claim 91 words
The system of claim 10, wherein said means for notifying said one client machine that said one client machine must transfer said data structure describing said lock from said one client to said server further comprises: means responsive to said means for determining an amount of space for further determining if said amount of space required at said one client machine for storage of said data structure describing said lock is available at said server following said request by another client machine attempting to lock said any portion of said file.
Claim 15
Dependent Claim 87 words
The system of claim 11, wherein said means for further determining if said amount of space required at said one client machine for storage of said data structure describing said lock is available at said server further comprises: means responsive to said means for further determining for transferring said data structure describing said lock from said one client machine to said server if said amount of space required at said one client machine for storage of said data structure describing said lock is available at said server.
Claim 16
Dependent Claim 98 words
The system of claim 12, wherein said means for further determining if said amount of space required at said one client machine for storage of said data structure describing said lock is available at said server further comprises: means responsive to said means for further determining for notifying said another client machine that said attempt to lock said any portion of said file by said another client machine is presently impossible if said amount of space required at said one of said client machines for storage of said data structure describing said lock is unavailable at said server.
Claim 17
Dependent Claim 229 words
In a system for locking a file stored at a server of a distributed data processing system in which at least one client machine has access to said file, the improvement comprising: means for attempting by a first client machine to lock a portion of said file, the first client machine sending the request in response to a request by a process at said first client machine for locking a portion of said file; first means, responsive to said means for attempting, for detecting, at said server, whether any other client machine has locked said portion of said file; second means, responsive to said means for attempting, for detecting, at said server, whether any other client machine has unlocked said portion of said file; means connected to said first means for notifying, by said server, said first client machine to put to sleep the means at said first client machine requesting said locking said portion of said file in response to said first means, that any other client machine has locked said portion of said file; and means connected to said second means for notifying, by said server, said first client machine to awaken said means for attempting by said first client machine to lock said portion of said file in response to said second means, that said any other client machine has unlocked said portion of said file.
Claim 18
Dependent Claim 229 words
In a system for locking a file stored at a server of a distributed data processing system in which at least one client machine has access to said file, the improvement comprising: means for attempting by a first client machine to lock a portion of said file, the first client machine sending the request in response to a request by a process at said first client machine for locking a portion of said file; first means, responsive to said means for attempting, for detecting, at said server, whether any other client machine has locked said portion of said file; second means, responsive to said means for attempting, for detecting, at said server, whether any other client machine has unlocked said portion of said file; means connected to said first means for notifying, by said server, said first client machine to put to sleep the means at said first client machine requesting said locking said portion of said file in response to said first means, that any other client machine has locked said portion of said file; and means connected to said second means for notifying, by said server, said first client machine to awaken said means for attempting by said first client machine to lock said portion of said file in response to said second means, that said any other client machine has unlocked said portion of said file.

References Cited (Backward Citations)

US4435766A Cited
US4574350A Cited
US4891749A Cited
US4825354A Cited
US4901231A Cited
EP0278312A2 Cited
US4887204A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag