IP Library Granted Patent US 10,534,637
Granted Patent B1
US 10,534,637 · App. 15/900,856 · Granted Jan 14, 2020

Systems and methods for managing chain of software applications

Inventors: Sergey Kontsov (Moscow, RU); Nikolay Dobrovolskiy (Moscow, RU); Serguei M. Beloussov (Costa Del Sol, SG)
Assignee: Parallels International GmbH
G06F9/4843G06F3/0486G06F3/04817G06F9/54
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,534,637
App. No.
15/900,856
Granted
Jan 14, 2020
Kind
B1
Abstract

Systems and methods for managing software applications are provided. The system may receive a user input request, via a graphical user interface, to chain together two or more applications. The system determines application profiles associated with each application, where the application profile specifies an input type and an output type for that application. The system determines whether the first output type of the first application is compatible with the second input type of the second application. If so, the system generates a chain application configured to execute the first application and second application in sequential order in which an intermediate output of the first application is passed to the second application as an input.

Claims (50)

1. A computer-implemented method for managing software applications, comprising:

receiving, via a graphical user interface, a user input request to chain together a first application and a second application, wherein the user input request indicates a sequence of execution of the first application followed by the second application;

identifying a first input type and a first output type of the first application;

identifying a second input type and a second output type of the second application;

in response to determining that the first output type of the first application is not compatible with the second input type of the second application, updating, without further user input, the sequence of execution such that the second application precedes the first application; and

generating a chain application configured to execute the first application and the second application in the updated sequence of execution in which an intermediate output of the second application is passed to the first application as an input.

2. The method of claim 1 , wherein the user input request comprises a drag-and-drop input event indicating a source icon representing the first application has been dropped on a destination icon representing the second application.

3. The method of claim 1 , further comprising:

displaying an icon representing the generated chain application associated with the first application and the second application, wherein the icon includes a combination of visual elements of a first icon representing the first application and visual elements of a second icon representing the second application, wherein the icon representing the generated chain application is rendered as the first icon and the second icon arranged in a three-dimensional stack representing the updated sequence of execution of the chain application.

4. The method of claim 1 , further comprising:

receiving a subsequent user input request to chain together the chain application and a third application;

identifying a third input type of the third application;

responsive to determining that the first output type of the first application is compatible with the third input type of the third application, generating a second chain application configured to execute the second application, the first application, and the third application in sequential order in which an intermediate output of the second application is passed to the first application as an input, and an intermediate output of the first application is passed to the third application as an input.

5. The method of claim 1 , wherein an indication by the user input request of the sequence of execution is given by a selection of a source icon representing the first application followed by a subsequent selection of a destination icon representing the second application.

6. The method of claim 1 , comprising:

responsive to determining that the first output type of the first application is not compatible with the second input type of the second application, refraining from generating the chain application.

7. The method of claim 1 , wherein the first and second applications are utility components of a toolbox application.

8. The method of claim 1 , wherein updating the sequence of execution such that the second application precedes the first application is further in response to determining that the first input type of the first application is compatible with the second output type of the second application.

9. A system for managing software applications, the system comprising:

a storage device; and

a hardware processor configured to:

receive, via a graphical user interface, a user input request to chain together a first application and a second application, wherein the user input request indicates a sequence of execution of the first application followed by the second application;

identify a first input type and a first output type of the first application;

identify a second input type and a second output type of the second application;

in response to determining that the first output type of the first application is not compatible with the second output type of the second application, update, without further user input, the sequence of execution such that the second application precedes the first application; and

generate a chain application configured to execute the first application and the second application in the updated sequence of execution in which an intermediate output of the second application is passed to the first application as an input.

10. The system of claim 9 , wherein the user input request comprises a drag-and-drop input event indicating a source icon representing the first application has been dropped on a destination icon representing the second application.

11. The system of claim 9 , wherein the processor is further configured to:

display an icon representing the generated chain application associated with the first application and the second application, wherein the icon includes a combination of visual elements of a first icon representing the first application and visual elements of a second icon representing the second application, wherein the icon representing the generated chain application is rendered as the first icon and the second icon arranged in a three-dimensional stack representing the updated sequence of execution of the chain application.

12. The system of claim 9 , wherein the processor is further configured to:

receive a subsequent user input request to chain together the chain application and a third application;

identify a third input type of the third application;

responsive to determining that the first output type of the first application is compatible with the third input type of the third application, generate a second chain application configured to execute the second application, the first application, and the third application in sequential order in which an intermediate output of the second application is passed to the first application as an input, and an intermediate output of the first application is passed to the third application as an input.

13. The system of claim 9 , wherein an indication by the user input request of the sequence of execution is given by a selection of a source icon representing the first application followed by a subsequent selection of a destination icon representing the second application.

14. The system of claim 9 , wherein the processor is further configured to:

responsive to determining that the first output type of the first application is not compatible with the second input type of the second application, refrain from generating the chain application.

15. The system of claim 9 , wherein the first and second applications are utility components of a toolbox application.

16. The system of claim 9 , wherein the processor is further configured to update the sequence of execution such that the second application precedes the first application in response to determining that the first input type of the first application is compatible with the second output type of the second application.

17. A non-transitory computer readable medium comprising computer executable instructions for managing software applications, including instructions for:

receiving, via a graphical user interface, a user input request to chain together a first application and a second application, wherein the user input request indicates a sequence of execution of the first application followed by the second application;

identifying a first input type and a first output type of the first application;

identifying a second input type and a second output type of the second application;

in response to determining that the first output type of the first application is not compatible with the second input type of the second application, updating, without further user input, the sequence of execution such that the second application precedes the first application; and

generating a chain application configured to execute the first application and the second application in the updated sequence of execution in which an intermediate output of the second application is passed to the first application as an input.

18. The non-transitory computer readable medium of claim 17 , wherein the user input request comprises a drag-and-drop input event indicating a source icon representing the first application has been dropped on a destination icon representing the second application.

19. The non-transitory computer readable medium of claim 17 , further comprising instructions for:

receiving a subsequent user input request to chain together the chain application and a third application;

identifying a third input type of the third application;

responsive to determining that the first output type of the first application is compatible with the third input type of the third application, generating a second chain application configured to execute the second application, the first application, and the third application in sequential order in which an intermediate output of the second application is passed to the first application as an input, and an intermediate output of the first application is passed to the third application as an input.

20. The non-transitory computer readable medium of claim 17 , wherein an indication by the user input request of the sequence of execution is given by a selection of a source icon representing the first application followed by a subsequent selection of a destination icon representing the second application.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jul 18, 2019
From: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AND COLLATERAL AGENT
To: COREL CORPORATION; CLEARSLIDE, INC.; PARALLELS INTERNATIONAL GMBH
Reel/Frame 049787/0073 →
RELEASE OF SECURITY INTEREST RECORDED AT : REEL 047973 FRAME 0797 Recorded Jul 17, 2019
From: UBS AG, STAMFORD BRANCH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 049773/0590 →
SECURITY INTEREST Recorded Dec 21, 2018
From: PARALLELS INTERNATIONAL GMBH
To: UBS AG, STAMFORD BRANCH
Reel/Frame 047973/0797 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2018
From: KONTSOV, SERGEY; DOBROVOLSKIY, NIKOLAY; BELOUSSOV, SERGUEI M
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 044984/0149 →