IP Library › Granted Patent US 8,549,533
Granted Patent B2
US 8,549,533 · App. 13/051,824 · Granted Oct 1, 2013

Ranking service units to provide and protect highly available services using N+M redundancy models

Inventors: Ali Kanso (Montreal, CA); Maria Toeroe (Montreal, CA)
Assignee: Telefonaktiebolaget L M Ericsson (publ)
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 8,549,533
App. No.
13/051,824
Granted
Oct 1, 2013
Kind
B2
Abstract

Among other things, embodiments described herein enable systems, e.g., Availability Management Forum (AMF) systems, having service units to operate with balanced loads both before and after the failure of one of the service units. A method for balancing standby workload assignments and active workload assignments for a group of service units in a system which employs an N+M redundancy model, wherein N service units are active service units and M service units are standby service units is described. An active workload that the N active service units need to handle is calculated and each of the N active service units in the group is provided with an active workload assignment based on the calculated active workload. Standby workload assignments are distributed among the M standby service units substantially equally.

Claims (74)

1. A method for balancing standby workload assignments and active workload assignments for a group of service units in a system which employs an N+M redundancy model to provide protection for a workload represented by a plurality of service instances, wherein N service units are active service units and M service units are standby service units, N and M being positive integers, the method comprising:

calculating a first set of numbers representing the numbers of service instances to be assigned to corresponding ones of N active service units, such that differences among the first set of numbers are minimized;

providing each of the N active service units in the group with an active workload assignment based on the calculated first set of numbers, wherein the active workload assignment specifies the number of service instances assigned to each of the N active service units;

calculating a second set of numbers representing the numbers of service instances to be assigned to corresponding ones of the M standby service units, such that differences among the second set of numbers are minimized; and

distributing standby workload assignments among the M standby service units based on the calculated second set of numbers, wherein the standby workload assignments specify the number of service instances assigned to each of the M standby service units.

2. The method of claim 1 , wherein the step of distributing standby workload assignments further comprises:

distributing the standby workload assignments without splitting the active workload assignment of any of the N active service units among multiple ones of the M standby service units.

3. The method of claim 1 , wherein the workload in said system is substantially balanced between said service units both while all of said service units are operational and after a failure of one of said service units.

4. The method of claim 1 , wherein each of said standby workload assignments indicate which service unit will support a service instance that is initially assigned to another service unit as one of said active workload assignments, if said another service unit fails.

5. The method of claim 1 , further comprising:

deriving a ranked list of service units for said active workload assignments and said standby workload assignments.

6. The method of claim 1 , wherein the service units are for Service Instances (SI) in an Availability Management Framework (AMF).

7. The method of claim 1 , wherein the step of distributing the standby workload assignments among the M standby service units further comprises:

populating a backup standby assignment table by filling a standby row with identical values of the standby row in a balanced standby assignment table, filling margins of each row of associated with a service unit in the backup standby assignment table with a value of (standby load of SUi-minimum standby load among the standby SUs) and, for each column in the backup standby assignment table, calculating a sum of all the column margins plus the value in the standby cell in said column to generate a temporary sum and distributing the temporary sum equally among cells in said column.

8. The method of claim 7 , wherein the sum is calculated as:

tempCellValue

=

{

⌊

tempSum

numberOfStdbSUs

-

1

⌋

or

⌈

tempSum

numberOfStdbSUs

-

1

⌉

}

.

9. The method of claim 8 , wherein the load of one standby service unit is distributed among several standby service units when the one standby service unit fails or becomes active and further comprising the step of:

subtracting, from each cell value, the value in the cell's margin.

10. The method of claim 1 , wherein the step of distributing the standby workload assignments among the M standby service units further comprises:

using a constraint that each of the M standby service units will be backed up by only one of the other M standby service units.

11. The method of claim 10 , wherein when a standby SU turns active or fails all of its standby load is assigned to the standby service unit with a lowest standby load.

12. The method of claim 1 , further comprising the step of: completely balancing, within plus or minus one service instance, the standby workload assignments of the standby service units.

13. A configuration generator comprising:

a processor configured to balance standby workload assignments and active workload assignments for a group of service units in a system which employs an N+M redundancy model to provide protection for a workload represented by a plurality of service instances, wherein N service units are active service units and M service units are standby service units, N and M being positive integers, the processor configured to:

calculate a first set of numbers representing the numbers of service instances to be assigned to corresponding ones of the N active service units, such that differences among the first set of numbers are minimized,

provide each of the N active service units in the group with an active workload assignment based on the calculated first set of numbers, wherein the active workload assignment specifies the number of service instances assigned to each of the N active service units,

calculate a second set of numbers representing the numbers of service instances to be assigned to corresponding ones of the M standby service units, such that differences among the second set of numbers are minimized, and

distribute standby workload assignments among the M standby service units based on the calculated second set of numbers, wherein the standby workload assignments specify the number of service instances assigned to each of the M standby service units.

14. The configuration generator of claim 13 , wherein said processor is further configured to distribute the standby workload assignments without splitting the active workload assignment of any of the N active service units among multiple ones of the M standby service units.

15. The configuration generator of claim 13 , wherein the workload in said system is substantially balanced between said service units both while all of said service units are operational and after a failure of one of said service units.

16. The configuration generator of claim 13 , wherein each of said standby workload assignments indicate which service unit will support a service instance that is initially assigned to another service unit as one of said active workload assignments, if said another service unit fails.

17. The configuration generator of claim 13 wherein said processor is further configured to derive a ranked list of service units for said active workload assignments and said standby workload assignments.

18. The configuration generator of claim 13 , wherein the service units are for Service Instances (SI) in an Availability Management Framework (AMF).

19. The configuration generator of claim 13 , wherein the processor is further configured to balance the standby workload assignments among the M standby service units by populating a backup standby assignment table by filling a standby row with identical values of the standby row in a balanced standby assignment table, filling margins of each row of associated with a service unit in the backup standby assignment table with a value of (standby load of SUi-minimum standby load among the standby SUs) and, for each column in the backup standby assignment table, calculating a sum of all the column margins plus the value in the standby cell in said column to generate a temporary sum and distributing the temporary sum equally among cells in said column.

20. The configuration generator of claim 19 , wherein the sum is calculated as:

tempCellValue

=

{

⌊

tempSum

numberOfStdbSUs

-

1

⌋

or

⌈

tempSum

numberOfStdbSUs

-

1

⌉

}

.

21. The configuration generator of claim 20 , wherein the load of one standby service unit is distributed among several standby service units when the one standby service unit fails or becomes active and wherein said processor is further configured to subtract, from each cell value, the value in the cell's margin.

22. The configuration generator of claim 13 , wherein the processor balances the standby workload assignments among the M standby service units using a constraint that each of the M standby service units will be backed up by only one of the other M standby service units.

23. The configuration generator of claim 22 , wherein when a standby SU turns active or fails all of its standby load is assigned to the standby service unit with a lowest standby load.

24. The configuration generator of claim 13 , wherein processor is further configured to completely balance, within plus or minus one service instance, the standby workload assignments of the standby service units.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 029636 FRAME 0640. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT SPELLING OF THE ASSIGNEE NAME. Recorded Apr 16, 2013
From: KANSO, ALI; TOEROE, MARIA
To: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 030229/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2013
From: KANSO, ALI; TOEROE, MARIA
To: TELEFONAKTLEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 029636/0640 →
Continuity (1)
Related Publication 20120240129A1 · Sep 20, 2012