IP Library Granted Patent US 8,159,950
Granted Patent B2
US 8,159,950 · App. 11/851,035 · Granted Apr 17, 2012

Determining processor occupancy of a cluster of home location registers

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,159,950
App. No.
11/851,035
Granted
Apr 17, 2012
Kind
B2
Abstract

Methods and computer readable mediums are provided for determining the processor occupancy of a cluster of HLR registers. A deterministic-based performance model is utilized to determine the processor occupancy based on a number of nodes in the cluster, a number of call attempts per unit time, a number of autonomous registrations, a processor utilization for processing each call attempt and a processor utilization for processing each autonomous registration. The models may be utilized to determine the processor occupancy of each node in the cluster if a selected number of HLR nodes are utilized, such that an iterative process may be employed to select a number of HLR nodes in order for each HLR node to operate under a node processor occupancy threshold.

Claims (85)

1. A method for determining processor occupancy of a cluster of home location registers (HLRs), the method comprising:

defining a number of nodes in the cluster (N);

defining a number of call attempts per unit time (CA_time);

defining a number of autonomous registrations per call attempt (AR_CA);

defining a processor utilization for processing each call attempt (C_CA);

defining a processor utilization for processing each autonomous registration (C_AR); and

determining, via a hardware processor, a processor occupancy of the cluster based on N, CA_time, AR_CA, C_CA, C_AR.

2. The method of claim 1 , wherein defining the processor utilization for processing each call attempt (C_CA) and defining the processor utilization for processing each autonomous registration (C_AR) further comprises:

defining a processor utilization for each profile read message (C 1 );

defining a processor utilization for each profile update message (C 2 );

defining a processor utilization for each autonomous registration (C 3 );

defining a processor utilization for processing each message between nodes (C 4 ); and

defining a processor utilization of overhead (C 5 ) for processes not described by C 1 to C 4 , and wherein determining the processor occupancy further comprises:

determining a processor occupancy of the cluster based on N, CA_time, AR_CA, C 1 , C 2 , C 3 , C 4 and C 5 .

3. The method of claim 2 , wherein the processor occupancy is equal to 2*K*C 1 +(2*N−1)*K*C 2 +J*C 3 +((2*N+1)*K*J)*C 4 +C 5 *N, with K equal to (AR_CA+1)*CA_time, and J equal to (AR_CA*CA_time).

4. The method of claim 1 further comprising:

estimating a number of nodes needed in the cluster based on the processor occupancy of the cluster.

5. The method of claim 1 further comprising:

determining a processor occupancy of each node, wherein the processor occupancy of each node is equal to the processor occupancy of the cluster divided by N.

6. The method of claim 5 further comprising:

estimating a number of nodes needed in the cluster based on the processor occupancy of each node.

7. The method of claim 5 , further comprising:

determining whether the processor occupancy of each node is less than or equal to a threshold value;

incrementing the value of N responsive to determining that the processor occupancy of each node is greater than the threshold value; and

determining a first new value of the processor occupancy based on the incremented value of N.

8. The method of claim 7 , further comprising:

determining whether the first new value of the processor occupancy is less than or equal to the threshold value; and

performing, for each value of N until the value of the processor occupancy of each node is less than or equal to the threshold value, the recursive steps of:

incrementing the value of N;

determining a second new value of the processor occupancy of the cluster based on the increased value of N;

determining whether the second new value of the processor occupancy of the cluster is less than or equal to the threshold value; and

outputting the value of N responsive to determining that the second new value of the processor occupancy of the cluster is less than or equal to the threshold value.

9. The method of claim 1 , further comprising:

defining a profile update ratio (F) of how often user profiles are updated,

wherein the processor occupancy of the cluster is determined based on N, CA_time, AR_CA, C_CA, C_AR, and F.

10. The method of claim 1 , further comprising:

defining a bundling ratio (B) based on a number of update messages bundled into one transmission between nodes; and

defining a processor utilization for processing a bundle of update messages (C 2 _bundle),

wherein the processor occupancy of the cluster is based on N, CA_time, AR_CA, C_CA, C_AR, B and C 2 _bundle.

11. A method for determining a number of home location register (HLR) nodes for an HLR cluster, the method comprising:

receiving user input comprising a number of call attempts per unit time (CA_time);

receiving user input comprising a number of autonomous registrations per call attempt (AR_CA);

receiving user input comprising a processor utilization for each profile read message (C 1 ), a processor utilization for each profile update message (C 2 ), a processor utilization for each autonomous registration (C 3 ), a processor utilization for processing each message between nodes (C 4 ), and a processor utilization of overhead (C 5 ) of processes not described by C 1 to C 4 ;

receiving user input comprising a node processor occupancy threshold; and

estimating the number of HLR nodes (N) needed for the HLR cluster such that a node processor occupancy of each of the HLR nodes is less than or equal to the node processor occupancy threshold by recursively performing, for each value of N until the processor occupancy of each node is less than or equal to the node processor occupancy threshold, the steps of:

determining a processor occupancy of the cluster based on N, CA_time, AR_CA, C 1 , C 2 , C 3 , C 4 and C 5 ;

determining the processor occupancy of each of the HLR nodes, the processor occupancy of each node being equal to the processor occupancy of the cluster divided by N;

determining whether the processor occupancy of each node is less than or equal to the node processor occupancy threshold;

outputting the value of N responsive to determining that the processor occupancy of each node is less than or equal to the node processor occupancy threshold; and

incrementing the value of N responsive to determining that the processor demand of each node is greater than the node processor occupancy threshold.

