IP Library Granted Patent US 11,861,029
Granted Patent B2
US 11,861,029 · App. 17/447,562 · Granted Jan 2, 2024

Workflow execution state variables

Inventors: Stephen Philip Hiller (Santa Clara, CA); Jón Tómas Grétarsson (Redwood City, CA); Seth Morgan Luce Voltz (San Francisco, CA); Ravneet Uberoi (Oakland, CA)
Assignee: Box Inc.
G06F21/6218G06F9/3005G06F9/3838G06F9/542G06F9/547G06F16/9017G06F16/9566
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 11,861,029
App. No.
17/447,562
Granted
Jan 2, 2024
Kind
B2
Abstract

Methods, systems and computer program products for managing workflows between multiple third-party systems. A content management system stores a workflow that operates over content objects by invoking third-party applications. The content management system invokes these third-party applications, and these applications make modifications to the progression of the workflows as the third-party applications carry-out their specific portions of the workflow. Upon receipt of a workflow variable value from a first third-party application, the content management system determines the semantics of the workflow variable value and caries out a next portion of the workflow. The content management system then invokes a further next portion of the workflow to be carried out by a second third-party application. Upon receipt of a workflow variable value from the second third-party application, the content management system determines the semantics of the workflow variable value to then carry out yet a further portion of the workflow.

Claims (37)

1. A method comprising:

creating a workflow having an application-dependent workflow variable that is used when processing the workflow, wherein the application-dependent workflow variable has a variable type that is dependent upon a specific application that is operating with the workflow;

invoking a first application to process the workflow, wherein the application-dependent workflow variable that is used by the first application corresponds to a first variable type when used by the first application; and

invoking a second application to operate with the same workflow as the first application,

wherein the application-dependent workflow variable that is used by the second application corresponds to a second variable type when used by the second application on the same workflow as the first application, and

wherein the first variable type for the application-dependent workflow variable is different from the second variable type even when used in the same workflow.

2. The method of claim 1 , further comprising converting the application-dependent workflow variable from the first variable type into the second variable type based at least in part on an aspect of computing system components that execute the second application or based at least in part on an aspect of a computing environment that serves the computing system components, or based at least in part on an aspect of a user or user type that executes the second application.

3. The method of claim 2 , wherein the first variable type is an integer and wherein the second variable type is a string.

4. The method of claim 1 , further comprising forming a mapping data structure that defines a correspondence between a particular value of an application-dependent workflow variable and one or more aspects of a third-party system.

5. The method of claim 1 , further comprising using a then-current value of an application-dependent workflow variable as a lookup into a data structure that includes an indication of a next state.

6. The method of claim 5 , wherein the data structure that includes the indication of the next state of the workflow further includes a user type.

7. The method of claim 6 , further comprising calling an endpoint URL that corresponds to the next state of the workflow.

8. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by one or more processors causes the one or more processors to perform a set of acts, the set of acts comprising:

creating a workflow having an application-dependent workflow variable that is used when processing the workflow, wherein the application-dependent workflow variable has a variable type that is dependent upon a specific application that is operating with the workflow;

invoking a first application to process the workflow, wherein the application-dependent workflow variable that is used by the first application corresponds to a first variable type when used by the first application; and

invoking a second application to operate with the same workflow as the first application,

wherein the application-dependent workflow variable that is used by the second application corresponds to a second variable type when used by the second application on the same workflow as the first application, and

wherein the first variable type for the application-dependent workflow variable is different from the second variable type even when used in the same workflow.

9. The non-transitory computer readable medium of claim 8 , further comprising instructions which, when stored in memory and executed by the one or more processors causes the one or more processors to perform acts of converting the application-dependent workflow variable from the first variable type into the second variable type based at least in part on an aspect of computing system components that execute the second application or based at least in part on an aspect of a computing environment that serves the computing system components, or based at least in part on an aspect of a user or user type that executes the second application.

10. The non-transitory computer readable medium of claim 9 , wherein the first variable type is an integer and wherein the second variable type is a string.

11. The non-transitory computer readable medium of claim 8 , further comprising instructions which, when stored in memory and executed by the one or more processors causes the one or more processors to perform acts of forming a mapping data structure that defines a correspondence between a particular value of an application-dependent workflow variable and one or more aspects of a third-party system.

12. The non-transitory computer readable medium of claim 8 , further comprising instructions which, when stored in memory and executed by the one or more processors causes the one or more processors to perform acts of using a then-current value of an application-dependent workflow variable as a lookup into a data structure that includes an indication of a next state.

13. The non-transitory computer readable medium of claim 12 , wherein the data structure that includes the indication of the next state of the workflow further includes a user type.

14. The non-transitory computer readable medium of claim 13 , further comprising instructions which, when stored in memory and executed by the one or more processors causes the one or more processors to perform acts of calling an endpoint URL that corresponds to the next state of the workflow.

15. A system comprising:

a storage medium having stored thereon a sequence of instructions; and

one or more processors that execute the sequence of instructions to cause the one or more processors to perform a set of acts, the set of acts comprising,

creating a workflow having an application-dependent workflow variable that is used when processing the workflow, wherein the application-dependent workflow variable has a variable type that is dependent upon a specific application that is operating with the workflow;

invoking a first application to process the workflow, wherein the application-dependent workflow variable that is used by the first application corresponds to a first variable type when used by the first application; and

invoking a second application to operate with the same workflow as the first application,

wherein the application-dependent workflow variable that is used by the second application corresponds to a second variable type when used by the second application on the same workflow as the first application, and

wherein the first variable type for the application-dependent workflow variable is different from the second variable type even when used in the same workflow.

16. The system of claim 15 , further comprising converting the application-dependent workflow variable from the first variable type into the second variable type based at least in part on an aspect of computing system components that execute the second application or based at least in part on an aspect of a computing environment that serves the computing system components, or based at least in part on an aspect of a user or user type that executes the second application.

17. The system of claim 16 , wherein the first variable type is an integer and wherein the second variable type is a string.

18. The system of claim 15 , further comprising forming a mapping data structure that defines a correspondence between a particular value of an application-dependent workflow variable and one or more aspects of a third-party system.

19. The system of claim 15 , further comprising using a then-current value of an application-dependent workflow variable as a lookup into a data structure that includes an indication of a next state.

20. The system of claim 19 , wherein the data structure that includes the indication of the next state of the workflow further includes a user type.

Assignments (3)
SECURITY INTEREST Recorded Jul 26, 2023
From: BOX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 064389/0686 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2022
From: HILLER, STEPHEN PHILIP; GRÉTARSSON, JÓN TÓMAS; VOLTZ, SETH MORGAN LUCE; UBEROI, RAVNEET
To: BOX, INC.
Reel/Frame 062240/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2021
From: HILLER, STEPHEN PHILIP; GRÉTARSSON, JÓN TÓMAS; VOLTZ, SETH MORGAN LUCE
To: BOX, INC.
Reel/Frame 057468/0668 →
Continuity (4)
Provisional Application 62706862 · Sep 14, 2020
Provisional Application 62706866 · Sep 14, 2020
Provisional Application 62706863 · Sep 14, 2020
Related Publication 20220083335A1 · Mar 17, 2022
Cited By (1)
US 12,367,320