IP Library Granted Patent US 11,861,402
Granted Patent B2
US 11,861,402 · App. 16/912,314 · Granted Jan 2, 2024

Methods and apparatus for tenant aware runtime feature toggling in a cloud environment

Inventors: Daniel Pavlov (Sofia, BG); Boris Savov (Sofia, BG); Kristiyan Georgiev (Sofia, BG); Grigor Ganekov (Sofia, BG); Zhan Ivanov (Sofia, BG)
Assignee: VMware, Inc.
G06F9/5011G06F9/45558G06F16/2365G06F2009/45591
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,861,402
App. No.
16/912,314
Granted
Jan 2, 2024
Kind
B2
Abstract

Methods, apparatus, systems, and articles of manufacture to provide tenant aware runtime feature toggling in a cloud or other virtualized computing environment are disclosed. An example method includes determining a feature toggle associated with a resource of a provisioning request; retrieving the feature toggle from a database using a first tenant identifier, the feature toggle to have a first value for the first tenant identifier and a second value for a second tenant identifier; processing the feature toggle to provision the resource according to the first value of the feature toggle; and facilitating provisioning of the resource according to the first value.

Claims (71)

1. A resource provisioning apparatus comprising:

memory;

instructions in the memory; and

processor circuitry to execute the instructions to implement at least:

a request processor to receive and process a provisioning request in a software-defined data center (SDDC) for provisioning of a resource of the SDDC;

a toggle manager to:

determine a feature toggle associated with the resource of the provisioning request, the resource associated with a tenant of the SDDC, the tenant identified using a first tenant identifier; and

retrieve the feature toggle from a database stored in one or more database servers of the SDDC using the first tenant identifier, the feature toggle to have a first value for the first tenant identifier and a second value for a second tenant identifier, the database to store first program code representing the first value and second program code representing the second value, the first program code and the second program code stored separate from third program code representing the resource and dynamically updatable in response to receiving the provisioning request without recoding of the third program code, each of the first value and the second value to differently modify execution of the resource, the first program code and the second program code different from the third program code;

a content retriever to retrieve the third program code for the resource of the provisioning request;

a content compiler to:

compile, in response to receiving the provisioning request, the first program code for the feature toggle with the third program code for the resource to form compiled code to enable provisioning of the resource according to the first value of the feature toggle; and

send the compiled code to a result transmitter;

the result transmitter to transmit the compiled code to an automation executor; and the automation executor to provision and execute the resource according to the first value.

2. The apparatus of claim 1 , wherein the toggle manager includes:

a toggle interface to analyze the provisioning request to determine the feature toggle associated with the resource of the provisioning request;

a tenant identifier to identify the tenant and the associated first tenant identifier;

a toggle updater to update the feature toggle in the database; and

a toggle processor to:

retrieve the feature toggle from the database using the first tenant identifier; and

provide the feature toggle from the database to the content compiler.

3. The apparatus of claim 1 , wherein the toggle manager is to select a processing strategy for toggle retrieval, the processing strategy corresponding to a format for the first value and the second value of the feature toggle.

4. The apparatus of claim 1 , wherein the database is to organize feature toggles and associated values according to a hierarchy, the hierarchy including system values and tenant-specific values for one or more feature toggles, including a first tenant-specific value to override a first system value for the respective tenant.

5. The apparatus of claim 1 , wherein the toggle manager is to analyze the provisioning request to identify the feature toggle associated with the resource of the provisioning request and an associated toggle operation, the toggle operation to include at least one of a toggle update, a toggle query, or a get toggles request.

6. The apparatus of claim 1 , wherein the compiled code is first compiled code, and further including:

the content compiler to:

compile, in response to receiving the provisioning request, the second program code for the feature toggle with the third program code for the resource to form second compiled code to enable provisioning of the resource according to the second value of the feature toggle; and

send the second compiled code to the result transmitter;

the result transmitter to transmit the second compiled code to the automation executor; and

the automation executor to provision and execute the resource according to the second value.

7. At least one non-transitory computer readable storage medium comprising instructions that, when executed, cause at least one processor to at least:

receive and process a provisioning request in a software-defined data center (SDDC) for provisioning of a resource of the SDDC;

determine a feature toggle associated with the resource of a provisioning request, the resource associated with a tenant of the SDDC, the tenant identified using a first tenant identifier;

retrieve the feature toggle from a database stored in one or more database servers of the SDDC using the first tenant identifier, the feature toggle to have a first value for the first tenant identifier and a second value for a second tenant identifier, the database to store first program code representing the first value and second program code representing the second value, the first program code and the second program code stored separate from third program code representing the resource and dynamically updatable in response to receiving the provisioning request without recoding of the third program code, each of the first value and the second value to differently modify execution of the resource, the first program code and the second program code different from the third program code;

