IP Library Granted Patent US 11,341,233
Granted Patent B2
US 11,341,233 · App. 16/229,142 · Granted May 24, 2022

Enforcing policies for unmanaged applications

Inventors: Shravan Shantharam (Cumming, GA); Kalyan Regula (Alpharetta, GA); Joshua Dobelstein (Suwanee, GA); Sharath Chowdary Gude (Atlanta, GA); Nigitha Alugubelli (Atlanta, GA); Xueliang Hua (Atlanta, GA)
Assignee: VMware, Inc.
G06F21/51G06F8/65H04L41/0803H04L41/0893H04L41/20H04L41/28G06F2221/033
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,341,233
App. No.
16/229,142
Granted
May 24, 2022
Kind
B2
Abstract

Disclosed are various approaches for enforcing policies for unmanaged applications. A user supplied script can be evaluated to determine whether an application is installed on a computing device. In response to a determination that the application is installed on the computing device, a request can be sent to a management service for at least one policy applicable to the application. The policy can be evaluated to determine whether the application complies with the policy.

Claims (57)

1. A system, comprising:

a computing device comprising a processor and a memory; and

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

evaluate a user supplied script to determine that an application is installed on the computing device as an unmanaged application independent of a management service by detecting a presence of a filename in a specific folder in a specific filepath and the presence of a specific registry key specified by the user supplied script;

in an instance in which it is determined that the application is installed on the computing device as the unmanaged application, send a request to the management service for at least one policy applicable to the application;

evaluate the policy to determine whether the application complies with the policy, wherein the policy specifies a particular configuration of the application and a specific version of the application; and

in response to determining that the application fails to comply with the policy, executing an installer associated with the application to modify a configuration of the application to be consistent with the particular configuration and to install the specific version of the application.

2. The system of claim 1 , wherein the user supplied script, when evaluated by the computing device, causes the computing device to at least:

determine that a registry key specified in the user supplied script exists within a registry provided by an operating system of the computing device.

3. The system of claim 1 , wherein the user supplied script, when evaluated by the computing device, causes the computing device to at least:

determine that a file specified in the user supplied script exists in a file path specified in the user supplied script.

4. The system of claim 1 , wherein the machine readable instructions, when executed by the processor, further cause the computing device to perform a compliance action in response to a determination that the application fails to comply with the policy.

5. The system of claim 4 , wherein the machine readable instructions, when executed by the processor, further cause the computing device to determine that the installer for the application is available at a predefined location.

6. The system of claim 5 , wherein:

the compliance action is an upgrade of the application; and

the machine readable instructions cause the computing device to perform the upgrade of the application using the installer for the application.

7. The system of claim 5 , wherein:

the compliance action is an uninstall of the application; and

the machine readable instructions cause the computing device to perform the uninstall of the application using the installer for the application.

8. A method, comprising:

evaluating a user supplied script to determine that an application is installed on a computing device as an unmanaged application independent of a management service by detecting a presence of a filename in a specific folder in a specific filepath and the presence of a specific registry key specified by the user supplied script;

in an instance in which it is determined_that the application is installed on the computing device as the unmanaged application, sending a request to the management service for at least one policy applicable to the application;

evaluating the policy to determine whether the application complies with the policy, wherein the policy specifies a particular configuration of the application and a specific version of the application; and

in response to determining that the application fails to comply with the policy, executing an installer associated with the application to modify a configuration of the application to be consistent with the particular configuration and to install the specific version of the application.

9. The method of claim 8 , wherein evaluating the user supplied script further comprises determining that a registry key specified in the user supplied script exists within a registry provided by an operating system of the computing device.

10. The method of claim 8 , wherein evaluating the user supplied script further comprises determining that a file specified in the user supplied script exists in a file path specified in the user supplied script.

11. The method of claim 8 , further comprising performing a compliance action in response to a determination that the application fails to comply with the policy.

12. The method of claim 11 , further comprising determining that an installer for the application is available at a predefined location.

13. The method of claim 12 , wherein:

the compliance action is an upgrade of the application; and

the method further comprises performing the upgrade of the application using the installer for the application.

14. The method of claim 12 , wherein:

the compliance action is an uninstall of the application; and

the method further comprises performing the uninstall of the application using the installer for the application.

15. A system, comprising:

a computing device comprising a processor and a memory; and

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

evaluate a user supplied script to determine whether an application is installed on the computing device as an unmanaged application independent of a management service by detecting a presence of a filename in a specific folder in a specific filepath and the presence of a specific registry key specified by the user supplied script;

in an instance in which it is determined that the application is not installed on the computing device as the unmanaged application, determine that an installer for the application is available at a predefined location;

cause the installer to install the application onto the computing device;

evaluate a policy to determine whether the application complies with the policy, wherein the policy specifies a particular configuration of the application and a specific version of the application; and

in response to determining that the application fails to comply with the policy, execute the installer associated with the application to modify a configuration of the application to be consistent with the particular configuration and to install the specific version of the application.

16. The system of claim 15 , wherein the user supplied script, when evaluated by the computing device, causes the computing device to at least:

determine that a registry key specified in the user supplied script exists within a registry provided by an operating system of the computing device.

17. The system of claim 15 , wherein the user supplied script, when evaluated by the computing device, causes the computing device to at least:

determine that a file specified in the user supplied script exists in a file path specified in the user supplied script.

18. The system of claim 15 , wherein the machine readable instructions further cause the computing device to at least:

send a request to the management service for at least one policy applicable to the application;

evaluate the policy to determine that installation of the application would place the computing device in compliance with the policy; and

cause the installer to install the application onto the computing device in response to a determination that the installation of the application would place the computing device in compliance with the policy.

19. The system of claim 15 , wherein:

the installer is a first installer for a first version of the application;

the predefined location is a first predefined location; and

the machine readable instructions further cause the computing device to at least:

retrieve a message from a command queue provided by the management service, the message specifying that the application is to be upgraded to a new version and a second predefined location for a second installer for a second version of the application; and

cause the second installer to upgrade the application from the first version of the application to the second version of the application.

20. The system of claim 15 , wherein the machine readable instructions further cause the computing device to at least prevent a user initiated uninstall of the application from the computing device.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: SHANTHARAM, SHRAVAN; REGULA, KALYAN; DOBELSTEIN, JOSHUA; GUDE, SHARATH CHOWDARY; ALUGUBELLI, NIGITHA; HUA, XUELIANG
To: VMWARE, INC.
Reel/Frame 048217/0378 →