IP Library Granted Patent US 11,061,667
Granted Patent B1
US 11,061,667 · App. 16/859,614 · Granted Jul 13, 2021

Selecting a version of an application

Inventor: Ashish Gujarathi (Parkland, FL)
Assignee: Citrix Systems, Inc.
G06F8/71G06F16/955H04L67/10H04L67/327H04L67/34
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,061,667
App. No.
16/859,614
Granted
Jul 13, 2021
Kind
B1
Abstract

Described embodiments provide systems and methods for selecting a version of an application to launch for a client device according to a context of the client device. A computing device can receive a request from a client device to launch an application. The request can include an identifier that indicates multiple versions of the application are accessible in which to launch the application. The computing device can select, using the identifier, a version of the application according to a context of the client device. The computing device can provide the client device with access to the selected version of the application, so as to enable the client device to launch a version of the application compatible with the context of the client device.

Claims (48)

1. A method comprising:

receiving, by a computing device, a request from a client device to launch an application, the request including an identifier that indicates multiple versions of the application are accessible in which to launch the application;

selecting, by the computing device using the identifier, a version of the application according to a context of the client device; and

providing, by the computing device, the client device with access to the selected version of the application, so as to enable the client device to launch a version of the application compatible with the context of the client device.

2. The method of claim 1 , wherein the plurality of versions of the application include one of: a hosted application, a Software as a Service (SaaS) application or a native application of the client device.

3. The method of claim 1 , further comprising:

generating, by the computing device, a score for individual versions of the plurality of versions based on a comparison of attributes of the plurality of versions of the application, the score indicative of a similarity between the plurality of versions.

4. The method of claim 1 , further comprising:

applying, by the computing device, the identifier to the multiple versions of the plurality of versions of the application having a score greater than a threshold level; and

aggregating, by the computing device, the multiple versions having the identifier with an icon to provide the icon to the client device for requesting the application.

5. The method of claim 1 , further comprising:

comparing, by the computing device, the context of the client device to one or more attributes of the application, the context of the client device including one of: a location of the client device, a type of client device, or a time of day.

6. The method of claim 5 , further comprising:

generating, by the computing device responsive to the comparison, a score for the client device to access individual versions of the plurality of versions of the application, the score indicating a risk associated with accessing the respective version of the application from the client device.

7. The method of claim 6 , further comprising:

selecting, by the computing device using the score, the version of the application from the plurality of versions in which to launch the application.

8. The method of claim 1 , further comprising:

selecting, by the computing device according to a determined order of access for the plurality of versions, the version of the application from the plurality of versions.

9. The method of claim 1 , further comprising:

providing, by the computing device, the computing device with a uniform resource locator (URL) of the selected version of the application, so as to enable the client device to launch the version of the application compatible with the context.

10. The method of claim 1 , further comprising:

providing, by the computing device, an indication to the client device indicating one or more criteria used in the selection of the version of the application.

11. A system comprising:

a computing device comprising one or more processors coupled to memory, the computing device configured to:

receive a request from a client device to launch an application, the request including an identifier that indicates multiple versions of the application are accessible in which to launch the application;

select, using the identifier, a version of the application according to a context of the client device; and

provide the client device with access to the selected version of the application, so as to enable the client device to launch a version of the application compatible with the context of the client device.

12. The system of claim 11 , wherein the plurality of versions of the application include one of: a hosted application, a Software as a Service (SaaS) application or a native application of the client device.

13. The system of claim 11 , wherein the device is configured to:

generate a score for the client device to access individual versions of the plurality of versions based on a comparison of attributes of the plurality of versions of the application, the score indicative of a similarity between the plurality of versions.

14. The system of claim 11 , wherein the device is configured to:

apply the identifier to the multiple versions of the plurality of versions of the application having a score greater than a threshold level; and

aggregate the multiple versions having the identifier with an icon to provide the icon to the client device for requesting the application.

15. The system of claim 11 , wherein the device is configured to:

compare the context of the client device to one or more attributes of the application, the context of the client device including one of: a location of the client device, a type of client device, or a time of day.

16. The system of claim 15 , wherein the device is configured to:

generate, responsive to the comparison, a score for individual versions of the plurality of versions of the application, the score indicating a risk associated with accessing the respective version of the application from the client device.

17. The system of claim 16 , wherein the device is configured to:

select, using the score, the version of the application from the plurality of versions in which to launch the application.

18. The system of claim 11 , wherein the device is configured to:

provide the client device with a uniform resource locator (URL) of the selected version of the application, so as to enable the client device to launch the version of the application compatible with the context.

19. A non-transitory computer-readable medium, comprising instructions that, when executed by the processor of a device, cause the processor to:

receive a request from a client device to launch an application, the request including an identifier that indicates multiple versions of the application are accessible in which to launch the application;

select, using the identifier, a version of the application according to a context of the client device; and

provide the client device with access to the selected version of the application, so as to enable the client device to launch a version of the application compatible with the context of the client device.

20. The computer-readable medium of claim 19 , further comprising instructions that cause the processor to:

apply the identifier to the multiple versions of the plurality of versions of the application having a score greater than a threshold level; and

aggregate the multiple versions having the identifier with an icon to provide the icon to the client device for requesting the application.

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 →
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 →
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 →
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: 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 Apr 27, 2020
From: GUJARATHI, ASHISH
To: CITRIX SYSTEMS, INC.
Reel/Frame 052505/0119 →
Cited By (4)
US 12,210,868 US 12,301,632 US 12,513,364 US 12,621,331