IP Library Granted Patent US 12,260,229
Granted Patent B2
US 12,260,229 · App. 18/122,162 · Granted Mar 25, 2025

Automatic drift detection of configurations of a software-defined data center that are managed according to a desired state

Inventors: Kalyan Devarakonda (Bangalore, IN); Ivaylo Radoslavov Radev (Sofia, BG); Georgi Lyubomirov Dimitrov (Plovdiv, BG); Narasimha Gopal Gorthi (Bangalore, IN); Lipsa Nayak (Bangalore, IN)
Assignee: VMware LLC
G06F9/44526G06F9/4451
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,260,229
App. No.
18/122,162
Granted
Mar 25, 2025
Kind
B2
Abstract

Drift is automatically detected in configuration of services running in a management appliance of a software-defined data center. A method of automatically detecting drift includes: in response to a notification of a change in a configuration of a first service enabled for proactive drift detection, transmitting a first request to compute drift in the configuration of the first service to a plug-in of the first service, the first request including the change in the configuration of the first service; periodically, at designated time intervals, transmitting a second request to compute drift in the configuration of a second service enabled for passive drift detection, to the plug-in of the second service, the second request including a current state of the configuration of the second service; and notifying a desired state management service of the computed drift in the configuration of the first and second services.

Claims (59)

1. A method of automatically detecting drift from a desired state in configuration of services running in a management appliance of a software-defined data center (SDDC), wherein the services include a first service that is enabled for proactive drift detection and a second service that is enabled for passive drift detection, and the desired state is managed centrally for a plurality of SDDCs from a desired state management service running in a cloud platform and communicated to the management appliance, said method comprising:

storing, by the management appliance, the desired state communicated from the desired state management service;

detecting, by the first service, a change in a configuration of the first service and issuing a notification, by the first service, to a profile service of the management appliance of the change in the configuration of the first service;

in response to the notification of the change in the configuration of the first service, computing, by the profile service, drift in the configuration of the first service from the stored desired state using a plug-in of the first service;

periodically, at designated time intervals, acquiring, by the profile service, a current state of the configuration of the second service, and computing, by the profile service, drift in the configuration of the second service from the stored desired state using a to the plug-in of the second service; and

notifying the desired state management service running in the cloud platform of the computed drift in the configuration of the first and second services.

2. The method of claim 1 , further comprising:

in response to a notification of a change in a configuration of a third service, which is another one of the services running in the management appliance, storing the change in the configuration of the third service in a queue for the third service; and

transmitting a third request to compute drift in the configuration of the third service to a plug-in of the third service, the third request including the change in the configuration of the third service that has been retrieved from the queue.

3. The method of claim 2 , wherein the third request is transmitted according to a predefined frequency.

4. The method of claim 3 , wherein

the change in the configuration of the third service stored in the queue includes a first change that is stored in the queue at a first time and a second change that is stored in the queue at a second time that is later than the first time, and

the third request includes the second change but not the first change.

5. The method of claim 1 , wherein

the change in the configuration of the first service includes a changed value of a property of the configuration of the first service, and the plug-in of the first service, compares the changed value with a value of the property in the desired state to compute the drift in the configuration of the first service.

6. The method of claim 1 , wherein

the desired state management service is a cloud service running in a multi-tenant cloud platform, and the notification of the computed drift in the configuration of the first and second services is made through an agent of the cloud service.

7. The method of claim 6 , wherein

the agent of the cloud service is running in an agent platform appliance which is deployed on a same cluster of hosts as the management appliance, and

the desired state is communicated from the cloud service to the management appliance through the agent of the cloud service.

8. The method of claim 6 , wherein the step of notifying the desired state management service of the computed drift includes:

storing the drift in the configuration of the first service computed by the plug-in of the first service in a drift queue;

storing the drift in the configuration of the second service computed by the plug-in of the second service in the drift queue; and

upon expiration of a timer for the drift queue, streaming the computed drift in the configuration of the first and second services to the agent of the cloud service.

9. The method of claim 1 , wherein

the configuration of the first service includes a plurality of first properties that are part of the desired state and a plurality of second properties that are not part of the desired state, and

the first service is configured to issue the notification of the change in the configuration of the first service in response to changes to values of the first properties and to not issue the notification of the change in the configuration of the first service in response to changes to values of the second properties.

10. A non-transitory computer readable medium comprising instructions that are executable on a processor of a computer system to carry out a method of automatically detecting drift from a desired state in configuration of services running in a management appliance of a software-defined data center (SDDC), wherein the services include a first service that is enabled for proactive drift detection and a second service that is enabled for passive drift detection, and the desired state is managed centrally for a plurality of SDDCs from a desired state management service running in a cloud platform and communicated to the management appliance, said method comprising:

storing, by the management appliance, the desired state communicated from the desired state management service;

detecting, by the first service, a change in a configuration of the first service and issuing a notification, by the first service, to a profile service of the management appliance of the change in the configuration of the first service;

