IP Library › Granted Patent US 12,639,045
Granted Patent B2
US 12,639,045 · App. 17/863,271 · Granted May 26, 2026

User behavior-based help recommendation for controlling execution of an industrial software program

Inventors: José Gabriel Villarroel Humérez (Universal City, TX); Ondrej Taranda (Bratislava, SK); Tamer Omran Hussein Omran (Cairo, EG)
Assignee: Schneider Electric Systems USA, Inc.
G06F8/22G05B13/0265G06F8/33G06F9/453G06N20/00
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,639,045
App. No.
17/863,271
Granted
May 26, 2026
Kind
B2
Abstract

A method implemented by a computer system is provided. The method includes providing a platform that provides a graphical user interface (GUI) for controlling execution of one or more industrial software programs, detecting user input device (UID) usage data that indicates usage of how a user uses a UID when controlling execution of a software program of the one or more software programs via the GU, detecting user frustration based on the UID usage data, and providing a prompt to the user using the UID when controlling execution of the software program, wherein the prompt offers help to the user in response to the detection of user frustration.

Claims (44)

1 . A method implemented by a computer system, the method comprising:

providing a platform that provides a graphical user interface (GUI) for controlling execution of one or more industrial software programs;

detecting user input device (UID) usage data that indicates usage of how a user uses a UID when controlling execution of a software program of the one or more software programs via the GUI based on timestamped interrupt signals received from the UID;

detecting user frustration based on the UID usage data by detecting patterns of the timestamped interrupt signals; and

providing a prompt to the user using the UID when controlling execution of the software program, wherein the prompt offers help to the user in response to the detection of the user frustration.

2 . The method of claim 1 , wherein the platform is provided to a community of users that includes the user, the UID usage data is detected for respective users of the community of users when controlling execution of the one or more software programs, and detecting the patterns applies machine learning trained to detect patterns indicative of user frustration per user of the community of users and/or per context associated with the community of users or one or more software programs executed.

3 . The method of claim 2 , further comprising:

wherein the community of users further includes one or more authors that developed the respective one or more software program, and the method further comprises:

identifying an author of the one or more authors that developed the software program; and

notifying the author, in response to the detection of user frustration.

4 . The method of claim 2 , wherein detecting the user frustration includes correlating the user frustration to execution of a specific portion of the software program.

5 . The method of claim 2 , further comprising training a machine learning system to detect the patterns.

6 . The method of claim 4 , further comprising applying machine language trained to suggest solutions used by other users of the community of users for controlling execution of the specific portion of the software program after detection of the user frustration or other indications of problems.

7 . The method of claim 6 , further comprising training the machine learning system to suggest solutions used by the other users of the community of users for controlling execution of the specific portion of the software program after a detection of the user frustration or the other indications of problems.

8 . A computer system comprising:

a memory configured to store a plurality of programmable instructions; and

at least one processing device in communication with the memory, wherein the at least one processing device, upon execution of the plurality of programmable instructions is configured to:

provide a platform that provides a graphical user interface (GUI) for controlling execution of one or more industrial software programs, wherein the execution of the software program of the one or more software programs includes:

arranging two more programming blocks of a process flow responsive to an input from an author, the two or more programming blocks configured to be executed consecutively to cooperatively specify an input dataset from which to receive input data, process the input data to generate output data, specify a target dataset, and output the output data to the target data set, each programming block including source code and capable of being compiled and executed individually and in combination with other programming blocks of the two or more programming blocks;

editing the source code of a programming block of the two or more programming blocks responsive to input from the author; and

compiling the programming block after the source code of the programming block is edited and executing the programming block;

detect user input device (UID) usage data that indicates usage of how a user uses a UID when controlling execution of a software program of the one or more software programs via the GUI;

detect user frustration based on the UID usage data; and

provide a prompt to the user using the UID when controlling execution of the software program, wherein the prompt offers help to the user in response to the detection of user frustration.

9 . The computer system of claim 8 , wherein detecting the UID usage data includes receiving timestamped interrupt signals from the UID.

10 . The computer system of claim 9 , wherein detecting the user frustration includes detecting patterns of the timestamped interrupt signals.

11 . The computer system of claim 10 , wherein the platform is provided to a community of users that includes the user, the UID usage data is detected for respective users of the community of users when controlling execution of the one or more software programs, and detecting the patterns applies machine learning trained to detect patterns indicative of user frustration per user of the community of users and/or per context associated with the community of users or one or more software programs executed.

12 . The computer system of claim 11 , further comprising:

wherein the community of users further includes one or more authors that developed the respective one or more software program, and the method further comprises:

identifying an author of the one or more authors that developed the software program; and

notifying the author, in response to the detection of user frustration.

