SYSTEM AND METHOD FOR DYNAMICALLY RECONFIGURING COMMUNICATION SYSTEM PERFORMANCE THRESHOLD DATA
Field Of The Invention
The invention relates generally to communication systems, and more particularly to communication systems and methods that facilitate compensation for changes in system configuration, capability and/or performance.
Background Of The Invention
The basic operation and structure of a land mobile communication system is well known. Land mobile communication systems typically include one or more communication units (e.g., vehicle mounted or portable communication units in a land mobile system and communication unit/telephone in a cellular system) and one or more repeaters that transceive information via radio frequency (RF) communication resources. These communication resources may be narrow band frequency modulated channels, time division multiplex slots, frequency pairs, and so forth. Wide area land mobile communication systems may be organized as trunked communication systems, where a plurality of communication resources are allocated amongst users by assigning the repeaters on a communication-by-communication basis within an RF coverage area.
Warning systems are used which provide an alarm or warning message when a performance threshold value is reached or exceeded. For example, a network manager may receive a message from a system controller that too many subscribers are using a particular RF coverage zone resulting in busy signals to additional subscribers entering the zone. The performance threshold values are generally static and set during system setup by a system designer based on the exact system design configuration at the initial time of configuration.
When additional site controllers or repeaters are added to the system, or if a central processing unit is upgraded to a faster unit and/or with additional memory or other components are added or modified, the performance capacity of the system may be enhanced. In typical systems, a message is sent from the subsystem receiving the new component, to notify a network manager that a new resource was added. However, no component capacity data is provided to allow changes in performance levels and no
modification of affected performance thresholds occurs automatically or in real time. Hence, a problem arises when new system components are added since old and improper alarm settings may be used by the system resulting in the artificial limiting of system capacity to previous levels. For example, when a communication system is initially designed, there are a fixed number of resources such as system controllers, RF site controllers, repeaters and communication frequencies. A central processing unit (CPU) in a system controller, such as a zone controller for example, has a limited processing capability and can therefore typically handle a fixed number of simultaneous calls. Accordingly, alarm thresholds are typically set so that a network manager may be notified of a limited capacity condition before or when it occurs. However, with typical systems, if new components are added after initial set up, the appropriate new alarm thresholds must typically be identified, recalculated and reset by an experienced system designer. The new performance threshold level may be incorrectly set for the new configuration, causing excessive or missed alarms and inappropriate informational messages.
Moreover, the identification, recalculation and reprogramming efforts can be time consuming and require many staff hours, particularly where the system is large and many new component additions or changes are made. In addition, when changes in system configuration occur, a lag time in manually determining new performance threshold settings can result in improper system alarm conditions due to the threshold values being kept too long at previous levels that do not represent the new performance levels. One type of known communication system performance monitoring technique involves analyzing trends over time and setting higher and lower watermarks to accommodate for determined trends in the system. However, such systems do not typically provide any real time automatic adjustments when the system's configuration has been modified. Hence, such systems do not typically generate updated threshold values as system performance changes.
Consequently, there exists a need for a communication system and method that facilitates dynamic reconfiguration of system performance thresholds.
Brief Description Of The Drawings
FIG. 1 is a block diagram generally illustrating a communication system employing dynamic performance threshold reconfiguration in accordance with one embodiment to the invention.
FIG. 2 is a block diagram illustrating one embodiment of a system that provides dynamic performance threshold reconfiguration in accordance with the invention.
FIG. 3 is a flow chart illustrating a method of dynamic performance threshold reconfiguration in accordance with one embodiment to the invention. FIG. 4 is a block diagram generally illustrating a land mobile communication system employing the system of FIG. 2.
Description Of A Preferred Embodiment
A system and method dynamically reconfigures threshold values to generate updated or new threshold values upon a change in communication system configuration. The updated threshold values are determined in real time and automatically reconfigured for various performance related items. Dynamic reconfiguration of the performance threshold values to new levels helps maximize performance of the communication system. As a result, the disclosed system and method allows system or subsystem shut down conditions to be more easily avoided and provides an operator, such as a network manager, with a desired amount of information to monitor the system without overloading the operator with too much information or causing the operator to inadvertently miss information by the lack of alarm data. In conjunction with other system functionality, the disclosed system can help insure optimal service offerings to end users.
In one embodiment, component capability data, such as a processing unit's instruction processing speed and/or a component memory capacity, is communicated to a performance threshold update determinator. The performance threshold update determinator dynamically reconfigures previous threshold values based on the communicated component capability data to facilitate real time system performance adjustments in response to changes in component performance capacity. A component may be, for example, any software program, hardware, or other suitable component that may affect the performance of the system. In one embodiment, a threshold table is maintained containing current component capability data along with weighing factor data, minimum threshold level data, maximum threshold level data and current threshold data for a given performance item. A performance item may include, for example, call capacity for a selected zone or coverage area, "busy" in queue levels, or any suitable performance related criteria. FIG. 1 shows a communication system 100, such as a land mobile communication system, having a plurality of coverage areas 101, 103, 105, 107, 109, 111, and 113 that
are serviced by the communication system 100. The communication system 100 includes a system controller 115, that will also be referred to as a zone controller 115 herein. Zone controller 115 may be, for example, a zone controller available from Motorola, Inc. through the Land Mobile Product Sector, Schaumburg, Illinois. The zone controller 115 communicates with a plurality of site controllers 116, 117, 119, 121, 123, 125 and 127, that provide communication resources within the coverage areas 101, 103, 105, 107, 109, 1 1 1 and 113, respectively. Mobile subscribers 129 use the communication resources to communicate in the coverage areas. The system 100 also includes a network management unit 131 that is in communication with zone controller 115. As known in the art, the network management unit 131 allows an operator to monitor coverage area activity controlled by zone controller 115. Although not shown, the network manager 131 may be connected to other zone controllers that are in communication with other site controllers defining a larger wide area network. Moreover, there may be multiple network management units 131 as needed. FIG. 2 shows a system 200, that may be used in the system 100 (FIG. 1), for adjusting communication system performance threshold data through dynamic reconfiguration of existing threshold values. When a site controller or other component is changed, deleted, added or fails, the system performance thresholds are also automatically adjusted to the proper levels to maximize performance of the system based on the changes in system configuration. The system 200 includes a component capability data provider 202 that provides component identification data (ID) 204 and component capability data 206. The component identification data 204 is data representing the identity of the component at issue, such as a name of a component, model number or other suitable data. The component capability data 206 represents associated component performance capacity. For example, if a new a central processing unit (CPU) in zone controller 115 is added to the system, the component identification data 204 may be data representing the identity (number) of the zone controller whose CPU is being replaced, while the component capability data 206 may be data representing a number of millions of instructions per second (MIPS) that the new CPU can process. A higher number of MIPS indicates a higher level of performance (e.g., larger number of calls it can process) for the zone controller.
A performance threshold update determinator 208 receives the component identification data 204 and component capability data 206 through a configuration update message (CONFIG_UPDATE_MSG) 209. The performance threshold update determinator 208 may be any suitable processing unit such as a computer. The performance threshold update determinator 208 stores and maintains performance
threshold table data 210 (in memory). The performance threshold table data 210 includes updated performance threshold data, threshold limit data, a plurality of component capability data entries for a given performance item, and weighting data associated with each component capability data entry. However any suitable data configuration may be used. The performance threshold table data 210 is changed when the configuration update message 209 contains new or different component capability data 206 that requires modification to a performance threshold level. In one embodiment, this is determined based on a comparison of scaling factors. However, any suitable detection method may also be used. The performance threshold update determinator 208 dynamically reconfigures performance threshold data stored in the performance threshold table 210 in real time in response to changes in the component performance capacity as indicated based on the component capability data 206.
Where the component capability data 206 is, for example, the number of millions of instructions per second (MIPS) that can be processed by a newly added zone controller processing unit or other processing unit, the component capability data provider 202 sends the new component capability data 206 and its associated component identification data 204 to the performance threshold update determinator 208 to determine whether or not a change in performance threshold levels is necessary to optimize operational capability of the system 100. If threshold levels must be updated, the performance threshold update determinator 208 generates performance threshold update data 212 which represents the new performance threshold data for a given processing unit 214A, 214B, or 214C. For example, the processing units 214A - 214C may be processing units within the zone controller, a site controller, repeater or other communication subsystem or system whose performance threshold has changed in view of the new component capability data 206.
The component capability data provider 202 may be a processing unit with associated memory that stores a list of components indexed by component identification data and corresponding capability data. Preferably, but not by way of limitation, the component capability data generator 202 communicates component capability data 206 in response to changes in system component performance capacity. In other words, if one zone controller processing unit is replaced with an identical unit having identical performance capacity, the configuration update message 209 does not need to be sent to the performance threshold update determinator 208 since no change in performance capability exists. The determination is made by the component capability data provider 202 by comparing the component identification data of a new component with the
identification data associated with the component in its stored table. If they are the same, no change in capability is determined.
Pertormance System Weight System Weight Mm Max thresh Item Component 1 (W) Component 2 (W) Thresh Thresh value (SC) (SC) TMIN TMAX
Call CPU 75 1.0 Memory .5 ϋ 475K 100K Capacity MIPS 32 M
TABLE 1.1
Performance System Weight System Weight Min Max l hresh Item Component 1 (W) Component 2 (W) Thresh Thresh value (SC) (SC) TMIN TMAX
Call PU l.ϋ Memory .5 ϋ 475K. 173.76 Capacity 100MIPS 32M
TABLE 1.2
Pertormance System Weight System Weight Min Max l hresh Item Component 1 (W) Component 2 (W) Thresh Thresh value (SC) (SC) TMIN TMAX
Call CPU l.ϋ Memory .i> ϋ 475K 261.93K Capacity 100MIPS 128M
TABLE 1.3
TABLE 1.1 is an example of performance threshold table data 210 for zone controller 1 15 having a performance item, "Call Capacity" along with the associated system components (SC) whose change in performance capability will affect the call capacity of a zone controller. As shown, several components, namely a central processing unit and associated memory are used as component data. The component identification data 204 is the data representing "CPU" and the component capability data 206 is the processing unit speed data representing "75MIPS" for system component 1. A weighting factor is also associated with the system components which serve as scaling factor data and can range from minus infinity to plus infinity as desired. If the system component has no affect on the performance item, then the weighting factor data is set to zero. The performance threshold update determinator 208 reconfigures previous performance threshold data (the Threshold Value entry) to form new updated threshold data by scaling a previous threshold value within upper and lower minimum and maximum threshold levels. The
scaling value is determined by a linear weighting of a number of system components which impact the performance item under consideration. It will be recognized by those having ordinary skill in the art, that although an example of linear scaling is shown, any suitable performance threshold update formula may also be used, such as non-linear formulas.
As previously noted, system components include both hardware, software and any other suitable operational items, for example, the number of subscribers, central processing units, amount of memory, time, Tl lines, and any other suitable parameter that may affect performance of the system. The performance items may include, by way of example, access time, queue time, process utilization, call capacity, memory swapping, bandwidth, and any other suitable performance items for the system. For a current system component having a CPU with performance capacity of 75 million instructions per second (MIPS) and associated memory of 32 megabytes (TABLE 1.1), the current performance threshold data is set at 100,000 messages/sec. The initial minimum and maximum thresholds can be set by a network manager at any suitable threshold.
Referring to FIG. 3, and TABLES 1.1-1.3, an example of dynamic reconfiguration of the threshold data will be provided. In block 300, the .initial performance threshold table data 210 is automatically or manually populated during set up based on the existing system component configuration. When a change or new system configuration occurs, as shown in block 302, the component capability data provider 202 communicates the component capability data 206 corresponding to the changed component to the performance threshold update determinator, 208. The performance threshold update determinator 208 analyzes the existing performance threshold table data 210 , (TABLE 1.1 ) to determine whether performance capability has changed. This is shown in block 304. Performance capability change is determined based on whether the system component capability data and weighting data is different for a given performance item compared to that prior to the change.
As shown in TABLE 1.2, when the performance capacity of the system component "CPU" changes from 75 MIPS to 100 MIPS, the performance threshold update determinator 208 determines that a change in performance capability has occurred based on the change in component capability data. If component capability has changed, the performance threshold update determinator 208 calculates the new performance item scaling factor (NSF) according to the following formula:
ΣSCι *W! where SC is the system component capability data representing the performance value for each component and W is the associated weighting factor data for the component. This is
8
shown in block 306. For example, from TABLE 1.1, NSF=OSF=(75*1.0)+(32*0.5)=91; from TABLE 1.2, NSF=(100*1.0 + 32*0.5)= 116; and from TABLE 1.3, NSF=(100*1.0)+(128*0.5)=164. The old scaling factor OSF (91 from TABLE 1.1) is compared to the new scaling factor as shown in block 308. If the old and new scaling factors are the same, no reconfiguration occurs although individual component capability may have changed. In this case the performance threshold update data represents values that cause the system to operate at a same performance level as a level prior to the new component being added.
If the old scaling factor is greater than the new scaling factor, the current performance threshold data is reconfigured to a new value using the formula as shown in block 310. If the new scaling factor is greater than the old scaling factor, then the current performance threshold data is reconfigured to a new value using the formula as shown in block 312. The performance threshold update data represents values that cause the system to operate at a different performance level from a level prior to reconfiguration of the performance threshold data. For example, the threshold value in TABLE 1.2 (173.76K) is generated and stored based on the formula: New (updated) Threshold Value (NTV) = 475K- (91/116)*(475K-91K)=173.76K. Similarly, the updated threshold data of 261.93K in TABLE 1.3 is determined by: NTV=475K-(116/164)*(475K-173.76K)=261.93K. The minimum and maximum threshold data, referred to as performance threshold limit data, changes as a function of the type of system component (the component identification data). For example, in TABLE 1.3 the CPU has the same 100 MIPS capacity but with a larger memory of 128 megabytes. As such, the type of component, namely memory, causes the maximum threshold to be increased because the call capacity (performance item data) can be increased due to the number of calls that can be processed with the new CPU and new memory size. Updated performance threshold limit data is calculated in the same way as the performance threshold update data by scaling previous TMAX or TMIN data with the appropriate component capability data and corresponding weighting data.
For example, as shown below in TABLE 1.4, a partially updated TABLE 1.3 shows a new TMAX referred to as "Call Capacity TMAX" that is determined based on the numbers from TABLE 1.3.
Pertormance System Weight System Weight Mm Max 1 hresh Item Component 1 (W) Component 2 (W) Thresh Thresh value (SC) (SC) TMIN TMAX
Call PU 1.0 Memory .5 0 475K. 261.W Capacity 100MIPS 128M
Call 100M1PS 0.0 128M 5.0 0 575k 550R
Capacity
TABLE 1.4
The calculations for Call Capacity TMAX are as follows:
OSF calculated from TABLE 1.2 values is: OSF=(100*0) + (32*5)=160; NSF calculated from TABLE 1.3 values is: NSF=(100*0) + (128*5)=640; Call Capacity TMAX=575K - (575K-475K)*(160/640)=550K.
The new TMAX value is then placed in the Call Capacity row, TMAX column, resulting in a final table shown below:
Performance System Weight System Weight Mm Max l hresh Item Component 1 (W) Component 2 (W) Thresh Thresh value (SC) (SC) TMIN TMAX
Call PU 1.0 Memory .5 υ 550R 261.93K Capacity 100MIPS 128M
Call lOϋMlPU 0.0 128M 5.0 0 575k 3S0K
Capacity
TABLE 1.5
As seen in the example, the weighting data for Call Capacity TMAX is different than the weighting data for the Call Capacity performance item, for example, the weight given the System Component 1 is different than that given for the Call Capacity item.
Referring back to FIG. 2, by way of further example, if a threshold call capacity for a number of messages that can be processed by a zone controller by a first sized CPU over one second is 230,000 messages, when the processor is upgraded to a faster unit, the performance threshold update determinator 208 will automatically calculate and set the new threshold such as 300,000 messages per second. In the case where a decrease in capabilities due, for example, to a voice repeater failing, the voice repeater that has failed, through its own component capability provider, which can exist in a non-collocated unit, generates a configuration update message 210 to the network management unit 131 (FIG. 1) indicating this change in capability. A new "busy" rate threshold is then calculated and set to a higher busy rate threshold. Hence, as the number of voice repeaters goes down,
10
the "busy" rate threshold goes up. This is performed continuously in real time as the capabilities change. Accordingly, the system does not have the problem with lag times nor does it involve substantial effort and time by a experienced designer to timely correct threshold limits to maximize system performance. The system automatically improves performance by changing alarm limits based on the new threshold values at any given time.
FIG. 4 shows the system 200 incorporated in a land mobile communication system wherein the zone controller 115 includes the component ID and the component capability data provider 202 and the network management unit 131 includes the performance threshold update determinator 208. Also shown is a site controller 117 also containing a component capability provider 202 that sends the configuration update message data 209 to the network management unit 131. In operation, if a new higher capacity zone controller CPU is added to the system, the component capability data provider 202 in the zone controller sends configuration update message data 209 indicating the addition of the new zone controller processor by sending representative component identification data along with the component capability data, (such as 100 MIPS) to the performance threshold update determinator 208. The performance threshold update determinator 208 in the network management unit 131 then generates the performance threshold update data 212 for the requisite processing unit. For example, the requisite processing unit may be processing unit 214b which could be located in the site controller 117. In this case, the performance threshold update data 212 represent data notifying the site controller to allow an increase in the site controller message rate.
Also, the performance threshold update data 212 is the real time new configuration threshold data which also may be communicated back to the zone controller 115 to processing unit 214a so that the zone controller 115 performs some load adjustments based on the change in the threshold data. For example, the zone controller may allow additional site controllers to communicate or allow fewer site controllers to communicate depending upon whether or not the threshold update data increased the threshold or decreased the threshold for call control message capacity. Preferably each of the call site controllers, repeaters or other subsystems have the component capability provider to report changes in component capacity including failures of components within the system so that the capability data indicates a decrease or loss of capability. In addition, it is preferable that the component capability provider be located in every zone controller and network management unit so that a change in any part of the system can be determined in real time and an appropriate change in threshold data can be timely generated. The performance threshold update data 212 can also represent, for the
11
network management unit, data indicating that the network management unit should perform additional diagnostics. For example, where the threshold level decreases substantially indicating a loss of capability, the network management unit may perform additional diagnostics to determine the cause of the decrease in capability. It should be understood that the implementation of other variations and modifications of the invention in its various aspects will be apparent to those of ordinary skill in the art, and that the invention is not limited by the specific embodiments described. It will be recognized that the disclosed system and method may be applicable to any suitable system. It is therefore contemplated to cover by the present invention, any and all modifications, variations, or equivalents that fall within the spirit and scope of the basic underlying principles disclosed and claimed herein.