IP Library Patent Application 17015042
Patent Application
App. No. 17/015,042

MULTIGRAPH VERIFICATION

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
17/015,042
Abstract

A method includes obtaining program state of a self-executing protocol, wherein the program state includes a set of conditional statements and a directed graph including a set of vertices and a set of directed edges, each respective vertex associated with a respective category label of a set of mutually exclusive categories. The method may include receiving an event message including a set of parameters, selecting a first subset of vertices triggered by the event message and a second subset of vertices based on the first subset of vertices. The method may include determining an aggregated parameter based on a subset of conditional statements, where each respective conditional statement is associated with a respective vertex that is associated with a first category label of the set of mutually exclusive categories. The method may include storing the aggregated parameter in persistent storage.

Claims (68)

1 . A tangible, non-transitory, machine-readable medium storing instructions that, when executed by a computer system, effectuate operations comprising:

obtaining, with a computer system, program state of a self-executing protocol, wherein the program state comprises:

a set of conditional statements;

a first identifier of a first entity; and

a directed graph, the directed graph comprising a set of vertices and a set of directed edges connecting respective pairs of vertices among the set of vertices, wherein each respective vertex of the set of vertices is associated with a respective category label of a set of mutually exclusive categories;

receiving, at an application program interface of the computer system, an event message comprising a set of parameters;

selecting, with the computer system, a first subset of vertices triggered by the event message based on the set of parameters;

selecting, with the computer system, a second subset of vertices based on the first subset of vertices, wherein the second subset of vertices is associated with the first subset of vertices via the set of directed edges;

determining, with the computer system, an aggregated parameter based on a subset of conditional statements, wherein each respective conditional statement of the subset of conditional statements is associated with a respective vertex of the second subset of vertices, and wherein the respective vertex is associated with a first category label of the set of mutually exclusive categories that is associated to each of the other vertices associated with the subset of conditional statements; and

storing, with the computer system, the aggregated parameter in memory.

2 . The medium of claim 1 , the operations further comprising:

determining whether the event message is valid using a set of validator nodes of a peer-to-peer network, wherein each node of the peer-to-peer network is communicatively coupled to at least one other node of the peer-to-peer network;

in response to a determination that the event message is valid, distributing a validation message indicating that the event message is valid; and

storing a value based on the event message on a tamper-evident, distributed ledger encoding records of a plurality of previous values in a directed acyclic graph of cryptographic hash pointers, wherein the tamper-evident, distributed ledger is stored on the peer-to-peer network.

3 . The medium of claim 2 , wherein determining the first subset of vertices comprises determining the first subset of vertices at a first node of the peer-to-peer network before the validation message is received by the first node.

4 . The medium of claim 1 , wherein the program state further comprises a first identifier of a first entity, the operations further comprising:

determining whether the event message is valid using a set of validator nodes of a peer-to-peer network;

based on a determination that the event message is not valid, sending an issue notification to a node of the peer-to-peer network associated with the first entity, wherein the issue notification comprises an identifier of the event message.

5 . The medium of claim 1 , wherein the program state further comprises a first identifier of a first entity, further comprising:

determining a network path from a first node of a peer-to-peer network to a second node of the peer-to-peer network using a breadth first search, wherein:

the first node received the event message before the second node,

the second node is associated with the first entity, and

the network path comprises a plurality of nodes of the peer-to-peer network; and

sending data of the event message to the second node from the first node via the network path.

6 . The medium of claim 1 , wherein the event message is a first event message, the operations further comprising:

receiving a second event message within a duration threshold before or after receiving the first event message;

determining whether the second event message causes a vertex of the first subset of vertices to trigger;

in response to a determination that the second event message causes the vertex of the first subset of vertices to trigger, obtaining a set of triggering parameters of the second event message, wherein the set of triggering parameters comprise values that satisfy a condition of the vertex;

determining whether a first value of the first event message and a second value of the second event message differ with respect to the set of triggering parameters; and

based on a determination that the first value matches the second value, updating a parameter associated with the second event message to indicate that the second event message is a duplicate event message.

7 . The medium of claim 1 , wherein the program state further comprises a first identifier of a first entity and an second identifier of a second entity, the operations further comprising:

retrieving a private conditional statement associated with the first entity, wherein the private conditional statement is not stored in program state accessible to the second entity; and

determining whether the private conditional statement is satisfied based on the first subset of vertices or the second subset of vertices.

