"Method for Determining Base Station Topology in a Wireless Network"
Field of the Invention
The present invention relates to a method for determining base station topology in a wireless network particularly, although not exclusively, between wireless Bluetooth ™ devices, in a Pico-cellular network, such as a Personal Area Network.
Background Art
Personal productivity devices such as mobile phones, laptop computers, personal digital assistants (PDAs) and headsets have traditionally been connected together by cables. The major shortcomings of this approach include the number of cables to be carried around and the difficulties of getting compatible connections between devices from different vendors.
New wireless technologies have emerged recently that allow these devices to interwork without cables. These technologies are specifically designed to provide a very cost effective, standardised solution for an individual's devices to interwork within their "personal space". They are short range, they carry multimedia information content, they are standardised and they deliver a "Personal Area Network" (PAN).
The PAN provides a useful solution for an individual and his personal devices. A logical extension to this model is for one member of the PAN to be a laptop or PC that is connected to a corporate Local Area Network (LAN). Extending this concept to an office environment leads to the conclusion that there will be many PANs in an office; in the extreme each office worker will have an individual PAN with a LAN connection.
Such a managed group of PANs is described as a "meta-PAN". A meta-PAN allows the individual personal productivity devices to be integrated into the enterprise information systems. This integration is achieved by applying policies
to manage, for example, radio interference between PANs, security and access control of devices, coverage, capacity and connectivity to central services.
One such wireless standard that has been developed is the Bluetooth ™ standard developed by a consortium of parties and intended to achieve interoperability between different wireless devices - even if produced by different manufacturers. Bluetooth is know to persons skilled in the art and therefore need not be described in full detail herein. For further details, the addressee is directed to the Bluetooth Specifications provided by the Bluetooth Special Interest Group.
Summarised below are the main aspects relating to Bluetooth.
Bluetooth devices are radio-based devices, and are designed to operate within PANs of, typically, cell radii ranging from less than 10m to more than 100m in ideal conditions. The majority of battery-powered devices are likely to operate with a 10-20m cell radius.
Bluetooth devices operate in a frequency band of between 2.4 and 2.5 GHz with a transmitting power of between 1 and 100mW. The maximum bit rate at which data is transferred is 1 Mbit/s although this is effectively lower, but has been estimated as being up to 721 kbits/s.
In Bluetooth there are a number of defined profiles and usage models. A usage model describes a number of user scenarios - such as file transfer, dial-up networking, LAN access, synchronisation, telephone to service provider connection, and the use of a wireless headset acting as a remote audio input/ output device. A profile defines options in each protocol that are mandatory for that profile, as well as parameter ranges for each protocol.
There are a number of Bluetooth profiles, and these are set out in the Bluetooth Specification as laid down by the Bluetooth Special Interest Group. These profiles include Generic Access Profile, (GAP), service Discovery Application Profile, (SDAP), Serial Port Profile, and Generic Object Exchange Profile (GOEP).
There are a number of core Bluetooth protocols:
Baseband - which enables the physical Radio-frequency (RF) link between Bluetooth devices, and controls the Bluetooth devices' synchronisation and frequency hopping sequence (discussed below). There are two different links - Synchronous Connection Oriented (SCO) - mainly for audio, and Asynchronous Connectionless (ACL) - mainly for data. The two links can be multiplexed to use the same RF link.
Host Controller Interface (HCI) - provides an interface for accessing hardware capabilities, a command interface to the Baseband Controller and Link Manager, and contains control and event registers.
Link Manager Protocol (LMP) - which is responsible for the link set-up between Bluetooth devices, power management, and authentication and encryption.
Logical Link Control and Adaptation Protocol (L2CAP) - provides connection- oriented and connectionless data services, such as multiplexing, segmentation and reassembly of data packets, as well as "quality of service" information between Bluetooth devices, and mapping groups onto a Piconet.
Service Discovery Protocol, (SDP) - allows for discovery of new services available.
RFCOMM - is a serial port emulation protocol.
Telephony Control (TCS) - defines control signalling for the establishment of speech and data calls between Bluetooth devices.
There are also a number of adopted protocols, including PPP, TCP/UDP/IP, Obex, and WAP.
These adopted protocols are well known to persons skilled in the art, and need not be described in any further detail herein.
A Bluetooth piconet can include up to eight separate Bluetooth devices. When Bluetooth devices are communicating, one is defined as the "Master" and the rest are defined as "Slaves". The master unit has a system clock and identity that are central to the operation of the frequency hopping. This is well known to persons skilled in the art, and need not be described in any further details herein.
Bluetooth uses a frequency hopping technique to avoid interference between RF transmissions. In this technique, the frequency band is divided into a number of hop channels; with a different hop channel being used every 625μs time slot i.e. at a rate of 1600 hops per second. Every hop channel is a fraction of the total frequency band. The hop from one channel to another is affected in a pseudorandom order.
Gaussian shaped binary Frequency Shift Key modulation is used, and full duplex transmission is achieved using time division multiplexing wherein subsequent slots are used for transmission and reception. The baseband protocol is a combination of circuit and packet switching. Data is sent in packets - each packet being sent within one time slot. This is illustrated schematically in Figure 3. Each packet includes a 72-bit access code, then a 54-bit header code, and followed by the data file/ payload of anything from zero to 2745 bits i.e. up to 340 bytes. The access code is based on the identity of the master, and it's system clock.
Any two Bluetooth devices can set up an ad-hoc connection, which is called a Piconet. As mentioned above, a piconet can include up to eight Bluetooth devices, of which one is the master, and the other are slaves. There is no difference between Bluetooth units in terms of the hardware and software that determines their roles, and, therefore, any Bluetooth device can be a master, and any can be a slave. The device that establishes the piconet is the master, and roles within a piconet can be changed, so that a slave can become a master and vice versa. The master unit controls all traffic in the piconet, and allocates capacity for SCO and polling for ACL links. Every slave unit is address in a specific order and polling scheme. Slave units can only transmit in response to an address from the master in the preceding time slot. If no information is sent to
the master in response to being addressed, then a packet including only the access code and header is sent.
Before joining a piconet, a Bluetooth device is in standby, in which the unit periodically "listens" for paging messages - every 1.28 seconds. These paging messages are transmitted on hop carriers known as "wake-up" carriers. The wake-up sequence is transmitted by the master on the wake-up carriers. The slave listens for 18 slots on the wake-up carrier and compares the incoming signal with the access code derived from its own identity, and, if there is a match, the slave invokes a set-up procedure and enters a Connected Mode. The correct access code and wake-up sequence are calculated using the specific slave's identity and system clock. To keep track of the slaves' system clocks, a paging procedure is defined for the master.
If multiple piconets cover the same area, a unit can participate in two or more overlaying piconets by applying time multiplexing. To participate on the proper channel, it should use the associated master device address and proper clock offset to obtain the correct phase. A Bluetooth unit can act as a slave in several piconets, but only as a master in a single piconet: since two piconets with the same master are synchronized and use the same hopping sequence, they are one and the same piconet. A group of piconets in which connections exist between different piconets is called a scatternet.
It is common for some Bluetooth devices to be mobile units, which will move about the network. For example, an individual may take his mobile phone and or PDA with him when he walks down the corridor to attend a meeting in another office. Once in the other office, he may wish to retrieve his emails, which will require that his mobile phone or PDA be able to communicate with local base units - commonly referred to as Base Stations (BS). This is called roaming, and the idea of roaming is well known in the field of cellular radio telecommunications. When a mobile unit (commonly referred to as Mobile Stations (MS)) is in communication with a Base Station, and the Mobile Station is actually moving, it may be necessary - because the Mobile Station moves away from the Base Station and the signal between the two becomes too weak to enable acceptable communication - to transfer the communication link from the
MS to another Base Station with improved Link Quality. Transferring a Mobile Station from a serving Base Station to a new Base Station is called "Handoff". At present, there is no existing technique for performing handoff over Bluetooth.
Disclosure of the Invention
According to the present invention, there is provided a method for determining the positions of fixed terminals within a wireless communications network, the method comprising the steps of: capturing Received Signal Strength Information (RSSI) measurements between pairs of fixed terminals, building a symmetric distance matrix from the captured RSSI measurements; determining the relative position of the fixed terminals from the distance matrix, calibrating the relative positions with known absolute positions; and deriving absolute positions for all fixed terminals within the network.
The method may further include the step of determining a connectivity matrix representing the connectivity of each fixed terminal within the communications network and determine the distance matrix from the connectivity matrix.
The relative positions can be derived by applying a Torgerson-SMACOF algorithm.
According to another aspect of the present invention, there is provided a communications network located within a network environment and comprising a plurality of fixed terminals, the network including control means operable to determine the positions of the fixed terminals within the environment by receiving and storing Received Signal Strength Information (RSSI) measurements between pairs of fixed terminals, building a symmetric distance matrix from the captured RSSI measurements; determining the relative position of the fixed terminals from the distance matrix, calibrating the relative positions with known absolute positions; and deriving absolute positions for all fixed terminals within the network.
The control means may be further operable to determine a connectivity matrix representing the connectivity of each fixed terminal within the communications network and determine the distance matrix from the connectivity matrix.
The control means may be operable to derive the relative positions by applying a Torgerson-SMACOF algorithm.
The control means may include a display for displaying the positions of the fixed terminals thereon.
The control means may include database means in which the locations of the fixed terminals are stored.
The present invention allows the topology of the network to be easily and dynamically determined without the need for specialist modelling tools. It can be easily and quickly updated to reflect changes. It also allows prediction of the network environment.
Brief Description of the Drawings
The invention will now be described, by way of example only, with reference to the accompanying drawings, of which:
Figure 1 is a schematic illustration of a network comprising a plurality of wireless units in a small environment.;
Figure 2 is a schematic illustration of the components of a wireless network;
Figure 3 is a schematic illustration of the components of a network controller for the network of Figure 2;
Figure 4 is a schematic illustration of the components of Bluetooth base station units used in the present invention; and
Figure 5 is a diagram illustrating the steps involved in the present invention.
Best Mode(s) for Carrying Out the Invention
Throughout the specification, unless the context requires otherwise, the word "comprise" or variations such as "comprises" or "comprising", will be understood to imply the inclusion of a stated integer or group of integers but not the exclusion of any other integer or group of integers.
In the present specification the term "fixed" is used in relation to terminals. In the present specification, this term is used to define a terminal that is fixed, at any one time, in relation to the mobile terminals. It should be understood that these fixed terminals are not permanently fixed at any one location and can be moved - indeed may often be moved within a network environment. This term should therefore not be construed in a limiting form.
For the purposes of describing the present invention, consider network 100 with Bluetooth units in a normal office environment. This is illustrated in Figure 1.
The network 100 includes a number - in this embodiment four - Bluetooth base stations, BS1 , BS2, BS3, BS4, which are located throughout an office environment. Each base station can communicate with other Bluetooth units - including the other base stations - in a known manner. Other Bluetooth units may include, for example mobile phones, and PDA's. When in communication with each other, the units form a piconet as described in the description of the prior art.
Figure 2 illustrates schematically some of the components of the network as relevant to the present invention.
Each base station 1 comprises a so-called "dongle" 2 plugged into an interface of a conventional personal computer 3 and coupled to components necessary for operation of the base station. These components are commonly referred to as the "softbase" 10, and are illustrated schematically in Figure 4, which is a schematic stack of the components, with lines indicating appropriate communication between the relevant components. These components include the Bluetooth stack components 11 , a manager 12, an H323 stack (whose
function is equivalent to that discussed in relation to the service platform 9 below), an Object Manager proxy which manages system information communication with the service platform 9 (by means of its Object Manager), a Transport Manager manages all communication with the service platform 9 and other softbases.
Bluetooth devices, as well as other components that - in addition to the components mentioned above, in so far as they are not relevant to the present invention, need not be described in any further detail herein. Other Bluetooth devices, such as phones, and PDA's, include similar components, as, from the point of view of their operation as Bluetooth devices are concerned, their operation and components provided for their operation, are the same.
The base stations 1 are also coupled together to form a Local Area Network (LAN) along with a telephony gateway 4, which is coupled to a PABX system 5, and ultimately to a Public Switched Telephone Network (PSTN) 6. The use of LANs, telephony gateways, PABX's and PSTN's is well known to persons skilled in the art, and, insofar as it is not relevant to the present invention need not be described in any further detail herein. This network is illustrated schematically in Figure 1.
Each base station 1 communicates with other mobile units/ terminals within its range of operation. In this sense it is a cellular system with analogies to known cellular radio systems such as GSM and CDMA. In this network, the average cell size is 10m in radius, and a maximum of 100m
The network also includes a network controller 7.
The network controller 7 comprises a number of components, which are illustrated schematically in Figure 2. In particular, the controller includes a server 8 and the service platform 9. The components for the service platform 9 are illustrated schematically in Figure 3, which is a protocol stack of the various components. The platform 9 includes an Object Manager, an H.323 Gateway a positioning manager, a handoff manager, a user manager, a PAX, a Registrar, and a B-number, as well as other components.
The following components have the following functions:
Object Manager - manages all system information for base stations, mobile units, other terminals and users.
H.323 Gateway - manages call set up and routing, and allows voice data to be transmitted over the IP layer.
Positioning Manager - monitors base stations' positions, manages coverage and capacity, tracks mobile stations.
Handoff Manager - manages the handoff process.
User manager - manages user profiles.
PAX - manages call set-ups to/ from the PBX/PSTN, and deals with the H.323 Gateway.
Registrar - deals with terminal registration and authentication, and keeps track of which base station is serving which mobile unit/ terminal.
B-number - processes called numbers to check for validity and convert to routing numbers.
The means of communication between the various components is illustrated by the lines in Figure 3. The Server Transport Manager manages communication with the softbase 10.
Unless otherwise discussed, the functions performed by the various components are known to persons skilled in the art, and insofar as they are not relevant to the present invention, need not be described in any further detail herein.
When two Bluetooth devices are in communication with each other they have established a piconet. As mentioned above, up to eight Bluetooth devices can form a piconet, but, for clarity, the operation of only two devices is described. One Bluetooth device BS1 is a base unit (or base station), while the other is a
mobile unit MS1. The communication between the two has been established in the usual way in accordance with the Bluetooth protocols. The base station BS1 is the Master unit, and the mobile station MS1 is the slave unit.
The present invention provides a method and system for dynamically determining the real-time physical radio base station topology. Briefly, the system sends a request to all base stations on the network for RSSI (Radio Signal Strength Indication) management information. After receiving this information from each base station, the system builds a data structure containing the RSSI value between each of the stations within the network. The logical map of all the Bluetooth base stations can then be worked out by applying a series of mathematical algorithms.
The physical topology of all the Bluetooth base stations can be displayed, and can be used to predict the physical structure of the building environment, and to map the physical topology of all the base stations to the physical structure of the building environment.
The following assumptions are made:
1. The network exists in a normal office environment.
2. An enterprise has many offices.
3. An office has many base stations.
4. A base station belongs to one office only.
5. Each base station has an average cell size of 10m radius.
6. The minimum cell size is 2m radius.
7. The maximum cell size is 100m radius.
8. Each Base Station can transmit to at least three other Base Stations.
In the present invention, the network controller 7 is operable to instruct each base station to measure the Received Signal Strength Indication (RSSI) of each of its neighbouring base stations. RSSI is an indication of the signal strength and therefore of the quality of the signal sent between two units that are in communication with each other. The use and measurement of this parameter is known in cellular radio telecommunications systems such as GSM and can be achieved by any suitable known manner. Unlike other cellular radio telecommunications systems, which transmit and receive on different frequencies, and in which base stations cannot swap their transmit and receive frequencies (because they are dedicated base station units), Bluetooth units can adopt either master or slave roles - as discussed in the introduction above - and can therefore - when operating as base stations - communicate with each other. Although provided in the network as base stations, it is important to understand that these units can adopt other roles and, in particular, can alternate between master and slave roles within any scatternet that is set up.
Before performing the RSSI measurements, each base station performs a discovery process (for example using a known paging technique) to identify each of its neighbouring base stations. The positioning manager inside the network controller 7 sends a command to each Base Station to perform the RSSI measurements for each of the neighbouring base stations. The value of the RSSI will give an indication of the distance of the base station from its neighbouring base station i.e. the poorer the quality of signal between the two base stations, the larger the distance between them.
The positioning manager inside the network controller 7 then builds up a data structure containing the RSSI values between each of the stations within the network. The logical map of the base stations can then be worked out by applying a series of algorithms. The logical map is then stored through the object manager and written to the database on the network controller 7.
The steps of the present invention are set out in Figure 5.
This process is set out in more detail below:
For any particular office, not all base station signals are within radio coverage of each other. The first step is to identify which base stations overlap and construct a connectivity matrix (CM) to represent the connectivity of each of the base stations. The following steps are used in construction of the connectivity matrix:
1. Retrieve - from the database - the identity of all base stations that are located in the same office;
2. Store these base stations into an array called [1..N], where N is the number of base stations in the office;
3. Create a connectivity matrix called CMNxN
4. For l = 1 to N
a. Base station A = L[\]
b. Increase base station A to maximum transmit power.
c. For J = 1 to N and J ≠ I
i. Base station M = L[J].
ii. Send a message to base station M that it is to carry out a Bluetooth paging process on base station A.
iii. if base station M can detect base station A, then set CM(A,M) = true otherwise set CM(A,M) = false
5. End
Once the connectivity matrix is completed, then this is used to break the office into sub regions so that base station positions can be localized. The following steps are used to determine the sub-regions:
1. Retrieve - from the database - the identity of all the base stations that are located in the same office.
2. Store these base stations into an array called [1..Λ/] where N is the number of base station in the office.
3. For I = 1 to N
a. set all base station L[l]. STATUS = NEW
4. Set base station A = The first base station in L which has STATUS == NEW
a. If cannot find any NEW base station then go to step 9 otherwise go to step 5
5. Set base station A.STATUS = CENTER
6. For all base station M where CM(A,M) == true
a. set base station M. STATUS = DISCOVER
7. For all base station M where CM(A,M) == true
a. count the number of base stations P where CM(M,P) == true and P. STATUS == NEW
8. Find the base station R which has the highest number of NEW counts
a. if highest count = 0 then go to step 4 otherwise set base station A = R and go to step 6
9. End
Once the office has been subdivided into sub-regions, then it is possible to determine the relative co-ordinates for each base station relative to the other base stations within a sub region. This is done as follows:
1. Retrieve - from the database - the name of all base stations that are located in the same office;
2. Store them into an array called [1..N] where N is the number of base station in the office.
3. Base station A = The first base station in L which has STATUS == CENTER
a. If cannot find any CENTER base station then go to step 10 otherwise go to step 4
4. Set base station A.STATUS = COMPLETE
5. Construct a Distance Matrix, D, based on base station A as the centre.
a. For all base station M where CM(A,M) == true
i. For all base station N where CM(M,N) == true
1. Increase power of M to maximum power
2. Request base station N to take an average RSSI reading of M
3. Store the average RSSI reading into D(M,N)
b. For all base stations M where CM(A,M) == true
i. For all base stations N where CM(M,N) == true
1. if D(M,N) == 0 then D(M,N) = D(N,M)
2. if D(N,M) == 0 then D(N,M) = D(M,N)
3. if D(N,M) ≠ D(M,N) then D(N,M) = Average(D(N,M), D(M,N)) and D(M,N) = D(N,M)
c. Once the Distance Matrix D has been completed, then each of the RSSI values in the Distance Matrix D is converted into meters by using the formulae.
( 4;zA
201og r < 8 λ
Lpath - ϊ f
58.3 + 331og r > 8 8y where Lpath is the path loss,, λ = free space wavelength @ 2.45GHz (0.1224m) and r is the range (m).
6. Apply a Torgenson Algorithm to the distance matrix D to obtain a Coordinate Matrix C. Torgeson Algorithms are well known, and allow distances to be converted to a matrix of Cartesian co-ordinates. Because the RSSI measurements are known to contain errors, an error minimisation technique is also applied to the estimated relative positions to provide a "best" estimate of the relative positions. In the embodiment described herein, a Torgeson-SMACOF routine is applied to the matrix to provide the results. As the Torgeson- SMACOF routine requires a full matrix, any base stations that are out of range of each other are assigned a distance well beyond the maximum coverage range.
7. For all base stations M where CM(A,M) == true
office structure and network topology can easily be aligned. This is then dynamically displayed and updated.
The following parameters need to be input in order to finalise the process and allow for the base station topology to be displayed - for example on a display 13 coupled to the network controller 7. This display 13 shows the base station topology as superimposed on the office layout. Details of these parameters can be input via the network controller - for example, by a system administrator. The following parameters need to be specified:
a. The Scaling Ratio SR between the office floor plan and the screen pixel, (metre: pixel)
b. The positions of at least 3 base stations on an office floor plan
From the information provided, we can work out the co-ordinates of the know base station that the administrator provided by multiplying each of the three known base station positions by the Scaling Ratio.
The network controller 7 can then apply rotation, scaling and mirroring of the OC so that it matches with the position of the three known base stations - thus allowing the positions of all the base stations to be displayed.
A network topology database is maintained and frequently updated to reflect any changes. The system updates the topology when a base station starts up, shuts down or physically moves its location. The system allows the user to set a timer that defines how often the system repeats the data collection process to display an updated map of the network.
When a new base station is discovered, its position is determined using a nonlinear least square-fitting algorithm using the distance measurements to its nearest neighbours. Alternatively, the Torgerson algorithm discussed above can be re-applied to the entire distance matrix to refine the positions of the existing base stations.
a. Apply a least square approximation on C(M) to iterate through to improve on the result of C(M)
8. For all base station M where CM(A,M) == true
a. Set COORD (A,M) = C(M)
9. Go to Step 3
10. End
Once the coordinate matrix for each sub region has been calculated (hereinafter referred to as, P, ... ?N where N is the number of sub regions) , then let OC be the whole coordinate matrix of all the base stations in the office.
1. For s = 1 to N
a. For r = s+1 to N
i. If Ps and Pr has any common coordinate then rotate Pr to fit the rotation of Ps
ii. Combine Pv and Pr and update the result into OC.
The information on the absolute positions of the base stations can then be used to model the office environment in which the network is located.
To model the office, the office locations are divided into regions using a grid system. Base station signal emissions are initially estimated as being circular and having a range of 10 meters. Firstly, it is assumed that there are no significant obstacles within the office, and create a record of base stations we believe can transmit to each quadrant. This information is updated whenever a connection within the network fails. By using the absolute position of 3 or more base stations and the coverage structure information within the grid system, the
In the event a base station shuts down or is recognized as having moved, that station is deleted from all region records. When a new station is introduced or the moved station has had it's position re-determined, that station is put back in the list of each quadrant we believe it can transmit to. At this stage the positions of significant obstacles, determined at prior iterations, are taken into account to give a more true initial representation of irregular shaped coverage.
Using the methods outlined above, a view of the overall network topology can quickly be built. The positions of the base stations can be periodically checked using different RSSI signal readings, and, so, positional values become more accurate. These positions can be dynamically displayed on a visual display coupled to the network controller thereby giving feedback as to the current state of the network.
It is assumed that a base station only fails to cover an area within its signal strength radius if it is blocked by a significant obstacle. Also if a signal is never recorded for a region over the life of the network then this is probably because the area is inaccessible. Once reliable radio base positions and coverage estimations have been determined, this can be used to predict the office structure.
When calculating the position of base stations and their coverage patterns a first estimate of the attenuation characteristics between adjacent base stations is made. Where significant attenuation is detected, an obstruction such as a wall is hypothesised. A database characterising the effects of different types of obstructions is built up over time and provides an increasingly accurate model of the system environment.