IP Library Granted Patent US 12,469,084
Granted Patent B2
US 12,469,084 · App. 18/145,795 · Granted Nov 11, 2025

Event sourcing

Inventors: Eugene Tokarev (Austin, TX); Mikhail Katychev (Dallas, TX)
Assignee: Bestow Inc.
G06Q40/08G06F11/3476G06F11/362G06F16/1734G06F16/258G06Q10/10G06Q20/401
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 12,469,084
App. No.
18/145,795
Granted
Nov 11, 2025
Kind
B2
Abstract

In general, this disclosure involves systems, software, and computer implemented methods including receiving a mutate command instructing the modification of an object from a first state to a second state and accessing an event log including an origin state of the object, and one or more previously executed mutation commands. The one or more previously executed mutation commands are applied to the origin state of the object to determine whether the first state is valid. In response to determining that the first state is valid, executing the mutate command on the object to place the object in the second state and recording the mutate command in the event log as an additional, previously executed, mutation command.

Claims (60)

1 . A method comprising:

receiving a mutate command instructing the modification of an object from a first state to a second state, wherein the object is a digital document comprising policy data, and wherein the modification of the first state to the second state comprises a change to the policy data;

accessing an event log comprising an origin state of the object, wherein the origin state is the state in which the object was instantiated, and one or more previously executed mutation commands;

applying the one or more previously executed mutation commands to the origin state of the object to generate a current state object;

comparing the current state object to the first state, and if the current state object matches the first state, determining that the first state is valid;

in response to determining that the first state is valid:

executing the mutate command on the object to place the object in the second state; and

recording the mutate command in the event log as an additional previously executed mutation command.

2 . The method of claim 1 , wherein the object is a component of a digital life insurance policy.

3 . The method of claim 1 , wherein the mutate command comprises changes to information in the object.

4 . The method of claim 1 , wherein if the current state object does not match the first state:

determining that the first state is invalid; and

returning a failure message indicating the object will not be placed in the second state.

5 . The method of claim 1 , wherein the one or more previously executed mutation commands each mutate the object from a previous state to a next state in a plurality of sequential states, and wherein the previously executed mutation commands are sequentially ordered.

6 . The method of claim 5 , comprising:

receiving a debug command request the object in a particular state of the plurality of sequential states;

accessing the event log and determining a subset of previously executed mutation commands that are sequentially ordered before the particular state; and

applying the subset of previously executed mutation commands, starting with an initially executed mutation command, to a debug object that is in the origin state to produce a debug object in the particular state of the plurality of sequential states.

7 . The method of claim 1 , comprising:

receiving a request for the object in a particular format;

accessing the event log;

applying the one or more previously executed mutation commands to the origin state of the object to create a current object;

converting the current object into the requested particular format; and

returning the object in the particular format.

8 . A non-transitory computer-readable storage medium storing one or more instructions executable by a computer system to perform operations comprising:

receiving a mutate command instructing the modification of an object from a first state to a second state, wherein the object is a digital document comprising policy data, and wherein the modification of the first state to the second state comprises a change to the policy data;

accessing an event log comprising an origin state of the object, wherein the origin state is the state in which the object was instantiated, and one or more previously executed mutation commands;

applying the one or more previously executed mutation commands to the origin state of the object to generate a current state object;

comparing the current state object to the first state, and if the current state object matches the first state, determining that the first state is valid;

in response to determining that the first state is valid:

executing the mutate command on the object to place the object in the second state; and

recording the mutate command in the event log as an additional previously executed mutation command.

9 . The computer-readable medium of claim 8 , wherein the object is a component of a digital life insurance policy.

10 . The computer-readable medium of claim 8 , wherein the mutate command comprises changes to information in the object.

11 . The computer-readable medium of claim 8 , wherein if the current state object does not match the first state:

determining that the first state is invalid; and

returning a failure message indicating the object will not be placed in the second state.

12 . The computer-readable medium of claim 8 , wherein the one or more previously executed mutation commands each mutate the object from a previous state to a next state in a plurality of sequential states, and wherein the previously executed mutation commands are sequentially ordered.

13 . The computer-readable medium of claim 12 , comprising:

receiving a debug command request the object in a particular state of the plurality of sequential states;

accessing the event log and determining a subset of previously executed mutation commands that are sequentially ordered before the particular state; and

applying the subset of previously executed mutation commands, starting with an initially executed mutation command, to a debug object that is in the origin state to produce a debug object in the particular state of the plurality of sequential states.

14 . The computer-readable medium of claim 8 , comprising:

receiving a request for the object in a particular format;

accessing the event log;

applying the one or more previously executed mutation commands to the origin state of the object to create a current object;

converting the current object into the requested particular format; and

returning the object in the particular format.

15 . A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

receiving a mutate command instructing the modification of an object from a first state to a second state, wherein the object is a digital document comprising policy data, and wherein the modification of the first state to the second state comprises a change to the policy data;

accessing an event log comprising an origin state of the object, wherein the origin state is the state in which the object was instantiated, and one or more previously executed mutation commands;

applying the one or more previously executed mutation commands to the origin state of the object to generate a current state object;

comparing the current state object to the first state, and if the current state object matches the first state, determining that the first state is valid;

in response to determining that the first state is valid:

executing the mutate command on the object to place the object in the second state; and

recording the mutate command in the event log as an additional previously executed mutation command.

16 . The system of claim 15 , wherein the object is a component of a digital life insurance policy.