13 . The computer system of claim 11 , wherein detecting the user frustration includes correlating the user frustration to execution of a specific portion of the software program.

14 . The computer system of claim 11 , further comprising training a machine learning system to detect the patterns.

15 . The computer system of claim 13 , further comprising applying machine language trained to suggest solutions used by other users of the community of users for controlling execution of the specific portion of the software program after detection of the user frustration or other indications of problems.

16 . The computer system of claim 15 , further comprising training the machine learning system to suggest solutions used by the other users of the community of users for controlling execution of the specific portion of the software program after a detection of the user frustration or the other indications of problems.

17 . A non-transitory computer-readable medium storing computer-readable instructions for causing a computing system to progressively enable or disable network-based services provided to a plurality of subsystems, the computer-readable instructions comprising instructions that cause the computing system to:

provide a platform that provides a graphical user interface (GUI) for controlling execution of one or more industrial software programs, the GUI including a development tool and an execution tool while the platform is being accessed;

detect user input device (UID) usage data that indicates usage of how a user uses a UID when controlling execution of a software program of the one or more software programs via the GUI, wherein the UID usage data includes timestamped interrupt signals from the UID, wherein the execution of the software program of the one or more software programs includes:

arranging two more programming blocks of a process flow responsive to an input from an author, the two or more programming blocks configured to be executed consecutively to cooperatively specify an input dataset from which to receive input data, process the input data to generate output data, specify a target dataset, and output the output data to the target data set, each programming block including source code and capable of being compiled and executed individually and in combination with other programming blocks of the two or more programming blocks;

editing the source code of a programming block of the two or more programming blocks responsive to input from the author; and

compiling the programming block after the source code of the programming block is edited and executing the programming block;

detect user frustration based on patterns of the timestamped interrupt signals from the UID; and

provide a prompt to the user using the UID when controlling execution of the software program, wherein the prompt offers help to the user in response to the detection of user frustration.

