IP Library › Granted Patent US 12,299,006
Granted Patent B2
US 12,299,006 · App. 18/679,518 · Granted May 13, 2025

Machine learning automation of network resource workflows

Inventors: Boaz Hecht (Palo Alto, CA); Josh Russ (Los Angeles, CA); Yev Goldin (Los Angeles, CA); Frank Dye (San Francisco, CA)
Assignee: 8flow Inc.
G06F16/285H04L67/02
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,299,006
App. No.
18/679,518
Granted
May 13, 2025
Kind
B2
Abstract

In an embodiment, a workflow automation computer system comprises one or more hardware processors; one or more network interfaces that are communicatively coupled to one or more internetworks and capable of network communication with a browser extension hosted on an agent computer, a relational database system, and a support ticket system; and one or more non-transitory computer-readable storage media coupled to the one or more hardware processors and storing one or more trained machine learning models having been trained to output predictions of actions of web-based applications based on input specifying a plurality of browser events from interactions with the web-based applications; and one or more sequences of instructions which, when executed using one or more processors, cause the one or more processors to execute receiving, from the browser extension, one or more browser event objects corresponding to user input signals arising from interactions of the agent computer with the web-based applications, extracting attribute values from the one or more browser event objects, and storing, in the relational database system, the one or more browser event objects and attribute values as a plurality of events of user action time series records; clustering the plurality of events and performing action analysis on the plurality of events by executing a first inference stage of the one or more trained machine learning models over the one or more events to output suggestions of associations of user actions corresponding to the one or more events; forming one or more training data records based on the associations of user actions corresponding to the one or more events; re-training the one or more trained machine learning models based on the associations of user actions to produce one or more re-trained machine learning models.

Claims (57)

1. A workflow automation computer system comprising:

one or more hardware processors;

one or more network interfaces that are communicatively coupled to one or more internetworks and capable of network communication with a browser extension hosted on an agent computer, a relational database system, and a support ticket system; and

one or more non-transitory computer-readable storage media coupled to the one or more hardware processors and storing:

one or more trained machine learning models; and

one or more sequences of instructions which, when executed using one or more processors, cause the one or more processors to execute:

receiving, from the browser extension, one or more browser event objects, extracting attribute values from the one or more browser event objects, and storing, in the relational database system, the one or more browser event objects and attribute values as one or more events of user action time series records;

creating and storing in memory multiple trees having a depth=2, each of the trees comprising a plurality of nodes corresponding to browser event objects and a plurality of edges that connect the nodes to one or more child event nodes while recording identifiers of source events for copy-type events;

for a particular child event node that represents browser event objects corresponding to pasting or form-filling data, identifying an existing tree among the trees having a corresponding source node, and joining a root node of that existing tree to the particular child event node;

grouping all trees rooted in navigation events identifying a particular hostname under a common root node that specifies a first navigation event;

for the first navigation event having a second navigation event as a direct child node, deleting the second navigation event;

deleting from the memory all the trees having the depth=2; and

in response to determining that a final tree has >2 navigation events, creating and storing a relay based on the final tree.

2. The workflow automation computer system of claim 1 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to create and store the relay based on the final tree by executing a breadth-first traversal of the final tree, outputting a sequence of nodes as the traversal occurs, and storing an association of the identifiers of the nodes in the sequence as the relay.

3. The workflow automation computer system of claim 2 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute:

receiving input from the agent computer specifying an invocation of the relay; and

replaying the sequence of nodes of the relay to a browser hosted on the agent computer via the browser extension.

4. The workflow automation computer system of claim 2 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute:

storing the association of the identifiers of the nodes in the sequence as a record in a training dataset in association with a copy of a corresponding user action time series record;

training the one or more machine learning models using the training dataset;

during a new user session, storing a sequence of events based on the one or more browser event objects;

executing an inference stage of the one or more machine learning models over the sequence of events to output a predicted sequence of events corresponding to a predicted workflow of an agent computer; and

replaying the predicted sequence of events to a browser hosted on the agent computer via the browser extension.

5. The workflow automation computer system of claim 4 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to repeat the execution of the sequences of instructions of claim 4 , for 1,000 or more user sessions to store 1,000 or more records in the training dataset.

6. The workflow automation computer system of claim 5 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to store the sequence of events based on the one or more browser event objects by repeating the execution of receiving, from the browser extension, the one or more browser event objects.

7. The workflow automation computer system of claim 1 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute receiving, from the browser extension, the one or more browser event objects, and extracting the attribute values in part by the browser extension calling a browser event API of a browser hosted on the agent computer.

8. The workflow automation computer system of claim 1 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute:

receiving input from the agent computer specifying an invocation of the relay; and

replaying the relay to a browser hosted on the agent computer via the browser extension.

9. The workflow automation computer system of claim 1 , each of the trees comprising a navigate event node with one or more edges directed to one or more child event nodes.

10. The workflow automation computer system of claim 1 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute adjusting pointers of the first navigation event and any child nodes of the second navigation event.

