Patent US6055433A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6055433A Expired / Lapsed US ⏱️ 0.0 years remaining

Data processing system and method for balancing a load in a communications network

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-04-03
•
Granted: 2000-04-25
•
Expires: 2017-04-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data processing system implements a load balancing methodology which recognizes the effects that multiple, mobile subscribers have within a wireless communications network. During execution of this load balancing methodology, a rehoming operation is executed at a telephone central office to move some subscribers in a network to a new home mobile switching center with a minimum number of rehoming steps. To perform this rehoming operation, a mobile switching center in a network which has a highest load is selected first. Mobile switching centers which have a load lower than a network average load are considered to be candidates for a rehome destination. All subscriber groups homed to the highest loaded mobile switching center are evaluated to determine whether or not a rehoming operation using this subscriber group would provide a highest benefit and give a lowest standard deviation of loads among mobile switching centers after the rehome operation is selected. This operation is iterative and searches for the best directory number to be homed in each candidate mobile switching center. A resulting balanced load of network resources will serve to increase the effectiveness and longevity of a current wireless communications network before additional equipment is required.

Inventors

  • 👤 Wei Yuan
  • 👤 Surnjani Djoko
  • 👤 Sairam Subramanian
  • 👤 Seshu Madhavapeddy
  • 👤 Payam Maveddat

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 23:23
CPC Classifications
H; H04; H04W; H04W24/00; H04W24/02

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 308 words
A method in a processing unit for controlling and allocating control of call processing in a communication network, by controlling a number of operations to be performed by each of a plurality of data processors, comprising the steps of: i. calculating an average number of operations to be performed by each of the plurality of data processors; ii. calculating a standard deviation between the number of operations to be performed by each of the plurality of data processors and the average number of operations to be performed by each of the plurality of data processors; iii. selecting a first data processor which performs a highest number of operations; iv. selecting a first one of a plurality of groups of a plurality of devices assigned to the first data processor; v. assigning the first one of the plurality of groups of the plurality of devices to a second data processor; vi. routing the first one of the plurality of groups of the plurality of devices to the second data processor; vii. calculating a standard deviation between the number of operations to be performed by each of the plurality of data processors after the first one of the plurality of groups is assigned to the second data processor and the average number of operations to be performed by each of the plurality of data processors; viii. repeating steps iv. through vii. for each of the plurality of groups of the plurality of devices assigned to the first data processor; and ix. identifying a selected one of the plurality of groups which results in a lowest standard deviation between the number of operations to be performed by each of the plurality of data processors and the average number of operations to be performed by each of the plurality of data processors with reference to information obtained in steps vii. or viii.
Claim 2
Independent Claim 308 words
A method in a processing unit for controlling and allocating control of call processing in a communication network, by controlling a number of operations to be performed by each of a plurality of data processors, comprising the steps of: i. calculating an average number of operations to be performed by each of the plurality of data processors; ii. calculating a standard deviation between the number of operations to be performed by each of the plurality of data processors and the average number of operations to be performed by each of the plurality of data processors; iii. selecting a first data processor which performs a highest number of operations; iv. selecting a first one of a plurality of groups of a plurality of devices assigned to the first data processor; v. assigning the first one of the plurality of groups of the plurality of devices to a second data processor; vi. routing the first one of the plurality of groups of the plurality of devices to the second data processor; vii. calculating a standard deviation between the number of operations to be performed by each of the plurality of data processors after the first one of the plurality of groups is assigned to the second data processor and the average number of operations to be performed by each of the plurality of data processors; viii. repeating steps iv. through vii. for each of the plurality of groups of the plurality of devices assigned to the first data processor; and ix. identifying a selected one of the plurality of groups which results in a lowest standard deviation between the number of operations to be performed by each of the plurality of data processors and the average number of operations to be performed by each of the plurality of data processors with reference to information obtained in steps vii. or viii.
Claim 3
Dependent Claim 30 words
The method of claim 1 wherein the second data processor performs fewer operations than the average number of operations to be performed by each of the plurality of data processors.
Claim 4
Dependent Claim 36 words
The method of claim 1 wherein the plurality of data processors is a plurality of mobile switching circuits and each of the plurality of data processors is a mobile switching circuit in a wireless communications network.
Claim 5
Dependent Claim 16 words
The method of claim 3 wherein each of the plurality of devices is a mobile telephone.
Claim 6
Dependent Claim 22 words
The method of claim 4 wherein each of the plurality of groups is a plurality of mobile telephones using a same prefix.
Claim 7
Dependent Claim 31 words
The method of claim 5, further comprising the step of: calculating the number of operations performed by the each of the plurality of mobile switching circuits using a benefit calculation: ##EQU11##
Claim 8
Dependent Claim 50 words
The method of claim 1 wherein the step of calculating the average number of operations to be performed by each of the plurality of data processors comprises the step of: randomly measuring the number of operations performed by each of the plurality of data processors in a preselected time period.
Claim 9
Dependent Claim 361 words
A data processing system for controlling and allocating control of call processing in a telecommunication network, comprising: a memory for storing a software program; a central processing unit coupled to the memory for accessing the software program, the central processing unit controlling and allocating control of a group of mobile telephone users in a communication network to be moved from a first mobile switching center to a second mobile switching center in response to the software program, the central processing unit comprising: means for calculating an average load of each of a plurality of mobile switching centers in the communication network; means for calculating a standard deviation between the load of each of the plurality of mobile switching centers and the average load of the plurality of mobile switching centers; means for selecting a first mobile switching center which has a highest load; means for selecting a first one of a plurality of mobile telephone users assigned to the first mobile switching center; means for selectively, consecutively assigning the first one of the plurality of mobile telephone users to each of a remaining portion of the plurality of mobile switching centers; means for routing the selected first one of a plurality of mobile telephone users to each of the remaining portion of the plurality of mobile switching centers; means for calculating a load of each of the plurality of mobile switching centers after the first one of the plurality of mobile telephone users is assigned to each of the remaining portion of the plurality of mobile switching centers; means for consecutively calculating a standard deviation between the load of each of the plurality of mobile switching centers after the first one of the plurality of mobile telephone users is assigned to each of the remaining portion of the plurality of mobile switching centers and the average load of the plurality of mobile switching centers; and means for identifying a selected one of the plurality of mobile telephone users which results in a lowest standard deviation between the calculated load of each of the plurality of mobile switching centers and the average load of each of the plurality of mobile switching centers.
Claim 10
Dependent Claim 361 words
A data processing system for controlling and allocating control of call processing in a telecommunication network, comprising: a memory for storing a software program; a central processing unit coupled to the memory for accessing the software program, the central processing unit controlling and allocating control of a group of mobile telephone users in a communication network to be moved from a first mobile switching center to a second mobile switching center in response to the software program, the central processing unit comprising: means for calculating an average load of each of a plurality of mobile switching centers in the communication network; means for calculating a standard deviation between the load of each of the plurality of mobile switching centers and the average load of the plurality of mobile switching centers; means for selecting a first mobile switching center which has a highest load; means for selecting a first one of a plurality of mobile telephone users assigned to the first mobile switching center; means for selectively, consecutively assigning the first one of the plurality of mobile telephone users to each of a remaining portion of the plurality of mobile switching centers; means for routing the selected first one of a plurality of mobile telephone users to each of the remaining portion of the plurality of mobile switching centers; means for calculating a load of each of the plurality of mobile switching centers after the first one of the plurality of mobile telephone users is assigned to each of the remaining portion of the plurality of mobile switching centers; means for consecutively calculating a standard deviation between the load of each of the plurality of mobile switching centers after the first one of the plurality of mobile telephone users is assigned to each of the remaining portion of the plurality of mobile switching centers and the average load of the plurality of mobile switching centers; and means for identifying a selected one of the plurality of mobile telephone users which results in a lowest standard deviation between the calculated load of each of the plurality of mobile switching centers and the average load of each of the plurality of mobile switching centers.
Claim 11
Dependent Claim 33 words
The data processing system of claim 8, wherein the central processing unit further comprises: means for assigning the selected one of the plurality of mobile telephone users to the second mobile switching center.
Claim 12
Dependent Claim 42 words
The data processing system of claim 8, wherein the central processing unit further comprises: means for selectively, consecutively assigning a second one of the plurality of mobile telephone users to each of a remaining portion of the plurality of mobile switching centers.
Claim 13
Dependent Claim 53 words
The data processing system of claim 10 wherein the means for consecutively calculating the load of each of the plurality of mobile switching centers calculates the load after the second one of the plurality of mobile telephone users is assigned to each of the remaining portion of the plurality of mobile switching centers.
Claim 14
Dependent Claim 69 words
The data processing system of claim 11 wherein the means for consecutively calculating the standard deviation calculates the standard deviation between the load of each of the plurality of mobile switching centers after the second one of the plurality of mobile telephone users is assigned to each of the remaining portion of the plurality of mobile switching centers and the average load of the plurality of mobile switching centers.
Claim 15
Dependent Claim 292 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for balancing a number of operations to be performed by each of a plurality of data processors, said method steps comprising: i. calculating an average number of operations to be performed by each of the plurality of data processors; ii. calculating a standard deviation between the number of operations to be performed by each of the plurality of data processors and the average number of operations to be performed by each of the plurality of data processors; iii. selecting a first data processor which performs a highest number of operations; iv. selecting a first one of a plurality of groups of a plurality of devices assigned to the first data processor; v. assigning the first one of the plurality of groups of the plurality of devices to a second data processor; vi. calculating a standard deviation between the number of operations to be performed by each of the plurality of data processors after the first one of the plurality of groups is assigned to the second data processor and the average number of operations to be performed by each of the plurality of data processors; vii. repeating steps iv. through vi. for each of the plurality of groups of the plurality of devices assigned to the first data processor; and viii. identifying a selected one of the plurality of groups which results in a lowest standard deviation between the number of operations to be performed by each of the plurality of data processors and the average number of operations to be performed by each of the plurality of data processors with reference to information obtained in steps vi. or vii.
Claim 16
Dependent Claim 292 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for balancing a number of operations to be performed by each of a plurality of data processors, said method steps comprising: i. calculating an average number of operations to be performed by each of the plurality of data processors; ii. calculating a standard deviation between the number of operations to be performed by each of the plurality of data processors and the average number of operations to be performed by each of the plurality of data processors; iii. selecting a first data processor which performs a highest number of operations; iv. selecting a first one of a plurality of groups of a plurality of devices assigned to the first data processor; v. assigning the first one of the plurality of groups of the plurality of devices to a second data processor; vi. calculating a standard deviation between the number of operations to be performed by each of the plurality of data processors after the first one of the plurality of groups is assigned to the second data processor and the average number of operations to be performed by each of the plurality of data processors; vii. repeating steps iv. through vi. for each of the plurality of groups of the plurality of devices assigned to the first data processor; and viii. identifying a selected one of the plurality of groups which results in a lowest standard deviation between the number of operations to be performed by each of the plurality of data processors and the average number of operations to be performed by each of the plurality of data processors with reference to information obtained in steps vi. or vii.
Claim 17
Dependent Claim 211 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for balancing a load of each of a plurality of mobile switching centers in a communication network, said method steps comprising: i. computing an average load for each of the plurality of mobile switching centers; ii. computing a standard deviation between an actual load of each of the plurality of mobile switching centers and the average load for each of the plurality of mobile switching centers; iii. determining a first one of the plurality of mobile switching centers having a highest load; iv. identifying a group of mobile telephone users assigned to the first one of the plurality of mobile switching centers; v. computing a benefit amount by which the highest load would be reduced if the group of mobile telephone users were reassigned to a selected one of a remaining portion of the plurality of mobile switching centers; vi. computing the standard deviation which would result if the group of mobile telephone users were reassigned to the selected one of the remaining portion of the plurality of mobile switching centers; and vii. repeating steps iv. through vi. for each of a plurality of groups of mobile telephone users.
Claim 18
Dependent Claim 211 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for balancing a load of each of a plurality of mobile switching centers in a communication network, said method steps comprising: i. computing an average load for each of the plurality of mobile switching centers; ii. computing a standard deviation between an actual load of each of the plurality of mobile switching centers and the average load for each of the plurality of mobile switching centers; iii. determining a first one of the plurality of mobile switching centers having a highest load; iv. identifying a group of mobile telephone users assigned to the first one of the plurality of mobile switching centers; v. computing a benefit amount by which the highest load would be reduced if the group of mobile telephone users were reassigned to a selected one of a remaining portion of the plurality of mobile switching centers; vi. computing the standard deviation which would result if the group of mobile telephone users were reassigned to the selected one of the remaining portion of the plurality of mobile switching centers; and vii. repeating steps iv. through vi. for each of a plurality of groups of mobile telephone users.
Claim 19
Dependent Claim 84 words
The program storage device of claim 14, tangibly embodying the program of instructions executable by the machine to perform method steps for balancing the load of each of the plurality of mobile switching centers in a communication network, said method steps further comprising: viii. reassigning the group of mobile telephone users to the selected one of the remaining portion of the plurality of mobile switching centers when the standard deviation among the loads of each of the plurality of mobile switching centers is reduced.
Claim 20
Dependent Claim 58 words
The program storage device of claim 14, tangibly embodying the program of instructions executable by the machine to perform method steps for balancing the load of each of the plurality of mobile switching centers in a communication network, said method steps further comprising: viii. repeating steps iv. through vii. for each of a plurality of mobile switching centers.
Claim 21
Dependent Claim 85 words
The program storage device of claim 16, tangibly embodying the program of instructions executable by the machine to perform method steps for balancing the load of each of the plurality of mobile switching centers in a communication network, said method steps further comprising: ix. reassigning a selected group of mobile telephone users to a selected one of the remaining portion of the plurality of mobile switching centers when the standard deviation among the loads of each of the plurality of mobile switching centers is reduced.
Claim 22
Independent Claim 279 words
A method in a processing unit for controlling and allocating control of call processing in a communication network by controlling a load of each of a plurality of mobile switching centers, comprising the steps of: i. computing an average load for each of the plurality of mobile switching centers; ii. computing a standard deviation between an actual load of each of the plurality of mobile switching centers and the average load for each of the plurality of mobile switching centers; iii. determining a first one of the plurality of mobile switching centers having a highest load; iv. identifying a group of mobile telephone users assigned to the first one of the plurality of mobile switching centers; v. computing a benefit amount by which the highest load would be reduced if the group of mobile telephone users were reassigned to a selected one of a remaining portion of the plurality of mobile switching centers; vi. computing the standard deviation which would result if the group of mobile telephone users were reassigned to the selected one of the remaining portion of the plurality of mobile switching centers; vii. repeating steps iv. through vi. for each of a plurality of groups of mobile telephone users; viii. reassigning the group of mobile telephone users to the selected one of the remaining portion of the plurality of mobile switching centers when the standard deviation among the loads of each of the plurality of mobile switching centers is reduced; and ix. routing the group of mobile telephone users assigned to the first one of the plurality of mobile switching centers to the selected one of the remaining portion of the plurality of mobile switching centers.
Claim 23
Independent Claim 279 words
A method in a processing unit for controlling and allocating control of call processing in a communication network by controlling a load of each of a plurality of mobile switching centers, comprising the steps of: i. computing an average load for each of the plurality of mobile switching centers; ii. computing a standard deviation between an actual load of each of the plurality of mobile switching centers and the average load for each of the plurality of mobile switching centers; iii. determining a first one of the plurality of mobile switching centers having a highest load; iv. identifying a group of mobile telephone users assigned to the first one of the plurality of mobile switching centers; v. computing a benefit amount by which the highest load would be reduced if the group of mobile telephone users were reassigned to a selected one of a remaining portion of the plurality of mobile switching centers; vi. computing the standard deviation which would result if the group of mobile telephone users were reassigned to the selected one of the remaining portion of the plurality of mobile switching centers; vii. repeating steps iv. through vi. for each of a plurality of groups of mobile telephone users; viii. reassigning the group of mobile telephone users to the selected one of the remaining portion of the plurality of mobile switching centers when the standard deviation among the loads of each of the plurality of mobile switching centers is reduced; and ix. routing the group of mobile telephone users assigned to the first one of the plurality of mobile switching centers to the selected one of the remaining portion of the plurality of mobile switching centers.
Claim 24
Dependent Claim 25 words
The method of claim 18 further comprising the step of: x. repeating steps iv. through ix. for each of the plurality of mobile switching centers.
Claim 25
Dependent Claim 52 words
The method of claim 19, further comprising the step of: xii. reassigning a selected group of mobile telephone users to a selected one of the remaining portion of the plurality of mobile switching centers when the standard deviation among the loads of each of the plurality of mobile switching centers is reduced.
Claim 26
Independent Claim 299 words
A method in a processing unit for controlling and allocating control of call processing in a communication network by rehoming a group of mobile telephone users, comprising the steps of: i. computing an average load for each of a plurality of mobile switching centers in the communication network; ii. determining a first one of the plurality of mobile switching centers having a highest load; iii. identifying each of a plurality of groups of mobile telephone users in the communication system assigned to the first one of a plurality of mobile switching centers; iv. computing a benefit amount by which the highest load would be reduced when a selected one of the plurality of groups of mobile telephone users is reassigned to a selected one of a remaining portion of the plurality of mobile switching centers; v. computing a standard deviation which would result when the selected one of the plurality of groups of mobile telephone users is reassigned to the selected one of the remaining portion of the plurality of mobile switching centers; vi. repeating steps iv. and v. for each of the plurality of groups of mobile telephone users; vii. repeating steps iv. and vi. for each of the remaining portion of the plurality of mobile switching centers; viii. determining a lowest standard deviation for each of the plurality of groups of mobile telephone users and each of the remaining portion of the plurality of mobile switching centers; and reassigning the group of mobile telephone users associated with the lowest standard deviation to the selected one of the remaining portion of the plurality of mobile switching centers; and ix. routing the group of mobile users to the selected one of the remaining portion of the plurality of mobile switching centers in accordance with the reassignment of step viii.
Claim 27
Independent Claim 299 words
A method in a processing unit for controlling and allocating control of call processing in a communication network by rehoming a group of mobile telephone users, comprising the steps of: i. computing an average load for each of a plurality of mobile switching centers in the communication network; ii. determining a first one of the plurality of mobile switching centers having a highest load; iii. identifying each of a plurality of groups of mobile telephone users in the communication system assigned to the first one of a plurality of mobile switching centers; iv. computing a benefit amount by which the highest load would be reduced when a selected one of the plurality of groups of mobile telephone users is reassigned to a selected one of a remaining portion of the plurality of mobile switching centers; v. computing a standard deviation which would result when the selected one of the plurality of groups of mobile telephone users is reassigned to the selected one of the remaining portion of the plurality of mobile switching centers; vi. repeating steps iv. and v. for each of the plurality of groups of mobile telephone users; vii. repeating steps iv. and vi. for each of the remaining portion of the plurality of mobile switching centers; viii. determining a lowest standard deviation for each of the plurality of groups of mobile telephone users and each of the remaining portion of the plurality of mobile switching centers; and reassigning the group of mobile telephone users associated with the lowest standard deviation to the selected one of the remaining portion of the plurality of mobile switching centers; and ix. routing the group of mobile users to the selected one of the remaining portion of the plurality of mobile switching centers in accordance with the reassignment of step viii.
Claim 28
Dependent Claim 347 words
A computer program product for controlling and allocating control of call processing in a communication network using a data processing system which is integrated into the network, the computer program product having a medium with a computer program embodied thereon, the computer program comprising: i. computer program code for requesting and receiving a number of operations performed by each of a plurality of data processors; ii. computer program code for determining an average number of operations to be performed by each of the plurality of data processors; iii. computer program code for determining a standard deviation between the number of operations to be performed by each of the plurality of data processors and the average number of operations to be performed by each of the plurality of data processors; iv. computer program code for determining and selecting a first data processor which performs a highest number of operations within the communication network; v. computer program code for determining and selecting a first one of a plurality of groups of a plurality of devices assigned to the first data processor; vi. computer program code for routing the first one of the plurality of groups of the plurality of devices to a second data processor; vii. computer program code for determining a standard deviation between the number of operations to be performed by each of the plurality of data processors after the first one of the plurality of groups is assigned to the second data processor and the average number of operations to be performed by each of the plurality of data processors; viii. computer program code for iteratively performing computer program codes v. through vii. for each of the plurality of groups of the plurality of devices assigned to the first data processor; and ix. computer program code for determining a selected one of the plurality of groups which results in a lowest standard deviation between the number of operations to be performed by each of the plurality of data processors and the average number of operations to be performed by each of the plurality of data processors.
Claim 29
Dependent Claim 347 words
A computer program product for controlling and allocating control of call processing in a communication network using a data processing system which is integrated into the network, the computer program product having a medium with a computer program embodied thereon, the computer program comprising: i. computer program code for requesting and receiving a number of operations performed by each of a plurality of data processors; ii. computer program code for determining an average number of operations to be performed by each of the plurality of data processors; iii. computer program code for determining a standard deviation between the number of operations to be performed by each of the plurality of data processors and the average number of operations to be performed by each of the plurality of data processors; iv. computer program code for determining and selecting a first data processor which performs a highest number of operations within the communication network; v. computer program code for determining and selecting a first one of a plurality of groups of a plurality of devices assigned to the first data processor; vi. computer program code for routing the first one of the plurality of groups of the plurality of devices to a second data processor; vii. computer program code for determining a standard deviation between the number of operations to be performed by each of the plurality of data processors after the first one of the plurality of groups is assigned to the second data processor and the average number of operations to be performed by each of the plurality of data processors; viii. computer program code for iteratively performing computer program codes v. through vii. for each of the plurality of groups of the plurality of devices assigned to the first data processor; and ix. computer program code for determining a selected one of the plurality of groups which results in a lowest standard deviation between the number of operations to be performed by each of the plurality of data processors and the average number of operations to be performed by each of the plurality of data processors.
Claim 30
Dependent Claim 40 words
A computer program product in accordance with claim 22 wherein the plurality of data processors is a plurality of mobile switching circuits and each of the plurality of data processors is a mobile switching circuit in a wireless communications network.
Claim 31
Dependent Claim 20 words
A computer program product in accordance with claim 23 wherein each of the plurality of devices is a mobile telephone.
Claim 32
Dependent Claim 26 words
A computer program product in accordance with claim 24 wherein each of the plurality of groups is a plurality of mobile telephones using a same prefix.
Claim 33
Dependent Claim 32 words
A computer program product in accordance with claim 25 wherein number of operations performed by the each of the plurality of mobile switching circuits is determined by using a benefit calculation: ##EQU12##
Claim 34
Dependent Claim 49 words
A computer program product in accordance with claim 22 wherein the average number of operations to be performed by each of the plurality of data processors is determined by randomly measuring the number of operation performed by each of the plurality of data processors in a preselected time period.

References Cited (Backward Citations)

US5210787A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-04-25 2003-10-25 2004-04-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-04-25 2007-10-25 2008-04-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-04-25 2011-10-25 2012-04-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag