This invention relates to methods and apparatus for allocation of a performance indicator among a plurality of cells in a cellular communication system, for example in order to monitor operation of the system as experienced by a user thereof.
The so-called third generation (3G) mobile communications system, also known as the Universal Mobile Telecommunications System (UMTS), is being implemented using various kinds of Code Division Multiple Access (CDMA) technologies. To enable efficient use (and re-use) of limited resources such as codes, the system is implemented on the basis of so-called “cellular” techniques. The geographical operating area of a mobile communications system is notionally divided into cells, and each cell is allocated a respective “scrambling” code that is applied to communications in that cell so they can be distinguished from communications in neighbouring cells.
The radio access network (RAN) in a UMTS mobile communication network is the most complex and non-deterministic part the network. It is generally necessary to adjust continually the RAN's operational parameters to optimise things like radio coverage, interference, cell capacity and Quality of Service (QoS) as perceived by the network users. To accomplish this optimisation it is necessary to make measurements on the performance of the RAN. This has been typically done by “drive testing”, in which a vehicle, equipped with a specially-adapted mobile phone handset (User Equipment, UE) coupled to measurement and data logging equipment, is driven around the operational area of the network while the UE is controlled to attempt to place calls via the network. The operation of the UE is monitored and recorded to collect various measurements on RAN activity from which “key performance indicators” (KPIs) may be calculated.
The nature of drive testing allows these performance indicators to be plotted against geographic location or cell site, and hence to target RAN adjustments. For example, performance indicators like dropped call rate or data throughput (bit rate) may be collected by the drive test system on a cell basis.
Measurements on RAN activity can also be collected more easily and at less cost by monitoring signalling and user data that traverse terrestrial links of the RAN (the UMTS Terrestrial Radio Access Network: UTRAN) in the course of operation of the system to provide service to users. However there is a subtle difficulty in allocating these measurements to a cell in a manner that appropriately represents the operation of the system as experienced by users. This difficulty arises because the UTRAN employs a feature known as soft handover. A UE in soft handover has active radio links to multiple cells at the same time. Thus it is not immediately apparent how measurements such as call drop or data throughput should be allocated on a per cell basis. To resolve this in drive test or UE-based measurement collection, these measurements are assigned to the optimal or “best” cell as determined by the UE. The UE selects a “best cell” as being the cell with the largest value of Common Pilot Channel (CPICH) Ec/Io (a dimensionless ratio of the average power of a channel, such as the pilot channel, to the total signal power) or Received Signal Code Power (RSCP), or smallest value of Pathloss (estimated using information about the transmitted level of the primary common control channel, which is broadcast on BCCH, and measurements of the received level of this channel).
Measurements to be collected on a cell basis by a UTRAN monitoring system need to determine “best cell” in the same way as a UE. One way of achieving this would appear to be for the UTRAN to command the UE to periodically report measurements of CPICH Ec/Io, RSCP and Pathloss. Measurements relating to that UE (such as data throughput or a call drop) can then be allocated to “best cell” for that UE. However there are a number of practical difficulties:
1. The Radio Network Controller (RNC) may be incapable of commanding the UE to supply periodic updates on CPICH Ec/Io, RSCP and Pathloss for cells it can observe: periodic reporting of these measurements is optional in the UTRAN specifications. Another possibility is that the network operator may choose not enable periodic measurement reports because of the additional signalling traffic generated.
2. The “best cell” as reported by the UE may be one with which it is not currently in active soft handover (although a soft handover is likely to be imminent). In this case any measurements should be associated with the “next best cell” with which the UE is in active soft handover.
3. Similarly, the UE may have removed the radio link to the cell that was “best” in the most recent measurement report, subsequently to the measurement being made. Again, the “next best cell” with which the UE has an active soft handover should be taken as the “best cell” for the measurements.
4. The UE may not provide a measurement result for the current “best cell” in a measurement report. This could be because it failed to make a measurement on that cell, or that it was commanded to return a one-off set of measurements that did not include that cell. In this case the most recent set of measurements for the cell from previous measurement reports should be retained for a short while.
5. The UE may not have any radio links active at all, but may be using a shared channel to a particular cell. In this case there are usually no measurement reports sent to the UTRAN. Further, the UE may choose to change cell from time to time using the cell update procedure. Any measurements should be associated with the current cell to which communications are being directed over the shared channels.
According to one aspect of this invention there is provided a method of allocating a performance indicator among a plurality of cells in a cellular communication system, in order to monitor operation of the system as experienced by a user thereof, comprising:
monitoring occurrence of signalling messages in a cellular communication system;
selecting messages containing measurement reports from mobile units in the communication system, and messages containing update information regarding active sets of wireless communications links associated with mobile units; and
extracting information from the selected messages and using the extracted information to allocate a performance indicator among a plurality of cells in the cellular communication system.
According to another aspect of this invention there is provided apparatus for allocating a performance indicator among a plurality of cells in a cellular communication system, in order to monitor operation of the system as experienced by a user thereof, comprising:
a monitor for monitoring occurrence of signalling messages in a cellular communication system; and
a processor for selecting messages containing measurement reports from mobile units in the communication system, and messages containing update information regarding active sets of wireless communications links associated with mobile units, and for extracting information from the selected messages and using the extracted information to allocate a performance indicator among a plurality of cells in the cellular communication system.
A method and apparatus in accordance with this invention, for allocation of a performance indicator among a plurality of cells in a cellular communication system, will now be described, by way of example, with reference to the accompanying drawings, in which:
The UTRAN includes multiple RNCs 32 (somewhat comparable in functionality to a GSM Base Station Controller—BSC) each of which coordinates the operation of multiple Node B facilities 34 (somewhat comparable to a GSM Base Transceiver Station—BTS), for which it is the Controlling RNC. Each Node B (shown in
Various interfaces and associated protocols are specified for communications among the entities in the core network and the UTRAN, including:
As noted above, network operators use various Key Performance Indicators (KPIs) as one tool for monitoring and managing the operation of a mobile communications network. The present invention envisages the collection of data to derive such KPIs by monitoring signalling messages between various elements of the mobile communications network, as an alternative to drive testing.
The monitoring system includes probes 36 for passively monitoring signalling messages traversing the Iub, Iu-CS, Iu-PS and Iur links, as described below. The monitoring is passive in the sense that the operation of the links is undisturbed by the presence of the monitoring system, which simply makes copies of some or all of the message packets it observes traversing the links. The probes 36 are coupled to the links in such a way that the operating characteristics of the links are not significantly altered. In the case of an optical link, for example, the coupling may comprise an optical power splitter and for an electrical link it may be a bridging isolator.
As shown in
In order to facilitate efficient and robust use of wireless spectrum resources, a 3G mobile communication system uses spread-spectrum techniques to distribute the energy of each user's communications signals throughout the waveband allocated to the system. A transmitter combines each user signal with a respective “spreading code” to distribute the energy in the desired manner. The family of spreading codes used by a transmitter is selected so that they are all mutually orthogonal, enabling a receiver to recover an encoded signal by combining it with the particular spreading code used to encode it. Each transmitter's signals are further combined with a respective Primary Scrambling Code (PSC), specific to that transmitter, so that every transmitter is able to make use of the full family of spreading codes.
In the following description the phrase “Cell ID” is used to refer to any value that may be used to provide an indication of the identity of a cell in a cellular communications system. One option for practical implementation of a Cell ID in a 3G system is to use the 16-bit C-ID value defined in the 3GPP document TS 25.433 (“UTRAN Iub interface Node B Application Part (NBAP) signalling”), section 9.2.1.9. However this value is unique only within each individual RNC. With soft handover to a Drift RNC the same C-ID value representing different cells may occur—one C-ID value local to the Serving RNC, one C-ID local to a Drift RNC. Therefore another option is to discover (by examination of the content of relevant signalling messages on interfaces between functional components of the network) the value of the duple <RNC-ID, C-ID> for use as Cell ID. The value of <RNC-ID, C-ID> will be unique within any one Public Land Mobile Network (PLMN).
In order to allocate key performance indicators (KPIs) to the “best cell” when a UE has multiple soft handover legs a KPI Call Trace function is used to determine the “best cell”. This function involves two parts: tracking potential “best cell” states in a Call Trace Table (as described below) for cases where there is a choice among possible cells; and determining the “best cell” for every message that is incorporated into the KPI counts—according to the nature of the message this determination may make use of the “best cell” indication in the Call Trace Table. It both cases it is assumed that the appropriate entry in the Call Trace Table is identified for each received message, by correlating messages with UE sessions.
There are two particular practical situations that must be correctly handled. The first is when the UE has no dedicated Radio Bearers (radio resource used for transfer of user data between the UE and the core network) but is using a common channel such as the Random Access Channel (uplink, RACH)/Forward Access Channel (downlink, FACH) for low data-rate user plane communications. The second is when the UE is in soft-handover mode with more than one cell, but CPICH measurements have not been received from the UE. Both these scenarios are handled by tracking a back-up to the “best cell” normally derived from measurement reports.
Data Structures
The “best cell” determination procedure to be described can be implemented for example by use of a table or other data structure (herein referred to as a Call Trace Table) to facilitate the correlation of signalling and user plane messages relating to an individual call or session (while the UE is in the connected state). The data items that are stored in this data structure, for each active UE for which a “best cell” is to be determined, are in the exemplary embodiment of the invention as follows (for the sake of clarity, data items to implement correlation between messages and calls/sessions in known manner have been omitted):
Two subsidiary tables are conveniently implemented. One is for mapping RNC-IDs of Drift RNCs to SS7 Point Codes, and contains the following fields:
Efficient use of the RNC Table is facilitated by enabling fast look-up by either of rnc_id and rnc_pc, for example via a hash function.
The second subsidiary table provides <RNC-ID, C-ID> to Primary Scrambling Code mapping. Each row of the table contains the following fields (this table is separate from the Call Trace Table described above, but is populated by events involving the Call Trace Table as described below):
Efficient use of the Cell Table is facilitated by enabling fast look-up by the duple <rnc_id, c_id>. There is not necessarily a one-to-one correspondence between Cell ID and Primary Scrambling Code: cells may share the same Primary Scrambling code if they are sufficiently geographically separated such that they do not interfere.
In either case a further test is then performed at step 106 to determine whether the message is of a kind, for example that contains a block of user data, that is relevant to determination of KPIs. If so the message is processed for KPI determination at step 108, the resulting KPI information being allocated to an optimal or “best” cell as described below in accordance with the “best cell” information maintained at step 104.
KPIs are usually measured over successive sample (or counting) periods, to enable time-dependent variations to be detected. Accordingly a third test is performed at step 110, to determined whether the sample period of any KPI has ended. If so the relevant KPIs are calculated and output at step 112.
Thereafter the procedure returns to step 100 for occurrence of another monitored signalling message.
Allocating KPI Updates to “Best Cell”
When a KPI count is being updated (step 108), the Call Trace Table is used to determine the optimal choice of “best cell” to which a KPI update should be allocated. KPIs may be generated using various different techniques. For example, a counter may be used to record events relevant to a KPI during a predetermined sample period. This may be implemented logically as a table of one or more counters indexed by “best cell”. These counters are updated during a sample period according to the parameter being monitored. At the end of a sample period (as determined at step 110) the contents of the counters are output (or otherwise processed) and the counters are cleared, ready for the next sample period.
For each KPI, the “best cell” index into the counters for selecting the counter to be updated is determined using the following (in order of preference):
(1) If the message is detected on a common channel (typically RACH/FACH or DSCH]) then the “best cell” is the cell associated with that common channel. Shared channels are specific to one cell and hence data transported over a shared channel should control the KPIs associated with that cell.
(2) If the message is detected on a dedicated channel (e.g. DCH) and the best_cell field in the Call Trace Table is not null, then use the value in that field that as the “best cell”.
(3) If the message is detected on a dedicated channel (e.g. DCH) and the best_cell field in the Call Trace Table is null, then use the value in the backup_best_cell field as the “best cell”. The criteria for storing values in the backup_best_cell field are such that there will always be a value in this field for every call/session.
Tracking “Best Cell” State
Different actions are undertaken at step 104 of
On occurrence being observed of any signalling or user plane frame (or just Frame Protocol (FP) frame) on a shared channel (currently these are RACH, FACH, DSCH, DCH, PCH and HS-DSCH) the fields best_cell and backup_best_cell for the relevant UE are set to the RNC-ID (0 for local Iub) and C-ID associated with that shared channel (step 200 in
If an RRC Measurement Report message containing primary CPICH measurements (intra-frequency measurement result list→cell measured result→primary CPICH information) is observed, the following processing is applied (steps 202 to 206 in
(Step 202) For every cell entry in cell_meas_list in the Call Trace Table entry for this call, decrement the three confidence counters ec_io_conf, rscp_conf and pathloss_conf, down to a limit of zero. If all three confidence counters for a cell reach zero then remove that cell entry from cell_meas_list: this has the effect of deleting obsolete measurements for cells that are no longer being reported.
(Step 204) For each cell (identified by Primary Scrambling Code) for which there are measured results in the RRC Measurement Report message do the following.
(Step 206) Implement the “Best cell” Update procedure described below.
Updating the active_set Field
The following procedures maintain the active_set field in the Call Trace Table. They also contribute to the discovery of the Cell ID to PSC mapping in the Cell Table. Except where stated, it is assumed that the Call Trace Table entry for the call is already located from the appropriate key field(s) in the message. Correlation of Iub and Iur messages to individual UE sessions is known to those skilled in the art of monitoring links at an RNC (or at a GSM BSC). Such call tracking is an existing feature (for example under the name Call Trace) of commercially available protocol analysers, such as those available from Agilent Technologies. Each procedure depends on the particular nature of the signalling message that is observed:
NBAP Radio Link Setup Request message and NBAP Radio Link Addition Request message: (Step 208,
NBAP Radio Link Setup Response message and NBAP Radio Link Addition Response message: These messages are sent to confirm successful set up/addition of all radio links included in the previous matching Radio Link Setup/Radio Link Addition message. Upon occurrence of these messages the following steps are taken:
NBAP Radio Link Setup Failure message and NBAP Radio Link Addition Failure message: These messages are sent set if one or more of the radio link set-ups/additions included in the previous matching Radio Link Setup/Radio Link Addition message failed. There may still be set-up/additions that succeeded. Upon occurrence of these messages the following steps are taken:
Radio Network Subsystem Application Part (RNSAP) Radio Link Setup Request message and RNSAP Radio Link Addition Request message: Only outbound messages of this type should be processed—that is messages travelling from the monitored RNC to another RNC over the Iur links. These messages are processed in the same manner as for the N BAP Radio Link Setup Request and NBAP Radio Link Addition Request messages described above, except that the rnc_pc sub-field in the pending_rl_adds list should be set to the MTP Destination Point code (DPC) from the message. This enables radio links at Drift RNCs to be distinguished.
RNSAP Radio Link Setup Response message and RNSAP Radio Link Addition Response message: Only inbound messages of this type should be processed—that is messages travelling from another RNC to the local monitored RNC over the Iur links. Upon occurrence of these messages the following steps are taken:
RNSAP Radio Link Setup Failure message and RNSAP Radio Link Addition Failure message: Upon occurrence of these messages the following steps are taken:
RRC Connection Setup message: (Steps 210, 212, 214, 215 and 206,
RRC Active Set Update message: (Step 216,
RRC Active Set Update Failure message: (Step 218) An active set update operation either completes successfully for all radio links, or does not complete at all. On occurrence of an Active Set Update Failure message any contents in the pending_rl_adds, pending_psc_adds and pending_psc_removes lists in the Call Trace Table entry for the associated call are discarded.
RRC Active Set Update Complete message: (Steps 214, 215 and 206,
(A1) If the pending_psc_adds list in the Call Trace Table is empty then jump to step (A15) below to do any active set removals.
(A2) If there is just one scrambling code in the pending_psc_adds list and just one radio link in the pending_rl_adds list then continue to step (A3); otherwise jump to step (A11) below.
(A3) As there is only one radio link to add, this is an unambiguous mapping of C-ID and PSC. If the rnc_pc sub-field associated with the pending radio link==0 (indicating it is a local RNC) then jump to step (A7) with rnc_id=0; otherwise proceed to step (A4).
(A4) This is a cell at a Drift RNC. Look up the rnc_pc in the RNC Table. If this look-up is successful and the indicated confidence is greater than or equal to the parameter rnc_rnc_pc_conf_ok then get the associated rnc_id value and jump to step (A7); otherwise continue with step (A5).
(A5) The point code to RNC-ID mapping has not yet been discovered for this point code. Add a new entry to the active_set list in the Call Trace Table containing the following values (this new entry should replace any existing entry with the same Primary Scrambling Code—the occurrence of this step implies that a previous active set removal message has been overlooked, as there cannot be more than one cell in the active set with the same Primary Scrambling Code; it is preferable to correct this now):
(A6) Jump to step (A15) to do any radio link removals, followed by the “best cell” update procedure.
(A7) Invoke the Cell to Primary Scrambling Code mapping procedure described below, using the RNC-ID, C-ID and Primary Scrambling Code.
(A8) Add a new entry to the active_set list in the Call Trace Table, containing the following values (replace any existing entry with a matching Primary Scrambling Code):
(A9) Also copy rnc_id and c_id to backup_best_cell. This sets this new cell as the back-up in case there is future ambiguity in best cell selection at step 206.
(A10) Jump to step (A15) to do any radio link removals, followed by the “best cell” update procedure.
(A11) Multiple radio links are being added to the active set at the same time. The correlation between the C-IDs in the pending_rl_adds and the Primary Scrambling Codes in the pending_psc_adds is therefore ambiguous. The discovered information stored in the Cell Table can be used to resolve this in the subsequent steps.
(A12) A temporary copy is made of the pending_rl_adds list in the Call Trace Table entry, and each item in the list is augmented with the respective cell's RNC-ID and Primary Scrambling Code: for each radio link in the list, if the rnc_pc is non-zero then look up the RNC-ID in the RNC Table as described in step (A4) above; if the RNC-ID cannot be determined or the ok confidence flag is False then delete that cell's entry from the temporary copy.
(A13) For each radio link in the temporary copy, use the RNC-ID (0 for local cells) and c_id value to look up the Primary Scrambling Code for the cell in the Cell Table. If there is no matching entry for this combination of RNC-ID and C-ID, or there is a matching entry but the confidence value for that entry is less than rnc_cell_psc_conf_ok then delete that cell's entry from the temporary copy.
(A14) For each Primary Scrambling Code in the pending_psc_adds list from the Call Trace Table entry, seek a matching Primary Scrambling Code in the augmented temporary copy of the list of radio links. If a match is found add a new entry to the active_set list in the Call Trace Table, containing values for rnc_id (0 for local cell), c_id and psc as described for step (A8) above. If no match is found the PSC is added to the active_set list as described for step (A5) above. Any existing matching PSC already in the active_set list is over-written.
(A15) Implement any required active set removals: for all Primary Scrambling Codes in pending_psc_removes, remove the corresponding entry from the active_set list.
(A16) Invoke the “Best Cell” Update procedure described above (step 206).
(A17) Clear the contents of the pending_rl_adds, pending_psc_adds and pending_psc_removes lists.
“Best Cell” Update Procedure
The “Best cell” Update procedure (step 206 in
If the active_set field for the UE in the Call Trace Table is empty then the corresponding best_cell field is set to empty. As there is no radio bearer then any user plane communication must be on RACH/FACH or another shared channel and this will give the cell directly.
If the active_set field is not empty, derive the intersection of the Primary Scrambling Codes in cell_meas_list and the Primary Scrambling Codes in active_set, and proceed as follows:
Cell to Primary Scrambling Code Mapping (Cell Table)
This procedure is invoked from the Active Set Update Complete procedure (and RRC Connection Setup) procedure at step (A7) if there is an unambiguous mapping of Cell ID to Primary Scrambling Code (multiple cells can share the same Primary Scrambling Code).
(B1) Use the passed RNC-ID and C-ID values to index the Cell Table. If an existing entry is found then skip to step (B3) below.
(B2) No entry found. Add a new entry with the following values.
(B3) Compare the passed Primary Scrambling Code with psc in the existing entry found in the Cell Table: if the values match then increment confidence, up to the limit set by rnc_cell_psc_conf_limit; if the values do not match then decrement confidence—if confidence is decremented to zero then remove the table entry.
MTP Point Code to RNC-ID Correlation for Drift RNCs
(Step 220,
(C1) Use the MTP OPC from the message as an index into the RNC Table; if no existing entry is found with matching rnc_pc then skip to step (C3) below to check for an entry with matching RNC-ID, otherwise proceed to step (C2).
(C2) The OPC already exists in the RNC Table. Compare the RNC-ID in the message with the rnc_id value in this table entry. If the values match then increment the confidence indicator, up to the limit set by rnc_rnc_pc_conf_limit; if the values do not match then decrement the confidence indicator, and if confidence is decremented to zero then remove the table entry. Terminate updating of the RNC Table in response to the message.
(C3) No entry exists in the RNC Table with matching OPC. Use the RNC-ID from the message to index into the table. If no existing entry is found with matching rnc_id value then skip to step (C5) below, otherwise proceed to step (C4).
(C4) The RNC-ID exists in the table, but with a different OPC. Decrement the confidence indicator of this entry; if decremented to zero then remove the table entry. Terminate updating of the RNC Table in response to the message.
(C5) Neither the OPC nor the RNC-ID in the message currently exist in the RNC Table. Add an entry as follows:
Number | Date | Country | Kind |
---|---|---|---|
0519004.6 | Sep 2005 | GB | national |