IP Library Granted Patent US 12675285
Granted Patent B2
US 12675285 · App. 18/135,761 · Granted Jul 7, 2026

Managing applications across multiple devices

Inventors: Anikethana Narasimha Murthy (Palo Alto, CA); David Shaw (Atlanta, GA); Partheeban Kandasamy (Bellevue, WA); Basalingayya Karamadi (Bangalore, IN); Makrand Sethi (Bangalore, IN)
Assignee: Omnissa, LLC
G06F8/71G06F8/62
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 12675285
App. No.
18/135,761
Granted
Jul 7, 2026
Kind
B2
Abstract

A management service can receive an installation request for a client application from a first client device, where the installation request specifies a second client device on which the client application is to be installed. The management service can identify an operating system associated with the second client device. The management service can request installation of the client application on the second client device from an application catalog service associated with the operating system of the second client device.

Claims (47)

1 . A system comprising:

at least one computing device comprising a processor and a memory; and

machine-readable instructions stored in the memory that, when executed by the processor, cause the at least one computing device to at least:

enroll, for management at a management server, a first client device associated with a user account and a second client device associated with the user account, wherein enrolling includes loading a management agent on the respective first and second client devices, the management agent on the respective first and second client devices configured to communicate with the management server to obtain and execute device-specific commands from a command queue maintained by the management server;

provide, from the management server to the first client device, a catalog of applications that can be installed on the first client device or the second client device, wherein the catalog of applications is rendered by the management agent in a graphical user interface that enables cross-device installation of applications;

receive an installation request for a client application that is one of the applications in the catalog, from the first client device to the management server, the installation request being made via input on the user interface of the first client device and specifying the second client device on which the client application is to be installed;

identify an operating system associated with the second client device;

identify a version of the client application executable on the operating system of the second client device;

determine whether the client application identified in the installation request is a public application available from an external catalog service or an internal application associated with a configuration profile containing one or more configuration settings managed by the management server;

in response to determining that the client application is the internal application, retrieve, by the management server, the configuration profile for the version of the client application and place, in the command queue, a command for the management agent to install the version of the client application on the second client device and to apply the configuration profile containing the one or more configuration settings to the version of the client application installed on the second client device, wherein the second client device installs the version of the client application and applies the configuration profile to the installed version of the client application; and

in response to determining that the client application is a public application, transmit, by the management server to the external catalog service, an application programming interface (API) request to generate an installation package for the version of the client application, wherein the external catalog service causes the installation package to be delivered to the second client device for installation of and wherein the version of the client application is installed on the second client device.

2 . The system of claim 1 , wherein the machine-readable instructions further cause the at least one computing device to at least identify the second client device based at least in part on a device identifier associated with the second client device, the device identifier being one of a plurality of device identifiers associated with the user account.

3 . The system of claim 1 , wherein the machine-readable instructions further cause the at least one computing device to at least:

receive an uninstallation request for the client application from the first client device; and

place, in the command queue, a second command to uninstall the client application by the management agent on the second client device.

4 . The system of claim 1 , wherein the client application comprises a virtual application or a native application.

5 . The system of claim 1 , wherein the version of the client application is not compatible with an operating system of the first client device.

6 . The system of claim 1 , wherein the configuration profile is at least one of a virtual private network (VPN) certificate, a Wi-Fi profile, or an email profile.

7 . A method, comprising:

enrolling, for management at a management server, a first client device associated with a user account and a second client device associated with the user account, wherein enrolling includes loading a management agent on the respective first and second client devices, the management agent on the respective first and second client devices configured to communicate with the management server to obtain and execute device-specific commands from a command queue maintained by the management server;

providing, from the management server to the first client device, a catalog of applications that can be installed on the first client device or the second client device, wherein the catalog of applications is rendered by the management agent in a graphical user interface that enables cross-device installation of applications across different operating systems;

receiving an installation request for a client application that is one of the applications in the catalog, from the first client device to the management server, the installation request being made via input on the user interface of the first client device and specifying the second client device on which the client application is to be installed;

identifying an operating system associated with the second client device;

identifying a version of the client application executable on the operating system of the second client device;

determining whether the client application identified in the installation request is a public application available from an external catalog service or an internal application associated with a configuration profile containing one or more configuration settings managed by the management server;

determining that the client application is the internal application; and

retrieving, by the management server, the configuration profile for the version of the client application and placing, in the command queue, a command for the management agent to install the identified version of the client application on the second client device and to apply the configuration profile containing the one or more configuration settings to the version of the client application installed on the second client device, wherein the second client device installs the version of the client application and applies the configuration profile to the installed version of the client application,

wherein in response to determining that the client application is a public application, the management server transmits to the external catalog service, an application programming interface (API) request to generate an installation package for the version of the client application, wherein the external catalog service causes the installation package to be delivered to the second client device and wherein the version of the client application is installed on the second client device.

8 . The method of claim 7 , further comprising identifying the second client device based at least in part on a device identifier associated with the second client device, the device identifier being one of a plurality of device identifiers associated with the user account.

9 . The method of claim 7 , further comprising:

receiving an uninstallation request for the client application from the first client device; and

placing, in the command queue, a second command to uninstall the client application by the management agent on the second client device.

10 . The method of claim 7 , wherein the client application comprises a virtual application or a native application.

11 . The method of claim 7 wherein the version of the client application is not compatible with an operating system of the first client device.

12 . A non-transitory computer-readable medium embodying program instructions that, when executed, cause at least one computing device to at least:

enroll, for management at a management server, a first client device associated with a user account and a second client device associated with the user account, wherein enrolling includes loading a management agent on the respective first and second client devices, the management agent on the respective first and second client devices configured to communicate with the management server to obtain and execute device-specific commands from a command queue maintained by the management server;

provide, from the management server to the first client device, a catalog of applications that can be installed on the first client device or the second client device, wherein the catalog of applications is rendered by the management agent in a graphical user interface that enables cross-device installation of applications across different operating systems;

receive an installation request for a client application that is one of the applications in the catalog, from the first client device to the management server, the installation request being made via input on the user interface of the first client device and specifying the second client device on which the client application is to be installed;

identify an operating system associated with the second client device;

identify a version of the client application executable on the operating system of the second client device;

determine whether the client application identified in the installation request is a public application available from an external catalog service or an internal application associated with a configuration profile containing one or more configuration settings managed by the management server;

in response to determining that the client application is the internal application, retrieve, by the management server, the configuration profile for the version of the client application and place, in the command queue, a command for the management agent to install the version of the client application on the second client device and to apply the configuration profile containing the one or more configuration settings to the version of the client application installed on the second client device, wherein the second client device installs the version of the client application and applies the configuration profile to the installed version of the client application; and

in response to determining that the client application is a public application, transmit, by the management server to the external catalog service, an application programming interface (API) request to generate an installation package for the version of the client application, wherein the external catalog service causes the installation package to be delivered to the second client device for installation of and wherein the version of the client application is installed on the second client device.

13 . The non-transitory computer-readable medium of claim 12 , wherein the program instructions further cause the at least one computing device to at least identify the second client device based at least in part on a device identifier associated with the second client device, the device identifier being one of a plurality of device identifiers associated with the user account.

14 . The non-transitory computer-readable medium of claim 12 , wherein the program instructions further cause the at least one computing device to at least:

receive an uninstallation request for the client application from the first client device; and

place, in the command queue, a second command to uninstall the client application by the management agent on the second client device.