retrieve the third program code for the resource of the provisioning request;

compile, in response to receiving the provisioning request, the first program code for the feature toggle with the third program code for the resource to form compiled code to enable provisioning of the resource according to the first value of the feature toggle;

transmit the compiled code; and

provision and execute the resource according to the first value.

8. The at least one computer readable storage medium of claim 7 , wherein the instructions, when executed, further cause the at least one processor to:

analyze the provisioning request to determine the feature toggle associated with the resource of the provisioning request;

identify the tenant and the associated first tenant identifier;

update the feature toggle in the database;

retrieve the feature toggle from the database using the first tenant identifier; and

provide the feature toggle from the database.

9. The at least one computer readable storage medium of claim 7 , wherein the instructions, when executed, further cause the at least one processor to select a processing strategy for toggle retrieval, the processing strategy corresponding to a format for the first value and the second value of the feature toggle.

10. The at least one computer readable storage medium of claim 7 , wherein the instructions, when executed, further cause the at least one processor to organize feature toggles and associated values according to a hierarchy, the hierarchy including system values and tenant-specific values for one or more feature toggles, including a first tenant-specific value to override a first system value for the respective tenant.

11. The at least one computer readable storage medium of claim 7 , wherein the instructions, when executed, further cause the at least one processor to analyze the provisioning request to identify the feature toggle associated with the resource of the provisioning request and an associated toggle operation, the toggle operation to include at least one of a toggle update, a toggle query, or a get toggles request.

12. The at least one computer readable storage medium of claim 7 , wherein the compiled code is first compiled code, and wherein the instructions, when executed, further cause the at least one processor to:

compile, in response to receiving the provisioning request, the second program code for the feature toggle with the third program code for the resource to form second compiled code to enable provisioning of the resource according to the second value of the feature toggle;

transmit the second compiled code; and

provision and execute the resource according to the second value.

13. A method comprising:

receiving and processing a provisioning request in a software-defined data center (SDDC) for provisioning of a resource of the SDDC;

determining a feature toggle associated with the resource of the provisioning request, the resource associated with a tenant of the SDDC, the tenant identified using a first tenant identifier;

retrieving the feature toggle from a database stored in one or more database servers of the SDDC using the first tenant identifier, the feature toggle to have a first value for the first tenant identifier and a second value for a second tenant identifier, the database to store first program code representing the first value and second program code representing the second value, the first program code and the second program code stored separate from third program code representing the resource and dynamically updatable in response to receiving the provisioning request without recoding of the third program code, each of the first value and the second value to differently modify execution of the resource, the first program code and the second program code different from the third program code;

retrieving the third program code for the resource of the provisioning request;

compiling, in response to receiving the provisioning request, the first program code for the feature toggle with the third program code for the resource to form compiled code to enable provisioning of the resource according to the first value of the feature toggle;

transmitting the compiled code; and

provisioning and executing the resource according to the first value.

14. The method of claim 13 , further including:

analyzing the provisioning request to determine the feature toggle associated with the resource of the provisioning request;

identifying the tenant and the associated first tenant identifier;

updating the feature toggle in the database;

retrieving the feature toggle from the database using the first tenant identifier; and

providing the feature toggle from the database.

15. The method of claim 13 , further including selecting a processing strategy for toggle retrieval, the processing strategy corresponding to a format for the first value and the second value of the feature toggle.

16. The method of claim 13 , further including organizing feature toggles and associated values according to a hierarchy, the hierarchy including system values and tenant-specific values for one or more feature toggles, including a first tenant-specific value to override a first system value for the respective tenant.

17. The method of claim 13 , further including analyzing the provisioning request to identify the feature toggle associated with the resource of the provisioning request and an associated toggle operation, the toggle operation to include at least one of a toggle update, a toggle query, or a get toggles request.

18. The method of claim 13 , wherein the compiled code is first compiled code, and further including:

compiling, in response to receiving the provisioning request, the second program code for the feature toggle with the third program code for the resource to form second compiled code to enable provisioning of the resource according to the second value of the feature toggle;

transmitting the second compiled code; and

provisioning and executing the resource according to the second value.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: PAVLOV, DANIEL; SAVOV, BORIS; GEORGIEV, KRISTIYAN; GANEKOV, GRIGOR; IVANOV, ZHAN
To: VMWARE, INC.
Reel/Frame 053042/0840 →
Continuity (1)
Related Publication 20210406073A1 · Dec 30, 2021