Methods and systems for managing shared state within a distributed system with varying consistency and consensus semantics
First Claim
Patent Images
1. A method of generating a composed view of a state of each of a plurality of items in a distributed computing system having a plurality of computing devices, the method comprising:
- (a) receiving a first plurality of objects having a same number of fields, each of the first plurality of objects being received from a different one of the plurality of computing devices in the distributed computing system and each of the first plurality of objects representing a state of a first item in the distributed computing system to which access is controlled, each field of the first plurality of objects storing information that defines the state of the first item;
(b) operating, by a first composer module, on the first plurality of objects to generate a first composed view object of the state of the first item, the first composed view object having the same number of fields as each of the first plurality of objects, the fields of the first composed view object storing a combination of information selected from the fields of the first plurality of objects, the first composer module selected for use from amongst a first plurality of composer modules that are each configured to operate differently on the first plurality of objects and to thereby generate different first composed view objects;
(c) receiving a second plurality of objects having a same number of fields, each of the second plurality of objects being received from a different one of the plurality of computing devices in the distributed computing system and each of the second plurality of objects representing a state of a second item in the distributed computing system to which access is controlled, each field of the second plurality of objects storing information that defines the state of the second item;
(d) operating, by a second composer module, on the second plurality of objects to generate a second composed view object of the state of the second item, the second composed view object having the same number of fields as each of the second plurality of objects, the fields of the second composed view object storing a combination of information selected from the fields of the second plurality of objects, the second composer module selected for use from amongst a second plurality of composer modules that are each configured to operate differently on the second plurality of objects and to thereby generate different second composed view objects; and
(e) transmitting the first composed view object and the second composed view object using a reliable multicast protocol to at least some of the plurality of computing devices of the distributed computing system, the first composed view object and the second composed view object being used to achieve consistency and consensus about which computing devices within the distributed computing system can access which objects within the distributed computing system, the consistency and the consensus being achieved via one or more access control lists, the one or more access control lists being time-invariant and being defined in terms of one or more mutable groups, wherein the one or more mutable groups are not time-invariant.
15 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for managing shared state within a distributed system with varying consistency and consensus semantics are described. In one configuration, a computing device receives a first plurality of objects representing the state of a first item and a second plurality of objects representing the state of a second item. The computing device generates a composed view of the state of each of the first item and the second item. The resulting composed views are transmitted using a reliable multicast protocol.
71 Citations
17 Claims
-
1. A method of generating a composed view of a state of each of a plurality of items in a distributed computing system having a plurality of computing devices, the method comprising:
-
(a) receiving a first plurality of objects having a same number of fields, each of the first plurality of objects being received from a different one of the plurality of computing devices in the distributed computing system and each of the first plurality of objects representing a state of a first item in the distributed computing system to which access is controlled, each field of the first plurality of objects storing information that defines the state of the first item; (b) operating, by a first composer module, on the first plurality of objects to generate a first composed view object of the state of the first item, the first composed view object having the same number of fields as each of the first plurality of objects, the fields of the first composed view object storing a combination of information selected from the fields of the first plurality of objects, the first composer module selected for use from amongst a first plurality of composer modules that are each configured to operate differently on the first plurality of objects and to thereby generate different first composed view objects; (c) receiving a second plurality of objects having a same number of fields, each of the second plurality of objects being received from a different one of the plurality of computing devices in the distributed computing system and each of the second plurality of objects representing a state of a second item in the distributed computing system to which access is controlled, each field of the second plurality of objects storing information that defines the state of the second item; (d) operating, by a second composer module, on the second plurality of objects to generate a second composed view object of the state of the second item, the second composed view object having the same number of fields as each of the second plurality of objects, the fields of the second composed view object storing a combination of information selected from the fields of the second plurality of objects, the second composer module selected for use from amongst a second plurality of composer modules that are each configured to operate differently on the second plurality of objects and to thereby generate different second composed view objects; and (e) transmitting the first composed view object and the second composed view object using a reliable multicast protocol to at least some of the plurality of computing devices of the distributed computing system, the first composed view object and the second composed view object being used to achieve consistency and consensus about which computing devices within the distributed computing system can access which objects within the distributed computing system, the consistency and the consensus being achieved via one or more access control lists, the one or more access control lists being time-invariant and being defined in terms of one or more mutable groups, wherein the one or more mutable groups are not time-invariant. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for generating a composed view of the state of each of a plurality of items in a distributed computing system having a plurality of computing devices, the system comprising:
-
a receiver, in communication with a network using a reliable multi-cast protocol, receiving i) a first plurality of objects having a same number of fields, each of the first plurality of objects being received from a different one of the plurality of computing devices in the distributed computing system and each of the first plurality of objects representing a state of a first item in the distributed computing system to which access is controlled, each field of the first plurality of objects storing information that defines the state of the first item, and ii) a second plurality of objects having a same number of fields, each of the second plurality of objects being received from a different one of the plurality of computing devices in the distributed computing system and each of the second plurality of objects representing a state of a second item in the distributed computing system to which access is controlled, each field of the second plurality of objects storing information that defines the state of the second item; a first composer in communication with the receiver and selected for use from amongst a first plurality of composers, the first composer operating on the first plurality of objects to generate a first composed view object of the state of the first item, the first composed view object having the same number of fields as each of the first plurality of objects, the fields of the first composed view object storing a combination of information selected from the fields of the first plurality of objects, the first plurality of composers each being configured to operate differently on the first plurality of objects and to thereby generate different first composed view objects; a second composer in communication with the receiver and selected for use from amongst a second plurality of composers, the second composer operating on the second plurality of objects to generate a second composed view object of the state of the second item, the second composed view object having the same number of fields as each of the second plurality of objects, the fields of the second composed view object storing a combination of information selected from the fields of the second plurality of objects, the second plurality of composers each being configured to operate differently on the second plurality of objects and to thereby generate different second composed view objects; and a transmitter in communication with the first and second composers and the network, the transmitter transmitting, using the reliable multi-cast protocol, the first composed view object and the second composed view object to at least some of the plurality of computing devices of the distributed computing system, the first composed view object and the second composed view object being used to achieve consistency and consensus about which computing devices within the distributed computing system can access which objects within the distributed computing system, the consistency and the consensus being achieved via one or more access control lists, the one or more access control lists being time-invariant and being defined in terms of one or more mutable groups, wherein the one or more mutable groups are not time-invariant. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification