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 plurality of client devices;
by the lease coordinator, calculating, for a target client device, another value representative of an aggregation of the respective self values of the others of the subset of the plurality of client devices, the other value indicating which of a plurality of access modes are permissible for use by the target client device,wherein each other value is protected by another read lease controlling whether the client is authorized to observe the other value, andwherein the lease coordinator grants the other read lease to the target client device in an event at least one other client has a self value set TRUE, or in an event no other client has a self value set FALSE and none of the respective other clients is authorized to change the self value to TRUE; and
by the lease coordinator, sending, to the target client device, the other value calculated for the target client device such that usage patterns of particular other clients are hidden from 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
32 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 plurality of client devices; by the lease coordinator, calculating, for a target client device, another value representative of an aggregation of the respective self values of the others of the subset of the plurality of client devices, the other value indicating which of a plurality of access modes are permissible for use by the target client device, wherein each other value is protected by another read lease controlling whether the client is authorized to observe the other value, and wherein the lease coordinator grants the other read lease to the target client device in an event at least one other client has a self value set TRUE, or in an event no other client has a self value set FALSE and none of the respective other clients is authorized to change the self value to TRUE; and by the lease coordinator, sending, to the target client device, the other value calculated for the target client device such that usage patterns of particular other clients are hidden from the target client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage medium having computer-executable instructions, that when executed by a processor, perform 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 plurality of client devices; by the lease coordinator, aggregating the respective self values of the others of the subset of the plurality of client devices to calculate, for a target client device, another value representative of the target client device'"'"'s permissible use of the data object, the other value indicating which of a plurality of access modes are permissible for use by the target client device, wherein each other value is protected by another read lease controlling whether the client is authorized to observe the other value, and wherein the lease coordinator grants the other read lease to the target client device in an event at least one other client has a self value set TRUE, or in an event no other client has a self value set FALSE and none of the respective other clients is authorized to change the self value to TRUE; and by the lease coordinator, sending to the target client device the other value calculated for the target client device, such that usage patterns of the other clients'"'"' are hidden from the target client device.
-
-
16. 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 another value representative of an aggregation of the respective self values of the others of the subset of the plurality of client devices, the other value indicating which of a plurality of access modes are permissible for use by the target client device, wherein each other value is protected by another read lease controlling whether the client is authorized to observe the other value, and wherein the lease coordinator grants the other read lease to the target client device in an event at least one other client has a self value set TRUE, or in an event no other client has a self value set FALSE and none of the respective other clients is authorized to change the self value to TRUE; and sending to the target client device the other value calculated for the target client device, such that usage patterns of the other clients are hidden from the target client device. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer-readable storage medium having computer-executable instructions, that when executed by a processor, perform 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, another value representative of an aggregation of the respective self values of the others of the subset of the plurality of client devices, the other value being further representative of that target client device'"'"'s permissible use of the data object by indicating which of a plurality of access modes are permissible for use by the target client device, wherein each other value is protected by another read lease controlling whether the client is authorized to observe the other value, and wherein the lease coordinator grants the other read lease to the target client in an event at least one other client has a self value set TRUE, or in an event no other client has a self value set FALSE and none of the respective other clients is authorized to change the self value to TRUE; and sending, to the target client device, the other value calculated for the target client device, such that usage patterns of the other clients are hidden from the target client device.
-
-
28. 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 plurality of client devices; aggregating the respective self values of others of the plurality of client devices to calculate, for a target client device, another value specific for the target client device and representative of that target client device'"'"'s permissible use of the data object, the other value indicating which of a plurality of access modes are permissible for use by the target client device, wherein each other value is protected by another read lease controlling whether the client is authorized to observe the other value, and wherein the lease coordinator grants the other read lease to the target client in an event at least one other client has a self value set TRUE, or in an event no other client has a self value set FALSE and none of the respective other clients is authorized to change the self value to TRUE; and sending to the target client device the other value calculated for the target client device such that usage patterns of the other clients are hidden from the target client device; and the target client device configured for receiving the other value calculated for the target client device. - View Dependent Claims (29, 30, 31, 32)
-
Specification