IP Library › Granted Patent US 11,385,930
Granted Patent B2
US 11,385,930 · App. 15/629,118 · Granted Jul 12, 2022

Automatic workflow-based device switching

Inventor: Simon Frost (Hitchin, GB)
Assignee: Citrix Systems, Inc.
G06F9/4881G06F9/455G06F9/45533G06F9/45558G06F9/48G06F9/485G06F9/4806G06F9/4843G06F9/4856G06F9/50G06F9/5005G06F9/5011G06F9/5016G06F9/5022G06F9/5027G06F9/5044G06F9/5055G06F9/5061G06F9/5077G06F9/5083G06F9/54G06F9/547H04L67/025H04L67/125G06F2009/45575G06F2209/509
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,385,930
App. No.
15/629,118
Filed
Jun 21, 2017
Granted
Jul 12, 2022
Kind
B2
Art Unit
2196
USPC
718/104
Abstract

Methods and systems for receiving an indication that an application running on a first device is ready to perform a task, determining a device capability associated with performing the task, determining one or more devices associated with a user of the first device, wherein each of the one or more devices is associated with the device capability, selecting, based on the task and one or more user preferences associated with the user, a second device from the one or more devices, and sending an instruction to the second device, wherein the instruction causes the second device to perform the task, are described herein.

Claims (55)

1. A method comprising:

receiving an indication that an application on a first device is ready to perform a task, wherein the task being one of a series of tasks of a workflow;

determining a preferred device capability for performance of the task;

after determining that the first device lacks the preferred device capability, selecting a second device, from a plurality of devices associated with a user of the first device, that has the preferred device capability;

after selecting the second device, transferring the task from the application on the first device to a same application on the second device in order to continue the workflow on the second device, wherein the transferring comprises:

pausing execution of the application on the first device; and

sending data to the second device to enable the same application on the second device to perform the task as the application on the first device remains paused; and

responsive to completion of the task by the second device, resuming the workflow on the first device by resumption of execution of the paused application on the first device to perform a next task of the series of tasks of the workflow using results of the task performed on the second device.

2. The method of claim 1 , wherein the task is further associated with one or more of a display size, a type of output device, and a type of network connection.

3. The method of claim 1 , further comprising:

receiving, from the second device, one or more device capabilities associated with the second device; and

adding the second device and the one or more device capabilities to a profile associated with the user.

4. The method of claim 3 , further comprising:

determining a current time of day;

determining that the user is nearby the second device based on historical data indicating where the first device associated with the user is normally located during the current time of day; and

before receiving the one or more device capabilities from the second device, and responsive to determining that the user is nearby the second device, transmitting, to the second device, a request for the one or more device capabilities associated with the second device.

5. The method of claim 1 , wherein the device capability comprises hardware for authorizing a user identity.

6. The method of claim 1 , wherein the determining of the preferred device capability comprises generating a ranking of a plurality of device capabilities, wherein the preferred device capability is the highest ranked of the plurality of device capabilities, wherein a device capability of the first device is ranked below the preferred device capability.

7. The method of claim 1 , further comprising, during the pausing of the execution of the application running on the first device, displaying a message on the first device indicating that the second device is performing the task.

8. The method of claim 1 , wherein the indication that the application running on the first device is ready to perform the task comprises an indication that the application attempted to access a virtual device associated with the preferred device capability.

9. The method of claim 1 , wherein the application running on the first device is a web browser, and the indication that the application running on the first device is ready to perform a task comprises an indication that the web browser received a selection of a link.

10. A system comprising:

a first device;

a second device; and

a third device comprising one or more processors, a communication interface, and one or more non-transitory computer readable media storing instructions that, when executed by the one or more processors, cause the third device to:

receive, via the communication interface, an indication that an application running on the first device is ready to perform a task under control of a user of the first device, wherein the task being one of a series of tasks of a workflow;

determine, by the one or more processors, a device capability associated with performing the task;

determine, by the one or more processors, one or more devices associated with a user of the first device, wherein each of the one or more devices has the device capability;

select, by the one or more processors, based on the task and one or more user preferences associated with the user, the second device from the one or more devices; and

send, via the communication interface, an instruction to the second device, wherein the instruction causes the second device to perform the task;

send, via the communication interface, an instruction, to the first device, that causes the first device to pause an execution of the application on the first device while the second device continues the workflow by performing the task; and

responsive to completion of the task by the second device, send, via the communication interface, an instruction that causes the first device to resume the workflow by resumption of execution of the paused application on the first device to perform a next task of the series of tasks of the workflow.

11. The system of claim 10 , wherein the device capability is one or more of a display size, a type of input device, a type of output device, and a type of network connection.

12. The system of claim 10 , wherein the one or more non-transitory computer readable media further store instructions that, when executed by the one or more processors, cause the third device to:

receive, via the communication interface, from the second device, one or more device capabilities associated with the second device; and

add, by the one or more processors, the second device and the one or more device capabilities to a profile associated with the user.

13. The system of claim 12 , wherein the one or more non-transitory computer readable media further store instructions that, when executed by the one or more processors, cause the third device to:

determine a current time of day;

determine that the user is nearby the second device based on historical data indicating where the first device associated with the user is normally located during the current time of day; and

before receiving the one or more device capabilities from the second device, and responsive to determining that the user is nearby the second device, transmit, via the communication interface, to the second device, a request for the one or more device capabilities associated with the second device.

14. The system of claim 10 , wherein the instruction further causes the first device to, during the pausing, display a message indicating that the second device is performing the task.

15. The system of claim 10 , wherein the indication that the application running on the first device is ready to perform a task comprises an indication that the application attempted to access a virtual device associated with the device capability.

16. The system of claim 10 , wherein the application running on the first device is a web browser, and the indication that the application running on the first device is ready to perform a task comprises an indication that the web browser received a selection of a link.

17. An apparatus comprising:

one or more non-transitory computer readable media storing instructions that, when executed by one or more processors, cause the apparatus to:

receive an indication that an application on a first device is ready to perform a task, wherein the task being part of a series of tasks of a workflow;

determine, by the one or more processors, a device capability associated with performing the task;

determine, by the one or more processors, one or more devices associated with a user of the first device, wherein each of the one or more devices has the device capability;

select, by the one or more processors, based on the task and one or more user preferences associated with the user, a second device from the one or more devices;

send an instruction to the second device, wherein the instruction causes the second device to perform the task;

send an instruction, to the first device, that causes the first device to pause an execution of the application on the first device while the second device continues the workflow by performing the task; and

responsive to completion of the task by the second device, send an instruction that causes the first device to resume the workflow by resumption of execution of the paused application on the first device to perform a next task of the series of tasks of the workflow.

18. The apparatus of claim 17 , wherein the instruction further causes the first device to, during the pausing, display a message indicating that the second device is performing the task.

19. The apparatus of claim 17 , wherein the indication that the application associated with a first device is ready to perform the task comprises an indication that the application attempted to access a virtual device associated with the device capability.

20. The apparatus of claim 17 , wherein the application is a web browser, and the indication that the application running on the first device is ready to perform a task comprises an indication that the web browser received a selection of a link.

Assignments (9)
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 →
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 →
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 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 →
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 →
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 Jun 23, 2017
From: FROST, SIMON
To: CITRIX SYSTEMS, INC.
Reel/Frame 042795/0815 →
Continuity (1)
Related Publication 20180373568A1 · Dec 27, 2018
Cited By (2)
US 12,444,418 US 12,598,661