18 . The non-transitory computer-readable medium of claim 17 , wherein the platform is provided to a community of users that includes the user, the UID usage data is detected for respective users of the community of users when controlling execution of the one or more software programs, and detecting the patterns applies machine learning trained to detect patterns indicative of user frustration per user of the community of users and/or per context associated with the community of users or one or more software programs executed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2022
From: VILLARROEL HUMÉREZ, JOSÉ GABRIEL, MR.; TARANDA, ONDREJ; OMRAN, TAMER OMRAN HUSSEIN, MR.
To: SCHNEIDER ELECTRIC SYSTEMS USA, INC.
Reel/Frame 060736/0468 →
Continuity (2)
Provisional Application 63220710 · Jul 12, 2021
Related Publication 20230016863A1 · Jan 19, 2023
References Cited (60)
US 7415448B2 · Thota · 2008 [cited by applicant]
US 8700378B1 · Lin · 2014 [cited by applicant]
US 9565275B2 · Lawson et al. · 2017 [cited by applicant]
US 9940127B1 · Lee et al. · 2018 [cited by applicant]
US 10922105B1 · Verma · 2021 [cited by examiner]
US 10997625B1 · Cohen-Tidhar · 2021 [cited by examiner]
US 11373121B2 · Gottula et al. · 2022 [cited by applicant]
US 11468350B2 · Dalli et al. · 2022 [cited by applicant]
US 11715037B2 · Bhide et al. · 2023 [cited by applicant]
US 12271788B2 · Daly et al. · 2025 [cited by applicant]
US 20070239648A1 · Thota · 2007 [cited by applicant]
US 20080313359A1 · Chi · 2008 [cited by examiner]
US 20100082133A1 · Chouinard et al. · 2010 [cited by applicant]
US 20110279359A1 · McCarty · 2011 [cited by examiner]
US 20140173119A1 · Vendrow · 2014 [cited by examiner]
US 20150149491A1 · Redlich et al. · 2015 [cited by applicant]
US 20160154656A1 · Illindala et al. · 2016 [cited by applicant]
US 20160274995A1 · Klein · 2016 [cited by applicant]
US 20160283846A1 · Keohane et al. · 2016 [cited by applicant]
US 20170064013A1 · Totale et al. · 2017 [cited by applicant]
US 20170090893A1 · Aditya et al. · 2017 [cited by applicant]
US 20170315825A1 · Gordon · 2017 [cited by examiner]
US 20180017959A1 · Pandian · 2018 [cited by examiner]
US 20180165606A1 · Brooks et al. · 2018 [cited by applicant]
US 20190228315A1 · Xu et al. · 2019 [cited by applicant]
US 20190265971A1 · Behzadi et al. · 2019 [cited by applicant]
US 20200050968A1 · Lee et al. · 2020 [cited by applicant]
US 20200103843A1 · Stump et al. · 2020 [cited by applicant]
US 20200326684A1 · Chand et al. · 2020 [cited by applicant]
US 20200394264A1 · Saraya et al. · 2020 [cited by applicant]
US 20210064955A1 · Gill et al. · 2021 [cited by applicant]
US 20210089278A1 · Dunn et al. · 2021 [cited by applicant]
US 20210149644A1 · Kawanaka et al. · 2021 [cited by applicant]
US 20210192412A1 · Krishnaswamy · 2021 [cited by applicant]
US 20220215267A1 · Oster · 2022 [cited by applicant]
US 20230016615A1 · Villarroel Humérez et al. · 2023 [cited by applicant]
US 20230019006A1 · Villarroel Humérez et al. · 2023 [cited by applicant]
US 20230108808A1 · Lerman · 2023 [cited by applicant]
US 20240061653A1 · Villarroel Humérez et al. · 2024 [cited by applicant]
US 20240143345A1 · Fields · 2024 [cited by examiner]
WO 2019204106A1 · 2019 [cited by applicant]
WO 2020201835A1 · 2020 [cited by applicant]
Extended European Search Report for European Patent Application No. EP22842769.6, dated May 12, 2025. [cited by applicant]
Extended European Search Report for European Patent Application No. 22842761.3, dated Apr. 3, 2025. [cited by applicant]
Bravo et al., “A groupware system to support collaborative programming: Design and experiences,” The Journal of Systems and Software, 2013, vol. 86, pp. 1759-1771. [cited by applicant]
Dave, K., “Comparison of Flow-Based versus Block-Based Programming for Naive Programmers,” Master's Thesis, Ryerson University, 2018, 170 pages. [cited by applicant]
International Search Report and Written Opinion in PCT/US2022/036820, mailed Nov. 3, 2022, 10 pages. [cited by applicant]
International Search Report and Written Opinion in PCT/US2022/036831, mailed Nov. 8, 2022, 14 pages. [cited by applicant]
Lopez et al., “Ciclope Robot: Web-Based System to Remote Program an Embedded Real-Time System,” IEEE Transactions on Industrial Electronics, Dec. 2009, vol. 56, No. 12, pp. 4791-4797. [cited by applicant]
Semeliker, A., “Development of a grapical user interface for programming ROS-based robots,” Master Thesis, TU Wien Faculty of Electrical Engineering and Information Technology Automation and Control Institute, 2019, 131… [cited by applicant]
International Search Report and Written Opinion for PCT Patent Application No. PCT/US2022/36846, dated Nov. 15, 2022. [cited by applicant]
Brunetti, Federico, et al. “Digital transformation challenges: strategies emerging from a multi-stakeholder approach.” The TQM Journal 32.4 (2020): pp. 697-724. (Year: 2020). [cited by applicant]
Buchmeister, Borut, Iztok, Palcic, and Robert Ojstersek, “Artificial intelligence in manufacturing companies and broader: An overview.” DAAAM Inernational scientific book (2019): pp. 81-98. (Year: 2019). [cited by applicant]
Ge, Zhiqiang, et al. “Data mining and analytics in the process industry: The role of machine learning.” IEEE Access 5 (2017): pp. 20590-20616. (Year: 2017). [cited by applicant]
Guimaraes Santos, Celso Augusto, and Gustavo Barbosa Lima da Silva. “Daily streamflow forecasting using a wavelet transform and artificial neural network hybrid models.” Hydrological Sciences Journal 59.2 (2014): pp. 31… [cited by applicant]
Meireles, Magali RG, Paulo EM Almeida, and Marcelo Godoy Simoes. “A comprehensive review for industrial applicability of artificial neural networks.” IEEE transactions on industrial electronics 50.3 (2003): pp. 585-601.… [cited by applicant]
Mishra, Sukumar, C. N. Bhende, and B. K. Panigrahi. “Detection and classification of power quality disturbances using S-transform and probabilistic neural network.” IEEE Transactions on power delivery 23.1 (2007): pp. 2… [cited by applicant]
Peres, Ricardo Silva, et al. “Industrial artificial intelligence in industry 4.0-systematic review, challenges and outlook.” IEEE access 8 (2020): pp. 220121-220139. (Year: 2020). [cited by applicant]
Ulas, Dilber. “Digital transformation process and SMEs.” Procedia computer science 158 (2019): pp. 662-671, (Year: 2019). [cited by applicant]
Wang, Weiyu, and Keng Siau. “Artifical intelligence, machine learning, automation, robotics, future of work and future of humanity: A review and research agenda.” Journal of Database Management (JDM) 30.1 (2019): pp. 61… [cited by applicant]