# US 2021/0334091 A1 · Selecting a version of an application

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0334091 A1
- Document ID: US20210334091A1
- Status: Published application
- Kind: A1
- Application number: 17/351,715
- Filed: 2021-06-18
- Published: 2021-10-28
- Earliest claimed: 2020-04-27
- Assignees: Citrix Systems, Inc.
- Applicants: Citrix Systems, Inc.
- Inventors: Ashish Gujarathi
- Web page: https://patentgrep.com/patent/US20210334091A1

## CPC

- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 9/4843: {by program, e.g. task dispatcher, supervisor, operating system}
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 67/63: Routing a service request depending on the request content or context
- G06F 2209/482: Application
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 1

A method comprising:
communicating, by a client device to a remote computing device, a request from a user to access an application, the request including an identifier indicating there being multiple versions of the application accessible to the user;
receiving, by the client device, identification of a version of the application selected from the multiple versions of the application by the remote computing device based at least on the version of the application being compatible with one or more properties of the client device; and
providing, by the client device responsive to the request, access to the version of the application.

### Claim 2 (depends on 1)

The method of claim 1, wherein the multiple versions of the application include two or more of the following: the version of the application being hosted on a remote computing device, the version of the application being installed locally on the client device or the version of the application being provided as a service.

### Claim 3 (depends on 1)

The method of claim 1, further comprising receiving, by the client device, the request from an interaction by the user with a graphical representation of the application, the graphical representation associated with the multiple versions of the application.

### Claim 4 (depends on 1)

The method of claim 1, wherein the one or more properties of the client device includes one or more of the following: a location of the client device, a connection of the client device, a network of the client device, a security information about the client device and an authorization or security level of the client device.

### Claim 5 (depends on 1)

The method of claim 1, further comprising launching, by the client device, the version of the application to provide access to the version of the application.

### Claim 6

A method comprising:
communicating, by a client device to a remote computing device, a request from a user to access an application, the request including an identifier indicating there being multiple versions of the application accessible to the user;
receiving, by the client device, identification of a version of the application selected from the multiple versions of the application by the remote computing device based at least on the version of the application being compatible with one or more attributes of the user of the client device; and
providing, by the client device responsive to the request, access to the version of the application.

### Claim 7 (depends on 1)

The method of claim 1, wherein the multiple versions of the application include two or more of the following: the version of the application being hosted on a remote computing device, the version of the application being installed locally on the client device or the version of the application being provided as a service.

### Claim 8 (depends on 1)

The method of claim 1, further comprising receiving, by the client device, the request from an interaction by the user with a graphical representation of the application, the graphical representation associated with the multiple versions of the application.

### Claim 9 (depends on 1)

The method of claim 1, wherein the one or more attributes of the user includes one or more of the following: a location of the user, a profile of the user, the client device being used by the user, a time of day or a risk score of the user.

### Claim 10 (depends on 1)

The method of claim 1, further comprising launching, by the client device, the version of the application to provide access to the version of the application.

### Claim 11

A system comprising:
a client device configured to:
communicate to a server a request from a user to access an application, the request including an identifier indicating there being a plurality versions of the application available to the user, a version of the plurality of versions of the application being provided by a remote computing device;
receive, from the server, identification of the version of the application provided on a remote computing device based at least on the version of the application being compatible with one or more properties of the client device; and
cause, responsive to the request, access to a uniform resource locator (URL) of the version of the application provided by the remote computing device.

### Claim 12 (depends on 11)

The system of claim 11, wherein the plurality of versions of the application include another version of the application being installed locally on the client device.

### Claim 13 (depends on 11)

The system of claim 11, wherein the client device is further configured to receive identification of the version of the application provided on the remote computing device instead of the another version of the application being installed locally on the client device

### Claim 14 (depends on 11)

The system of claim 11, wherein the version of the application provided by the remote computing device is hosted by the remote computing device.

### Claim 15 (depends on 11)

The system of claim 11, wherein the version of the application provided by the remote computing device is provided as a service by the remote computing device.

### Claim 16 (depends on 11)

The system of claim 11, wherein the one or more properties of the client device includes one or more of the following: a location of the client device, a connection of the client device, a network of the client device, a security information about the client device and an authorization or security level of the client device.

### Claim 17

A system comprising:
a client device configured to:
communicate to a server a request from a user to access an application, the request including an identifier indicating there being multiple versions of the application accessible to the user;
receive from the server identification of a version of the application selected from the multiple versions of the application by the remote computing device based at least on the version of the application being compatible with one or more attributes one of the user or the client device; and
cause, responsive to the request, access to the version of the application.

### Claim 18 (depends on 17)

The system of claim 17, wherein the multiple versions of the application include two or more of the following: the version of the application being hosted on a remote computing device, the version of the application being installed locally on the client device or the version of the application being provided as a service.

### Claim 19 (depends on 17)

The system of claim 17, wherein the one or more attributes of the client device includes one or more of the following: a location of the client device, a connection of the client device, a network of the client device, a security information about the client device and an authorization or security level of the client device.

### Claim 20 (depends on 17)

The system of claim 17, wherein the one or more attributes of the user includes one or more of the following: a location of the user, a profile of the user, the client device being used by the user, a time of day or a risk score of the user.
