IP Library Granted Patent US 10,789,239
Granted Patent B2
US 10,789,239 · App. 15/728,689 · Granted Sep 29, 2020

Finite state machine distributed ledger

Inventors: Giuseppe Ventura (New York, NY); Jeffrey Tangowski (New York, NY)
Assignee: AlphaPoint
G06F16/235G06F3/065G06F3/067G06F3/0619G06F11/1448G06F11/1458G06F11/2025G06F16/178G06F16/27G06Q10/087G06Q20/3674G06Q20/3829H04L9/0841H04L9/3013G06F2201/84G06F2201/85
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 10,789,239
App. No.
15/728,689
Granted
Sep 29, 2020
Kind
B2
Abstract

A distributed ledger is stored by a plurality of node computing entities. A node computing entity of the plurality of node computing entities comprises at least one processor, a memory, and a communications interface configured to communicate via at least one network. The node computing entity creates a finite state machine record set. A finite state machine record of the finite state machine record set comprises (a) event data for a corresponding event and (b) a domain object state for a domain object corresponding to the corresponding event. The domain object state indicating the state of the domain object as a result of the corresponding event. The node computing entity generates a block comprising the finite state machine record set and posts the block to the distributed ledger.

Claims (29)

1. A method for updating an user activity directory ledger, the user activity directory ledger being a distributed ledger, the distributed ledger stored by a plurality of node computing entities, the method comprising:

creating, by a node computing entity of the plurality of node computing entities and comprising at least one processor, a memory, and a communications interface configured to communicate via at least one network, a finite state machine record set, a finite state machine record of the finite state machine record set comprising (a) event data for a corresponding event and (b) a domain object state for a domain object corresponding to the corresponding event, the domain object state indicating the state of the domain object as a result of the corresponding event;

generating, by the node computing entity, a block comprising the finite state machine record set; and

posting the block to the user activity directory ledger, wherein posting the block to the user activity directory ledger comprises a validation process configured to ensure that the finite state machine record transitions the state of the domain object in a sequence permitted by the finite state machine.

2. The method of claim 1 , wherein posting the block to the user activity directory ledger comprises a consensus process.

3. The method of claim 1 , wherein the domain object state is a one of a set of finite states.

4. The method of claim 1 , wherein the domain object state is deterministic.

5. The method of claim 1 , wherein the block is generated in a common block structure.

6. The method of claim 1 , wherein a finite state machine record of the finite state machine record set is signed with a signing key corresponding to a user account associated with an event corresponding to the finite state machine record.

7. The method of claim 1 , wherein at least one field of at least one finite state machine record of the finite machine record set is encrypted with an encrypting key corresponding to a user account that has permission to access the data stored in the at least one field.

8. The method of claim 1 , wherein the block comprises a snapshot summarizing the current state of a set of domain objects corresponding to an application operating on the node computing entity.

9. The method of claim 1 , wherein a finite state machine record of the finite state machine record set is one of an add/edit user message or a share key message.

10. An apparatus for updating an user activity directory ledger, the user activity directory ledger being a distributed ledger, the distributed ledger stored by a plurality of node computing entities, the apparatus being one of the plurality of node computing entities, the apparatus comprising at least one processor, a communications interface configured for communicating via at least one network, and at least one memory storing computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least:

create a finite state machine record set, a finite state machine record of the finite state machine record set comprising (a) event data for a corresponding event and (b) a domain object state for a domain object corresponding to the corresponding event, the domain object state indicating the state of the domain object as a result of the corresponding event;

generate a block comprising the finite state machine record set; and

post the block to the user activity directory ledger, wherein posting the block to the user activity directory ledger comprises a validation process configured to ensure that the finite state machine record transitions the state of the domain object in a sequence permitted by the finite state machine.

11. The apparatus of claim 10 , wherein posting the block to the user activity directory ledger comprises a consensus process.

12. The apparatus of claim 10 , wherein the domain object state is a one of a set of finite states.

13. The apparatus of claim 10 , wherein the domain object state is deterministic.

14. The apparatus of claim 10 , wherein the block is generated in a common block structure.

15. The apparatus of claim 10 , wherein a finite state machine record of the finite state machine record set is signed with a signing key corresponding to a user account associated with an event corresponding to the finite state machine record.

16. The apparatus of claim 10 , wherein at least one field of at least one finite state machine record of the finite machine record set is encrypted with an encrypting key corresponding to a user account that has permission to access the data stored in the at least one field.

17. The apparatus of claim 10 , wherein the block comprises a snapshot summarizing the current state of a set of domain objects corresponding to an application operating on the node computing entity.

18. The apparatus of claim 10 , wherein a finite state machine record of the finite state machine record set is one of an add/edit user message or a share key message.

19. A computer program product for updating a user activity directory ledger, the user activity directory ledger being a distributed ledger, the distributed ledger stored by a plurality of node computing entities, the computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions configured to, when executed by a processor of a node computing entity of the plurality of node computing entities:

create a finite state machine record set, a finite state machine record of the finite state machine record set comprising (a) event data for a corresponding event and (b) a domain object state for a domain object corresponding to the corresponding event, the domain object state indicating the state of the domain object as a result of the corresponding event;

generate a block comprising the finite state machine record set; and

post the block to the user activity directory ledger, wherein posting the block to the user activity directory ledger comprises a validation process configured to ensure that the finite state machine record transitions the state of the domain object in a sequence permitted by the finite state machine.

20. The computer program product of claim 19 , wherein posting the block to the user activity directory ledger comprises a consensus process.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2017
From: VENTURA, GIUSEPPE; TANGOWSKI, JEFFREY
To: ALPHAPOINT
Reel/Frame 043873/0034 →
Continuity (5)
Provisional Application 62408339 · Oct 14, 2016
Provisional Application 62408344 · Oct 14, 2016
Provisional Application 62408336 · Oct 14, 2016
Provisional Application 62406059 · Oct 10, 2016
Related Publication 20180101557A1 · Apr 12, 2018
Cited By (6)
US 12,307,410 US 12,561,740 US 12,574,250 US 12,585,445 US 12,597,002 US 12,694,005