IP Library Granted Patent US 11,568,505
Granted Patent B2
US 11,568,505 · App. 16/164,501 · Granted Jan 31, 2023

System and method for a computing environment for verifiable execution of data-driven contracts

Inventors: Peter Geoffrey Lerato Hunn (Irving, TX); Ilya Ostrovskiy (Brooklyn, NY); Jerome Simeon (New York, NY)
Assignee: DOCUSIGN, INC.
G06Q50/188G06F9/45558G06Q20/405H04L9/0637G06F2009/4557H04L2209/30H04L2209/56
View Patent ↗
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 11,568,505
App. No.
16/164,501
Granted
Jan 31, 2023
Kind
B2
Abstract

A system and method for establishing a verified computing environment for executing data-driven contracts, comprising a cryptographic directed acyclic graph object model of a data-driven contract, wherein at least a subset of the objects in the MDAG correspond to clause state of at least one programmable clause of the data-driven contract; at a computing environment, administrating the data-driven contract in accordance with the MDAG which can include at least one execution instance comprised of: receiving a contract input to contract logic of the data-driven contract, processing the input according to the clause logic, in response to the contract input, generating at least one updated state object and generating at least one output object, and for each generated object, hash-linking the generated object to an object associated with the creation of the generated object.

Claims (34)

1. A method comprising:

receiving an electronic contract document for compliance administration, wherein the electronic contract document comprises natural language content and programmable clauses, wherein the programmable clauses comprise computer executable instructions that define:

clause state objects that indicate compliance with one or more programmable clauses, wherein the clause state object comprises a clause state variable; and

clause logic that programmatically change, based on contract input, one or more state variables indicating contract compliance;

computing a Merkle directed acyclic graph (MDAG) data structure of the electronic contract document, wherein at least a subset of objects in the MDAG data structure correspond to at least one clause state object of at least one programmable clause of the electronic contract document;

receiving, via an application programming interface, a contract input comprising an output from another clause to compliance logic of the electronic contract document,

wherein the contract input has a hash link reference to a current state object;

responsive to receiving the contract input:

executing, based on the contract input and the objects in the MDAG data structure, the clause logic, wherein executing the clause logic further comprises executing the clause logic based on the current state object;

generating, based on the clause logic, at least one updated state object, the clause logic, configured to detect the output from the another clause, and responsively generate the at least one updated state object; and

for each generated updated state object, modifying the MDAG data structure by appending, using hash-linking, the generated updated state object to a state object associated with creation of the generated object, the MDAG also including, for each generated updated state object, a prior version of the generated updated state object, wherein computing the MDAG comprises storing objects of the MDAG through a hypermedia protocol of a distributed file system.

2. The method of claim 1 , further comprising initializing a master state object in the MDAG; and wherein executing the clause logic further comprises processing the contract input according to logic of the master state object and dispatching execution to other clause logic objects referenced in the MDAG.

3. The method of claim 1 , further responsive to receiving the contract input:

generating at least one output object,

verifying consensus upon finalizing execution of the clause logic, and

upon verifying consensus, performing actions of the at least one output object.

4. The method of claim 3 , wherein performing the actions comprises:

detecting one or more external actions to process in response to the output object;

responsive to detecting the one or more external actions, selecting a peer to perform the action; and

directing selected peer to attempt the external action, wherein generating the output state comprises recording the output state upon success of the external action.

5. The method of claim 1 , wherein the MDAG is integrated with a contract management system.

6. The method of claim 1 , further comprising generating at least one output object in response to the contract input.

7. The method of claim 6 , further comprising performing an external action in response to the at least one output object in the MDAG.

8. The method of claim 6 , further comprising invoking at least one additional clause logic object in response to the output object.

9. The method of claim 6 , wherein generating the at least one output object further comprises generating a return object to be returned to an original invoking clause logic object.

10. The method of claim 7 , further comprising performing an action comprising interfacing with and executing a transaction with a distributed ledger system.

11. The method of claim 7 , further comprising performing an action comprising communicating with an edge computing device.

12. The method of claim 7 , further comprising performing an action comprising communicating with an external application programming interface.

13. The method of claim 10 , wherein interfacing with and executing the transaction with the distributed ledger system comprises storing object data on the distributed ledger.

14. The method of claim 1 , wherein the MDAG comprises of objects associated with clause logic of at least one programmable clause of the electronic contract document and data objects.

15. The method of claim 1 , further comprising performing the method in a virtual machine computing environment.

16. The method of claim 15 , wherein the virtual machine is run on a plurality of computing hosts within a peer-to-peer network.

17. The method of claim 1 , wherein the contract input originates from one of the following: an edge computing device, a distributed ledger system, a blockchain system, or data retrieved through an application programming interface.

18. The method of claim 1 , wherein the electronic contract document is a legal contract between at least two parties.

Assignments (3)
PATENT SECURITY AGREEMENT Recorded May 23, 2025
From: DOCUSIGN, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 071337/0240 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: CLAUSE, INC.
To: DOCUSIGN, INC.
Reel/Frame 057011/0840 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2021
From: HUNN, PETER GEOFFREY LERATO; OSTROVSKIY, ILYA; SIMEON, JEROME
To: CLAUSE, INC.
Reel/Frame 056938/0858 →