IP Library › Granted Patent US 10,198,308
Granted Patent B2
US 10,198,308 · App. 15/122,099 · Granted Feb 5, 2019

Availability-estimate based configuration generation

Inventors: Parsa Pourali (Waterloo, CA); Maria Toeroe (Montreal, CA)
Assignee: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
G06F11/0793G06F11/008G06F11/0706G06F11/079G06F11/0751H04L41/0836
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 10,198,308
App. No.
15/122,099
Granted
Feb 5, 2019
Kind
B2
Abstract

A system is adapted to generate a configuration for a service provider system to provide a highly available (HA) service. The system first identifies type stacks that provide the HA service and one or more component types in each type stack. Each type stack is a combination of prototypes that describe features and capabilities of available software providing the HA service. The system estimates, for each component type in the type stacks, a mean-time-to-recover (MTTR) of the HA service based on time for completing an actual recovery action in response to a component failure. The system further estimates service availability provided by each type stack based on the MTTR and a mean-time-to-failure (MTTF) of each component type in the type stack. The system then eliminates one or more of the type stacks that do not satisfy a requested service availability before proceeding to subsequent steps of configuration generation.

Claims (109)

1. A computer-implemented method for generating a configuration for a service provider system to provide a highly available (HA) service, the method comprising:

identifying type stacks that provide the HA service and one or more component types in each type stack, wherein each type stack is a combination of prototypes that describe features and capabilities of available software providing the HA service;

estimating, for each component type in the type stacks, a mean-time-to-recover (MTTR) of the HA service based on time for completing recovery action in response to a component failure;

estimating service availability provided by each type stack based on the MTTR and a mean-time-to-failure (MTTF) of each component type in the type stack; and

eliminating one or more of the type stacks that do not satisfy a requested service availability before proceeding to subsequent steps of configuration generation.

2. The method of claim 1 , wherein estimating the service availability further comprises counting a single component for each component type in the type stacks when estimating the service availability and wherein the MTTR is estimated at one or more levels that include a component level, a service unit (SU) level, a node level, and an application level.

3. The method of claim 1 , wherein, when the recovery action includes a component restart recovery action, the method further comprises:

estimating the MTTR of a component type as a sum of a first average outage time due to component instantiation attempts without delay, a second average outage time due to component instantiation attempts with delay, and a third average outage time due to failure of all of component instantiation attempts.

4. The method of claim 1 , wherein, when the recovery action includes a component failover recovery action, the method further comprises:

estimating the MTTR of a component type as a sum of a first element for which a component clean-up is successful and a second element for which the component clean-up is not successful.

5. The method of claim 1 , wherein estimating the service availability further comprises:

identifying dependency at one or more levels within the HA service;

adjusting estimation of the service availability to account for the dependency; and

estimating the service availability (STSA) of a type stack that includes N component types for providing the HA service as:

STSA

=

∏

j

=

1

j

≤

N

⁢

MTTF

j

MTTF

j

+

MTTR

j

.

6. The method of claim 1 , wherein the HA service is of a first service type defined for an application, and wherein estimating the service availability further comprises:

estimating the service availability for each of a plurality of service types defined for the application; and

eliminating a subset of the type stacks that do not satisfy the requested service availability for one or more of the service types.

7. The method of claim 1 , wherein the HA service is of a first service type defined for an application, and wherein estimating the service availability further comprises:

estimating the service availability for each of a plurality of service types defined for the application; and

selecting a subset of the type stacks that provide higher service availability for one or more of the service types than the rest of the type stacks.

8. The method of claim 1 , wherein, after elimination of the one or more type stacks, the method further comprises:

creating Availability Management Framework (AMF) entities for at least one remaining type stack that has not been eliminated, wherein creating the AMF entities further comprises determining, based on the requested service availability, a number of components to be placed in an SU for each component type in the at least one remaining type stack.

9. The method of claim 8 , wherein determining the number of components further comprises:

calculating a minimum number of components of a component type to be placed in the SU for providing a requested number of CSIs in a single service instance (SI), wherein the CSIs are of a component service type (CST) provided by the component type;

calculating a maximum number of components of the component type to be placed in the SU to guarantee that the SU provides a requested number of SIs for the HA service; and

calculating number of components of the component type to be placed in the SU to satisfy the requested service availability, wherein the number is an integer multiple of the minimum number and is less than or equal to the maximum number.

10. The method of claim 8 , further comprising:

calculating, for each of a plurality of CSTs of the HA service, a maximum number of SIs that can be provided by a SU;

calculating a first number of SUs to provide for a requested number of SIs subject to a given redundancy model that determines assignments of SIs to SUs per service group (SG);

calculating a second number of SGs when the first number of SUs exceeds a cluster size; and

distributing the first number of SUs among the second number of SGs substantially evenly.

11. The method of claim 8 , further comprising:

calculating, for each of a plurality of CSTs of the HA service, a number of SGs subject to a given redundancy model that determines assignments of SIs to SUs per SG;