17 . The system of claim 15 , wherein the mutate command comprises changes to information in the object.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded May 7, 2025
From: TRINITY CAPITAL INC.
To: BESTOW INC.
Reel/Frame 071055/0606 →
RELEASE OF SECURITY INTEREST Recorded May 6, 2025
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY
To: BESTOW INC.
Reel/Frame 071040/0378 →
SECURITY INTEREST Recorded May 2, 2025
From: BESTOW INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 071013/0471 →
SECURITY INTEREST Recorded Feb 3, 2025
From: BESTOW INC.
To: TRINITY CAPITAL INC.
Reel/Frame 070094/0231 →
SECURITY INTEREST Recorded Aug 14, 2024
From: BESTOW INC.
To: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY
Reel/Frame 068286/0981 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2023
From: TOKAREV, EUGENE; KATYCHEV, MIKHAIL
To: BESTOW INC.
Reel/Frame 063110/0552 →
Continuity (2)
Provisional Application 63345717 · May 25, 2022
Related Publication 20230385174A1 · Nov 30, 2023
References Cited (49)
US 6581063B1 · Kirkman · 2003 [cited by examiner]
US 10282785B1 · Yager et al. · 2019 [cited by applicant]
US 10467050B1 · Schmidgall et al. · 2019 [cited by applicant]
US 10607294B1 · Mitchell et al. · 2020 [cited by applicant]
US 10616075B2 · Dawes et al. · 2020 [cited by applicant]
US 10685009B1 · Rutley et al. · 2020 [cited by applicant]
US 10922658B2 · Moll · 2021 [cited by applicant]
US 10997665B2 · Neag et al. · 2021 [cited by applicant]
US 11329998B1 · Shahidzadeh et al. · 2022 [cited by applicant]
US 11824971B2 · Mesiano et al. · 2023 [cited by applicant]
US 11854086B1 · Yager et al. · 2023 [cited by applicant]
US 20050038724A1 · Roever et al. · 2005 [cited by applicant]
US 20050234860A1 · Roever et al. · 2005 [cited by applicant]
US 20080033813A1 · Khachatryan · 2008 [cited by applicant]
US 20080183507A1 · Lutnick et al. · 2008 [cited by applicant]
US 20130060582A1 · Cutino et al. · 2013 [cited by applicant]
US 20150073834A1 · Gurenko et al. · 2015 [cited by applicant]
US 20160098298A1 · Trefler et al. · 2016 [cited by applicant]
US 20160275455A1 · Moll · 2016 [cited by applicant]
US 20170140467A1 · Neag et al. · 2017 [cited by applicant]
US 20180076954A1 · Mesiano et al. · 2018 [cited by applicant]
US 20180089764A1 · Busque et al. · 2018 [cited by applicant]
US 20180367946A1 · Best · 2018 [cited by applicant]
US 20190370615A1 · Murphy · 2019 [cited by examiner]
US 20200090188A1 · Wince et al. · 2020 [cited by applicant]
US 20210201328A1 · Gunther · 2021 [cited by examiner]
US 20210314305A1 · Rodriguez · 2021 [cited by applicant]
US 20210326994A1 · Dang · 2021 [cited by applicant]
US 20220129381A1 · Kang · 2022 [cited by applicant]
US 20220240062A1 · Gurayah et al. · 2022 [cited by applicant]
US 20230021327A1 · Doumar · 2023 [cited by applicant]
US 20230162224A1 · Biemer et al. · 2023 [cited by applicant]
US 20230385938A1 · Ranginwala · 2023 [cited by applicant]
US 20230385939A1 · Tsuchiyma et al. · 2023 [cited by applicant]
US 20240062309A1 · Yager et al. · 2024 [cited by applicant]
JP 201867336A · 2018 [cited by applicant]
JP 2020197948A · 2020 [cited by applicant]
WO WO2002061527A2 · 2002 [cited by applicant]
WO WO2016143948 · 2016 [cited by applicant]
WO WO2016159902 · 2016 [cited by applicant]
WO WO2023230198A1 · 2023 [cited by applicant]
Alenoghena et al., “eHealth: A Survey of Architectures, Developments in mHealth, Security Concerns and Solutions,” International Journal of Environmental Research and Public Health, Oct. 11, 2022, 19(20):13071, 54 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2023/023463, mailed on Sep. 12, 2023, 10 pages. [cited by applicant]
Broadcom [online], “Managing Stored Credentials,” Jun. 25, 2010, retrieved on Sep. 4, 2024, retrieved from URL<https://techdocs.broadcom.com/us/en/symantec-security-software/information-security/data-loss-prevention/16-… [cited by applicant]
Extended European Search Report in European Appln. No. 23812542.1, mailed on Feb. 18, 2025, 9 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2023/023463, mailed on Dec. 5, 2024, 7 pages. [cited by applicant]
Lin et al., “Event-based debugging of object/action programs,” Paper, Presented at the WPDD88:1988 Workshop on Parallel & Distributed Debugging, Madison, Wisconsin, USA, May 5-6, 1988; Proceedings of the 1988 ACM SIGPLA… [cited by applicant]
Msimga.com [online], “Insurance Built for the Future,” Jan. 1, 2020, retrieved on Sep. 4, 2024, retrieved from URL<https://msimga.com/>, 7 pages. [cited by applicant]
Salesforce.com [online], “Set Up and Manage Insurance,” Nov. 24, 2019, retrieved on Sep. 4, 2024, retrieved from URL<https://help.salesforce.com/s/articleView?id=sf.fsc_insurance.htm&language=en_US&type=5>, 4 pages. [cited by applicant]