IP Library Granted Patent US 11,048,490
Granted Patent B2
US 11,048,490 · App. 15/954,037 · Granted Jun 29, 2021

Service placement techniques for a cloud datacenter

Inventors: Abhijit Sharma (Pune, IN); Nilesh Phadke (Pune, IN); Alexander Vul (Palo Alto, CA); Varun Karnati (Miryalaguda, IN); Rajesh Kamineni (Warangal, IN)
Assignee: BMC Software, Inc.
G06F8/60G06F9/5066G06F2209/502
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,048,490
App. No.
15/954,037
Granted
Jun 29, 2021
Kind
B2
Abstract

A container set manager may determine a plurality of container sets, each container set specifying a non-functional architectural concern associated with deployment of a service within at least one data center. A decision table manager may determine a decision table specifying relative priority levels of the container sets relative to one another with respect to the deployment. A placement engine may determine an instance of an application placement model (APM), based on the plurality of container sets and the decision table, determine an instance of a data center placement model (DPM) representing the at least one data center, and generate a placement plan for the deployment, based on the APM instance and the DPM instance.

Claims (38)

1. A system including instructions stored on a non-transitory computer readable storage medium and executable by at least one processor, the system comprising:

a container set manager configured to cause the at least one processor to instantiate an Application Placement Model (APM) to obtain an APM instance, the APM including a container set configured to specify a constraint associated with deployment of a service within at least one data center, wherein the APM instance includes a plurality of container sets instantiated from the container set of the APM, including a first container set associated with a first constraint and specifying service elements of the service grouped into an affinity group, and a second container set associated with a second constraint and specifying the service elements grouped into an anti-affinity group;

a decision table manager configured to cause the at least one processor to determine a decision table of the APM instance specifying relative priority levels of the first container set and the second container set relative to one another with respect to the deployment;

a group manager configured to cause the at least one processor to combine the affinity group and the anti-affinity group, based on the relative priority levels, to obtain a merged group of the APM instance; and

a placement engine configured to cause the at least one processor to determine an instance of a data center placement model (DPM) representing the at least one data center, and generate a placement plan for the deployment, based on the APM instance and the DPM instance.

2. The system of claim 1 , wherein the deployment includes deployment of the service elements of the service using corresponding hosts of the at least one data center, and wherein each container set includes at least one container that specifies a manner and/or extent to which individual ones of the service elements should or should not be deployed in proximity to one another within the at least one data center.

3. The system of claim 2 , wherein the APM instance includes the first container set including at least one container specifying at least two service elements of the service elements, and the second container set including at least another container specifying the at least two service elements of the service elements.

4. The system of claim 2 , wherein the affinity group expresses a preference for the service elements to be deployed in proximity to one another, and the anti-affinity group expresses a preference for the service elements to be prevented from being deployed together at a specified level of deployment levels of the data center placement model.

5. The system of claim 4 , wherein the APM instance further includes an additional anti-affinity group of a third container set, and wherein the group manager is further configured to merge the anti-affinity group and the additional anti-affinity group, and construct an anti-affinity graph therefrom, in which the service elements are included as nodes and each edge of the anti-affinity graph linking two nodes corresponds to one of the anti-affinity group and the additional anti-affinity group.

6. The system of claim 5 , wherein each edge has a priority value determined by a priority value of one or more corresponding container sets as determined from the decision table.

7. The system of claim 6 , wherein the group manager is further configured to add at least one affinity edge to the anti-affinity graph, wherein each edge corresponding to an anti-affinity group has a negative priority value and the at least one affinity edge has a positive priority value, and priority values of any overlapping affinity and anti-affinity edges are added together.

8. The system of claim 7 , wherein the group manager is further configured to remove any positive priority value edges to obtain a final anti-affinity graph and analyze the final anti-affinity graph to identify any maximal independent set therein, at each level of the deployment level, beginning with the highest level.

9. The system of claim 8 , wherein the placement engine is further configured to associate any maximal independent set and associated level to the corresponding level of the DPM instance, to thereby obtain the placement plan.

10. A method comprising:

instantiating an Application Placement Model (APM) to obtain an APM instance, the APM including a container set configured to specify a constraint associated with deployment of a service within at least one data center, wherein the APM instance includes a plurality of container sets instantiated from the container set of the APM, including a first container set associated with a first constraint and specifying service elements of the service grouped into an affinity group, and a second container set associated with a second constraint and specifying the service elements grouped into an anti-affinity group;