choosing a maximum number of SGs among the CSTs;

calculating, for a given redundancy model that provides redundant assignments of SIs to SUs, at least one of a first maximum number of SIs per active SU and a second maximum number of SIs per standby SU; and

calculating a number of SGs based on a requested number of SIs, and the at least one of the first maximum number and the second maximum number.

12. A system adapted to generate a configuration for a service provider system to provide a highly available (HA) service, the system comprising:

a memory; and

one or more processors coupled to the memory, the one or more processors adapted to:

identify type stacks that provide the HA service and one or more component types in each type stack, wherein each type stack is a combination of prototypes that describe features and capabilities of available software providing the HA service;

estimate, for each component type in the type stacks, a mean-time-to-recover (MTTR) of the HA service based on time for completing recovery action in response to a component failure;

estimate service availability provided by each type stack based on the MTTR and a mean-time-to-failure (MTTF) of each component type in the type stack; and

eliminate one or more of the type stacks that do not satisfy a requested service availability before proceeding to subsequent steps of configuration generation.

13. The system of claim 12 , wherein the one or more processors are further adapted to count a single component for each component type in the type stacks when estimating the service availability and wherein the MTTR is estimated at one or more levels that include a component level, a service unit (SU) level, a node level, and an application level.

14. The system of claim 12 , wherein, when the recovery action includes a component restart recovery action, the one or more processors are further adapted to estimate the MTTR of a component type as a sum of a first average outage time due to component instantiation attempts without delay, a second average outage time due to component instantiation attempts with delay, and a third average outage time due to failure of all of component instantiation attempts.

15. The system of claim 12 wherein, when the recovery action includes a component failover recovery action, the one or more processors are further adapted to estimate the MTTR of a component type as a sum of a first element for which the component clean-up is successful and a second element for which the component clean-up is not successful.

16. The system of claim 12 , wherein the one or more processors are further adapted to:

identify dependency at one or more levels within the HA service; and

adjust estimation of the service availability to account for the dependency; and

estimate the service availability (STSA) of a type stack that includes N component types for providing the HA service as:

STSA

=

∏

j

=

1

j

≤

N

⁢

MTTF

j

MTTF

j

+

MTTR

j

.

17. The system of claim 12 , wherein the HA service is of a first service type defined for an application, and wherein the one or more processors are further adapted to:

estimate the service availability for each of a plurality of service types defined for the application; and

eliminate a subset of the type stacks that do not satisfy the requested service availability for one or more of the service types.

18. The system of claim 12 , wherein the HA service is of a first service type defined for an application, and wherein the one or more processors are further adapted to:

estimate the service availability for each of a plurality of service types defined for the application; and

select a subset of the type stacks that provide higher service availability for one or more of the service types than the rest of the type stacks.

19. The system of claim 12 , wherein, after elimination of the one or more type stacks, the one or more processors are further adapted to:

create Availability Management Framework (AMF) entities for at least one remaining type stack that has not been eliminated; and

determine, based on the requested service availability, a number of components to be placed in an SU for each component type in the at least one remaining type stack.

20. The system of claim 19 , wherein the one or more processors are further adapted to:

calculate a minimum number of components of a component type to be placed in the SU for providing a requested number of CSIs in a single service instance (SI), wherein the CSIs are of a component service type (CST) provided by the component type;

calculate a maximum number of components of the component type to be placed in the SU to guarantee that the SU provides a requested number of SIs for the HA service; and

calculate number of components of the component type to be placed in the SU to satisfy the requested service availability, wherein the number is an integer multiple of the minimum number and is less than or equal to the maximum number.

21. The system of claim 19 , wherein the one or more processors are further adapted to:

calculate, for each of a plurality of CSTs of the HA service, a maximum number of SIs that can be provided by a SU;

calculate a first number of SUs to provide for a requested number of SIs subject to a given redundancy model that determines assignments of SIs to SUs per service group (SG);

calculate a second number of SGs when the first number of SUs exceeds a cluster size; and

distribute the first number of SUs among the second number of SGs substantially evenly.

22. The system of claim 19 , wherein the one or more processors are further adapted to:

calculate, for each of a plurality of CSTs of the HA service, a number of SGs subject to a given redundancy model that determines assignments of SIs to SUs per SG;

choose a maximum number of SGs among the CSTs;

calculate, for a given redundancy model that provides redundant assignments of SIs to SUs, at least one of a first maximum number of SIs per active SU and a second maximum number of SIs per standby SU; and

calculate a number of SGs based on a requested number of SIs, and the at least one of the first maximum number and the second maximum number.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2018
From: POURALI, PARSA; TOEROE, MARIA
To: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 045279/0439 →
Continuity (3)
Provisional Application 62018788 · Jun 30, 2014
Provisional Application 61955535 · Mar 19, 2014
Related Publication 20170068588A1 · Mar 9, 2017