8 . The medium of claim 1 , wherein a first stored value of the self-executing protocol is stored on a peer-to-peer network, and wherein a first node of the peer-to-peer network is permitted to access the first stored value of the program state, and wherein a second node of the peer-to-peer network is not permitted to access the first stored value.

9 . The medium of claim 1 , wherein determining the aggregated parameter comprises:

determining that triggering a first vertex of a pair of vertices of the directed graph causes the cancellation of a second vertex of the pair of vertices of the directed graph, wherein the first vertex is associated with a first conditional statement and the second vertex is associated with a second conditional statement;

selecting one of the pair parameters, the pair of parameters comprising a first parameter of the first conditional statement and a second parameter of the second conditional statement; and

determining the aggregated parameter based on the first parameter.

10 . The medium of claim 1 , wherein the program state further comprises a first identifier of a first entity, and wherein the first entity is associated with an entity role, the operations further comprising selecting the first entity, wherein selecting the first entity comprises:

selecting a vertex of the first subset of vertices based on the set of parameters; and

selecting the first entity based on the entity role being associated with the vertex.

11 . The medium of claim 10 , wherein a second entity is associated the entity role, the operations further comprising sending a second message to the second entity based on the second entity being associated with the entity role.

12 . The medium of claim 1 , wherein the program state further comprises a first identifier of a first entity, the operations further comprising:

determining that the first entity is associated with an entity role;

in response to a determination that the first entity is associated with the entity role, selecting a previous message from a history of messages based on the entity role; and

sending the previous message to the first entity.

13 . The medium of claim 1 , the operations further comprising providing a user interface (UI), wherein vertices displayed in the UI are colored based on color associations with category labels associated with the vertices, and wherein each respective category label of the set of mutually exclusive categories is associated with a different color.

14 . The medium of claim 1 , wherein the program state further comprises a first identifier of a first entity, the operations further comprising:

determining whether a first confirmation key associated with a first representative of the first entity is received;

determining whether a second confirmation key associated with a second representative the first entity is received; and

in response to a determination that the first confirmation key and the second confirmation key is received, storing the first confirmation key and the second confirmation key in data storage in association with a record of a transaction between a pair entities comprising the first entity.

15 . The medium of claim 1 , wherein the program state further comprises a first identifier of a first entity, the operations further comprising;

obtaining a score associated with the first entity, wherein the score is associated with a resource type; and

updating the score based on the set of parameters, wherein the set of parameters comprises the resource type.

16 . The medium of claim 1 , wherein determining the aggregated parameter comprises determining a sum of values, wherein each respective value used to determine the sum of values is encoded in a respective conditional statement of the subset of conditional statements.

17 . The medium of claim 1 , the operations further comprising providing a user interface (UI), wherein the UI visually indicates the second subset of vertices based on a difference in color, difference in size, or difference in animation between the second subset of vertices and other vertices of the set of vertices.

18 . The medium of claim 1 , wherein determining the first subset of vertices comprises steps for determining the first subset of vertices.

19 . The medium of claim 1 , wherein determining the aggregated parameter comprises steps for determining the aggregated parameter.

20 . A method comprising:

obtaining, with a computer system, program state of a self-executing protocol, wherein the program state comprises:

a set of conditional statements;

a first identifier of a first entity; and

a directed graph, the directed graph comprising a set of vertices and a set of directed edges connecting respective pairs of vertices among the set of vertices, wherein each respective vertex of the set of vertices is associated with a respective category label of a set of mutually exclusive categories;

receiving, at an application program interface of the computer system, an event message comprising a set of parameters;

selecting, with the computer system, a first subset of vertices triggered by the event message based on the set of parameters;

selecting, with the computer system, a second subset of vertices based on the first subset of vertices, wherein the second subset of vertices is associated with the first subset of vertices via the set of directed edges;

determining, with the computer system, an aggregated parameter based on a subset of conditional statements, wherein each respective conditional statement of the subset of conditional statements is associated with a respective vertex of the second subset of vertices, and wherein the respective vertex is associated with a first category label of the set of mutually exclusive categories that is associated to each of the other vertices associated with the subset of conditional statements; and

storing, with the computer system, the aggregated parameter in memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2020
From: HUNTER, EDWARD
To: DIGITAL ASSET CAPITAL, INC.
Reel/Frame 053869/0784 →