11. One or more non-transitory computer-readable storage media storing one or more trained machine learning models and one or more sequences of instructions which, when executed using one or more processors, the one or more processors being are communicatively coupled to one or more network interfaces that are communicatively coupled to one or more internetworks and capable of network communication with a browser extension hosted on an agent computer, a relational database system, and a support ticket system, cause the one or more processors to execute:

receiving, from the browser extension, one or more browser event objects, extracting attribute values from the one or more browser event objects, and storing, in the relational database system, the one or more browser event objects and attribute values as one or more events of user action time series records;

creating and storing in memory multiple trees having a depth=2, each of the trees comprising a plurality of nodes corresponding to browser event objects and a plurality of edges that connect the nodes to one or more child event nodes while recording identifiers of source events for copy-type events;

for a particular child event node that represents browser event objects corresponding to pasting or form-filling data, identifying an existing tree among the trees having a corresponding source node, and joining a root node of that existing tree to the particular child event node;

grouping all trees rooted in navigation events identifying a particular hostname under a common root node that specifies a first navigation event;

for the first navigation event having a second navigation event as a direct child node, deleting the second navigation event;

deleting from the memory all the trees having the depth=2; and

in response to determining that a final tree has >2 navigation events, creating and storing a relay based on the final tree.

12. The one or more non-transitory computer-readable storage media of claim 11 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to create and store the relay based on the final tree by executing a breadth-first traversal of the final tree, outputting a sequence of nodes as the traversal occurs, and storing an association of the identifiers of the nodes in the sequence as the relay.

13. The one or more non-transitory computer-readable storage media of claim 12 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute:

receiving input from the agent computer specifying an invocation of the relay; and

replaying the sequence of nodes of the relay to a browser hosted on the agent computer via the browser extension.

14. The one or more non-transitory computer-readable storage media of claim 12 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute:

storing the association of the identifiers of the nodes in the sequence as a record in a training dataset in association with a copy of a corresponding user action time series record;

training the one or more machine learning models using the training dataset;

during a new user session, storing a sequence of events based on the one or more browser event objects;

executing an inference stage of the one or more machine learning models over the sequence of events to output a predicted sequence of events corresponding to a predicted workflow of an agent computer; and

replaying the predicted sequence of events to a browser hosted on the agent computer via the browser extension.

15. The one or more non-transitory computer-readable storage media of claim 14 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to repeat the execution of the sequences of instructions of claim 14 1,000 or more user sessions to store 1,000 or more records in the training dataset.

16. The one or more non-transitory computer-readable storage media of claim 15 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to store the sequence of events based on the one or more browser event objects by repeating the execution of receiving, from the browser extension, the one or more browser event objects.

17. The one or more non-transitory computer-readable storage media of claim 11 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute receiving, from the browser extension, the one or more browser event objects, and extracting the attribute values in part by the browser extension calling a browser event API of a browser hosted on the agent computer.

18. The one or more non-transitory computer-readable storage media of claim 11 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute:

receiving input from the agent computer specifying an invocation of the relay; and

replaying the relay to a browser hosted on the agent computer via the browser extension.

19. The one or more non-transitory computer-readable storage media of claim 11 , each of the trees comprising a navigate event node with one or more edges directed to one or more child event nodes.

20. The one or more non-transitory computer-readable storage media of claim 11 , further comprising sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute adjusting pointers of the first navigation event and any child nodes of the second navigation event.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2024
From: HECHT, BOAZ; DYE, FRANK; GOLDIN, YEV; RUSS, JOSH
To: 8FLOW INC.
Reel/Frame 067627/0881 →
Continuity (2)
Provisional Application 63470383 · Jun 1, 2023
Related Publication 20240403328A1 · Dec 5, 2024
References Cited (19)
US 7284245B2 · Novik · 2007 [cited by examiner]
US 7562367B1 · Arad · 2009 [cited by examiner]
US 9542245B2 · Treat · 2017 [cited by examiner]
US 10043142B2 · Paleja · 2018 [cited by examiner]
US 11100424B2 · Bandaru et al. · 2021 [cited by applicant]
US 11102232B2 · Kozloski · 2021 [cited by examiner]
US 11301269B1 · Singh · 2022 [cited by applicant]
US 20150007065A1 · Krishnamoorthy · 2015 [cited by examiner]
US 20150327288A1 · Park · 2015 [cited by applicant]
US 20170235848A1 · Van Dusen · 2017 [cited by examiner]
US 20190317803A1 · Maheshwari et al. · 2019 [cited by applicant]
US 20210107164A1 · Singh et al. · 2021 [cited by applicant]
US 20220327288A1 · Van Durme · 2022 [cited by examiner]
US 20230135064A1 · P K et al. · 2023 [cited by applicant]
US 20230385085A1 · Singh · 2023 [cited by applicant]
US 20240046318A1 · Muriqi · 2024 [cited by examiner]
EP 4354373A1 · 2024 [cited by applicant]
WO 2022266129A1 · 2022 [cited by applicant]
Commissioner, Korean Intellectual Property Office International Application Division, Notification of Transmittal and International Search Report and Written Opinion in PCT international application PCT/US2024/031896, D… [cited by applicant]