IP Library Granted Patent US 10,459,696
Granted Patent B2
US 10,459,696 · App. 15/815,617 · Granted Oct 29, 2019

Composable action flows

Inventors: Ramkumar Ganesan (Bangalore, IN); Sachin G. Totale (Pleasanton, CA); Marwan Suliman (Dublin, CA); Venugopal Paramala (Bangalore, IN)
Assignee: EMC Corporation
G06F8/30G06F9/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 10,459,696
App. No.
15/815,617
Granted
Oct 29, 2019
Kind
B2
Abstract

Composable action flows are disclosed. In various embodiments, a definition of one or more processing steps comprising an action flow is received. A definition of one or more transitions between processing steps comprising the action flow is received. The processing step and transition definitions are used to generate programmatically application code to implement the action flow.

Claims (31)

1. A method, comprising:

receiving a definition of one or more processing steps comprising an action flow;

receiving a definition of one or more transitions between processing steps comprising the action flow, wherein the action flow is configured to transition from a substep of a processing step of the one or more processing steps to a first substep of a different processing step of the one or more processing steps before each of the one or more substeps of the processing step is completed based on a transition associated with the processing step, wherein the action flow is configured to transition from a sub step of the different processing step back to a first step of the processing step; and

using the processing step and transition definitions to generate programmatically application code to implement the action flow.

2. The method of claim 1 , wherein the definition of the one or more processing steps includes a definition of an input to the action flow.

3. The method of claim 2 , wherein the definition of an input to the action flow specifies an expression or other logic to be evaluated at runtime to determine a value of the input to the action flow.

4. The method of claim 2 , wherein the input to the action flow includes one or more of the following: an application context data, a session parameter, user context data, and other context data.

5. The method of claim 1 , wherein the definition of the one or more processing steps includes a definition of an output of the action flow.

6. The method of claim 5 , wherein the definition of the output of the action flow specifies how the output of the action flow is to be provided.

7. The method of claim 6 , wherein the definition of the output of the action flow specifies that the output is to be provided as a payload of an application user interface event specified in the definition.

8. The method of claim 1 , wherein the definition of one or more transitions includes for each of the one or more transitions an expression to be evaluated at runtime.

9. The method of claim 8 , wherein the expression specifies a condition under which the transition is to occur.

10. The method of claim 8 , wherein the expression specifies a destination step to which the transition should be made.

11. The method of claim 8 , wherein the expression includes an argument comprising an application or other context data.

12. The method of claim 8 , wherein the expression includes an argument comprising an application user interface event payload.

13. A system, comprising:

a data storage device; and

a processor coupled to the data storage device and configured to:

receive and store in the data storage device a definition of one or more processing steps comprising an action flow;

receive and store in the data storage device a definition of one or more transitions between processing steps comprising the action flow, wherein the action flow is configured to transition from a substep of a processing step of the one or more processing steps to a first substep of a different processing step of the one or more processing steps before each of the one or more substeps of the processing step is completed based on a transition associated with the processing step, wherein the action flow is configured to transition from a substep of the different processing step back to a first step of the processing step; and

use the processing step and transition definitions to generate programmatically application code to implement the action flow.

14. The system of claim 13 , wherein the data storage device comprises a memory device.

15. The system of claim 13 , wherein the definition of the one or more processing steps includes a definition of an input to the action flow.

16. The system of claim 15 , wherein the definition of the input to the action flow specifies an expression or other logic to be evaluated at runtime to determine a value of the input to the action flow.

17. The system of claim 13 , wherein the definition of one or more transitions includes for each of the one or more transitions an expression to be evaluated at runtime.

18. The system of claim 17 , wherein the expression specifies a condition under which the transition is to occur.

19. A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a definition of one or more processing steps comprising an action flow;

receiving a definition of one or more transitions between processing steps comprising the action flow, wherein the action flow is configured to transition from a substep of a processing step of the one or more processing steps to a first substep of a different processing step of the one or more processing steps before each of the one or more substeps of the processing step is completed based on a transition associated with the processing step, wherein the action flow is configured to transition from a sub step of the different processing step back to a first step of the processing step; and

using the processing step and transition definitions to generate programmatically application code to implement the action flow.

20. The computer program product of claim 19 , wherein the definition of the one or more processing steps includes a definition of an input to the action flow, wherein the definition of the input to the action flow specifies an expression or other logic to be evaluated at runtime to determine a value of an input to the action flow.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045482/0131) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2017
From: GANESAN, RAMKUMAR; TOTALE, SACHIN G.; SULIMAN, MARWAN; PARAMALA, VENUGOPAL
To: EMC CORPORATION
Reel/Frame 044157/0006 →
Continuity (2)
Continuation 14136316 · Dec 20, 2013
Related Publication 20180074793A1 · Mar 15, 2018