IP Library › Granted Patent US 10,587,525
Granted Patent B2
US 10,587,525 · App. 15/969,308 · Granted Mar 10, 2020

System and method to optimize workflow

Inventors: Praveen Raja Dhanabalan (Bengaluru, IN); Saurabh Pant (Bengaluru, IN)
Assignee: Citrix Systems, Inc.
H04L47/28H04L67/10
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,587,525
App. No.
15/969,308
Filed
May 2, 2018
Granted
Mar 10, 2020
Kind
B2
Art Unit
2449
USPC
709/204
Abstract

The present disclosure describes a system and method to reduce the overall time taken to complete distributed process workflows. Each workflow can include multiple actions that are completed by or at different client devices. The actions of a workflow can be dependent on prior actions in the workflow. For example, a second client device may not be able to complete a second action until a first client device completes a first action in the workflow. The system can predict time periods and the geolocations where client devices are most likely to complete an assigned action. Using the selected time periods and geolocations, the system can transmit notifications to the client devices when the action is most likely to be completed.

Claims (56)

1. A system comprising a memory storing processor executable instructions and one or more processors to:

generate a notification message indicating a first action to be performed in a distributed process;

identify a plurality of features associated with the first action to be performed in the distributed process;

select a plurality of time windows for each of a plurality of device locations based at least on the plurality of features;

determine a confidence value for each of the plurality of time windows, the confidence value indicating a likelihood of the first action being completed during each of the respective plurality of time windows and at least one device location of the plurality of device locations associated with the first action;

select a time window from the plurality of time windows for one of the plurality of device locations based at least on the confidence value of the time window;

transmit the notification message to a device located at the one of the plurality of device locations after a start time of the time window;

determine a time duration of the time window; and

hold the notification message until a predetermined device enters the one of the plurality of device locations based on the time duration being below a predetermined threshold.

2. The system of claim 1 , further comprising the one or more processors to:

determine the predetermined device is not within the one of the plurality of device locations at the end of the time window; and

transmit the notification message to the device at the end of the time window.

3. The system of claim 1 , further comprising the one or more processors to:

prefetch content associated with the first action to the device before the start time of the time window.

4. The system of claim 1 , further comprising the one or more processors to:

receive location information of the device; and

select the time window from the plurality of time windows based on the location information of the device.

5. The system of claim 1 , further comprising the one or more processors to:

generate a second notification message indicating a second action to be performed in the distributed process;

transmit the second notification message to a second device; and

transmit a third notification message indicating a third action to be performed in the distributed process to a third device before receiving an indication that the second device completed the second action.

6. The system of claim 1 , further comprising the one or more processors to:

select a second time window from the plurality of time windows, wherein the second time window has a time duration shorter than the time window and is associated with a second device location; and

transmit the notification message to a second device at the second device location.

7. The system of claim 1 , further comprising the one or more processors to:

transmit the notification message to the device located at the one of the plurality of device locations based on not receiving an indication that the device at the second device location completed the second action.

8. The system of claim 1 , wherein the plurality of features comprise at least one of location information, an action duration, a historical usage, a time zone, or a user designation.

9. The system of claim 1 , wherein the confidence value for each of the plurality of time windows at each of the plurality of device locations is generated using a machine learning based regression algorithm.

10. A method comprising:

generating a notification message indicating a first action to be performed in a distributed process;

determining a plurality of features associated with the first action to be performed in the distributed process;

select a plurality of time windows for each of a plurality of device locations based at least on the plurality of features;

determining a confidence value for each of the plurality of time windows, the confidence value indicating a likelihood of the first action being completed during each of the respective plurality of time windows and at at least one device location of the plurality of device locations associated with the first action;

selecting a time window from the plurality of time windows for one of the plurality of device locations based at least on the confidence value of the time window;

transmitting the notification message to a device located at the one of the plurality of device locations after a start time of the time window;

determining a time duration of the time window; and

holding the notification message until a predetermined device enters the one of the plurality of device locations based on the time duration being below a predetermined threshold.

11. The method of claim 10 , further comprising:

determining the predetermined device is not within the one of the plurality of device locations at the end of the time window; and

transmitting the notification message to the device at the end of the time window.

12. The method of claim 10 , further comprising:

prefetching content associated with the first action to the device before the start time of the time window.

13. The method of claim 10 , further comprising:

receiving location information of the device; and

selecting the time window from the plurality of time windows based on the location information of the device.

14. The method of claim 10 , further comprising:

generating a second notification message indicating a second action to be performed in the distributed process;

transmitting the second notification message to a second device; and

transmitting a third notification message indicating a third action to be performed in the distributed process to a third device before receiving an indication that the second device completed the second action.

15. The method of claim 10 , further comprising:

selecting a second time window from the plurality of time windows, wherein the second time window has a time duration shorter than the time window and is associated with a second device location; and

transmitting the notification message to a second device at the second device location.

16. The method of claim 10 , further comprising:

transmitting the notification message to the device located at the one of the plurality of device locations based on not receiving an indication that the device at the second device location completed the second action.

17. The method of claim 10 , wherein the plurality of features comprise at least one of location information, an action duration, a historical usage, a time zone, or a user designation.

18. The method of claim 10 , wherein the confidence value for each of the plurality of time windows at each of the plurality of device locations is generated using a machine learning based regression algorithm.

Assignments (16)
SECURITY INTEREST Recorded Jul 21, 2025
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 072094/0790 →
SECURITY INTEREST Recorded Dec 26, 2024
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 069784/0578 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2024
From: CITRIX SYSTEMS, INC.
To: PROGRESS SOFTWARE CORPORATION
Reel/Frame 069571/0001 →
RELEASE OF CERTAIN PATENT SECURITY INTERESTS AT REEL/FRAME 067662/0568 Recorded Nov 2, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 069291/0525 →
RELEASE OF CERTAIN PATENT SECURITY INTERESTS AT REEL/FRAME 062079/0001 Recorded Nov 2, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: CITRIX SYSTEMS, INC.
Reel/Frame 069291/0536 →
RELEASE OF CERTAIN PATENT SECURITY INTERESTS AT REEL/FRAME 062112/0262 Recorded Nov 2, 2024
From: BANK OF AMERICA, N.A.
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 069291/0492 →
RELEASE OF CERTAIN PATENT SECURITY INTERESTS AT REEL/FRAME 063340/0164 Recorded Nov 2, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 069291/0503 →
RELEASE OF CERTAIN PATENT SECURITY INTERESTS AT REEL/FRAME 062113/0470 Recorded Nov 2, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 069291/0514 →
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 →
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: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
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 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2018
From: DHANABALAN, PRAVEEN RAJA; PANT, SAURABH
To: CITRIX SYSTEMS, INC.
Reel/Frame 046069/0453 →
Continuity (1)
Related Publication 20190342223A1 · Nov 7, 2019