Chandra-Toueg consensus in a content centric network
First Claim
1. A computer system that operates as a coordinator for facilitating synchronization via consensus between a plurality of nodes in a content centric network using interests and content objects to communicate between the plurality of nodes, the plurality of nodes associated with a group prefix for routing in the content centric network, the system comprising:
- a processor; and
a storage device storing instructions that when executed by the processor cause the processor to perform a method, the method comprising;
receiving a first interest that includes a name and a payload, wherein a name in the content centric network is a hierarchically structured variable length identifier comprising contiguous name components ordered from a most general level to a most specific level, wherein the name of the first interest indicates a vote and a round number, and wherein the payload of the first interest includes a value associated with the group prefix;
in response to receiving the first interest, and in response to receiving a vote for the value from a majority of the plurality of nodes, generating a first content object that includes a name and a payload, wherein the name of the first content object indicates an acknowledgment of the vote, wherein the acknowledgement indicates that a majority of the plurality of nodes have submitted a vote for a value that is the same as the value indicated in the first interest, and wherein the payload of the first content object includes a nonce validator;
in response to receiving a second interest that indicates an acknowledgment of the first content object, and in response to receiving an acknowledgment of an acknowledgment of the vote for the value from the majority of the plurality of nodes, generating a second content object that includes a payload and a name that indicates a decision for the value, wherein the decision indicates that a majority of the plurality of nodes have submitted an acknowledgment of the first content object, and wherein the payload of the second content object includes a nonce which is used as a pre-image of the nonce validator; and
determining that the decision for the value indicated by the vote is a valid decision determined by consensus of the plurality of nodes, thereby achieving synchronization via consensus among the plurality of nodes in the content centric network.
0 Assignments
0 Petitions
Accused Products
Abstract
One embodiment provides a system that facilitates secure communication between computing entities. During operation, the system generates a first interest that indicates a vote for a value associated with a group prefix and a round number. In response to the first interest, the system receives a first content object that indicates an acknowledgment of the vote and has a payload that includes a nonce validator. In response to a second interest that indicates an acknowledgment of the first content object, the system receives a second content object that indicates a decision for the value and has a payload that includes a nonce which is used as a pre-image of the nonce validator. The system verifies the second content object based on the nonce and the nonce validator.
605 Citations
20 Claims
-
1. A computer system that operates as a coordinator for facilitating synchronization via consensus between a plurality of nodes in a content centric network using interests and content objects to communicate between the plurality of nodes, the plurality of nodes associated with a group prefix for routing in the content centric network, the system comprising:
-
a processor; and a storage device storing instructions that when executed by the processor cause the processor to perform a method, the method comprising; receiving a first interest that includes a name and a payload, wherein a name in the content centric network is a hierarchically structured variable length identifier comprising contiguous name components ordered from a most general level to a most specific level, wherein the name of the first interest indicates a vote and a round number, and wherein the payload of the first interest includes a value associated with the group prefix; in response to receiving the first interest, and in response to receiving a vote for the value from a majority of the plurality of nodes, generating a first content object that includes a name and a payload, wherein the name of the first content object indicates an acknowledgment of the vote, wherein the acknowledgement indicates that a majority of the plurality of nodes have submitted a vote for a value that is the same as the value indicated in the first interest, and wherein the payload of the first content object includes a nonce validator; in response to receiving a second interest that indicates an acknowledgment of the first content object, and in response to receiving an acknowledgment of an acknowledgment of the vote for the value from the majority of the plurality of nodes, generating a second content object that includes a payload and a name that indicates a decision for the value, wherein the decision indicates that a majority of the plurality of nodes have submitted an acknowledgment of the first content object, and wherein the payload of the second content object includes a nonce which is used as a pre-image of the nonce validator; and determining that the decision for the value indicated by the vote is a valid decision determined by consensus of the plurality of nodes, thereby achieving synchronization via consensus among the plurality of nodes in the content centric network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method performed by a computer system that operates as a coordinator for facilitating synchronization via consensus between a plurality of nodes in a content centric network using interests and content objects to communicate between the plurality of nodes, the plurality of nodes associated with a group prefix for routing in the content centric network, the method comprising:
-
receiving a first interest that includes a name and a payload, wherein a name in the content centric network is a hierarchically structured variable length identifier comprising contiguous name components ordered from a most general level to a most specific level, wherein the name of the first interest indicates a vote and a round number, and wherein the payload of the first interest includes a value associated with the group prefix; in response to receiving the first interest, and in response to receiving a vote for the value from a majority of the plurality of nodes, generating a first content object that includes a name and a payload, wherein the name of the first content object indicates an acknowledgment of the vote, wherein the acknowledgement indicates that a majority of the plurality of nodes have submitted a vote for a value that is the same as the value indicated in the first interest, and wherein the payload of the first content object includes a nonce validator; in response to receiving a second interest that indicates an acknowledgment of the first content object, and in response to receiving an acknowledgment of an acknowledgment of the vote for the value from the majority of the plurality of nodes, generating a second content object that includes a payload and a name that indicates a decision for the value, wherein the decision indicates that a majority of the plurality of nodes have submitted an acknowledgment of the first content object, and wherein the payload of the second content object includes a nonce which is used as a pre-image of the nonce validator; and determining that the decision for the value indicated by the vote is a valid decision determined by consensus of the plurality of nodes, thereby achieving synchronization via consensus among the plurality of nodes in the content centric network. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable medium storing instructions that, when executed by a processor of a computer system that operates as a coordinator for facilitating synchronization via consensus between a plurality of nodes in a content centric network using interests and content objects to communicate between the plurality of nodes, the plurality of nodes associated with a group prefix for routing in the content centric network, causes the processor to perform a method comprising:
-
receiving a first interest that includes a name and a payload, wherein a name in the content centric network is a hierarchically structured variable length identifier comprising contiguous name components ordered from a most general level to a most specific level, wherein the name of the first interest indicates a vote and a round number, and wherein the payload of the first interest includes a value associated with the group prefix; in response to receiving the first interest, and in response to receiving a vote for the value from a majority of the plurality of nodes, generating a first content object that includes a name and a payload, wherein the name of the first content object indicates an acknowledgment of the vote, wherein the acknowledgement indicates that a majority of the plurality of nodes have submitted a vote for a value that is the same as the value indicated in the first interest, and wherein the payload of the first content object includes a nonce validator; in response to receiving a second interest that indicates an acknowledgment of the first content object, and in response to receiving an acknowledgment of an acknowledgment of the vote for the value from the majority of the plurality of nodes, generating a second content object that includes a payload and a name that indicates a decision for the value, wherein the decision indicates that a majority of the plurality of nodes have submitted an acknowledgment of the first content object, and wherein the payload of the second content object includes a nonce which is used as a pre-image of the nonce validator; and determining that the decision for the value indicated by the vote is a valid decision determined by consensus of the plurality of nodes, thereby achieving synchronization via consensus among the plurality of nodes in the content centric network. - View Dependent Claims (18, 19, 20)
-
Specification