IP Library › Granted Patent US 12,321,764
Granted Patent B1
US 12,321,764 · App. 19/080,333 · Granted Jun 3, 2025

Systems and methods for automated process discovery

Inventors: George Peter Nychis (Somerville, MA); Abdul Qadir (Bangalore, IN); Aakash Hasija (Delhi, IN); Rohan Narayana Murty (Bangalore, IN); Arjun Narayanaswamy (Bangalore, IN); Kirby Scott Files (Milton, MA)
Assignee: Soroco India Private Limited
G06F9/453
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,321,764
App. No.
19/080,333
Granted
Jun 3, 2025
Kind
B1
Abstract

A method, comprising: receiving, by a computing device, a user indication to start a teaching mode in which the user can teach an instance of a process; configuring the computing device to start the teaching mode in response to receiving the indication; capturing, when in the teaching mode, first information corresponding to a first stream of events captured by the computing device during performance of a first plurality of actions by the user when interacting with the computing device to perform the process; generating, using the first information, a first visualization of at least some of the first plurality of actions; and displaying the first visualization on a graphical user interface of the computing device.

Claims (38)

1. A method of generating and displaying visualizations of actions that were performed by a user of a computing device, the computing device having one or more software applications and separate monitoring software installed thereon, the method comprising:

receiving, by the computing device, a user indication to start recording an instance of a process;

configuring the computing device to start recording the instance of the process in response to receiving the user indication;

capturing, by the monitoring software when recording, first information corresponding to a first stream of events captured by the computing device during performance of a first plurality of actions by the user when interacting with the one or more software applications to perform the process, the first information indicating clicks and keystrokes performed by the user in the first plurality of actions and, for each indicated click or keystroke, indicating a software application in which the click or the keystroke was performed;

generating, using the first information, a first visualization of at least some of the first plurality of actions, the first visualization including a flow diagram having nodes representing the at least some of the first plurality of actions and directed edges representing transitions between the at least some of the first plurality of actions; and

displaying the first visualization on a graphical user interface (GUI).

2. The method of claim 1 , wherein the first visualization includes a plurality of screenshots indicating a sequence of the at least some of the first plurality of actions.

3. The method of claim 1 , wherein the first visualization includes an amount of time that it took the user to complete performance of the process.

4. The method of claim 1 , wherein the first plurality of actions performed by the user include a first set of actions performed at a first time and a second set of actions performed at a second time after the first time.

5. The method of claim 4 , further comprising:

for each instance of a plurality of instances of the process:

capturing, by the monitoring software when recording, respective first information during performance of a respective first plurality of actions by the user when interacting with the one or more software applications to perform the process.

6. A system comprising:

a computing device; and

at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed by the computing device, cause the computing device to perform a method of generating and displaying visualizations of actions that were performed by a user of the computing device, the computing device having one or more software applications and separate monitoring software installed thereon, the method comprising:

receiving, by the computing device, a user indication to start recording an instance of a process;

configuring the computing device to start recording the instance of the process in response to receiving the user indication;

capturing, by the monitoring software when recording, first information corresponding to a first stream of events captured by the computing device during performance of a first plurality of actions by the user when interacting with the one or more software applications to perform the process, the first information indicating clicks and keystrokes performed by the user in the first plurality of actions and, for each indicated click or keystroke, indicating a software application in which the click or the keystroke was performed;

generating, using the first information, a first visualization of at least some of the first plurality of actions, the first visualization including a flow diagram having nodes representing the at least some of the first plurality of actions and directed edges representing transitions between the at least some of the first plurality of actions; and

displaying the first visualization on a graphical user interface (GUI).

7. The system of claim 6 , wherein the first visualization includes a plurality of screenshots indicating a sequence of the at least some of the first plurality of actions.

8. The system of claim 6 , wherein the first visualization includes an amount of time that it took the user to complete performance of the process.

9. The system of claim 6 , wherein the first plurality of actions performed by the user include a first set of actions performed at a first time and a second set of actions performed at a second time after the first time.

10. The system of claim 6 , wherein the method further comprises:

for each instance of a plurality of instances of the process:

capturing, by the monitoring software when recording, respective first information during performance of a respective first plurality of actions by the user when interacting with the one or more software applications to perform the process.

11. At least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed by a computing device, cause the computing device to perform a method of generating and displaying visualizations of actions that were performed by a user of the computing device, the computing device having one or more software applications and separate monitoring software installed thereon, the method comprising:

receiving, by the computing device, a user indication to start recording an instance of a process;

configuring the computing device to start recording the instance of the process in response to receiving the user indication;

capturing, by the monitoring software when recording, first information corresponding to a first stream of events captured by the computing device during performance of a first plurality of actions by the user when interacting with the one or more software applications to perform the process, the first information indicating clicks and keystrokes performed by the user in the first plurality of actions and, for each indicated click or keystroke, indicating a software application in which the click or the keystroke was performed;

generating, using the first information, a first visualization of at least some of the first plurality of actions, the first visualization including a flow diagram having nodes representing the at least some of the first plurality of actions and directed edges representing transitions between the at least some of the first plurality of actions; and

