AUTOMATIC DETERMINATION AND TUNING OF PICO-CELL TOPOLOGY FOR LOW-POWER WIRELESS SYSTEMS

Abstract: A method of using the existing radio resources to automatically determine the current cellular topology is described. Wireless base stations are placed into a mode where they can transmit a signal which can be received by all of the base stations in range of the transmitting base station. Each base station in the system serially broadcast a signal which is received by all other base stations within the range of the transmitting base station. Each of the receiving radios determines the RSSI (Received Signal Strength Indication) at which they received the transmitted signal. The RSSI values are used to determine which base stations are physically co-located into cells and then determine the relative locations of the cells to each other. A method is also described by which the wireless system monitors the mobility traffic of subscribers and makes use of this information to improve the operation of the system. As the user makes use of the mobility features of the system by making and receiving wireless calls, the mobility patterns of the users are tracked and fed into an algorithm which determines and updates to the central wireless configurations. Hence, over time the system is able to determine which cells are more likely to be involved in handover situations.

Description: AUTOMATIC DETERMINATION AND TUNING OF PICO-CELL TOPOLOGY FOR LOW-POWER WIRELESS SYSTEMS Background of the Invention This invention relates to low-power wireless systems and more particularly to pico-cellular wireless systems which make use of co-located zones to permit mobility traffic. Description of the Prior Art A pico-cellular wireless system is composed of a number of wireless radio base stations which are distributed throughout a coverage area. To make effective use of these radio resources the radio base stations are physically co- located into zones of coverage known as cellε. Such a pico- cellular wireless system is disclosed in applicant's co- pending application entitled "Low-Power Wireless System for Telephone Services" and having serial number 07/961,769. In order to provide effective wireless service in this wireless environment, an understanding of the topology of the cellular configuration is necessary. Once an understanding of the cellε is in place, operationε such as 'mobility handoff and portable location can be made to operate the system more efficiently. in current wirelesε εyεtemε the manual deployment procesε determines the moεt effective placement of the wireleεε basestations. For example, radio baεe εtations are placed according to estimate of traffic densities at specific locations. Once this proceεε is complete, the grouping of radio base stations into cells must be manually entered into the system through the administration interface. That is, there are instances where two or more base stations may be required in the same zone to provide service in an area with a higher than expected traffic density. Also the information detailing the location of cellε with respect to each other must be determined and entered into the system. The cell concept allows radio channels in the allocated spectrum to be re-used provided that the cells are sufficiently far enough apart to prevent their signalε from interfering. The cell concept alεo provides a mechanism for efficiently locating portable terminals since only one radio in the cell need be actively engaged in the search process. This type of wireless system requires knowledge of the cell patterns in order to efficiently perform the functions of mobility handoff, arbitration and location. For example, when a portable terminal with an active radio link is about to leave the radio coverage of a cell, the manager of that cell will request neighbouring cells to pickup the radio link. Typical cell patterns include cell membership i.e. mapping of radios to a cell, and cell relationshipε εuch aε a list of neighbouring cells for a given cell. Initially the syεtem is geographically laid out and hard wired manually using a portable εignal εtrength meaεuring device, and moving away from a fixed base station (that is transmitting a known test εignal) until the received εignal strength measurement from it indicates another baεe εtation iε required. After inεtallation of thiε next unit, the procedure iε repeated until radio coverage of the deεired area (e.g.: an entire building or group of buildings) is fully achieved using this layout technique. Then the whole εyεtem iε mapped manually by recording, one at a time, the signal strength measurements of the various baεe εtationε at εelected diεtances and directions from them again using the portable signal strength measuring unit. Presently the cell mappings can be specified using a manual administration procesε for which the εyεtem εize iε no more than 36 cellε. In practice all cells are defaulted to belong to the immediate neighbour list, because the provisioning taεk iε complex and error prone. Since this process of manual determination of cellular topologieε iε both tediouε and error prone, it iε deεirable to provide a more efficient mechaniεm for determining cell patternε. Even once the cell pattern is determined, the system must still be able to perform mobility operations effectively. ireless mobility operations are concerned with providing the best link possible at all times. This is performed by allowing the portable user to stay in communication with the cell which provides the portable with the best wireless service. As the portable user moves through the wireless coverage area, the cell which is able to provide the best link will change and the portable user's communication link must be handed over to the new cell. Aε a portable user moves through the coverage area, target cells are asked if they are able to provide a service to the portable uεer which iε better than the service offered by the serving cell. If a cell respondε that it iε able to provide a better quality communication link then the link iε handed over to the new cell. Since in large systems it is extremely inefficient to ask all the cells in the syεtem if they can better support a link, system performance would be improved if only those cells which have the highest probability of better supporting the link were asked to monitor the existing link. It is therefore an object of the present invention to provide a method of automatically determining the cellular topology of cells once the system has been hardwired during installation. Once the syεtem iε turned on it automatically initiates a testing sequence to establiεh the Received Signal Strength Indication (RSSI) of each radio with respect to another. As will be manifest from the following description, such a test sequence doeε not provide a direct indication of the signal strength between the basestations and the portable units but only between the basestationε themεelves. However, the information gleaned from this teεt sequence does establish an initial layout pattern or topology of the system that can then be dynamically modified as the system is used to provide optimum interaction between the basestations in each cell and the portable units. Another object of the present invention is to provide a method wherein data collected during operation of the system is used to tune the operations and provide increased system performance. For example, the monitoring of the user's mobility traffic is uεed to determine thoεe cellε which have the highest probability of supporting a portable user's link. Summary of the Invention it has been found that more efficient and effective control of the system can be achieved by recording base station to base station signal strength measurements (as opposed to base station to portable unit measurements) once the initial hard wired layout has been done. As will be manifeεt from the following description, such a procedure lends itself to automation whereas the former procedure must be manually carried out using the portable units which are transported by hand during the test. In addition updating of the εyεtem configuration can be much more effectively accompliεhed at regular intervals. This would be very laborious and time conεuming (eεpecially for very large εyεtemε) if done manually uεing portable recording equipment. The firεt embodiment of the invention iε a method of using the existing radio reεources to automatically determine the current cellular topology. This makes the installation of a wirelesε εyεtem simpler and less error prone. The key to the process is to place the wireless basestationε into a mode where they can transmit a signal which can be received by all of the baseεtationε in range of the transmitting baseεtation. Each basestation in the system serially, i.e. one base station at a time, broadcast a signal which is received by all other basestations within the range of the transmitting basestation. Each of the receiving radios determines the RSSI at which they received the tranεmitted signal. This RSSI value is transmitted to the central controller which determines the relative locations of the basestationε. These values are used to determine which baεeεtationε are phyεically co-located into cells and then determine the relative locations of the cells to each other. In another embodiment, a method is described by which the wireless εyεtem monitorε the mobility traffic and uεeε thiε information to improve the operation of the system. The syεtem operation iε improved since the syεtem determines which cells will have a high likelihood of succeεεfully participating in a mobility operation. The operation of thiε proceεε iε transparent to the wirelesε uεer. Aε the uεer uses the mobility features of the syεtem by making and receiving wireleεs calls, the mobility patterns of the uεerε are tracked and fed into an algorithm which determineε and updateε to the central wireless configurations. Hence, over time the εyεtem is able to determine which cells are more likely to be involved in handover situations. As an example, during wirelesε handover, a number of εurrounding wireless cells may be asked to receive the link. However, if over a period of time it is determined that one particular cell is always succeεεful in recovering the link, then it iε given priority in the next handover phaεe. Brief Description of the Drawings Figure la is a flow diagram describing some of the steps used to determine pico-cell topologies according to the present invention; Figure lb shows an example of a pico-cell topology layout with relative RSSI readings between cells; Figure 2a is a diagram illuεtrating the initial mapping εcenario of cell radio memberεhipε and cell relationships; Figure 2b shows a typical cell community structure; Figure 3 illustrates how graphs can be derived of the RSSI as a function of distance; Figure 4 illustrates the bands obtained from RSSI measurementε εignifying different cell relationship; Figure 5 εhows a block diagram for illuεtrating the baεic algorithm for extracting the RSSI between two baεe stations; Figure 6 is a table illustrating the general structure of neighbourhood lists; Figure 7 illustrates the cell mapping table which is used in the immediate cell neighbourhood algorithm; Figure 8 is a diagram illustrating the cell tuning scenario according to the εecond embodiment of the invention; Figure 9 illustrates the ongoing learning framework lifecycle; Figure 10 illustrates the cell selection process according to the prior art; Figure 11 illustrates the cell operation request scenario; Figure 12 illustrates the feedback data capture scenario; Figure 13 illustrates the scoping scenario based on earlier feedback received; Figure 14 illustrateε a contiguouε εubqueue of cells in the network; Figure 15 illustrates in greater detail the subqueue shown in Figure 14; and Figure 16 illustrateε in detail the entry layout of the εubqueue shown in Figure 14. Pico-cell Topology Determination The pico-cell topology determination is the initial mapping of cell-radio membership and cell relationshipε. This procesε is described in the flow diagram of Figure la. Once the εyεtem parameters and deployment agenda 10 are known, the system will automatically determine the cell topology. The system parameters and deployment agenda would, for example, include the number of radio base stations, the number of cells required for expected traffic densities, the physical layout of the building or location where the system is installed, etc. The next step 11 iε done by initiating radio baεe stations to enter a sniffing mode, that is each radio in the syεtem will in turn broadcast while the other radios listen and measure signal strength. The data collected at 12 is analyzed according to specified parameters and radio location algorithms to provide the radio location within cells and RSSI levels between cells, as shown at block 13. From this information, the radio neighbours are established at step 14. From the radio neighbour information, the locator cells and immediate neighbours, step 15, can then be determined. The resultant analysiε of all RSSlε iε uεed to determine the cell patternε. An example of a typical cell layout analyεiε is shown in Figure lb. For simplicity, only a representative sample number of cells are illustrated for the variouε εectionε of the building complex which compriεeε an Administration section "Admin" and several Laboratory sections labelled Lab 2, Lab 3, Lab 4 and Lab 5. As indicated above, although the physical location of the cells for each area of the building is a known parameter, their interaction aε a group isn't and can thus affect the overall operation of the system. Knowledge of that interaction improves the efficiency of the system. The RSSI data is acquired by a Radio Interface Module (RIM) in the baseεtation during the baεe station's sniffing process, whereby each radio in the coverage zone broadcasts a set of code words to all receivers. A typical base station architecture is described in applicant ' s co- pending application entitled "Low-Power Wirelesε Syεtem for Telephone Services" and having serial number 07/961,769. A RSSI sample is obtained for each address or data code word that is able to be decoded. The sniffing process provides a framework via which RSSI samples may be obtained for different channels (frequencies) , antenna combinations, and signal power levels. The results which are recorded in the standard -dBm format are shown for adjacent cellε of the network. For inεtance the recorded level between cell 1 and cell 2 is -90dBm while that between cell 6 and cell 7 is -77dBm. Such illustrated reεultε would be typical of the received power at the receiving baεeεtation in one cell, from the tranεmitting basestation in another cell with a power output of either 0.25mW (low power) or lOmW (high power). For example, in Figure 2a, base station BS #1 has been chosen as a transmitter. Thiε transmitter baseεtation radiates a specified signal which is then received by all the receive basestations BS #2 and #3 in cell B, BS #4 in cell C, and BS #5 and #6 in cell D, in range of its transmisεionε. Each of theεe receive baεeεtations reports the RSSI of the signal that they received. Once the data transmitted by base station #1 has been collected by all receiving basestations, another base station becomes a transmitter and the process iε repeated for all the basestationε in the system. To obtain better statiεtical data, the data can be repeated on different frequencieε, antennaε, etc. Once all basestation transmissions are complete a controller 20, to which the baseεtationε BS #1 to BS #6 are connected, proceεεeε thiε data and iε then able to determine the cellular configuration. During operation, the mobility εoftware in the εyεtem's wireless controller 20 requires knowledge of cell relationshipε as part of its call processing function. Once the RSSI measurements have been obtained from the sniffing process, the cell relationships can be extracted. The cell relationships are: • Co-located radios within the same cell • Immediate cell neighbourhoods • Radio cell neighbourhoods • Locator cell regionε. in Figure 2b, we have shown a typical cell community structure used in providing a wireless service. For convenience of illustration, the cells are portrayed as hexagonal areas, where in actual fact the boundary of a cell is defined as a line beyond which the propagation or powers of a radio link is deemed to be too weak to maintain communications. In the present invention, we introduce the terms immediate neighbours and radio neighbours. With respect to cell 1 of Figure 2b, the immediate neighbours are cells 2,3,4,5,6 and 7. These are cellε which share a common region or volume of operational traffic cell overlap, wherein mobility handoffs can occur therebetween. The radio propagation neighbours, cells 2-19 incluεive, are cells wherein one or more radio base stations might receive or see a radio link from a portable even though the cell may be completely disjointed in terms of an operational traffic cell. As indicated above, the mobility software in the system's wireless controller 20 requires knowledge of cell relationshipε aε part of itε call proceεεing function. ith the εyεtem of the present invention, a cell membership list is uεed to specify the radio members of each cell. Knowledge of co-located radios improves performance and saveε εyεtem resources. Since all radios within a given cell behave similarly in terms of radio coverage and average RSSI, only one radio in the cell need be assigned to execute a particular function e.g. lost portable search. For example, in Figure 2a, both cell B and D have two radio base stations. Accordingly, since each is likely to behave in the same way, only one iε aεsigned for a task to eliminate duplication. The immediate neighbour list εpecifies for each cell its adjacent cellε. Knowledge of immediate neighbourε enables efficient usage of system resources when performing hand-off functionality. The immediate neighbours are the best candidates to pickup the radio link for the mobile portable. The radio neighbour list specifies for each cell those cells for which radio contact can be detected. Radio neighbour lists are applicable to call setup arbitration. Links may be established anywhere between portable and radio within a radio's coverage. The purpose of arbitration is to select the cell with the best posεible coverage to the portable and this is performed by requesting all radio neighbour cells to "sniff" or report the signal εtrength to the portable. The radio link is handed off to the winning cell. The locator local area list specifies the cell members of each local area. Delivery of incoming calls to a portable terminal requireε that the portable be located within the radio coverage area. In εyεtemε operating within the CT2Pluε verεion of the Common Air Interface (CAI) εtandard, the wireless coverage area is comprised of a εet of local areaε and the portable's location iε tracked on a per local area baεis via Common Signalling Channel (CSC) signalling. Each local area consiεtε of one or more cellε, and the cell relationεhipε are uεed aε input to determine the local area compoεition. In addition, knowledge of minimum cell regionε required to exhauεtively εearch through the wireless coverage area is useful when the portable location is unknown in a large system and a global search is required to deliver an incoming call. An example of a radio link architecture making use of CSC is described in U.S. Patent 5,229,995 which is issued to applicant. The topology determination or cell mapping is completed upon the analysiε of the RSSI data collected by each radio during the sniffing process. Upon extraction of the RSSI data, two broad functions are performed. These processes are resident in the Line Interface Module (LIM) in the baseεtation. • The RSSI εamples are εubject to noise, and a filter procesε is used to obtain a mean value for the RSSI level. Multipath fading and antenna radiation patterns may affect the signal strength, so that a measurement vector must be compiled from the RSSI samples when the transmission bursts are repeated using different channels, antennas and power levels (diversity) . The next step is a clasεification function which useε meaεurement vectors together with a set of cell pattern rules and constraints to generate a number of mappings that include radio-cell memberships, immediate cell neighbours, radio neighbours and locator areas. Then, a Cell Database Function, implemented via the Community Data Server, maintains the cell listε in its internal database and distributes these for uεe during operation of εystem features such as Cell Managers for handoff/arbitration and the Locator for portable terminal searching. The Radio Interface Module (RIM) , Line Interface Module (LIM) , Community Data Server, Cell Managers and Locator sub-εyεtems mentioned above, are described in applicant's co-pending application entitled "Low-Power Wirelesε Syεtem for Telephone Serviceε" and having serial number 07/961,769. As indicated above, the radio-cell membershipε and cell neighbour mappings are determined using the RSSI data provided by the base station sniffing process. In the ideal case the RSSI measurements derived from sniffing fall into three categorieε: colocated radioε, immediate radio(cell) neighbours, and radio neighbours. in practice a number of factors affect the RSSI meaεurement: • Raleigh or multipath fading. The RSSI vector between two radioε iε critical εince the εignal coverage of a radio must be inferred from the signal strength measured at a single point by another radio. (Recording the signal at other radios as is done in base εtation sniffing, and correlating the measurements can reduce the criticality of the RSSI measurement for the reference radio) . Since the radio-ceir membershipε and cell neighbour mappingε are eεεentially determined from the RSSI vector meaεured between radios it is essential to eliminate any interference components in the RSSI; for example a too low RSSI reading between two co-located radios due to fading may wrongly result in their being allocated to two different cells. • External radio source interference. It is necessary to understand the accuracy of the base stations RSSI measurement process and factor in the RSSI error range when classifying the radios into cells and deciding cell relationships. • Inaccuracies in the RSSI measurement process. In an ideal case, graphs can be derived of the RSSI as a function of diεtance from the transmitting radio in order to determine the RSSI thresholdε for collocated radios, immediate and radio neighbours. This iε illustrated in Figure 3. Thus, those radios receiving the εtrongeεt signals would be the colocated radios 30. Those receiving the second strongest signals would be the immediate radios 31 and those with the weakest signals would then be radio neighbours 32. • Antenna radiation patterns. The RSSIs are passed through a normalization procesε so that the cell relationship algorithmε can be applicable to product applicationε with for example different power levelε. RSSI Measurements An initial estimate is made to determine the RSSI boundaries encountered during the base station sniffing process. RSSI readingε are taken for co-located radioε, immediate radio neighbourε and tabulated. Figure 4 illustrateε the bands obtained from RSSI measurements signifying different cell relationships. An analysiε of the RSSI meaεurement data is required in order to determine a suitable set of Measurement Vectors to claεεify cell membershipε and relationεhipε. Techniqueε to obtain a repreεentative RSSI channel measurement include: Filtering Space diversity • Frequency diversity. During the sniffing process the transmitter broadcasts a signal at low or normal power levels. The signal strength samples measured at the radio receivers are subject to noiεe interference. In the sniffing scenario the transmitter and receiver are alwayε at constant distance from each other, and the signal is repeated periodically by sending ID_0K and Data code words alternately. Ideally, the frequency response of this signal is a single impulse in the frequency domain. The presence of noise can be reduced by applying a low pass filter to remove any higher frequency components. Assuming that the mean value of the noise component is zero then the following averaging function iε applicable: ∑XJ - j=--k- _ -x 2k + l To reduce the impact of aεymmetrical interference the following algorithm is used: 1. Collect RSSI samples during 180 msec collection period for given power and antenna combination; 2. Maintain the peak HI and LO value through collection period; 3. Exclude the peak HI and LO values from sample space; and 4. Calculate mean value of RSSI samples. Code words sampled by the RIM are divided into good and bad code words based on whether or not the Cyclic Redundancy Check (CRC) is valid. A separate count is alεo kept of the number of codewords received that contain a "bad" Portable Identifier (PID) or Link Identifier (LID) . External interference and/or low εignal εtrengthε can cauεe bit errorε in the sampled code words. For purposes of comparing two averaged RSSI values a sufficient number of good code words must be collected e.g.. a RSSI average of -45dBm based on 2 εamples would not be εelected over a RSSI average of -50dBm based on 20 samples. RSSls are divided into two categories for comparison purposes (total 24 samples): • RSSI mean values based on 16 or more samples (66%) . • RSSI mean values based on less than 16 sampleε. The sample threshold will be defined as a system parameter and config tag. The RSSI measurement bands in Figure 4 can be divided into three main regions for evaluating cell mappings: 1. Low power levels 40 that register RSSI values within saturation mode (-40 dBm region) are used to decide whether or not radios are co-located. 2. Low power levels 41 and 42 that register RSSI valueε not in saturation mode indicate cell mappings of immediate- or radio neighbours. In this region both normal and low power levels should indicate RSSI levelε that differ by approximately 16dB. It is expected that the RSSIs εampled at normal power 43, 44 and 45 are more to be relied on than thoεe εampled at low power in the presence of interference. 3. The final region consists of radio neighbours that are detectable in normal power mode 45 but generate poor/no low power RSSIs. Since co-channel interference is not a factor in the sniffing procesε it iε desirable to use the normal power transmission for determining immediate and radio neighbours cells. Increased signal strength also reduces the effects of fading. The block diagram of Figure 5 can be used to illustrate the basic technique for extracting the RSSI between two base stations. Two vectors are required: one at low power and one at normal power: 1. A set of RSSI samples is measured for each antenna combination and frequency channel e.g.. eight sample sets are generated by using internal antennas plus two frequency channels (0-0, 1-0, 0-1, 1-1 over two channels) . The recorded measurements at 50 include: • Sum of RSSI values for good code words. Number of good and bad code words. • Peak hi and peak lo RSSI values. Mean RSSI over 200msec when the number of good codewords is zero. • Number of bad PID/LID codewords with correct checksumε. 2. Each RSSI εample set is averaged by excluding the peak hi and peak lo values, and dividing the sum by the number of good codewordε (51) . 3. The beεt RSSI of the averaged samples sets is selected based on RSSI strength and number of sampleε (52). In practice, each radio in the εystem is only able to detect N other radios, so that a linear neighbourhood array can satisfy storage of RSSI readings. The data structure reflects the clustering effect of mutual radio detection. Retaining RSSI data in reduced form has the advantage that the "colocation radio" algorithm can perform multiple pasεeε through the entire εet of data to determine the beεt fit with respect to radios and cellε. Aεεigning radioε to cellε in serial fashion aε meεεageε containing RSSI readings arrive from the radios saves memory, but provides for only a single pass through the data making it difficult to backtrack (such as when it is found that the number of cells required exceedε the εyεtem capacity) . Two sets of RSSI readings can occur between two radios of adjacent base εtations. The strongest RSSI value is selected to represent signal strength between the two radios. Three types of averaged RSSI values are provided by the baseεtation (see APPENDICES A and B) : RSSI of Matching Codewords: Thiε value is repreεentative of the signal strength between two radios since the transmitter codewords were correctly decoded at the receiver. RSSI of Bad Codewords: Codewords containing CRC and parity errors were received. High RSSI values probably indicate the presence of an external noise source, whereas low RSSI values would indicate a weak link and/or external noise i.e. the radioε are far apart. ' RSSI No Codewords: In the event of no codewords being detected, the RIM obtains the average RSSI value on the sniffing selected frequency channel. The use of external slicing by the RIM provides for better decoding. These RSSI samples provide the ability to detect radios that are located far apart. (When non-matching PID/LID codewords are detected with zero matched PID/LID codewords then the Cordlesε Fixed Part (CFP) Server will reattempt the εniffing εequence εince another colocated system is transmitting concurrently) . For algorithmic purposeε the RSSI is considered to consiεt of two elementε in order to interpret and εelect the beεt εample: RSSI type and RSSI value. Aε indicated above, in general the RSSI data may be grouped into three bandε (Figure 4) : 1. Saturated RSSIε in the region of -44dBm at low and normal power correεponding to colocated radioε. 2. RSSIε corresponding to the immediate neighbouring radios of a transmitter at normal power: since the distance between baseεtations may vary significantly from 10 - 40 meters, RSSIε may range from -55dBm to -80dBm at normal power. 3. RSSIs corresponding to non-immediate neighbouring radios may or may not be detectable depending on the baseεtation diεtance, level of external noiεe and radio barriers. The variation in RSSI values means that the RSSI analysis should be done on the basiε of relative rather than absolute values e.g. select immediate neighbours based on the best 10 RSSIs detected. The table of RSSI values shown in Appendices A and B shows a sample set of measurements for a number of radios, for both low and high powered base station transmitters. Once the RSSI measurements have been obtained from the sniffing process, the cell relationshipε can be extracted. A εet of system parameters is specified to be used by the other algorithm components e.g. the RSSI threshold that defineε whether or not two cellε are to be considered as immediate neighbours. The system parameters serve to: • Normalize the RSSI readingε εo that the cell algorithmε are still functional if the system parameters are altered e.g. power levels. • Fine tune the system via simulation and testing to derive a εet of parameter values that generate optimal cell neighbourhood liεts. Using as input a set of normal- and low power RSSI readings between radios, the co-located radios are determined by εearching for εaturated mappings between radio pairs. The algorithm returns a list of radios asεociated with each cell. The RSSI input is extracted from the sniffing data as εpecified by the data extraction algorithm deεcribed above. The extraction algorithm will have εelected the εtrongest normal- and low power RSSI reading between two radios from multiple RSSI sample sets (see Appendices A and B) . Once the cells have been specified for the system then the radio neighbourhood algorithm compiles a sorted list of cells that are in radio contact with each other. Sample data is shown in Appendix C. A single representative RSSI between two cells is calculated. • Each cell owns a list of neighbours for which radio contact haε been detected εorted in order from εtrongeεt to weakeεt signal. Using the radio neighbourhood list, the immediate cell neighbourhoods can be determined by selecting those cellε that exhibit the strongest signal strengths with respect to a reference cell. Finally, a εet of cell regionε for locator εearching can be derived when the number of cellε in the εystem is known, as well as their neighbourhood relationεhipε. Co-located Radio Determination We can now take a cloεer look at each algorithm which analyεes the RSSI data. The first is the colocation algorithm which determines which radios belong in the same cell. The identification of co-located radios is determined by the following properties: RSSI Saturation Co-located radios exhibit close-to saturated RSSI readings with respect to each other at low power. RSSI Similarity- All radios within a cell behave similarly in terms of radio coverage (RSSI strength) with respect to other radios in the syεtem. Determination of colocated radioε in a cell iε a critical section of the overall algorithm since once the radio-cell asεignment has been performed, the radio- cell mappings cannot be changed by the Ongoing framework. Reaεεignment may only occur during the re-evaluation proceεε (all call processing needs to be εtopped during thiε phase) . The colocation algorithm useε the RSSI Saturation property to assign radios to cellε. An objective of radio to cell assignment is to place all radios in the system into cells. If it is found during the assignment process that the number of cells required exceeds the system capacity then the colocation properties are relaxed to meet the above goal: first the RSSI Similarity condition is excluded and then the colocation threshold value is increased incrementally. The Colocate- Radioε algorithm aεεignε radioε to cells making use of the RSSI saturation and similarity checks between radios. The first part of the algorithm asεign two radios with saturated RSSI readings to the same cell; the εecond part enεures that two radios with non-saturated readings are placed in separate cellε. Parameters A number of parameterε need to be defined before describing the algorithm. These are: Maximum Cells Maximum cells supported by the wirelesε εyεtem. Colocation Threshold The minimum RSSI value between two radios at which the two radios are considered to be colocated in the same cell. Colocation Neighbourhood Range The minimum RSSI strength between a colocated radio pair with respect to a third radio in the system in order to determine whether or not each radio in the colocated pair shows εimilarity to the third radio in termε of signal strength. Colocation Neighbourhood Delta The tolerance level allowable for a colocated radio pair to show similarity with respect to a third radio in the system. Colocation Threshold Increment The Colocation Threshold incremental increase when the number of cells required by the Colocation Algorithm exceeds the syεtem capacity. The colocated radio assignment algorithm is shown in Appendix D: Radio to Cell Alignment The routine εhown in Appendix E attemptε to place radios in original cells prior to re-evaluation. Verification that a given radio is at saturation with respect to all radios in cell is aε shown in Appendix F. Colocated radios in a cell (that detect each other during basestation sniffing) can be obtained from the RSSI- Matrix low power radio members and Radio-Cell Matrix. Refer to Appendix A. The routine for adding radio pair Bl and B2 Add_Bl_B2_to_cell checks that both radios are using internal antennas. In this case both radios must indicate close to saturated RSSI samples and the best RSSI is selected. Radio Neighbourhoods The radio neighbourhood algorithm compiles a list of radio neighbourhood cells for each cell in the system. The radio neighbourhoods are generated using the RSSI Table (baseεtation to baεeεtation RSSI) and the colocated radio mappingε (cell to radio) . The neighbourhood cells are placed in sorted order from strongest to weakest RSSI. The table εhown in Figure 6 illustrates the general structure of the neighbourhood listε. Each radio neighbour conεiεtε of two elementε: 1. Cell Id 2. RSSI type Algorithm Outline The radio neighbourhood algorithm shown in Appendix G compiles the neighbourhood list. Immediate Cell Neighbours The radio neighbourhood algorithm compiles a liεt of immediate neighbourhood cells for each cell in the system. The immediate cell neighbours are determined by selecting those cells with the strongeεt RSSI εignal strength with respect to the reference cell. The Radio Neighbourhood table contains a sorted list of cell neighbours. . On syεtem εtartup and aε part of a reevaluation proceεε the εyεtem in conjunction with the εniffing proceεε compileε liεtε of colocated radios, immediate neighbours and radio neighbours. As will be described later, the immediate-and radio neighbourhood lists may be modified as the system learns more about the mobility patterns in the radio network e.g. cells that commonly perform handoff. The syεtem has the capability to both add and remove cells from the neighbourhood lists. The strategy adopted incorporates the above property to compile immediate neighbourhood listε that are robust in meeting radio coverage requirements at the expense of adding extra cellε. • This strategy reduces the probability of dropped calls during handoff when there is no cell to take-over the call. • Monitoring cells involved in handoff and arbitration over a period of time enables the neighbourhood lists to be optimized by removing redundant cells - it is simpler to remove redundant cells from the neighbourhood lists than to add the appropriate cell that solves a handoff problem caused by missing radio coverage. To meet the radio coverage requirements, the compilation of immediate neighbourhood listε attemptε to take into account the following: Selecting neighbouring cells with the strongest RSSI signals to the ref cell. • Providing connectivity between all cells • Radio barriers. The immediate neighbourhood list is a subset of the radio neighbourhood list εhown in the above table. Each cell maps to a set of cells that conεiεtε of cell identifier and RSSI. The immediate neighbourhood εize iε a function of the cell coverage and traffic impact: it iε desirable to provide good handoff coverage using a large neighbourhood liεt, but limit the traffic impact cauεe by requeεting large numberε of cellε to εniff a portable at frequent intervalε. It is noted that the selection of the best immediate neighbours is determined by the relative RSSI values rather than abεolute RSSI values. The distance between cell centres and consequently their RSSIs may vary between syεtem inεtallationε - from 10m to 40m. The Immediate Neighbourhood algorithm assumes that in general, installation of radio basestations in- an office is performed in a manner so as to provide contiguous wireless coverage i.e. it is possible to define a handoff path from any one cell in the syεtem to any other cell. Although εeparate "iεlands" of wirelesε coverage may well be implemented, the Immediate Neighbourhood algorithm will add extra cells (provided radio detection is found to occur between two cells) to ensure connectivity - on the basiε that it iε simpler for the Ongoing Framework to remove redundant cells than to add a misεing cell. The algorithm function iε εpecified aε followε: • A cell zone concept iε defined that consists of all cells that together provide contiguouε wireless coverage i..e. it is possible to move from any one cell in the cell zone to another cell maintaining immediate neighbourhood RSSI strength. • Scan through the cell mapping table (Figure 7) and combine all immediate neighbourhood cells into one cell zone. Repeat until all cells in the system have been assigned into one or more cell zones. • If two or more cell zones have been generated then attempt to combine two cell zones by selecting the strongest RSSI between a cell in the first cell zone and a cell in the second cell zone (the RSSI must be greater than the connectivity threshold level). Repeat for all cell zones. When the distance between base stations is large then it is possible that only the immediate cell neighbours are detected from a given cell. Thuε the radio neighbourhood iε equivalent to the immediate cell neighbourhood. In this case the radio neighbourhood for a given cell can be expanded by inclusion of the immediate cell neighbourε of the cell's immediate neighbours. The three componentε of the Immediate Neighbourhood algorithm serve to generate a neighbourhood list that is complete in terms of mobility: • Selecting neighbouring cells with the strongest RSSI εignalε provideε the initial cell mapping coverage for handoff. • The connectivity component attemptε to combine groupε of cells to provide large areas of contiguous wireless coverage for mobility (cell zones) . • The asεociative component attempts to "fill-in" holes of wireless coverage within the cell zones caused by radio barriers within the area. The immediate neighborhood radio algorithm parameters are as followε: Immediate Neighbourhood Size Maximum number of immediate cell neighbourε per cell. Immediate Neighbourhood Threshold The minimum RSSI value between two cells for which the two cells are considered to be immediate neighbours of each other. Connectivity Threshold The minimum RSSI value between two cells in two different cell zones for the cell zones to be merged by inclusion of the two cells in immediate neighbourhood lists. Associative Threshold Cell_asεociate algorithm is invoked if the number of immediate cell neighbours is less than the asεociative threεhold. Algorithm Outline The εtructure in the table of Figure 7 depicts the immediate cell neighbourhood algorithm: selecting appropriate cells from the radio neighbourhood for the immediate cell neighbourhood. The CELL# in the table of Figure 7 is referred to aε the reference cell. The immediate cell neighbourhood algorithm outline is shown in appendix H: Selecting cells on an RSSI basis is shown in Appendix I, while selecting cells on a connectivity basiε iε εhown in appendix J: Adding immediate neighbourε uεing the associative algorithm shown in Appendix K when the cell neighbourhood list contains few cells. Expanding the radio neighbourhood of Appendix K is shown in Appendix L. Locator Cell Regions For purposes of incoming call delivery the Locator is responεible for εearching the wireleεε coverage area to determine the location of the portable terminal. The Locator currently uεes three methods of location tracking: 1. Local Registration (LR) on a Common Signalling Channel (CSC) beacon - the movement of the portable from one local area (a group of cells) to another is tracked. 2. Implicit Registration (IR) uses radio link activity within the coverage area such as link originations and releases to track the portable on a per cell basis. 3. Global Search - when the location of the portable terminal is not known to the Locator then a global εearch must be performed over all cells in the syεtem. Applicant's co-pending patent application entitled "... provideε a deεcription of the Locator algorithms. The Locator performs several pasεeε to εearch for the portable: on the first pass the LR local area is used, on the second pasε the LR local area and IR cell, and on εubsequent passeε a global search is executed. The global εearch item is of interest within the domain of system. To perform global search the Locator does not request all cellε in the εystem to search for the portable - in order to comply with CAI standardε requirementε (e.g. max of seven different radio channels over all base stations can be used εimultaneouεly per call setup) and traffic interference within the syεtem itself (e.g. Functional Message Protocol (FUMP) queuing delay) the cells in the system are subdivided into a number of cell regions. The Locator requests all cells within a cell region to search for the portable terminal at one time. If the portable is not found then a search is performed in the next cell region, and so on. Although all cells in the system are covered by specified cell regions, the global search time can be improved by populating the regionε with a εet of cellε that maximize the probability of locating the portable within the first or second pass. In addition, the cell regions are only to be populated with cells that own radios. The following rules govern the choice of selecting cells for a cell region: • A cell with multiple immediate and radio neighbours within the baεe εtation εniffing context is a good candidate for the cell region εince this cell will be positioned "centrally" (as opposed to the periphery of the wireless coverage area) within the wireless coverage area thus providing a fair degree of overlap with other cells. The detection of this cell by other cells in the syεtem iε an indication that the wireless coverage provided is sizeable. • A wider search area results when two cells in the cell region are not immediate neighbours of each other - a weak RSSI signal between two cells is an indication that the two cells are located at a substantial distance apart or that a radio barrier separates the two. Thus the cell region should comprise cells that are widely separated from each other to cover the total wireless coverage area, where each cell has multiple immediate neighbours to indicate that it provides subεtantial coverage within the cell's domain. The Locator algorithm which is outlined in Appendix M and its application is beεt suited for large cell syεtems: Automatic Administration of Cell Topology With respect to the second embodiment of the invention, the system can tune the pico-cell topology by monitoring the mobility traffic to provide more efficient mobility serviceε. As indicated above, wireless mobility operations are concerned with providing the best link poεεible at all timeε. Thiε iε performed by allowing the portable user to stay in communication with the cell which provides the portable with the best wireleεε εervice. Aε the portable user moves through the wirelesε coverage area the cell which is able to provide the best link will change and the portable user's communication link must be handed over to the new cell. Specific cells are asked if they are able to better provide service to the portable user than the cell that is currently in communication with the portable. If a cell responds that it is able to provide a better quality communication link then the link is handed over to the new cell. The process of querying cells to determine if they can better provide service consumes system resources and hence better overall system performance can be obtained if this querying procesε iε performed efficiently. The proceεε deεcribed here provides a method wherein the monitoring of user's mobility traffic can be used to determine those cellε which have the higheεt probability of supporting a portable user's link. The wireless syεtem monitorε the mobility traffic and uses this information to improve the operation of the εystem. The εyεtem determineε which cells will have a high likelihood of succeεεfully participating in a mobility operation. The operation of this proceεε is transparent to the wireless user. When the user operates the mobility features of the system by making and receiving wireleεε callε, the mobility patterns of the users are tracked and fed into an algorithm to determine updates to the central wireless configurations. Hence, over time it is possible to determine which cells are more likely to be involved in handover situations. For example: during wireless handover a number of surrounding wirelesε cells may be asked to receive the link, however if over a period of time it is determined that one particular cell is always succesεful in recovering the link then it iε given priority in the next handover phase. Referring now to Figure 8, the system layout of Figure 2a is also shown. Here it can be seen that the user is in communication with Cell D, however the user's radio transmiεεionε can be εeen by both Cell A and Cell B. From thiε information the central controller can determine that Cell A and Cell B have coverage areas near Cell D. This information will be used to optimize the handover process. The steps performed during the basic learning or automatic administration (autoadmin) cycle form a continuouε loop. For example, as the system performs an operation (defined below) , feedback as a result of the operation from the cellular environment is obtained. The feedback is then assessed and used to tune the operation. This is generally illustrated in Figure 9. The kind of wireless operations that can be used in tuning or as sources for feedback data are: • arbitration • mobility handoff • portable location on Switch Originated Link Setup (SOLS); Common Signalling Channel (CSC) selection • lost portable search • portable regiεtration • Local Area (LA) determination; etc. The above operationε are defined in applicant ' co- pending application entitled "Low-Power Wireleεε Syεtem for Telephone Services" and having Serial Number 07/961,769. Most of theεe operationε involve εelection from or searching through many candidates for a suitable one. The nature of the feedback data obtained from these operations is of two types: 1. We know from the resultε of the operation whether it was successful or not, and when it was successful which candidate was succeεsful. This allows us to . build up a history of successful winners of the various operations which we can analyze statistically. 2. Each operation usually involves the reporting by cells (radios) of various RSSI values encountered. Because we know the context of the operations, we can uεe the RSSI valueε to build a view of the system environment. In particular we are interested in determining topological and topographical relationships between cells. We can refer to this as the RSSI space view of cells. These relationεhipε are important becauεe they are considered to be the dominant factors in whether a candidate (cell) is likely to be successful for an operation. As can be εeen, thiε RSSI space view of the world iε independent of the particular operation. The nature of RSSI measurements which can be used to determine relationships between cells (or radios) are: Base station sniffing: if specially programmed, radios can be used to receive the broadcasts of other radios. By looking at how each radio seeε each other we can obtain a matrix of RSSI values. These values can be used to group radios into cells, and to determine initial radio and immediate neighborhoods for cells; and Portable sniffing: RSSI of portables as seen by various radios at the same time can be used to determine radio coverage relationships between the radios. In particular we can deduce the following: radio neighborhoodε, immediate neighborhoodε, overlapping coverage, etc. The automatic adminiεtration of the mobility operating data iε a continuouε proceεs. The lifecycle of the autoadministration feature can be seen aε: At the time of the mobility initialization or re-initialization an initial determination of the mobility data will be made, this data is then used in the execution of the mobility operations. This initial learning is made posεible by the disruptive learning framework. As the system is running additional mobility eventε will occur. From each of these mobility events data can be obtained and analyzed. The resultε of thiε analysis will result in the updating of the mobility data. Thus the syεtem iε conεtantly learning, each mobility operation provides additional insight into the configuration of the system. This continuous learning is provided through the ongoing learning framework. in the existing wireless system, the εcope of a mobility operation (for a particular cell) iε determined by those cells responding to a request for this operation. The message requesting the operation is addressed to the Logical Address (LAD) associated with the operation (for the particular cell) . The set of target cells, who must register to receive messages addresεed by thiε LAD (and the εets corresponding to other LADs associated with other operations and cells) , is contained in a system data base called the Community Data Server (CDS) . Cells affected are informed by the CDS when modifications are made to the CDS data base. Changes to the scope of a mobility operation can thus be made by modifying the data in the CDS. The CDS must then inform the cells corresponding to the change in scope to either register or deregister againεt the LAD for the operation with the changed εcope. A centralized framework is thus possible where data from every operation is gathered together in one system entity, analyzed (in another posεibly distinct system entity) , and the new scope instituted by modifying the content of the CDS. The process by which the system is used to collect and analyze the feedback data to tune the mobility operation is described in conjunction with Figures 10-13. Initially, certain cellε are conεidered to be 'beεt' candidateε for a particular wireleεε application. Aε a mobility event is received, the feedback data capture entity is notified. In the figures, the εhaded cells are those included in the scope, i.e the preferred cells. In Figure 11 for example, cells A-F are notified of an incoming request. The feedback data capture entity then observes each of the responses from the target cells. Once the data is gathered, it is passed on to the autoadmin syεtem which analyzes it and determines the modifications to the εcoping data (see Figure 12). The scoping data is then propagated to the rest of the system, as εhown at Figure 13. We will now deεcribe in detail the autoadmin intelligence functionality of the present invention. It consists of: 1. The disruptive or initial framework functionality (DA) which uses data gathered by the disruptive framework to determine: the grouping of radios into cells; the initial immediate and radio neighborhoodε of cells; "optimum" sets of nonempty cells "covering" the radio coverage of the syεtem - these are used as locator regions by the locator during portable εearching. 2. The ongoing framework functionality uses data gathered by the ongoing framework and lost portable recovery data to refine: the initial immediate and radio neighborhoods of cells. The autoadmin functionality, which will be invoked after completion of base station sniffing, is implemented as part of a CDS chain entity. Base station sniffing completes the building of a Random Access Memory (RAM) matrix of numbers in the CDS. Thiε matrix repreεentε proceεsed RSSI measurements between radios in the εyεtem. Uεing the information provided by this matrix, the autoadmin function determines its parameters of interest and administers them into the system by interacting procedurally with the CDS database storing eellmembership, immediate and radio neighborhoods as well as locator regions. The CDS functionality will propagate this information to interested entities via its CDS change Notice meεsages aε a εide effect of these procedure calls. The Ongoing autoAdmin (OA) functionality is implemented as a background task of the CDS which will procesε event vectors from a RAM event vector queue in the CDS. This contents of this queue is gathered by the ongoing framework evCollector (a CDS foreground entity) . During normal wireless syεtem operation, the evCollector collects event vector mesεageε εent from cell managerε after each sniff. As well, the cell "finding" a lost portable must also report its εuccess with an event vector message. The OA uses this information to gradually refine the definition of immediate and radio neighborhoods. Changes again are reflected into the CDS and propagated through out the εystem via CDSchangeNotice mesεageε. OVE RVI EW DA Functionality The base station sniffing entity is best implemented as a CDS entity gathering and building the RAM base station (BS) matrix. However no matter how this done, for access efficiency, the base station matrix should reside in the CDS. (Procedural access must be made available to access this datastore.) Upon the completion of the BS matrix build procesε, whatever itε εpecifics, the Disruptive autoAdmin (DA) CDS chain entity is invoked. It useε the data in the BS matrix to determine: - the grouping of radios into cells - the initial immediate and radio neighborhoods of cellε optimized locator regionε. Upon completion it uεeε the CDS procedural interface to Non-Volatile RAM (NVRAM) to update these values. The BS matrix can be deallocated at this point. This storage can be reused by the ongoing automatic Administration (autoAdmin) intelligence. It is advantageous to generalize the DA to become the only autoAdmin intelligence CDS chain entity with the following functions: • initiate the processing of BS data • update the CDS and wirelesε community with the resulting cell/radio relationships • initiate/suspend the ongoing autoAdmin intelligence, (i.e. in general, the autoadmin entity should control when the disruptive and the ongoing autoAdmin intelligence is allowed to operate.). This entity would maintain the system εtate of autoAdmin intelligence. OA Functionality The event (EV) collector entity iε a CDS entity which receives CDS reports of sniffing event vectors and found portable events enqueuing these events or EVs onto an unprocessed EV queue. In the background time slice the OA is awakened to procesε the EVqueue. EVs are dequeued from the EVqueue by the OAAI. As it determines refinements to the immediate/radio neighborhoods, it reflects these in the CDS NVRAM via procedure calls. CDSchangeNotice messages are distributed to the wireless community as side effects of these calls. As previously alluded to the control (initiation/ suspension) of the OA should reεide with the CDS. ONGOING AUTOADMIN STRUCTURE Basic Ongoing Autoadmin Task The εtructure of the baεic taεk done by OA when invoked for a background time εlice iε εhown in Appendix N. A Paεcal unit cdoaa will contain the bulk of the Ongoing AutoAdminlntelligence (OAAI) functionality. OA Registration/Deregistration The Autoadmin CDS chain entity will register and deregister the OA background task to comply with the current state of autoAdmin. OA should be registered after the running of DA. For deregistration, two possible points of time are: upon re-eval start upon DA start Alternative 1 is more reasonable shutting down OA for the duration of the re-eval. This may require having the sequencer activate the cdAAI to deregister OA at the appropriate point in the re-eval sequence. The interface provided to the cdAAI will be: UNΓΓCDOAA; INTERFACE PROCEDUREoAAReg; PROCEDUREoAADereg; Theεe procedureε will make uεe of the basic procedure for background task registration: IFFUNCTIONBgrnd_Request(LowLevelBgrnd, OAA, NIL)THEN There is no need to return a return statuε from theεe routineε εince there iε nothing that cdAAI can do about a failure. Calling oAADereg before an oAAReg iε executed will have no effect. The procedureε will have the effect of: 1. in the caεe of oAADereg, freeing OAAI RAM storage. 2. in the case of oAAReg, claiming of OAAI RAM storage and its initializing from CDS NVRAM. This functionality makes it poεsible to reuse Disruptive AutoAdminlntelligence (DAAI) RAM for OAAI functionality. The mechanism for shared memory can be a pointer to a common area of allocated RAM. This shared storage should be allocated by cdAAI. Processing Resource Throttling for OAAI The processing resource consumption of OAAI can be limited by: 1. limiting the number of EVs that are procesεed during each background εlice. 2. the size of the EVpool limits the number of outstanding EVs. Once the EVqueue is full, we can either εtop adding EVε to the queue or overwrite the oldest entries. 3. OAAI can be εet to run only after every x available background εlices where x is a small integer. 4. OAAI can meaεure itε own processing and use up so many EVs per unit elapsed time. The initial setup will assume that this activity does not require throttling, instead, it will be awakened and conεume x EVε where x iε a small integer. This will be defined by the constant cEVsPerSlice. So that some experimentation can take place, the working value will be placed in a RAM VAR. The ideal method would be to place this item in NVRAM adminable via N* manager. This requires however considerable effort and overhead. Initially this constant will be set to 10 since it is hard to imagine more than this many simultaneous sniffε completing during a single time slice. OAAI Initialization The question of who starts up OAAI is not a problem in the case of cold start or boot with wireless re-eval since this can be part of the oAAreg procedure called by cdAAI. In the case however of a warm start with no wirelesε re-eval, there are two obviouε poεεibilitieε: 1. have the OAAI register itself as part of its unit init. This must be done after the initialization of the ongoing framework. This would imply that the OAAI would check during every background time slice from the very beginning for the existence of EVε to proceεε. There are none. In the caεe of re-eval required the cdAAI would deregiεter and reregister the OAAI as needed. 2. have the sequencer activate the cdAAI to register OAAI aε a background task at the appropriate point in the warm start without re-eval startup sequence. On first examination the second alternative appears cleaner. Ongoing Cell to Cell Relationship Refinement We want to refine the immediate and radio neighborhoods with the data (events) obtained from CPPsniffing and found lost portables. These will all be reported back to the CDS as event vectors to be stored in the EVqueue. With respect to each particular cell C, we would like to categorize all other cells into the following 5 mutually exclusive types: 1. immediate neighbors 2. radio neighbors not immediate neighbours 3. others. The liεt of types is ordered from "highest" to 0 "lowest" in the order specified above. The strategy is to place a cell in the "highest" type for which it qualifies. A cell qualifies if there is evidence from (reasonably recent) information gathered that the cell belongs. We can think of each of these types as a 5 number of subqueues joined front to end. (Refer to Figure 14) . The most recent cell is added at the end of the appropriate subqueue (the "highest" end) . The oldeεt member iε the "loweεt". The front of a "higher" queue joinε into the end of the next "lower" queue. The εubqueue for the 0 "others" is not kept in storage. The general strategy then is: Using Information in the EV 5 FOR each cell A whose status in the queue for some cell C is improved by info in the EV DO BEGIN reposition cell A in queue for cell C WHILE any subqueue of cell C exceeds its max length DO o dequeue the front member of this subqueue; and enqueue it onto the next lower subqueue if any. END Effect of the Lapse of Time on the Value of Evidence 5 The idea here is that new/recent information is more important than older information. This means that unless there is recent reinforcing evidence to maintain a cell's position, there is a natural tendency for the cell to migrate gradually downwards toward the low end. As new "performing" cells are moved in or up, older cells are displaced towards the low end. Effect of Sizing of Subqueues If the maximum lengths of the subqueues are optimized to correspond to the estimated size of such cell categories (with some margin for variation) , it can be seen that even cells which perform infrequently will stay in their proper type category. This is because other cells will not perform better. The above strategy of course assumes that number of cells turning up in each neighborhood type is a reasonable load on the εystem. This seemε to be the caεe from our current experience and will be checked during εyεtem teεt and engineering. The exact numberε must be tuned by experimentation during engineering. Alternatively, we can make the queue length self tuning by looking at the "reaεonably active" portionε of each queue, εhrinking the queues to eliminate inactive members and enlarging them if new members are added. This option will not be pursued in this initial implementation. Immediate Neighbors A cell is an immediate neighbor if it can succeed in a handoff as an immediate neighbor. The most useful list of cellε to categorize as immediate neighbors are all and only those cells which have succeeded as candidates for mobility handoff. This evidence allows a cell to be put at the end of the immediate neighbor queue. Radio Neighbors A cell is an radio neighbor if it can succeed in a handoff as an radio neighbor. The most useful liεt of cells to categorize as radio neighbors are all and only those cells that have succeeded as candidates for arbitration handoff but not for mobility handoff. This evidence allows a cell to be put at the end of the radio neighbor queue only if the cell is not already in a higher level (i.e. an immediate neighbor) . Proven Neighbors vs Candidate Neighbors To capture and maintain the "correct" εet of neighborε, a εet of reasonable candidates for neighborhood membership must be εelected continuouεly. The mechanism selected for this initial implementation for doing this candidate selection is reported RSSI relationship with the cell C (not necessarily from sniffs for operations for cell C) . Another mechanism which will add to the list of candidates will be cells εucceεεful in "finding" portableε lost from cell C. This latter mechanism gives all cells a new chance to compete, (i.e. "a new lease on life") . Candidates as well as proven cell neighbors must continue to prove themselves or they will be eventually culled out over time by better peers. We can consider the candidates as two additional subqueues (see Figure 15) . Thiε doubleε the number of subqueues. Immediate Neighbors Candidates (RSSI Immediate Neighbors) We can split the category of immediate neighbors into the proven and candidate εubqueues. For inεtance those cells which overlap with cell C at a sufficiently high RSSI level can be considered candidate cells. Immediate neighbors who do not perform over time become immediate neighbor candidateε. The numberε in Figure 16 indicate initial eεtimates of subqueue lengths. Radio Neighbors Candidates (RSSI Radio Neighbors) Similarly, we can split the category of radio neighbors into proven and candidate subqueues. For instance those cells which overlap with cell C for any radio coverage can be considered candidates. Radio neighbors who do not perform over time age to become radio neighbor candidates. Lost Portable Cells Cells succeεεfully finding loεt portables from cell C should be considered an immediate neighbor candidates. Since a full scale search is the final choice in a lost portable search this allows the possibility of new candidates. Random Candidates A possible way of introducing new candidates is to randomly or syεtematically poll from those not already participating. If we do this by small sampling, the likelihood of εuccess is probably slight because there is no reason for this. This being the case it is suggested that we omit the posεibility in thiε implementation and instead use lost portable searcheε aε a way of introducing new "blood" . Effects on Mobility and Arbitration Sniffing of Subqueue Changes To sniffing cells there is no difference between an immediate neighbor or an immediate neighbor candidate. Similarly, there is no difference between a radio neighbor or a radio neighbor candidate. Moves between the major categories of immediate, radio and "not in any" subqueue are referred to as major subqueue changes. Major subqueue changes are reflected as side effects into the CDS which then informs the affected cellε. Thiε addε the following implication to the general εtrategy: IF a major subqueue change occurs THEN the CDS is updated with the side effect of an accompanying CDSchangeNotice. If we wish to be efficient about these CDS updates, we should do a block update only after some interval (the most obviouε interval being the time εlice) . Thiε optimization will not be done for the initial implementation. OAAI Process EV Algorithm The form of the algorithm is now clear. To the general strategy, we need to add the specifics of what will cause a repositioning. There are two caεeε: 1. CPP εniffing RSSI vector 2. found lost portable event. CPP Sniffing RSSI Vector There are two subcaεeε here: 1. Scan the RSSI vector for the higheεt reported RSSI. The cell W reporting thiε highest RSSI is presumed to be winner either of a mobility handoff sniff or an arbitration sniff. The cell C is the cell requesting the sniff. The winning cell W is enqueued onto the immediate or radio subqueue of C (depending on the nature of the sniff it has won) if this repoεitioning improveε itε current status. 2. Examine all pairs of RSSIs from the vector. If both RSSIs in a pair are above the proper cell boundary value and A and B are the cells reporting these values, then reposition A onto the end of the immediate candidate subqueue of B and vice-versa. Either repositioning of course taking place only if the cell's status is improved. The argument for this is that both cells see a portable at high RSSI and therefore their proper radio coverage must overlap. If we εtill have a pair of reported RSSIε but not the situation above and cell A reports the higher RSSI and cell B reports the other value, then reposition A onto the end of the radio candidate subqueue of B. The repositioning of course takes place only if A's status is improved. The argument for this is that this vector indicates that we have actual evidence that switching to cell A from cell B will improve a portable's link if the portable is located in the position of the current EV. Found Lost Portable Event in this case the cell C iε the cell which loεt the portable. The finding cell F is enqueued onto the immediate neighbor candidate subqueue of cell C if its status is improved by this. Queue Implementation The following is a proposal to implement the above εubqueue scheme. We choose to implement the conceptual queues as real queues for the following reasons: The queue implementation will be more processing efficient as the size of the syεtem increaεeε. The queue implementation will be more storage efficient aε the number of cellε increaεeε. It is conceptually simpler to have queues implemented as queues. SubQueue representation The above is for each cell C, a list of four mutually exclusive queues of cells: SubQueue Names SQim(C) - immediate neighborε of cell C SQimC(C) - candidates to be immediate neighbors for cell C SQrad(C) - radio neighbors of cell C SQradC(C) - candidates to be radio neighborε for cell C This can be expressed more generically as: SQcellType (CSQType) where SQType has the following values: SQinvalid = -1 (This indicates a cell is not valid for membership in the current set of queues, e.g. the cell C) SQnone = 0 (This indicates those cells which are not in the list of four queueε above. Storage for this queue need not be allocated. ) SQim = 1 SQimC = 2 SQrad = 3 SQradC = 4 The SubQueue entry layout is shown in Figure 16. The entrylD is optional but would be useful during debugging. The content of each entry in the queues will contain: 1. the cell id of the cell (2 bytes) 2. the time and date of the entry into the queue (4 bytes) 3. RSSI registered at this time (1 byte). Apart from the first item all others are optional. The additional information is kept for experimental analysis only. Maximum SubQueue Lengths The maximum queue lengths will be set to the constantε alluded to earlier. To enable εome dynamic debugging change we will εtore the conεtantε in εome RAM VARε: SQlnlm SQlnlmC SQlnRad SQlnRadC Internal Utilities An entrylD identifies the entry for a cell in the system of queues. For a cell C and another cell Cell A: 1. the procedure SQcellContext (CcelllD:celllD) sets the context to the subqueues for neighbors of cell C. All the following procedures require a cell context to be established previously. 2. the function SQof (AcelllD: celllD ): SQtype returns the SQtype of the queue containing the entry for cell A. If the context is cell C entering Acell = cell C returns the value SQinvalid ( = -1) . This function will be implemented as a lookup table indexing the cell into its entrylD if any. 3. the procedure SQentry(AcelllD: celllD; VAR ASQtype: SQtype; VAR AentrylD: entrylD) . A call to the procedure returns the SQtype of for the entry for cell A as well as the entrylD of the entry for cell A. For some values of SQtype ( SQinvalid and SQnone) the value of entrylD returned will be the NlLentry. 4. the procedure SQentryRemove(AentrylD: entrylD) removes the entry identified by AentrylD from its queue. This is a low level procedure doing minimal checking asεuming that the specified entry is in a queue. This procedure does NOT destroy the entry. 5. the procedure SQenqueue(ASQtype: SQtype; AentrylD: entrylD) enqueues the entry identified AentrylD onto the queue identified by ASQtype. 6. the procedure SQdequeue(ASQtype: SQtype; VAR AentrylD: entrylD) dequeues from the queue identified by ASQtype placing the entry if any in the VAR AentrylD. IF the queue is empty NlLentry is returned. The procedure does NOT destroy the entry. 7. the function SQlen(ASQtype: SQtype) returns the length of the identified queue. 8. the function SQentryCreate: entrylD returns a new entrylD if there are still entries left in the pool otherwise NlLentry. 9. the procedure SQentryDestroy( AentrylD: entrylD) returns the entry back to the pool. 10. the procedure SQentryWrite (AentrylD: entrylD;AentryContents: entryContents) . A call to this procedure enters AentryContents as the contents for AentrylD. 11. the procedure SQentryRead(AentrylD: entryID;VAR AentryContents: entryContents). A call to this procedure returnε the entryContentε for AentrylD. 12. the procedure SQnextEntry(Aentry: entrylD; VAR nextEntry: entrylD). This procedure given the next entry if any in the queue. 13. the procedure SQprevEntry(Aentry: entrylD; VAR prevEntry: entrylD) . This procedure given the previous entry if any in the queue. The above utilities should be used to write the procedure moveEntry( AcelllD:celllD; ASQtype:SQtype; AentryContent : entryContents) which moves Acellld from its current location to ASQtype. It also rebalances the queue lengths and callε the appropriate CDS εtorage commands to update the CDS neighborhood storage. Testing Assistance Since knowledge of the contents of the queues is vital to determining how OAAI is performing there εhould be a mechanism to either query the contents of the queues or have their contents periodically presented to FUMP. Possibilities include: 1. have cdAAI handle queue query calling a oAA provided utility which formatε and dumpε the queueε onto FUMP. The query could be a form of CDSquery. This could be a request for either a total queue dump or the subqueueε of a particular cell. Reεponεeε would be meεεageε containing fields identifying the particular cell followed by the subqueue type followed by the cells of the subqueue in order. If we wish to group several subqueues of a particular cell or subqueueε for εeveral cellε in a εingle reply message, the response mesεage εyntax would have to be more complicated. 2. have an adminable flag which enables a timer which triggers periodic FUMP dumps of the queues. RAM vs NVRAM Storage Issues 1. The current CDS storeε immediate and radio neighborhoods as bitmaps. Do we need these bitmaps as well aε the RAM queueε which essentially contain the same information? (Possibility: eliminate the bitmaps and move the queues to NVRAM.) We have two choices: retain the existing CDS bitmaps. Add the queues in RAM. Changes to the queues cause updates to the bitmaps as side effects. discard the current CDS bitmaps and put the queueε in NVRAM using them as the primary store for immediate and radio neighborhoodε. If we chooεe controlled acceεε to NVRAM through DAI or data manager primitives this could be very processing intensive. We can retain the conceptual bitmaps in the data dictionary by writing some elaborate DAI handlers. 2. The current definition of immediate and radio neighborhoods is slightly different from the that defined above in the queues: immediate neighborhoods are used for mobility handoff. Radio neighborhoods are used for arbitration. With this definition immediate neighbors are explicitly made radio neighbors. In the εubqueue definitionε, it iε preferable that these be mutually exclusive. We can accommodate this by: εemantically updating both bitmaps when changes to immediate neighbors occur change the definition of the CDS bitmaps so that two FUMP mesεageε are εent out to addreεε the larger coverage area inεtead of the one. This is the cleaner alternative from the point of view of the oAA. 3. The ordering in the queues (both semantic and temporal) is useful information that should be kept between re- evaluations and should εurvive warm εtartε. This means that upon warm restart the queues will have to rebuilt from information in the CDS. We could do this in varying degrees of accuracy: we could just reproduce subqueue membership from the 5 bitmaps if we store temporal info in NVRAM in addition we could restore the ordering if we store RSSI in NVRAM info we could recover the entire queue structure 0 4. Both NVRAM alternatives suffer from the possibility of being in inconsistent states after a crash before a warm start. 5. Both approaches require some locking mechanism if manual admin is to be retained 6. Item 3 above iε a specific instance of the more 5 general problem of maintaining consistency between the subqueues and the bitmaps if this approach is taken. CDS NVRAM PROCEDURAL INTERFACE Cell membership 0 The existing interface for the manual admin submachine is not in the unit interface and given as follows: Unitcd_cellmember; *****ir erfaceforCMsubmachines**************************************} 5 { This procedure adds a radio to a cell removing it from where it was } { previously } { This procedure has the side effect of sending the changeNotice message } { to the affected radio emulator } o PROCEDURE CMaddRadio( cell: tStnID; { cellStationld } radio: tStnID ); { radioStationld } { This procedure removes a radio from a cell. } { This procedure has the side effect of sending the changeNotice message } 5 { to the affected radio emulator } PROCEDURE CMremRadio( radio: tStnID ); { radioStationld } The above procedures can be moved to the interface section of the unit cd_cellmember. The interface can be changed to provide for radios and cells specified by cfpindex and cell index rather than εtationlDε Immediate/Radio Neighbors and Locator Regions All immediate and radio neighborhoods as well as locator regions are stored currently aε cellmaps. The way the current cell map utilities work is through a cell map descriptor giving the defining detailε of the immediate/radio neighborhood/locator region εtructure and associated maps. The existing interface for the manual admin submachine is not in the unit interface and given as follows: Unit cd_cellmember; { mechanism for generic cell map feature: } { particular cell map TYPES are completely described by the cell map descriptor} { all generic procedures in this unit accept cell map descriptors } { as a parameter: this parameter determines the specific behavior of the } { procedure } TYPE tCellMap = PACKED ARRAY [0..wcMaxCell-l] OF BOOLEAN; { storage map maps } {from the SM indexing ( ie stationld or locatorRegionld ) } {to storage index (ie cell index or locatorRegionld ) } TYPE tStorageMap = FUNCTION(SMindex: INTEGER): INTEGER; {LAD map maps from the storage index ( ie cell index or locatorRegionld) } {to the LAD appropriate for the blkld} TYPE tLADmap = FUNCTTON(storageIndex: INTEGER): INTEGER; { cell map type descriptor }TYPE tCelMapDesc = RECORD blkld: dmBlkld; { blkld for cell map block } maxCLmaps: INTEGER; { maximum number of cellmaps in the block } storageMap: tStorageMap; { map from SM index to storage index } LADmap: tLADmap; { map from storage index to LAD } CDladSelection: 0..255; { CDdataSelection for LAD } CDladListSelection: 0..255; { CDdataSelection for LADlist } END; { This procedure updates a particular bit of a cell map. } { The value parameter specifies the new value } { This procedure has the side effect of sending the changeNotice message } { to the affected cell manager } PROCEDURE CLMupdCell( CONST ceUMapDesc: tCelMapDesc; elm: tStnID; { CLMindex } cell: tStnID; { cellStationld } value: BOOLEAN); This interface can be moved to the interface εection and the indices changed to internal storage indices as with cell membership. Block NVRAM Updates The current CDS NVRAM procedural interfaces are very inefficient with reεpect to processing time. They use the standard DAI/datamanager interfaces and as such access complete bitvectors for every operation. Alεo each bit changed reεults in a separate CDSchangeNotice message to the wireless community. If we consider minimizing NVRAM updating time as critical during re-eval, these interfaces can be rewritten to handle block updates of NVRAM and to take advantage of the bulk capabilities of the existing CDSchangeNotice definition. RAM Interface to Queues This interface could be uεed by any CDS functionality which would like to update the RAM queues and the CDS bitmaps simultaneouεly. In particular, manual admin would need to be redone with this. UNITCDOAA; INTERFACE PROCEDUREoAAmove( CcelllD: celllD; AcelllD: celllD; ASQtype: SQtype); This procedure inεertε or moves cell A in the ASQtype subqueue for cell C depending on whether cell A is not or already in a cell C subqueue. Some obviouε checks such aε whether A iε C are done. ASQtype εhould be either Im or Rad. Thiε procedure iε clearly an interface verεion of the internal moveEntry procedure mentioned earlier. APPENDIX A LOW POWER Matching Codewords Non-Match Bad Codewd Fltr Fltr Peak Low Avg Avg Avg Tx Rx Chnl RSSI RSSI um RSSI RSSI RSSI Nim RSSI Nun RSSI 104-1 105-1 12 102 53 32 51 52 51 0 0 1 52 104-1 105-2 37 104 51 29 51 51 51 0 0 0 0 104-1 107-1 12 102 84 33 83 84 83 0 0 0 0 104-1 107-2 37 103 91 32 87 91 89 0 0 0 0 104-1 108-1 12 100 100 0 0 0 0 0 0 2 100 104-1 108-2 37 106 103 22 101 102 101 0 0 7 101 104-1 109-1 12 101 101 0 255 0 255 0 255 0 255 104-1 110-1 12 105 83 29 81 82 81 0 0 0 0 104-1 110-2 37 104 87 32 85 85 85 0 0 0 0 104-1 111-1 12 105 78 32 77 77 77 0 0 0 0 104-1 111-2 37 99 84 32 79 80 79 0 0 0 0 104-1 112-1 12 105 80 32 78 79 78 0 0 0 0 104-1 112-2 37 104 78 33 78 78 78 0 0 0 0 104-1 115-1 12 100 78 33 77 77 77 0 0 0 0 104-1 115-2 37 106 85 32 80 89 80 0 0 0 0 104-1 116-1 12 103 88 29 85 85 85 0 0 0 0 104-1 116-2 37 101 81 32 78 79 78 0 0 0 0 104-1 117-1 12 101 71 32 70 70 70 0 0 0 0 104-1 117-2 37 100 71 29 70 71 70 0 0 0 0 104-1 123-2 37 97 97 0 255 0 255 0 255 0 255 APPENDIX B HIGH POWER Matching Codewords Non-Match Bad Codewd Fltr Fltr Peak Low Avg Avg Avg Tx Rx Chnl RSSI RSSI Nun RSSI RSSI RSSI Nun RSSI Nun RSSI 104-1 105-1 12 102 44 32 44 44 44 0 0 1 44 104-1 105-2 37 104 44 33 44 44 44 0 0 0 0 104-1 107-1 12 102 86 27 68 69 68 0 0 69 104-1 107-2 37 103 75 30 71 85 71 0 0 71 104-1 108-1 12 100 91 30 87 88 87 0 0 87 104-1 108-2 37 106 89 30 82 91 82 0 0 82 104-1 109-1 12 101 100 9 98 99 98 0 0 12 98 104-1 110-1 12 105 67 33 67 67 67 0 0 0 0 104-1 110-2 37 104 71 33 70 70 70 0 0 0 0 104-1 111-1 12 105 67 33 66 67 66 0 0 0 0 104-1 111-2 37 99 71 31 67 70 67 0 0 0 0 104-1 112-1 12 105 70 31 66 67 66 0 0 0 0 104-1 112-2 37 104 65 32 64 65 64 0 0 0 0 104-1 115-1 12 100 64 33 64 64 64 0 0 0 0 104-1 115-2 37 106 72 30 66 71 66 0 0 0 0 104-1 116-1 12 103 71 33 71 71 71 0 0 0 0 104-1 116-2 37 101 68 30 63 67 63 0 0 1 63 104-1 117-1 12 101 65 30 59 60 59 0 0 0 0 104-1 117-2 37 100 60 33 59 59 59 0 0 0 0 104-1 123-2 37 97 97 0 0 0 0 0 0 1 95 APPENDIX C Cell 1: (2, 61) (6,65) (7, 79) (8, 98) (9,65) (10, 64) (11, 61) (12, 59) Cell 2: ( 1, 61) (3, 100) (4, 95) (6, 60) (7,65) (8, 88) (9, 59) (10, 70) (11, 57) (12, 60) (16, 84) (17, 101) Cell 3: (2, 100) (7, 86) (8,96) (13,69) (14,94) (15,97) (16,84) (17,74) (18, 76) (19, 67) (20, 91) (21, 100) (22, 89) Cell 4: (2, 95) (7, 93) (15, 99) (16, 72) Cell 5: (14, 74) (15, 96) (16,95) (17,101) (18,95) (20,82) (21,64) Cell 6: (1,65) (2, 60) (7,65) (8,85) (9,63) (10,73) (11,62) (12,64) (16,96) Cell 7: (1, 79) (2,65) (3,86) (4,93) (6,65) (8,67) (9,81) (10,96) (11, 79) (12, 84) (13,92) (16,70) (17,103) (19,94) (22,99) Cell 8: (1, 98) (2, 88) (3,96) (6,85) (7,67) (9,79) (10,81) (11,82) (19,79) Cell 9: (1,65) (2, 59) (6, 63) (7, 81) (8, 79) (10,61) (11,61) (12,63) Cell 10: (1,64) (2, 70) (6, 73) (7, 96) (8, 81) (9, 61) (11, 73) (12, 64) Cell 11: (1, 61) (2, 57) (6, 62) (7, 79) (8, 82) (9, 61) (10, 73) (12, 59) (16,95) Cell 12: (1, 59) (2,60) (6,64) (7,84) (9,63) (10,64) (11,59) Cell 13: (3, 69) (7, 92) (14,95) (17,99) (18,86) (19,73) (20,87) (21,95) (22,60) Cell 14: (3, 94) (5, 74) (13,95) (15,67) (16,68) (17,72) (18,71) (20,94) (21,79) Cell 15: (3, 97) (4, 99) (5,96) (14,67) (16,72) (17,89) (18,79) (21,98) Cell 16: (2,84) (3,84) (4,72) (5,95) (6,96) (7,70) (11,95) (14,68) (15, 72) (17, 73) (18, 72) (21, 100) Cell 17: (2, 101) (3, 74) (5,101) (7,103) (13,99) (14,72) (15,89) (16,73) (18, 51) (19, 99) (20, 91) (21, 75) Cell 18: (3, 76) (5, 95) (13.86) (14,71) (15,79) (16,72) (17,51) (19,100) (20, 71) (21, 70) (22, 96) Cell 19: (3, 67) (7, 94) (8,79) (13,73) (17,99) (18,100) (22,96) Cell 20: (3, 91) (5, 82) (13.87) (14,94) (17,91) (18,71) (21,58) (22,71) Cell 21: (3, 100) (5,64) (13,95) (14,79) (15,98) (16,100) (17,75) (18,70) (20, 58) (22, 80) Cell 22: (3,89) (7,99) (13,60) (18,96) (19,96) (20,71) (21,80) APPENDIX D ( Page 1 ) Colocate RadiosQ Colocated radio assignment: For start to end of RSSI Matrix do If (RSSI_Matrix(index).rssi <= colocation threshold) then CELLi = Get_CelI_Membership(R/Di) CELLj = Get_Cell_Membership(R/Dj) If ( CELLi = nil) or (CELLj = nil) then If (CELLi <> nil) then result = RSSI_Saturation(CELLi, R/Dj) If (CELLj <> nil) then result = RSSI_Saturation(CELLj, R/Di) If (result = cell_merge) then If (CELLi <> nil) then Add_Bl_B2_to _cell(CELLi, R/Dj) Else If (CELLj <> nil) then Add_Bl_B2_to_ceIl( CELLj, R/Di) Else CELLk = Get_free_cell() If (CELLk o nil) then Add_Bl_B2_to_cell(CELLk, R/Di) Add_Bl_B2_to_cell(CELLk, R/Dj) Else Exit no cells Endif Endif Endif Else APPENDIX ( Page 2 ) /* Cell Splitting */ If (CELLi = nil) then CELLi = Get_free_cell() Add_Bl_B2_to_ceIl( CELLI, R/Di) End If (CELLj = nil) then CELLj = Get_free_cell() Add_Bl_B2_to_ceIl( CELLj, R/Dj) End Enddo /* RSSI Matrix scan */ Non-colocated radio assignment: For start to end of RSSI matrix do If (RSSI_Matrix(index).rssi > colocation threshold) then CELLi = Get_Cell_Membership(R/Di) CELLj = Get_CeIl_Membership(R/Dj) If (CELLi = nil) then CELLi = Get_free_cell() Add_Bl_B2_to_celI( CELLI, R/Di) Endif If (CELLj = nil) then CELLj = Get_free_cell() Add_Bl_B2_to_cell( CELLj, R/Dj) Endif If (CELLi = CELLj) then ceIl_er " ror Endif Enddo /* RSSI Matrix scan */ APPENDIX E Radio Cell AlienmentO I* Pass 1 : - maps all cells for which no changes in radios have occurred - maps all newly added radios to "existing" cells */ For start to end of cell_xlat_map do If (curr_celI_alloc[celI_id] == True) then While ( not( end of radio_cell_matrix )) do Radiold = Scan radio_cell_ * matrix( cel d ) If (radioid <> nil) then RadioGetCelK radioid, prev_cellid) If (prev_cell_aIIoc[ceIl_id] == False) Then cell_xlat_map[cell_id] = prev_cellid prev_cell_alloc[celI_id] = True Endif Endif Enddo Endif Enddo /* Pass 2 : map cells for which radios have moved */ For start to end of cell_xlat_map do If (curr_cell_alloc[ceIl_id] == True) then If (cell_xlat_map[cell_id] == nil) then this_cell = Get_free_cell in prev_cell_alloc map cell_xlat_map[cell_id] = this_cell prev_cell_map[this_cell] = true Endif Endif Enddo /* Pass 3 : remap cellids */ Remap cellids in radio cell atrix APPENDIX F RSSI Saturation ( CELLr, R/Dr) For (all radios in CELLr) do R Di = get next radio in CELLr RSSIir = RSSI_Matrix ( R/Di, R/Dr) If (RSSIir > Col_rd_threshold) then Return split cell Endif Endfor Return merge cell APPENDIX G Radio NeighbourhoodsQ For start to end of RSSI_Table do Get basestation indices (index) => B/Si & B/Sj, RSSIij CELLk = Get cell (B/Si ) _ „ __, ,„. , /* Basestations must be in CELLm = Get cell (B/Sj ) „ different cells */ If ( CELLk <> CELLm ) then For CELLk in radio neighbours table: Scan for CELLm If CELLm found then Assign best RSSI from (RSSIij, RSSIm) and sort by rssi Else Assign CELLm to radio neighbours list Assign RSSIi to radio_neighbours list and sort by rssi End End For CELLm in radio neighbours table: Scan for CELLk If CELLk found then Assign best RSSI from (RSSIij, RSSIk) and sort by rssi Else Assign CELLk to radio neighbours list Assign RSSIij to radio neighbours list and sort by rssi End End End /* RSSI Table */ APPENDIX H Immediate Cell NeighbourhoodsQ Parameters: Imm nbrhd size Imm_nbrhd_threshold Select_cells_rssi_basis(lmm_nbrhd_size, Imm nbrhd threshold) Select_cells_connectivity_basis() SeIect_cells_associative_basis() Add_radio_neighbourhood_members() APPENDIX Select cells rssi basis(Imm nbrhd size, Imm nbrhd threshold) If ( total number cells <= Imm nbrhd size) then Default all cells to immediate neighbours End For start to end of cell_mapping do While ((ceIl_mapping(CELLi).count < Imm_nbrhd_size) and not(end of radio_neighbour_Iist(CELLi))) do CELLj = Get next radio neighbour of CELLi If (radio_neighbour_list(CELLi, CELLj).rssi <= Imm_nbrhd_threshold) then Copy CELLj to celI_mapping(CELLi).imm_nbrhd_list End End End APPENDIX J ( Page 1 ) Select cells connectivity basisQ While Not( all_cells_marked) do Get free ceIl_zone Assign all linked immediate neighbour cells to cell zone End Link cell zones Build cell zone (cell zone) Scan cell mapping table for unmarked cell Copy unmarked cell and its immediate neighbours to cell zone Mark cell Repeat until no hits Hit = false For start to end cell mapping table do If ((cell is member of zone) and (cell is unmarked)) then Add cell's immediate neighbours to cell zone Mark cell Hit = true End End End APPENDIX J ( Page 2 ) Link cell zonesQ While Not ( link_completed ) do Block: If (number of cell zones >= 2) then For i from start to (end-1) cell zones do For j from (i+1) to end cell zones do Select best RSSI(cell_zone(i), cell_zone(j)) -> CELLx, CELLy If (RSSI(x,y) >= Connectivity hr eshold) then add ceIl_zone(j) to cell_zone(i) add CELLx to immediate nbr hd list of CEIyL add CELLy to immediate nbr hd list of CELLx Link_completed = false Exit Block End End End Link completed = true End APPENDIX K Select cells associative basisQ For start to end of cell mappng do If (ceIl_mapping(CELLi).count <= assoc_celI_threshold) then For each cell pair in neighbourhood list of current CELLi If (cell pair are immediate neighbours) then Scan neighbourhood lists of cell pair for common cell If (common cell found) Then add common cell to neighbourhood list of current cell End End End End End APPENDIX L Add radio neighbourhood membersQ For each cell over cell mapping do For each immediate cell neighbour of cell do Add immediate neighbours of immediate cell neighbour to cell radio neighbourhood list End End APPENDIX M Locator cell regionsQ Set bin A to empty Place all cells* in bin B Repeat until all cells allocated: Get free cell region While cell region not completely populated do If bin B is empty then Set bin A to empty Place all non-selected cells in bin B Endif Select cell in bin B with maximum immediate neighbours Select cell is placed in cell region Move select cell and immediate neighbours to bin A Endwhile Endrepeat Repeat until all regions allocated : copy above cell pattern Cells* - refers to cells that own radios APPENDIX N PROCEDURE OAA(dummy: LONGINT); BEGIN WHILE EVqueue not empty DO dequeue EV from EVqueue process EV IF #EVs processed in this slice exceeds some constant integer x = cEVsPerSlice THEN terminate ENDWHILE END