determining a decision table of the APM instance specifying relative priority levels of the first container set and the second container set relative to one another with respect to the deployment;

combining the affinity group and the anti-affinity group, based on the relative priority levels, to obtain a merged group of the APM instance;

determining an instance of a data center placement model (DPM) representing the at least one data center; and

generating a placement plan for the deployment, based on the APM instance and the DPM instance.

11. The method of claim 10 , wherein the deployment includes deployment of the service elements of the service using corresponding hosts of the at least one data center, and wherein each container set includes at least one container that specifies a manner and/or extent to which individual ones of the service elements should or should not be deployed in proximity to one another within the at least one data center, and wherein the affinity group expresses a preference for the service elements to be deployed in proximity to one another, and the anti-affinity group expresses a preference for the service elements to be prevented from being deployed together at a specified level of deployment levels of the data center placement model.

12. The method of claim 11 , wherein the APM instance further includes an additional anti-affinity group of a third container set, and wherein the grouping further comprises:

merging the anti-affinity group and the additional anti-affinity group; and

constructing an anti-affinity graph therefrom, in which the service elements are included as nodes and each edge of the anti-affinity graph linking two nodes corresponds to one of the anti-affinity group and the additional anti-affinity group.

13. The method of claim 12 , wherein each edge has a priority value determined by a priority value of one or more corresponding container sets as determined from the decision table.

14. The method of claim 12 , further comprising identifying any maximal independent set within the anti-affinity graph, at each level of the deployment level, beginning with the highest level.

15. The method of claim 14 , wherein the generating the placement plan comprises associating any maximal independent set and associated level to the corresponding level of the DPM instance, to thereby obtain the placement plan.

16. A computer program product including instructions recorded on a non-transitory computer readable storage medium and configured to cause at least one processor to:

instantiate an Application Placement Model (APM) to obtain an APM instance, the APM including a container set configured to specify a constraint associated with deployment of a service within at least one data center, wherein the APM instance includes a plurality of container sets instantiated from the container set of the APM, including a first container set associated with a first constraint and specifying service elements of the service grouped into an affinity group, and a second container set associated with a second constraint and specifying the service elements grouped into an anti-affinity group;

determine a decision table of the APM instance specifying relative priority levels of the first container set and the second container set relative to one another with respect to the deployment;

combine the affinity group and the anti-affinity group, based on the relative priority levels, to obtain a merged group of the APM instance;

determine an instance of a data center placement model (DPM) representing the at least one data center; and

generate a placement plan for the deployment, based on the APM instance and the DPM instance.

17. The computer program product of claim 16 , wherein the deployment includes deployment of the service elements of the service using corresponding hosts of the at least one data center, and wherein each container set includes at least one container that specifies a manner and/or extent to which individual ones of the service elements should or should not be deployed in proximity to one another within the at least one data center, and wherein the affinity group expresses a preference for the service elements to be deployed in proximity to one another, and the anti-affinity group expresses a preference for the service elements to be prevented from being deployed together at a specified level of deployment levels of the data center placement model.

18. The computer program product of claim 17 , wherein the APM instance further includes an additional anti-affinity group of a third container set, and wherein the instructions, when executed, are further configured to:

merge the anti-affinity group and the additional anti-affinity group; and

construct an anti-affinity graph therefrom, in which the service elements are included as nodes and each edge of the anti-affinity graph linking two nodes corresponds to one of the anti-affinity group and the additional anti-affinity group.

19. The computer program product of claim 18 , wherein the instructions, when executed, are further configured to identify any maximal independent set within the anti-affinity graph, at each level of the deployment level, beginning with the highest level.

20. The computer program product of claim 19 , wherein the instructions, when executed, are further configured to associate any maximal independent set and associated level to the corresponding level of the DPM instance, to thereby obtain the placement plan.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2018
From: SHARMA, ABHIJIT; PHADKE, NILESH; VUL, ALEXANDER; KARNATI, VARUN; KAMINENI, RAJESH
To: BMC SOFTWARE, INC.
Reel/Frame 045615/0749 →
Priority Claims (1)
IN 1127/CHE/2013 · Mar 15, 2013 · national
Continuity (2)
Continuation 13874202 · Apr 30, 2013
Related Publication 20180232220A1 · Aug 16, 2018