12. The method of claim 11 , wherein the processor occupancy of the cluster is equal to 2*K*C 1 +(2*N−1)*K*C 2 +J*C 3 +((2*N+1)*K*J)*C 4 +C 5 *N, with K equal to (AR_CA+1)*CA_time, and J equal to (AR_CA*CA_time).

13. The method of claim 11 , further comprising:

receiving user input defining a profile update ratio (F) of how often user profiles are updated,

wherein the processor occupancy of the cluster is equal to 2*K*C 1 +(2*N−1)*K*F*C 2 +J*C 3 +(2*K+2*(N−1)*K*F+J)*C 4 +C 5 *N, with K equal to (AR_CA+1)*CA_time, and J equal to (AR_CA*CA_time).

14. The method of claim 11 , further comprising:

receiving user input defining a bundling ratio (B) based on a number of update messages bundled into one transmission between nodes; and

receiving user input defining a processor utilization for processing a bundle of update messages (C 2 _bundle),

wherein the processor occupancy of the cluster is equal to 2*K*C 1 +((K+K*B*(N−1)*C 2 +K*B*(N−1))*C 2 _bundle +J*C 3 +(3*K+2*K*B*(N−1) +J)*C 4 +C 5 *N, with K equal to (AR_CA+1)*CA_time, and J equal to (AR_CA*CA_time).

15. The method of claim 11 further comprising:

receiving user input defining a bundling ratio (B) based on a number of update messages bundled into one transmission between nodes;

receiving user input defining a processor utilization for processing a bundle of update messages (C 2 _bundle); and

receiving user input defining a profile update ratio (F) of how often a user profile is updated,

wherein the processor occupancy of the cluster is equal to 2*K*C 1 +(K+K*B*(N−1)) *F*C 2 +K*B*(N−1)*C 2 _bundle+J*C 3 +((3*K*F+2*K*B*F*(N−1)+J)*C 4 +C 5 *N, with K equal to (AR_CA+1)*CA_time, and J equal to (AR_CA*CA_time).

16. A non-transitory computer program product comprising a computer useable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:

receive user input comprising a processor utilization for each profile read message (C 1 ), a processor utilization for each profile update message (C 2 ), a processor utilization for each autonomous registration (C 3 ), a processor utilization for processing each message between nodes (C 4 ), and a processor utilization of overhead (C 5 ) for processes not described by C 1 to C 4 ;

receive user input comprising a node processor occupancy threshold; and

estimate the number of HLR nodes (N) needed for the HLR cluster such that a node processor occupancy of each of the HLR nodes is less than or equal to the node processor occupancy threshold by recursively performing, for each value of N until the processor occupancy of each node is less than or equal to the node processor occupancy threshold, the steps of:

determining a processor occupancy of the cluster based on N, CA_time, AR_CA, C 1 , C 2 , C 3 , C 4 and C 5 ;

determining the processor occupancy of each of the HLR nodes, the processor occupancy of each node being equal to processor occupancy of the cluster divided by N;

determining whether the processor occupancy of each node is less than or equal to the node processor occupancy threshold;

outputting the value of N responsive to determining that the processor occupancy of each node is less than or equal to the node processor occupancy threshold; and

incrementing the value of N responsive to determining that the processor occupancy of each node is greater than the node processor occupancy threshold.

17. The computer program product of claim 16 , wherein the processor occupancy of the cluster is equal to 2*K*C 1 +(2*N−1)*K*C 2 +J*C 3 +((2*N+1)*K*J)*C 4 +C 5 *N, with K equal to (AR_CA+1)*CA_time, and J equal to (AR_CA*CA_time).

18. The computer program product of claim 16 , further causing the computer to:

receive user input defining a profile update ratio (F) of how often user profiles are updated,

wherein the processor occupancy of the cluster is equal to 2*K*C 1 +(2*N−1)*K*F*C 2 +J*C 3 +(2*K+2*(N−1)*K*F+J)*C 4 +C 5 *N, with K equal to (AR_CA+1)*CA_time, and J equal to (AR_CA*CA_time).

19. The computer program product of claim 16 , further causing the computer to:

receive user input defining a bundling ratio (B) based on a number of update messages bundled into one transmission between nodes; and

receive user input defining a processor utilization for processing a bundle of update messages (C 2 _bundle),

wherein the processor occupancy of the cluster is equal to 2*K*C 1 +((K+K*B*(N−1)*C 2 +K*B*(N−1))*C 2 _bundle +J*C 3 +(3*K+2*K*B*(N−1) +J)*C 4 +C 5 *N, with K equal to (AR_CA+1)*CA_time, and J equal to (AR_CA*CA_time).

20. The computer program product of claim 16 , further causing the computer to:

receive user input defining a bundling ratio (B) based on a number of update messages bundled into one transmission between nodes;

receive user input defining a processor utilization for processing a bundle of update messages (C 2 _bundle); and

receive user input defining a profile update ratio (F) of how often a user profile is updated,

wherein the processor occupancy of the cluster is equal to 2*K*C 1 +(K+K*B*(N−1))*F*C 2 +K*B*(N−1)*C 2 _bundle+J*C 3 +((3*K*F+2*K*B*F*(N−1)+J)*C 4 +C 5 *N, with K equal to (AR_CA+1)*CA_time, and J equal to (AR_CA*CA_time).

Assignments (5)
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2020
From: ALCATEL LUCENT
To: WSOU INVESTMENTS, LLC
Reel/Frame 052372/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2012
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 027729/0748 →
MERGER Recorded Feb 14, 2012
From: LUCENT TECHNOLOGIES INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 027699/0262 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2007
From: MA, DAVID C.; WIEST, DENNIS J.; MILLIKEN, BARRETT D.
To: LUCENT TECHNOLOGIES INC.
Reel/Frame 019806/0053 →