Method and system for protecting the consistency of information in a distributed file system
First Claim
1. In a computing environment comprising a lease coordinator, a data object, and a plurality of client devices, a method for protecting consistency of properties of the data object, the method comprising:
- by each of at least a subset of the plurality of client devices, sending to the lease coordinator a self value representative of that client device'"'"'s intended use of the data object;
by the lease coordinator, receiving at least a subset of the self values sent by the client devices;
by the lease coordinator, calculating for a target client device an other value representative of that target client device'"'"'s permissible use of the data object, the other value based, at least in part, on at least a subset of the self values sent by the client devices;
by the lease coordinator, sending to the target client device the other value calculated for the target client device; and
by the target client device, receiving the other value calculated for the target client device.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed are “black-box leases” that protect information consistency and that allow for information sharing in a distributed file system while hiding from a client information about other clients'"'"' use of the file system. This information hiding also allows greater concurrency because changes to the file system are permitted as long as they do not affect the leases as observed by the clients. For each data field protected by a black-box lease, a client has a two-value data structure: SelfValue represents the client'"'"'s intended use of the data field, and OtherValue is an aggregation of the other clients'"'"' intended uses of that data field. Knowing only this aggregate OtherValue, but without knowing any specifics of the other clients'"'"' usage patterns, the client knows how it may use the data field without adversely affecting the consistency of data in the distributed file system.
-
Citations
47 Claims
-
1. In a computing environment comprising a lease coordinator, a data object, and a plurality of client devices, a method for protecting consistency of properties of the data object, the method comprising:
-
by each of at least a subset of the plurality of client devices, sending to the lease coordinator a self value representative of that client device'"'"'s intended use of the data object;
by the lease coordinator, receiving at least a subset of the self values sent by the client devices;
by the lease coordinator, calculating for a target client device an other value representative of that target client device'"'"'s permissible use of the data object, the other value based, at least in part, on at least a subset of the self values sent by the client devices;
by the lease coordinator, sending to the target client device the other value calculated for the target client device; and
by the target client device, receiving the other value calculated for the target client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable medium having computer-executable instructions for performing a method, in a computing environment comprising a lease coordinator, a data object, and a plurality of client devices, for protecting consistency of properties of the data object, the method comprising:
-
by each of at least a subset of the plurality of client devices, sending to the lease coordinator a self value representative of that client device'"'"'s intended use of the data object;
by the lease coordinator, receiving at least a subset of the self values sent by the client devices;
by the lease coordinator, calculating for a target client device an other value representative of that target client device'"'"'s permissible use of the data object, the other value based, at least in part, on at least a subset of the self values sent by the client devices;
by the lease coordinator, sending to the target client device the other value calculated for the target client device; and
by the target client device, receiving the other value calculated for the target client device.
-
-
17. In a computing environment comprising a lease coordinator, a data object, and a plurality of client devices, a method for a target client device to protect consistency of properties of the data object, the method comprising:
-
sending to the lease coordinator a self value representative of the target client device'"'"'s intended use of the data object;
receiving from the lease coordinator an other value for the target client device; and
using the data object, the using based, at least in part, on the received other value for the target client device. - View Dependent Claims (18, 19, 20)
-
-
21. A computer-readable medium having computer-executable instructions for performing a method, in a computing environment comprising a lease coordinator, a data object, and a plurality of client devices, for a target client device to protect consistency of properties of the data object, the method comprising:
-
sending to the lease coordinator a self value representative of the target client device'"'"'s intended use of the data object;
receiving from the lease coordinator an other value for the target client device; and
using the data object, the using based, at least in part, on the received other value for the target client device.
-
-
22. In a computing environment comprising a lease coordinator, a data object, and a plurality of client devices, a method for the lease coordinator to protect consistency of properties of the data object, the method comprising:
-
receiving from each of at least a subset of the plurality of client devices a self value representative of that client device'"'"'s intended use of the data object;
calculating for a target client device an other value representative of that target client device'"'"'s permissible use of the data object, the other value based, at least in part, on at least a subset of the self values sent by the client devices; and
sending to the target client device the other value calculated for the target client device. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A computer-readable medium having computer-executable instructions for performing a method, in a computing environment comprising a lease coordinator, a data object, and a plurality of client devices, for the lease coordinator to protect consistency of properties of the data object, the method comprising:
-
receiving from each of at least a subset of the plurality of client devices a self value representative of that client device'"'"'s intended use of the data object;
calculating for a target client device an other value representative of that target client device'"'"'s permissible use of the data object, the other value based, at least in part, on at least a subset of the self values sent by the client devices; and
sending to the target client device the other value calculated for the target client device.
-
-
36. A system for protecting consistency of properties of a data object, the system comprising:
-
the data object;
a plurality of client devices, each client device configured for sending to a lease coordinator a self value representative of that client device'"'"'s intended use of the data object;
the lease coordinator configured for receiving at least a subset of the self values sent by the client devices, for calculating for a target client device an other value representative of that target client device'"'"'s permissible use of the data object, the other value based, at least in part, on at least a subset of the self values sent by the client devices, and for sending to the target client device the other value calculated for the target client device; and
a target client device configured for receiving the other value calculated for the target client device. - View Dependent Claims (37, 38, 39, 40, 41)
-
-
42. A computer-readable medium having stored thereon a lease data structure, the lease data structure comprising:
-
a first data field containing data representing, for a first use mode of a data object, a self value representative of a target client device'"'"'s intended use of the data object; and
a second data field containing data representing, for the first use mode of the data object, an other value representative of an aggregation of a plurality of client devices'"'"' intended uses of the data object. - View Dependent Claims (43, 44, 45, 46, 47)
-
Specification