Patent US2651346A successfully refreshed from Google Patents.
Patent US5537645A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5537645A Expired / Lapsed US ⏱️ 0.0 years remaining

File lock management in a distributed data processing system

Assignee: International Business Machines Corp
•
Filing: 1994-11-23
•
Granted: 1996-07-16
•
Expires: 2014-11-23
📄 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-28 12:03
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: 9
Claim 1
Independent Claim 240 words
In a distributed data processing system in which at least one client machine has access to a file stored at a server of said distributed data processing system, a computer storage containing a program for access by a data processing system for locking a first portion of said file stored at said server of said distributed data processing system, said computer program comprising: first data structure instruction means accessible by said data processing system for receiving, at said server, a request by one client machine to lock said first portion of said file; second data structure instruction means accessible by said data processing system, and responsive to said first data structure instruction means, for detecting, at said server, whether any other client machine has locked any portion of said file; third data structure instruction means accessible by said data processing system, and connected to said second data structure instruction means, 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 fourth data structure instruction means accessible by said data processing system, and responsive to said third data structure instruction means, for establishing, at said one client machine, a data structure describing said lock in response to said third data structure instruction means that said one client machine can maintain said lock locally.
Claim 2
Dependent Claim 240 words
In a distributed data processing system in which at least one client machine has access to a file stored at a server of said distributed data processing system, a computer storage containing a program for access by a data processing system for locking a first portion of said file stored at said server of said distributed data processing system, said computer program comprising: first data structure instruction means accessible by said data processing system for receiving, at said server, a request by one client machine to lock said first portion of said file; second data structure instruction means accessible by said data processing system, and responsive to said first data structure instruction means, for detecting, at said server, whether any other client machine has locked any portion of said file; third data structure instruction means accessible by said data processing system, and connected to said second data structure instruction means, 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 fourth data structure instruction means accessible by said data processing system, and responsive to said third data structure instruction means, for establishing, at said one client machine, a data structure describing said lock in response to said third data structure instruction means that said one client machine can maintain said lock locally.
Claim 3
Dependent Claim 82 words
The computer storage containing a program of claim 1 further comprising: fifth data structure instruction means accessible by said data processing system, and responsive to said third data structure instruction means, 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 4
Dependent Claim 59 words
The computer storage containing a program of claim 2, wherein said fourth data structure instruction means further comprises: sixth data structure instruction means accessible by said data processing system, and responsive to said fifth data structure instruction means, for determining an amount of space required at said one client machine for storage of said data structure describing said lock.
Claim 5
Dependent Claim 82 words
The computer storage containing a program of claim 3, wherein said fifth data structure instruction means further comprises: seventh data structure instruction means accessible by said data processing system, and responsive to said sixth data structure instruction 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 following said request by another client machine attempting to lock said any portion of said file.
Claim 6
Dependent Claim 79 words
The computer storage containing a program of claim 4, wherein said seventh data structure instruction means further comprises: eighth data structure instruction means accessible by said data processing system, and responsive to said seventh data structure instruction means, 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 7
Dependent Claim 90 words
The computer storage containing a program of claim 5, wherein said seventh data structure instruction means further comprises: ninth data structure instruction means accessible by said data processing system, and responsive to said seventh data structure instruction means, 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 8
Dependent Claim 292 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, a computer storage containing a program for access by a data processing system, comprising: first data structure instruction means accessible by said data processing system 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; second instruction means accessible by said data processing system, and responsive to said first data structure instruction means, for detecting, at said server, whether any other client machine has locked said portion of said file; third data structure instruction means accessible by said data processing system, and responsive to said first data structure instruction means, for detecting, at said server, whether any other client machine has unlocked said portion of said file; fourth data structure instruction means accessible by said data processing system, and connected to said second data structure instruction means, for notifying, by said server, said first client machine to put to sleep said first data structure instruction means at said first client machine in response to said second data structure instruction means, that any other client machine has locked said portion of said file; and fifth data structure instruction means accessible by said data processing system, and connected to said third data structure instruction means, for notifying, by said server, said first client machine to awaken said first data structure instruction means in response to said third data structure instruction means, that said any other client machine has unlocked said portion of said file.
Claim 9
Dependent Claim 292 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, a computer storage containing a program for access by a data processing system, comprising: first data structure instruction means accessible by said data processing system 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; second instruction means accessible by said data processing system, and responsive to said first data structure instruction means, for detecting, at said server, whether any other client machine has locked said portion of said file; third data structure instruction means accessible by said data processing system, and responsive to said first data structure instruction means, for detecting, at said server, whether any other client machine has unlocked said portion of said file; fourth data structure instruction means accessible by said data processing system, and connected to said second data structure instruction means, for notifying, by said server, said first client machine to put to sleep said first data structure instruction means at said first client machine in response to said second data structure instruction means, that any other client machine has locked said portion of said file; and fifth data structure instruction means accessible by said data processing system, and connected to said third data structure instruction means, for notifying, by said server, said first client machine to awaken said first data structure instruction means in response to said third data structure instruction 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
US5226159A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-07-16 2000-01-15 2000-07-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-07-16 2004-01-15 2004-07-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-07-16 2008-01-15 2008-07-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag