IP Library Granted Patent US 12,041,125
Granted Patent B2
US 12,041,125 · App. 17/866,053 · Granted Jul 16, 2024

State management for device-driven management workflows

Inventors: Jonathon Deriso (Atlanta, GA); Saransh Bhatnagar (Bangalore, IN); Rahul Parwani (Atlanta, GA); Brian Link (Atlanta, GA); Mohan Guttikonda (Bangalore, IN); Satish Venkatakrishnan (Bangalore, IN)
Assignee: VMware LLC
H04L67/1078H04L41/0627H04L67/01H04L67/1044H04L67/306
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 12,041,125
App. No.
17/866,053
Granted
Jul 16, 2024
Kind
B2
Abstract

Disclosed are various embodiments for recognizing state changes in client devices and managing the state of client devices using device-driven management workflows. A computing device can receive a state of a client device. The computing device can then determine if the received state matches an expected, compliant state of the client device. When the computing device determines that the received state does not match the expected state, the computing device can identify a remedial workflow that would bring the client device into compliance. The computing device can send the remedial workflow and an instruction to run the remedial workflow to the client device.

Claims (58)

1. A system comprising:

a first computing device comprising a processor and a memory; and

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

receive a first state of a second computing device;

determine that the first state of the second computing device does not match an expected state for the second computing device;

identify, based at least on a device type of the device, an operating system platform of the device, a comparison of the expected state for the second computing device and the first state of the second computing device, a remedial device-driven workflow that, after being executed by the second computing device, will result in a second state of the second computing device matching the expected state for the second computing device, the remedial device-driven workflow employing at least an operating system application program interface (API) to produce the second state of the second computing device;

send the remedial workflow to the second computing device; and

send an instruction to execute the remedial workflow to the second computing device.

2. The system of claim 1 , wherein the machine-readable instructions, when executed by the processor, further cause the first computing device to at least:

place, in response to identifying the remedial workflow, the remedial workflow onto a command queue; and

place, in response to identifying the remedial workflow, the instruction to execute the remedial workflow onto the command queue.

3. The system of claim 2 , wherein the machine-readable instructions that cause the first computing device to send the remedial workflow to the second computing device are executed by the processor in response to receiving a request to obtain data from the command queue and wherein the machine-readable instructions that cause the first computing device to send the instruction to execute the remedial workflow to the second computing device are executed by the processor in response to receiving the request to obtain data from the command queue.

4. The system of claim 1 , wherein the machine-readable instructions that cause the first computing device to determine that the first state of the second computing device does not match the expected state for the second computing device further cause the first computing device to at least:

select a required resource from the expected state;

search the first state of the second computing device for the required resource; and

determine, in response to failing to find the required resource within the first state of the second computing device, that the first state of the second computing device does not match the expected state for the second computing device.

5. The system of claim 4 , wherein the required resource is a name of at least one of a configuration file, an application, or a library.

6. The system of claim 4 , wherein the remedial workflow is configured to install, when executed by the second computing device, the required resource on the second computing device.

7. The system of claim 1 , wherein the machine-readable instructions, when executed by the processor, further cause the first computing device to at least:

receive the second state of the second computing device; and

determine that the second state of the second computing device matches the expected state for the second computing device.

8. A method, comprising:

receiving, by a first computing device, a first state of a second computing device;

determining, by the first computing device, that the first state of the computing device does not match an expected state for the second computing device;

identifying, by the first computing device and based at least on a device type of the device, an operating system platform of the device, and a comparison of the expected state for the second computing device and the first state of the second computing device, a remedial device-driven workflow that, after being executed by the second computing device, will result in a second state of the second computing device matching the expected state for the second computing device, the remedial device-driven workflow employing at least an operating system application program interface (API) to produce the second state of the second computing device;

sending, by the first computing device, the remedial workflow to the second computing device; and

sending, by the first computing device, an instruction to execute the remedial workflow to the second computing device.

9. The method of claim 8 , further comprising:

placing, by the first computing device in response to identifying the remedial workflow, the remedial workflow onto a command queue; and

placing, by the first computing device in response to identifying the remedial workflow, the instruction to execute the remedial workflow onto the command queue.

10. The method of claim 9 , wherein sending, by the first computing device, the remedial workflow to the second computing device are executed by the processor in response to receiving a request to obtain data from the command queue and wherein sending, by the first computing device, the instruction to execute the remedial workflow to the second computing device are executed by the processor in response to receiving the request to obtain data from the command queue.

11. The method of claim 8 , wherein determining, by the first computing device, that the first state of the second computing device does not match the expected state for the second computing device further comprises:

selecting, by the first computing device, a required resource from the expected state;

searching, by the first computing device, the first state of the second computing device for the required resource; and

determining, by the first computing device in response to failing to find the required resource within the first state of the second computing device, that the first state of the second computing device does not match the expected state for the second computing device.

12. The method of claim 11 , wherein the required resource is a name of at least one of a configuration file, an application, or a library.

13. The method of claim 11 , wherein the remedial workflow is configured to install, when executed by the second computing device, the required resource on the second computing device.

14. The method of claim 8 , further comprising:

receiving, by the first computing device, the second state of the second computing device; and

determining, by the computing device, that the second state of the second computing device matches the expected state for the second computing device.

15. The non-transitory, computer-readable medium comprising machine-readable instructions that, when executed by a process of a first computing device, cause the first computing device to at least:

receive a first state of a second computing device;

determine that the first state of the second computing device does not match an expected state for the second computing device;

identify, based at least on a device type of the device, an operating system platform of the device, a comparison of the expected state for the second computing device and the first state of the second computing device, a remedial device-driven workflow that, after being executed by the second computing device, will result in a second state of the second computing device matching the expected state for the second computing device, the remedial device-driven workflow employing at least an operating system application program interface (API) to produce the second state of the second computing device;

send the remedial workflow to the second computing device; and

send an instruction to execute the remedial workflow to the second computing device.

16. The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions, when executed by the processor, further cause the first computing device to at least:

place, in response to identifying the remedial workflow, the remedial workflow onto a command queue; and

place, in response to identifying the remedial workflow, the instruction to execute the remedial workflow onto the command queue.

17. The non-transitory, computer-readable medium of claim 16 , wherein the machine-readable instructions that cause the first computing device to send the remedial workflow to the second computing device are executed by the processor in response to receiving a request to obtain data from the command queue and wherein the machine-readable instructions that cause the first computing device to send the instruction to execute the remedial workflow to the second computing device are executed by the processor in response to receiving the request to obtain data from the command queue.

18. The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions that cause the first computing device to determine that the first state of the second computing device does not match the expected state for the second computing device further cause the first computing device to at least:

select a required resource from the expected state;

search the first state of the second computing device for the required resource; and

determine, in response to failing to find the required resource within the first state of the second computing device, that the first state of the second computing device does not match the expected state for the second computing device.

19. The non-transitory, computer-readable medium of claim 18 , wherein the remedial workflow is configured to install, when executed by the second computing device, the required resource on the second computing device.

20. The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions, when executed by the processor, further cause the first computing device to at least:

receive the second state of the second computing device; and

determine that the second state of the second computing device matches the expected state for the second computing device.

Assignments (3)
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/0242 →