System for managing asset access in a distributed storage system
First Claim
1. A computer system, comprising:
- at least one general purpose server computer;
at least one general purpose client computer;
a distributed data storage system accessible to at least the client computer; and
logic executable by the client computer for undertaking method acts to manage access to assets in the storage system, the method acts comprising;
sending a request for a first access lock from the client computer to the server computer;
receiving the first access lock from the server computer, the access lock pertaining to at least one asset in the storage system, the asset being characterized by either an open state or a closed state;
receiving a demand from the server computer for the first access lock; and
in response to the demand, selectively not relinquishing the first access lock if the open state exists for the asset, and otherwise relinquishing the first access lock.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for managing access to assets in a distributed data storage system includes requesting, from a client computer, a semi-preemptible access lock from a server computer. The semi-preemptible lock, if granted, is held by the client computer as long as the server does not demand it back, with the client computer granting open instances under non-preemptible file locks for the asset to which the locks pertain as long as the client computer holds the semi-preemptible lock. When another client computer requests the semi-preemptible lock, the server can demand the lock from the holding client, which relinquishes the lock if no open instances are protected by the lock. Otherwise, the holding client computer first attempts to downgrade its lock to meet the request, and if compatibility is not achieved thereby, the holding client refuses to relinquish the lock.
41 Citations
10 Claims
-
1. A computer system, comprising:
-
at least one general purpose server computer;
at least one general purpose client computer;
a distributed data storage system accessible to at least the client computer; and
logic executable by the client computer for undertaking method acts to manage access to assets in the storage system, the method acts comprising;
sending a request for a first access lock from the client computer to the server computer;
receiving the first access lock from the server computer, the access lock pertaining to at least one asset in the storage system, the asset being characterized by either an open state or a closed state;
receiving a demand from the server computer for the first access lock; and
in response to the demand, selectively not relinquishing the first access lock if the open state exists for the asset, and otherwise relinquishing the first access lock. - View Dependent Claims (2, 3)
if an open state exists for the asset, attempting to downgrade incompatible locks held by the client computer, the incompatible locks being characterized as being incompatible with the first access lock; and
not relinquishing the first access lock if any incompatible lock cannot be downgraded.
-
-
3. The system of claim 1, wherein a lock is downgraded to a downgraded lock only when the downgraded lock protects open instances at the client computer.
-
4. A computer system, comprising:
-
at least one general purpose server computer;
at least first and second general purpose client computers;
a distributed data storage system accessible to at least the client computers; and
logic executable by the server computer for undertaking method acts to manage access to assets in the storage system, the method acts comprising;
receiving a request for a first access lock from the first client computer;
determining at least whether the first lock is compatible with a second lock associated with the second client computer;
granting the request if the first lock is compatible with the second lock;
otherwisedemanding the second lock.
-
-
5. A computer program device comprising:
-
a computer program storage device readable by a client computer; and
a program on the program storage device and including instructions executable by the client computer for managing access to assets in a distributed data storage system, the program comprising;
computer readable code means for sending a request for a first semi-preemptible access lock from the client computer to a server computer;
computer readable code means for receiving the first access lock from the server computer, the access lock pertaining to at least one asset in the storage system, the asset being characterized by either an open state or a closed state;
computer readable code means for receiving a demand from the server computer for the first access lock; and
computer readable code means for selectively not relinquishing the first access lock if the open state exists for the asset, and otherwise relinquishing the first access lock. - View Dependent Claims (6, 7)
computer readable code means for, if an open state exists for the asset, attempting to downgrade incompatible locks held by the client computer, the incompatible locks being characterized as being incompatible with the first access lock; and
computer readable code means for not relinquishing the first access lock if any incompatible lock cannot be downgraded.
-
-
7. The device of claim 6, wherein a lock is downgraded to a downgraded lock only when the downgraded lock protects open instances at the client computer.
-
8. A computer program device comprising:
-
a computer program storage device readable by a server computer; and
a program on the program storage device and including instructions executable by the server computer for managing access to assets in a distributed data storage system, the program comprising;
computer readable code means for receiving a request for a first semi-preemptible access lock from a first client computer;
computer readable code means for determining at least whether the first lock is compatible with a second semi-preemptible lock associated with a second client computer;
computer readable code means for granting the request if the first lock is compatible with the second lock;
otherwise demanding the second lock.
-
-
9. A computer-implemented method for managing access among plural client computers to assets in a distributed data storage system associated with at least one server computer, comprising the acts of:
-
issuing semi-preemptible access locks to client computers, the semi-preemptible access locks being conditions precedent for the grant of a file lock to open a file, the semi-preemptible access locks being relinquished upon demand of the server computer when no associated file lock is invoked. - View Dependent Claims (10)
determining at least whether a requested semi-preemptible lock is compatible with an outstanding semi-preemptible lock, and if so, granting the requested lock without demanding
-
Specification