IP Library Patent Application 17823755
Patent Application
App. No. 17/823,755

SCHEDULING AUTOMATED WORKFLOWS TO CONSERVE COMPUTING RESOURCES

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 None
App. No.
17/823,755
Abstract

Systems and methods are provided for scheduling an automation (e.g., an automated workflow) to execute against a specified set of data (e.g., a customer support ticket) based on when time-based conditions within the automation will (or will likely) be true or satisfied with regard to the ticket. The automation's time-based conditions are represented by one or more functions designed to yield, when executed against a given ticket, a time interval during which those conditions will (or will likely) be true for that ticket. When a function produces a valid time interval, the corresponding automation is scheduled to run against the ticket during the interval. The functions may be quickly executed each time a ticket is modified (or created) because they may be created in assembly language or a native language of the computing platform that executes them.

Claims (75)

1 . A method, comprising:

identifying one or more paths of execution of an automation configured to execute against datasets;

for each path that comprises at least one time-based condition, defining a corresponding function to calculate a time interval during which the at least one time-based condition will be satisfied; and

when a dataset is modified, executing one or more functions against the modified dataset to attempt to identify, for each corresponding path, a time interval during which the time-based conditions of the corresponding path will be satisfied.

2 . The method of claim 1 , further comprising, when a time interval is identified during which the time-based conditions of a path of the automation will be satisfied:

scheduling evaluation of the automation against the modified dataset for a time during the time interval; and

evaluating the automation against the modified dataset at the scheduled time.

3 . The method of claim 2 , wherein:

scheduling evaluation of the automation comprises configuring a timer to fire an event at the scheduled time;

firing the event at the scheduled time includes emitting an event identifying the automation and the modified dataset; and

a consumer of the event performs said evaluation of the automation against the modified dataset.

4 . The method of claim 1 , wherein each function comprises:

for each of the at least one time-based conditions, first program code for retrieving from the modified dataset a time value associated with the time-based condition; and

second program code for identifying the time interval during which the at least one time-based condition will be satisfied;

wherein each time-based condition is associated with a parameter of the dataset that has a time-based value.

5 . The method of claim 1 , wherein the automation comprises:

the at least one time-based condition of each of the one or more paths of execution; and

one or more actions to execute when at least one of the one or more paths of execution successfully execute.

6 . The method of claim 5 , wherein each automation further comprises:

one or more non-time-based conditions.

7 . The method of claim 5 , wherein each automation further comprises:

a critical non-time-based condition that is common to each of the one or more paths of execution.

8 . The method of claim 1 , wherein a time-based condition is a condition that requires a comparison between the current time and a time-based value of a parameter of a dataset.

9 . The method of claim 1 , wherein the datasets are customer support tickets.

10 . A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform a method comprising:

identifying one or more paths of execution of an automation configured to execute against datasets;

for each path that comprises at least one time-based condition, defining a corresponding function to calculate a time interval during which the at least one time-based condition will be satisfied; and

when a dataset is modified, executing one or more functions against the modified dataset to attempt to identify, for each corresponding path, a time interval during which the time-based conditions of the corresponding path will be satisfied.

11 . The non-transitory computer-readable medium of claim 10 , wherein the method further comprises, when a time interval is identified during which the time-based conditions of a path of the automation will be satisfied:

scheduling evaluation of the automation against the modified dataset for a time during the time interval; and

evaluating the automation against the modified dataset at the scheduled time.

12 . The non-transitory computer-readable medium of claim 11 , wherein:

scheduling evaluation of the automation comprises configuring a timer to fire an event at the scheduled time;

firing the event at the scheduled time includes emitting an event identifying the automation and the modified dataset; and

a consumer of the event performs said evaluation of the automation against the modified dataset.

13 . The non-transitory computer-readable medium of claim 10 , wherein each function comprises:

for each of the at least one time-based conditions, first program code for retrieving from the modified dataset a time value associated with the time-based condition; and

second program code for identifying the time interval during which the at least one time-based condition will be satisfied;

wherein each time-based condition is associated with a parameter of the dataset that has a time-based value.

14 . The non-transitory computer-readable medium of claim 10 , wherein the automation comprises:

the at least one time-based condition of each of the one or more paths of execution; and

one or more actions to execute when at least one of the one or more paths of execution successfully execute.

15 . The non-transitory computer-readable medium of claim 14 , wherein each automation further comprises:

one or more non-time-based conditions.

16 . The non-transitory computer-readable medium of claim 14 , wherein each automation further comprises:

a critical non-time-based condition that is common to each of the one or more paths of execution.

17 . The non-transitory computer-readable medium of claim 10 , wherein a time-based condition is a condition that requires a comparison between the current time and a time-based value of a parameter of a dataset.

18 . The non-transitory computer-readable medium of claim 10 , wherein the datasets are customer support tickets.

19 . A customer support system, comprising:

a ticket repository storing customer support tickets;

an automation repository storing automations to execute against customer support tickets stored in the ticket repository; and

a controller comprising one or more processors and memory storing instructions that, when executed by the one or more processors, cause the controller to:

identify one or more paths of execution of an automation configured to execute against datasets;

for each path that comprises at least one time-based condition, define a corresponding function to calculate a time interval during which the at least one time-based condition will be satisfied; and

when a dataset is modified, execute one or more functions against the modified dataset to attempt to identify, for each corresponding path, a time interval during which the time-based conditions of the corresponding path will be satisfied.

20 . The system of claim 19 , wherein the memory further stores instructions that, when executed by the one or more processors, further cause the controller to, when a time interval is identified during which the time-based conditions of a path of the automation will be satisfied:

schedule evaluation of the automation against the modified dataset for a time during the time interval; and

evaluate the automation against the modified dataset at the scheduled time.

21 . The system of claim 20 , wherein:

scheduling evaluation of the automation comprises configuring a timer to fire an event at the scheduled time;

firing the event at the scheduled time includes emitting an event identifying the automation and the modified dataset; and

a consumer of the event performs said evaluation of the automation against the modified dataset.

22 . The system of claim 19 , wherein each function comprises:

for each of the at least one time-based conditions, first program code for retrieving from the modified dataset a time value associated with the time-based condition; and

second program code for identifying the time interval during which the at least one time-based condition will be satisfied;

wherein each time-based condition is associated with a parameter of the dataset that has a time-based value.

23 . The system of claim 19 , wherein the automation comprises:

the at least one time-based condition of each of the one or more paths of execution; and

one or more actions to execute when at least one of the one or more paths of execution successfully execute.

24 . The system of claim 23 , wherein each automation further comprises:

one or more non-time-based conditions.

25 . The system of claim 23 , wherein each automation further comprises:

a critical non-time-based condition that is common to each of the one or more paths of execution.

26 . The system of claim 19 , wherein a time-based condition is a condition that requires a comparison between the current time and a time-based value of a parameter of a dataset.

27 . The system of claim 19 , wherein the datasets are customer support tickets.

Assignments (2)
SECURITY INTEREST Recorded Nov 22, 2022
From: ZENDESK, INC.
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 061850/0397 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2022
From: BISWAS, SANJEEV KUMAR; ANANTHANARAYANAN, VANCHESWARAN KODUVAYUR
To: ZENDESK, INC.
Reel/Frame 061231/0389 →