IP Library Patent Application 17015073
Patent Application
App. No. 17/015,073

CONFIDENTIAL GOVERNANCE VERIFICATION FOR GRAPH-BASED SYSTEM

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,073
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 (76)

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

obtaining, with a computing system, a set of conditions;

obtaining, with the computing system, a first cross-program entity identifier of a first entity, wherein the first cross-program entity identifier is unique amongst a set of cross-program entity identifiers of a decentralized computing platform;

obtaining, with the computing system, a set of directed graphs of a set of self-executing protocols comprising a first self-executing protocol and a second self-executing protocol that are executed on the decentralized computing platform, wherein:

each respective self-executing protocol of the set of self-executing protocols comprises data of a respective directed graph of the respective self-executing protocol, and

the first cross-program entity identifier is associated with a first program-specific entity identifier of the first self-executing protocol and a second program-specific entity identifier of the second self-executing protocol;

determining, with the computing system, that the set of conditions is applicable to the first entity based on the first cross-program entity identifier;

determining, with the computing system, whether the set of conditions are satisfied based on whether a graph portion associated with the set of directed graphs corresponds to a graph portion template of the set of conditions; and

in response to a determination that the graph portion corresponds to the graph portion template, storing, with the computing system, an indication that the first entity violated the set of conditions in a profile of the first entity using the first cross-program entity identifier.

2 . The medium of claim 1 , further comprising:

determining a first set of geographic locations associated with the first entity based on the first cross-program entity identifier; and

determining whether the first set of geographic locations satisfies a first condition of the set of conditions based on whether the first set of geographic locations is within a geofence indicated by the first condition, wherein the indication indicates that the first entity violated the set of conditions based on whether the first set of geographic locations satisfies the first condition.

3 . The medium of claim 1 , the operations further comprising determining a second set of counterparty entities based on the set of self-executing protocols, wherein each counterparty entity of the set of counterparty entities is associated with a transaction with the first entity.

4 . The medium of claim 1 , wherein obtaining the set of conditions comprises:

obtaining a governing document;

determining a set of entity categories using a natural language processing model based on governing document; and

determining a condition of the set of conditions based on the set of entity categories.

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

obtaining a governing document;

selecting a section of the governing document based on a text header indicated by a set of text sizes or text spacings; and

determining a condition of the set of conditions based on the section of the governing document.

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

obtaining a first profile associated with the first cross-program entity identifier;

obtaining a natural language document, wherein the natural language document comprises a verifying agent identifier and an entity name associated with the first cross-program entity identifier;

using a natural language processing model to parse the natural language document to determine the verifying agent identifier and the entity name;

sending a first message comprising the entity name to an application program interface (API) of a third-party entity based on the verifying agent identifier; and

obtaining a second message from the third-party entity indicating that the entity name is valid and, in response, setting the first profile associated with the first cross-program entity identifier as a verified profile.

7 . The medium of claim 1 , further comprising sending a notification message to a second entity indicating that the first entity failed the set of conditions.

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

sending a first message comprising data of a pending transaction to a third entity, wherein a participant of the pending transaction is associated with the first cross-program entity identifier;

obtaining a second message from the third entity, wherein the second message indicates that the third entity has verified the pending transaction; and

in response to receiving the second message, storing a value indicating that the transaction was verified by the third entity on a distributed, tamper-evident data structure.

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

determining, after a threshold duration of time after determining whether the set of conditions are satisfied, whether the set of conditions are satisfied a second time; and

in response to a determination that the set of conditions are satisfied, setting a value to indicate that a resource transfer or allocation of a pending transaction is permitted, wherein a participant of the pending transaction is associated with the first cross-program entity identifier.

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

determining that a variable of the set of conditions is not stored in data of a smart self-executing protocol;

compute a value for the variable using a function encoded in the set of conditions;

determining whether a the value satisfies a threshold value of a first condition; and

in response to a determination that the value satisfies the threshold value, storing a value indicating that the first entity satisfies the first condition to a persistent storage.

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

obtaining an additional governing document;

updating the set of conditions based on the additional governing document; and

determining whether the updated set of conditions is satisfied.

12 . The medium of claim 1 , wherein determining whether the set of conditions is satisfied further comprises:

determining a first score change of the first self-executing protocol;

determining that the first score change is associated with the first entity based on an association between the first program-specific entity identifier and the first cross-program entity identifier;

determining a second score change of the second self-executing protocol;

determining that the second score change is associated with the first entity based on an association between the second program-specific entity identifier and the first cross-program entity identifier; and

determining whether the first entity satisfies the set of conditions based on the first score change and the second score change.

13 . The medium of claim 12 , the operations further comprising:

determine a summation based on the first score change and the second score change,

wherein determining whether the set of conditions is satisfied comprises determining whether the summation satisfies a threshold value.

14 . The medium of claim 1 , wherein a set of entities participating in the first self-executing protocol do not have permission to view the first cross-program entity identifier and the computer system prevents such viewing responsive to the lack of permission.

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

determining whether a first value of a transaction satisfies a warning threshold, wherein the warning threshold is based on a condition of the set of conditions; and

sending a message indicating that the warning threshold has been satisfied to the first entity.

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

determining a hierarchy of conditions based on a set of precedence values associated with the set of conditions;

determining a pair of conflicting conditions based on the set of conditions and a difference in labels between category labels of the set of conditions, wherein each category label of a respective condition of the set of conditions is one of a set of mutually exclusive category labels; and

determining an overriding condition based on the hierarchy of governing conditions, wherein the overriding condition is one of the pair of conflicting conditions, and wherein the overriding condition is indicated to take precedence over the other condition of the pair of conflicting conditions.

17 . The medium of claim 1 , further comprising:

determining that a second cross-program entity identifier is associated with the first entity;

determining that a condition is associated with the second cross-program entity identifier; generating an association between the first cross-program entity identifier and the second cross-program entity identifier in a database of cross-program entity identifiers; and

persisting the database of cross-program entity identifiers to a persistent storage of the computing system.

18 . The medium of claim 1 , the operations further comprising steps for obtaining the set of conditions.

19 . The medium of claim 1 , the operations further comprising steps for determining whether the set of conditions is violated.

20 . A method comprising:

obtaining, with a computing system, a set of conditions;

obtaining, with the computing system, a first cross-program entity identifier of a first entity, wherein the first cross-program entity identifier is unique amongst a set of cross-program entity identifiers of a decentralized computing platform;

obtaining, with the computing system, a set of directed graphs of a set of self-executing protocols comprising a first self-executing protocol and a second self-executing protocol that are executed on the decentralized computing platform, wherein:

each respective self-executing protocol of the set of self-executing protocols comprises data of a respective directed graph of the respective self-executing protocol, and

the first cross-program entity identifier is associated with a first program-specific entity identifier of the first self-executing protocol and a second program-specific entity identifier of the second self-executing protocol;

determining, with the computing system, that the set of conditions is applicable to the first entity based on the first cross-program entity identifier;

determining, with the computing system, whether the set of conditions are satisfied based on whether a graph portion associated with the set of directed graphs corresponds to a graph portion template of the set of conditions; and

in response to a determination that the graph portion corresponds to the graph portion template, storing, with the computing system, an indication that the first entity violated the set of conditions in a profile of the first entity using the first cross-program entity identifier.

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