displaying the first visualization on a graphical user interface (GUI).

12. The at least one non-transitory computer-readable storage medium of claim 11 , wherein the first visualization includes a plurality of screenshots indicating a sequence of the at least some of the first plurality of actions.

13. The at least one non-transitory computer-readable storage medium of claim 11 , wherein the first visualization includes an amount of time that it took the user to complete performance of the process.

14. The at least one non-transitory computer-readable storage medium of claim 11 , wherein the first plurality of actions performed by the user include a first set of actions performed at a first time and a second set of actions performed at a second time after the first time.

15. The at least one non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises:

for each instance of a plurality of instances of the process:

capturing, by the monitoring software when recording, respective first information during performance of a respective first plurality of actions by the user when interacting with the one or more software applications to perform the process.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE ATTORNEY DOCKET NUMBER PREVIOUSLY RECORDED ON REEL 70771 FRAME 399. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 11, 2025
From: SOROCO PRIVATE LIMITED
To: SOROCO INDIA PRIVATE LIMITED
Reel/Frame 070822/0372 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME PREVIOUSLY RECORDED ON REEL 70768 FRAME 929. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 11, 2025
From: QADIR, ABDUL; HASIJA, AAKASH; NARAYANASWAMY, ARJUN; ASHOK, AAKANKSHA; RAO, ANOOSHA M.; HOSKERE, VAGEESH
To: SOROCO INDIA PRIVATE LIMITED
Reel/Frame 070822/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: SOROCO AMERICAS PRIVATE LIMITED
To: SOROCO INDIA PRIVATE LIMITED
Reel/Frame 070769/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: QADIR, ABDUL; HASIJA, AAKASH; NARAYANASWAMY, ARJUN; ASHOK, AAKANKSHA; RAO, ANOOSHA M.; HOSKERE, VEGEESH
To: SOROCO INDIA PRIVATE LIMITED
Reel/Frame 070768/0929 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: NYCHIS, GEORGE PETER; FILES, KIRBY SCOTT
To: SOROCO AMERICAS PRIVATE LIMITED
Reel/Frame 070771/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: SOROCO PRIVATE LIMITED
To: SOROCO INDIA PRIVATE LIMITED
Reel/Frame 070771/0399 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: MURTY, ROHAN
To: SOROCO PRIVATE LIMITED
Reel/Frame 070769/0170 →
Continuity (3)
Continuation 18662677 · May 13, 2024
Continuation 17711775 · Apr 1, 2022
Provisional Application 63170434 · Apr 2, 2021
References Cited (94)
US 7234126B2 · Catthoor et al. · 2007 [cited by applicant]
US 7346629B2 · Kapur et al. · 2008 [cited by applicant]
US 7421654B2 · Wugoski · 2008 [cited by applicant]
US 7756272B2 · Kocher et al. · 2010 [cited by applicant]
US 7975239B2 · Bellotti et al. · 2011 [cited by applicant]
US 7996913B2 · Kocher et al. · 2011 [cited by applicant]
US 8209702B1 · Roytman et al. · 2012 [cited by applicant]
US 8433733B2 · Sayed et al. · 2013 [cited by applicant]
US 9047147B2 · Francis · 2015 [cited by applicant]
US 9053299B2 · Wieder · 2015 [cited by applicant]
US 9384121B2 · Jackson et al. · 2016 [cited by applicant]
US 9465679B2 · Stanley-Marbell et al. · 2016 [cited by applicant]
US 9465806B2 · Baker et al. · 2016 [cited by applicant]
US 9471778B1 · Seo et al. · 2016 [cited by applicant]
US 9477333B2 · Townsend et al. · 2016 [cited by applicant]
US 9542004B1 · Hu · 2017 [cited by applicant]
US 9602495B2 · Wyn-Harris · 2017 [cited by applicant]
US 10083159B1 · Bekmambetov et al. · 2018 [cited by applicant]
US 10120653B2 · Kim et al. · 2018 [cited by applicant]
US 10195531B2 · Osman et al. · 2019 [cited by applicant]
US 10430212B1 · Bekmambetov et al. · 2019 [cited by applicant]
US 10575231B2 · Gay et al. · 2020 [cited by applicant]
US 10613838B2 · Kim et al. · 2020 [cited by applicant]
US 10642375B2 · Lee · 2020 [cited by applicant]
US 10698661B2 · Kim et al. · 2020 [cited by applicant]
US 10710239B2 · Safary et al. · 2020 [cited by applicant]
US 10831450B2 · Kim et al. · 2020 [cited by applicant]
US 10891112B2 · Kim et al. · 2021 [cited by applicant]
US 11282088B1 · Lancaster · 2022 [cited by examiner]
US 11816112B1 · Nychis et al. · 2023 [cited by applicant]
US 12159203B1 · Shukla · 2024 [cited by examiner]
US 20020006603A1 · Peterson et al. · 2002 [cited by applicant]
US 20030126050A1 · Theiss et al. · 2003 [cited by applicant]
US 20030158855A1 · Farnham et al. · 2003 [cited by applicant]
US 20040104939A1 · Locke et al. · 2004 [cited by applicant]
US 20060184410A1 · Ramamurthy et al. · 2006 [cited by applicant]
US 20070299631A1 · Macbeth et al. · 2007 [cited by applicant]
US 20090106262A1 · Fallen et al. · 2009 [cited by applicant]
US 20090172534A1 · Budreau et al. · 2009 [cited by applicant]
US 20090172535A1 · Cheng et al. · 2009 [cited by applicant]
US 20110179046A1 · Paull et al. · 2011 [cited by applicant]
US 20130055268A1 · Amershi et al. · 2013 [cited by applicant]
US 20130304906A1 · Yavilevich et al. · 2013 [cited by applicant]
US 20140129961A1 · Zubarev et al. · 2014 [cited by applicant]
US 20140132571A1 · Zeng et al. · 2014 [cited by applicant]
US 20140157288A1 · Wong · 2014 [cited by applicant]
US 20140215495A1 · Enrich et al. · 2014 [cited by applicant]
US 20140237033A1 · Shang · 2014 [cited by applicant]
US 20150135198A1 · Pack, III et al. · 2015 [cited by applicant]
US 20150339033A1 · Arnold et al. · 2015 [cited by applicant]
US 20160034274A1 · Diao et al. · 2016 [cited by applicant]
US 20160055040A1 · Treat et al. · 2016 [cited by applicant]
US 20160101522A1 · Hiruma et al. · 2016 [cited by applicant]
US 20160132600A1 · Woodhead et al. · 2016 [cited by applicant]
US 20160182657A1 · Mukherjee et al. · 2016 [cited by applicant]
US 20160229052A1 · Touma et al. · 2016 [cited by applicant]
US 20160240094A1 · Yan · 2016 [cited by applicant]
US 20160313939A1 · Andrews et al. · 2016 [cited by applicant]
US 20160378291A1 · Pokrzywka · 2016 [cited by applicant]
US 20170109601A1 · Gurwicz et al. · 2017 [cited by applicant]
US 20170124531A1 · McCormack · 2017 [cited by applicant]
US 20170190052A1 · Jaekel et al. · 2017 [cited by applicant]
US 20170277396A1 · Chung et al. · 2017 [cited by applicant]
US 20170300564A1 · Feng et al. · 2017 [cited by applicant]
US 20170364576A1 · Chesla et al. · 2017 [cited by applicant]
US 20180027006A1 · Zimmermann et al. · 2018 [cited by applicant]
US 20180034657A1 · Brown et al. · 2018 [cited by applicant]
US 20180101466A1 · O'Dowd et al. · 2018 [cited by applicant]
US 20180113780A1 · Kim et al. · 2018 [cited by applicant]
US 20180113781A1 · Kim et al. · 2018 [cited by applicant]
US 20180181377A1 · Kim et al. · 2018 [cited by applicant]
US 20180322004A1 · Jain et al. · 2018 [cited by applicant]
US 20180349482A1 · Oliner · 2018 [cited by examiner]
US 20180365309A1 · Oliner · 2018 [cited by examiner]
US 20190034173A1 · Kim et al. · 2019 [cited by applicant]
US 20190179290A1 · Yoshida et al. · 2019 [cited by applicant]
US 20200147791A1 · Safary et al. · 2020 [cited by applicant]
US 20200183656A1 · Kim et al. · 2020 [cited by applicant]
US 20200206920A1 · Ma et al. · 2020 [cited by applicant]
US 20200233707A1 · Ramamurthy et al. · 2020 [cited by applicant]
US 20200358796A1 · Kundu et al. · 2020 [cited by applicant]
US 20210117232A1 · Sriharsha et al. · 2021 [cited by applicant]
US 20210149641A1 · Kim et al. · 2021 [cited by applicant]
US 20210158268A1 · Berg et al. · 2021 [cited by applicant]
US 20220188283A1 · Jamieson et al. · 2022 [cited by applicant]
US 20240303100A1 · Nychis et al. · 2024 [cited by applicant]
US 20250085929A1 · Kim et al. · 2025 [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2017/58603 mailed Jan. 5, 2018. [cited by applicant]
Extended European Search Report for European Application No. 17864947.1 dated Jun. 2, 2020. [cited by applicant]
Communication pursuant to Article 94(3) EPC for European Application No. 17864947.1 dated Oct. 28, 2021. [cited by applicant]
Clapp et al., Minimizing GUI Event Traces. Stanford University. FSE' 2016:422-34. [cited by applicant]
LÜ et al., Gesture studio: authoring multi-touch interactions through demonstration and declaration. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, ACM. Apr. 27, 2013:257-266. [cited by applicant]
Oh et al., Audio-based feedback techniques for teaching touchscreen gestures. ACM Transactions on Accessible Computing (TACCESS). Nov. 14, 2015;7(3):29 pages. [cited by applicant]
Zhang et al., Panappticon: Event-based Tracing to Measure Mobile Application and Platform Performance. IEEE. 2013:10 pages. [cited by applicant]
Cited By (2)
US 12,455,888 US 12,743,254