Claims: WHAT IS CLAIMED IS: 1. A method of determining the cellular topology of a cellular network, having a plurality of radio base stations connected to a central controller, comprising the steps of: a) selecting a base station from said plurality of base stations; b) broadcasting from said selected base station a test signal; c) receiving the test signal at each base station located within the radio propagation range of said selected base station; d) measuring the Received Signal Strength indication (RSSI) level at each base station able to receive said test signal from said selected base station; e) forwarding the measured RSSI level to the central controller; f) repeating steps a) to e) until each base station in said plurality has been selected and until all RSSI levels have been measured; and g) determining the relative location of each base station from one another by mapping a matrix of measured RSSI levels for the corresponding radio base stations, so as to delineate the cellular bounds of the network. 2. A method aε defined in claim 1, wherein said test signal is re-transmitted from each selected base station on a first, then a second frequency. 3. A method aε defined in claim 1, wherein said test signal is re-transmitted from each selected base station over a first, then a second transmit antenna. 4. A method as defined in claim 1, wherein said test signal is transmitted from each selected base station at a first power level, then re-transmitted at a εecond power level. 5. A method aε defined in claim 1, wherein the εtep of determining compriεeε filtering RSSI εamples to obtain a mean value of the measured RSSI levels. 6. A method as defined in claim 5, wherein said matrix mapping iε uεed to generate at leaεt one of a co- located memberεhip list, an immediate cell neighbours list and a radio neighbours list of base stations relative to each selected base station. 7. A method as defined in claim 6, wherein radios receiving the strongest RSSI level are placed in said co- located membership list, those radios receiving the second strongest RSSI levels are placed in said immediate cell neighbours liεt and those receiving the weakest RSSI levelε are placed in εaid radio neighbours list. 8. A method as defined in claim 7, which includes transferring radio control from one cell to another cell based on the received signal of mobility traffic of system userε, in the immediate cell neighbours list of that one cell. 9. A method as defined in claim 4, wherein said RSSI levelε measured at said second higher power level are used when εaid teεt signals are received at said base stations in the presence of interference. 10. A method as defined in claim 7, wherein radios are determined to be co-located in the same cell, when each radio meaεureε an RSSI level above a firεt threεhold when εaid teεt εignal iε tranεmitted at a firεt low power level. 11. A method as defined in claim 10, wherein radios are determined to be immediate radio neighbours of neighbouring cells when each radio measure RSSI levels above a εecond threshold, but below said firεt threεhold and wherein the meaεured RSSI levelε for a teεt εignal tranεmitted at said first low power level differs from the meaεured RSSI levelε for a teεt signal transmitted at a second higher power by a delta value. 12. A method as defined in claim 12, wherein radios are determined to be radio neighbours in neighboring cells when each radio measures RSSI levels below said second threshold for a test signal transmitted at said second higher power level. 13. A method as defined in claim 10, wherein a contiguouε wireleεε coverage area iε provided by scanning said matrix mapping and combining each immediate neighbourhood cell into a cell zone. 14. A method of determining the cellular topology of a cellular network having a plurality of base εtationε each serving a cell and each coupled to a central controller, the method including monitoring the mobility traffic of system userε, and determining from εaid traffic monitoring those cells having the highest probability of successfully participating in a mobility operation.

Inventors: REININK KASPER, RUTLEDGE ANTONY PHILIP, SMITH ROLAND A, WONG JIN KUE, REININK, KASPER, RUTLEDGE, ANTONY, PHILIP, SMITH, ROLAND, A., WONG, JIN, KUE
Applicants: NORTHERN TELECOM LTD, REININK KASPER, RUTLEDGE ANTONY PHILIP, SMITH ROLAND A, WONG JIN KUE, NORTHERN TELECOM LIMITED, REININK, KASPER, RUTLEDGE, ANTONY, PHILIP, SMITH, ROLAND, A., WONG, JIN, KUE
Application year: 1995
Main classification: H04Q7
IPC codes: H04B7, H04B17, H04W16, H04W24