×

Bilateral assertion model and ledger implementation thereof

  • US 10,404,469 B2
  • Filed: 05/27/2016
  • Issued: 09/03/2019
  • Est. Priority Date: 04/08/2016
  • Status: Active Grant
First Claim
Patent Images

1. A computer implemented method for facilitating interaction with a shared data structure, stored in a memory, by a plurality of participants, the method comprising:

  • receiving, by a processor via a network interface coupled with the processor, a first request data transaction message from a first participant of the plurality of participants, the first request data transaction message comprising data indicative of a request to modify data stored in the shared data structure, the shared data structure comprising a bilateral distributed ledger;

    identifying, by the processor, based on the first request data transaction message, at least one other participant of the plurality of participants to validate modifications to the data;

    generating, by the processor, a notification data transaction message for each of the identified at least one other participant, the notification data transaction message comprising data indicative of the request to modify the data;

    transmitting, by the network interface via the processor, the generated notification data transaction message to each of the identified at least one other participant;

    receiving, by the processor via the network interface responsive to the transmitted notification data transaction message, a validation data transaction message from each of the identified at least one other participant, each of the received validation data transaction messages comprising data indicative of a response to the notification data transaction message;

    determining, by the processor, based on the received validation data transaction messages, whether all of the identified at least one other participant have validated the request to modify the data, and, based thereon, when all of the identified at least one other participant have validated the request to modify the data;

    generating, by the processor, a confirmation data transaction message;

    transmitting, by the processor via the network interface, the confirmation data transaction message to the first participant; and

    modifying, by the processor, the data stored in the memory in the shared data structure according to the request to modify the data; and

    when less than all of the identified at least one other participant have validated the request;

    generating, by the processor, a rejection data transaction message;

    transmitting, by the processor via the network interface, the rejection data transaction message to the first participant; and

    not modifying, by the processor, the data stored in the memory in the shared data structure according to the request to modify the data;

    receiving, by the processor via the network interface, a data transaction request message comprising a second request data transaction message from a second participant of the plurality of participants comprising data indicative of a request by the second participant to modify data stored in the portion of the shared data structure, wherein the portion of the shared data structure comprises a sub-data structure for separately storing data indicative of transactions between each permutation of the second participant and others from the plurality of participants, wherein each of the transactions is linked to the other; and

    when the data transaction message comprises a second request data transaction message;

    identifying, by the processor, based on the second request data transaction message, at least one other participant of the plurality of participants to validate modifications to the data, and based thereon modifying the portion of the shared data structure to indicate validation is pending;

    generating, by the processor, a notification data transaction message for each identified at least one other participant, the notification data transaction message comprising data indicative of the request to modify the data in the portion of the shared data structure;

    transmitting, by the network interface coupled with the processor, each of the generated notification data transaction messages to the associated one of the identified at least one other participant;

    receiving, by the processor via the network interface responsive to the notification data transaction messages, a validation data transaction message from each of the identified at least one other participant, each of the received validation data transaction messages comprising data indicative of a response to the request to modify data stored in the portion of the shared data structure;

    determining, by the processor, based on the received validation data transaction messages, whether all of the identified at least one other participant have validated the request to modify the data in the portion of the shared data structure, and based thereon, when all of the identified at least one other participant have validated the request to modify the data in the portion of the shared data structure;

    generating, by the processor, a response data transaction message for each of the identified at least one other participant comprising data indicative of a confirmation of the modification to the data in the portion of the shared data structure;

    transmitting, by the network interface via the processor, the response data transaction message to each of the identified at least one other participant;

    modifying, in the memory via the processor, the data stored in the portion of the shared data structure according to the request to modify the data; and

    when less than all of the identified at least one other participant have validated the request;

    generating, by the processor, a response data transaction message for each of the identified at least one other participant comprising data indicative that the data in the portion of the shared data structure has not been modified;

    not modifying, in the memory via the processor, the data stored in the portion of the shared data structure according to the request to modify the data.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×