IP Library Granted Patent US 10,635,160
Granted Patent B2
US 10,635,160 · App. 15/417,635 · Granted Apr 28, 2020

Stepback mechanism to develop and diagnose process applications

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,635,160
App. No.
15/417,635
Filed
Jan 27, 2017
Granted
Apr 28, 2020
Kind
B2
Examiner
VU, TUAN A
Art Unit
2193
USPC
717/155
Abstract

One or more inputs associated with a selected step of a process flow are modified. The process flow is executed from the selected step based on the modified one or more inputs. A data record associated with selected step is updated to reflect the modified one or more inputs. A process application that includes the process flow is compiled into an executable and deployed to a device.

Claims (49)

1. A system for diagnosing and updating process applications instantiated on a plurality of devices, comprising:

a processor communicatively coupled to a storage resource, wherein the processor is configured to execute application code instructions stored in the storage resource to:

store, locally at a device, state transition information associated with an executed step of an instantiated process application instantiated by an instantiated process engine wherein the instantiated process application produced an erroneous result;

transmit a flow definition to a remote diagnosing platform;

receive, at the diagnosing platform, the flow definition that describes a process flow and the state transition information that describes a state of the process flow at each step of the process flow associated with the instantiated process application;

recreate a process engine associated with the instantiated process engine of the device with the state transition information;

modify one or more input data values associated with a selected step of the process flow;

execute the process flow from the selected step using the modified one or more inputs;

update at least one data record associated with the selected step of a process application to reflect the modified one or more inputs and state information associated with steps of the process flow;

recompile the process application; and

redeploy the process application to the device using a device identifier.

2. The system of claim 1 , wherein the flow definition is a flow.json file.

3. The system of claim 1 , wherein the processor is configured to reconstruct a process application based on the flow definition and the state information, wherein the process application includes the process flow.

4. The system of claim 1 , wherein the processor is further configured to compile the process application into an executable.

5. The system of claim 4 , wherein the processor is further configured to deploy the compiled executable to a device that produced the state information.

6. The system of claim 1 , wherein the state information is stored in a database separate from a device that produced the state information and the system.

7. The system of claim 1 , wherein the flow definition is stored in a database separate from the device that produced the state information, a database that stores the state information, and the system.

8. The system of claim 1 , wherein a device that produced the state information uploads state values to a database that stores the state service.

9. The system of claim 8 , wherein the state values are uploaded upon the occurrence of a state transition.

10. The system of claim 8 , wherein the state values are periodically uploaded from the device that produced the state information to the database that stores the state information.

11. The system of claim 8 , wherein in the event of a network connection failure between the device that produced the state information and the database that stores the state information, upon reconnection, the state values are uploaded to the database that stores the state information.

12. The system of claim 1 , wherein the processor is configured to determine a minimal set of process engine components needed to perform a process application that includes the process flow.

13. The system of claim 1 , further comprising:

pre-compile the process application to determine a minimal set of necessary and unnecessary steps to execute the process application.

14. The system of claim 13 , wherein a process step can be selected from any of the necessary steps and executed from the selected step of the necessary step.

15. The system of claim 1 , wherein the process applications is deployed to a plurality of devices using a plurality of device identifiers.

16. A computer-implemented method of diagnosing and updating process applications instantiated on a plurality of devices, comprising:

storing, locally at a device, state transition information associated with an executed step of an instantiated process application instantiated by an instantiated process engine wherein the instantiated process application produced an erroneous result;

transmitting a flow definition to a remote diagnosing platform;

receiving, at the diagnosing platform, the flow definition that describes a process flow and the state transition information that describes a state of the process flow at each step of the process flow associated with the instantiated process application

recreating a process engine associated with the instantiated process engine of the device with the state transition information;

modifying one or more input data values associated with a selected step of the process flow;

executing the process flow from the selected step using the modified one or more inputs;

updating at least one data record associated with the selected step of a process application to reflect the modified one or more inputs and state information associated with steps of the process flow;

recompiling the process application; and

redeploying the process application to the device using a device identifier.

17. The method of claim 16 , further comprising reconstructing a process application based on the flow definition and the state information, wherein the process application includes the process flow.

18. The method of claim 17 , further comprising compiling the process application into an executable.

19. The method of claim 18 , further comprising deploying the compiled executable to a device that produced the state information.

20. A non-transitory computer readable medium containing computer readable instructions for instructing a computing machine to diagnose and update process applications instantiated on a plurality of devices, the computer-readable instructions comprising instructions for causing the computing machine to:

store, locally at a device, state transition information associated with an executed step of an instantiated process application instantiated by an instantiated process engine wherein the instantiated process application produced an erroneous result;

transmit a flow definition to a remote diagnosing platform;

receive, at the diagnosing platform, the flow definition that describes a process flow and the state transition information that describes a state of the process flow at each step of the process flow associated with the instantiated process application;

recreate a process engine associated with the instantiated process engine of the device with the state transition information;

modify one or more inputs associated with a selected step of the process flow;

execute the process flow from the selected step based on the modified one or more inputs;

update at least one data record associated with the selected step of a process application to reflect the modified one or more inputs and state information associated with steps of the process flow;

recompile the process application; and

redeploy the process application to the device using a device identifier.

Assignments (15)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
RELEASE REEL 052115 / FRAME 0318 Recorded Oct 3, 2022
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: TIBCO SOFTWARE INC.
Reel/Frame 061588/0511 →
RELEASE (REEL 50055 / FRAME 0641) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061575/0801 →
RELEASE (REEL 054275 / FRAME 0975) Recorded May 7, 2021
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 056176/0398 →
SECURITY AGREEMENT Recorded Nov 2, 2020
From: TIBCO SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054275/0975 →
SECURITY AGREEMENT Recorded Mar 6, 2020
From: TIBCO SOFTWARE INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 052115/0318 →
SECURITY AGREEMENT Recorded Aug 14, 2019
From: TIBCO SOFTWARE INC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 050055/0641 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2017
From: MARTINEZ, FRANCISCO; REGISTER, MICHAEL; KOZHIKKATTUTHODI, RAJEEV
To: TIBCO SOFTWARE INC.
Reel/Frame 041544/0308 →