in response to the notification of the change in the configuration of the first service, computing, by the profile service, drift in a plug-in of the first the configuration of the first service from the stored desired state using service;

periodically, at designated time intervals, acquiring, by the profile service, a current state of the configuration of the second service, and computing, by the profile service, drift in the configuration of the second service from the stored desired state using a plug-in of the second service; and

notifying the desired state management service running in the cloud platform of the computed drift in the configuration of the first and second services.

11. The non-transitory computer readable medium of claim 10 , wherein the method further comprises:

in response to a notification of a change in a configuration of a third service, which is another one of the services running in the management appliance, storing the change in the configuration of the third service in a queue for the third service; and

transmitting a third request to compute drift in the configuration of the third service to a plug-in of the third service, the third request including the change in the configuration of the third service that has been retrieved from the queue.

12. The non-transitory computer readable medium of claim 11 , wherein the third request is transmitted according to a predefined frequency.

13. The non-transitory computer readable medium of claim 12 , wherein

the change in the configuration of the third service stored in the queue includes a first change that is stored in the queue at a first time and a second change that is stored in the queue at a second time that is later than the first time, and

the third request includes the second change but not the first change.

14. The non-transitory computer readable medium of claim 10 , wherein

the configuration of the first service includes a plurality of first properties that are part of the desired state and a plurality of second properties that are not part of the desired state, and

the first service is configured to issue the notification of the change in the configuration of the first service in response to changes to values of the first properties and to not issue the notification of the change in the configuration of the first service in response to changes to values of the second properties.

15. A computer system comprising:

a plurality of hosts from which a management appliance for managing an a software-defined data center (SDDC) and an agent platform appliance for communicating with a cloud platform to acquire a desired state of configuration of services running in the management appliance and to report drift from the desired state, are deployed, wherein the services include a first service that is enabled for proactive drift detection and a second service that is enabled for passive drift detection and the management appliance is programmed to carry out a method of automatically detecting drift from the desired state, said method comprising:

storing, by the management appliance, the desired state communicated from the desired state management service;

detecting, by the first service, a change in a configuration of the first service and issuing a notification, by the first service, to a profile service of the management appliance of the change in the configuration of the first service;

in response to the notification of the change in the configuration of the first service, computing, by the profile service, drift in the configuration of the first service from the stored desired state using a plug-in of the first service;

periodically, at designated time intervals, acquiring, by the profile service, a current state of the configuration of the second service, and computing, by the profile service, drift in the configuration of the second service from the stored desired state using a plug-in of the second service; and

notifying the desired state management service running in the cloud platform of the computed drift in the configuration of the first and second services.

16. The computer system of claim 15 , wherein the method further comprises:

in response to a notification of a change in a configuration of a third service, which is another one of the services running in the management appliance, storing the change in the configuration of the third service in a queue for the third service; and

transmitting, according to a predefined frequency, a third request to compute drift in the configuration of the third service to a plug-in of the third service, the third request including the change in the configuration of the third service that has been retrieved from the queue.

17. The computer system of claim 14 , wherein

the desired state is acquired from the desired state management service through an agent of the desired state management service that is running in the agent platform appliance, and the notification of the computed drift in the configuration of the first and second services is made through the agent of the desired state management service, and

the step of notifying the desired state management service of the computed drift includes:

storing the drift in the configuration of the first service computed by the plug-in of the first service in a drift queue;

storing the drift in the configuration of the second service computed by the plug-in of the second service in the drift queue; and

upon expiration of a timer for the drift queue, streaming the computed drift in the configuration of the first and second services to the agent of the cloud service.

Assignments (2)
CHANGE OF NAME Recorded Apr 25, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067239/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2023
From: DEVARAKONDA, KALYAN; RADEV, IVAYLO RADOSLAVOV; DIMITROV, GEORGI LYUBOMIROV; GORTHI, NARASIMHA GOPAL; NAYAK, LIPSA
To: VMWARE, INC.
Reel/Frame 062997/0305 →
Priority Claims (1)
IN 202341000559 · Jan 4, 2023 · national
Continuity (1)
Related Publication 20240220284A1 · Jul 4, 2024
References Cited (9)
US 11232091B2 · Gakhar · 2022 [cited by examiner]
US 11424940B2 · Pierscieniak · 2022 [cited by examiner]
US 12020040B2 · Devarakonda · 2024 [cited by examiner]
US 12040942B2 · Raj · 2024 [cited by examiner]
US 20110225275A1 · Shah · 2011 [cited by examiner]
US 20170161057A1 · Khazanchi · 2017 [cited by examiner]
US 20210224133A1 · Barsalou · 2021 [cited by examiner]
Unpublished U.S. Appl. No. 17/665,602, filed Feb. 7, 2022, 24 pages. [cited by applicant]
Unpublished U.S. Appl. No. 17/711,937, filed Apr. 1, 2022, 37 pages. [cited by applicant]