File lock management in a distributed data processing system
First Claim
1. 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.
0 Assignments
0 Petitions
Accused Products
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.
79 Citations
7 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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.
-
Specification