# Patent

## Title
Probabilistic location prediction for a mobile station

## Abstract

A probabilistic prediction is made of the location of a wireless-enabled mobile station in a wireless local area network. The prediction includes calculating a vector representing movement of the mobile station through a space in which two or more access points of the network are located, and determining a region surrounding the vector in which the mobile station has at least a given probability to be located within a certain period of time.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 11/167,146, filed Jun. 28, 2005 and entitled “PROBABILISTIC LOCATION PREDICTION FOR A MOBILE STATION”, which is incorporated by reference in its entirety.


BACKGROUND OF THE INVENTION
The invention generally relates to wireless networks. In particular, embodiments of the invention relate to probabilistic prediction of a location of a wireless-enabled mobile station.
Wireless networks, specifically those based on the Institute of Electrical and Electronic Engineers (IEEE) 802.11 standard, are experiencing rapid growth. Some users, for example laptop users, use the network while stationary (or associated with a single access point (AP)), and before moving, the user ceases operation only to continue using the network after moving to a new location. This is known as “discrete mobility” and “nomadic roaming”. Other users, for example voice-based application users, use the network while moving. This is known as “continuous mobility” and “seamless roaming”.
Currently, the handoff procedure as a mobile station roams from one AP to another entails too much latency to support voice and multimedia applications. This handoff procedure results in a transfer of physical layer connectivity and state information from one AP to another with respect to the mobile station. Moreover, APs have limited resources, and it is possible that as a mobile station enters the coverage area of an AP, that AP does not have the resources to support the mobile station.



BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like reference numerals indicate corresponding, analogous or similar elements, and in which:
FIG. 1 is an illustration of an exemplary deployment of a wireless local area network (LAN) in a building, according to an embodiment of the invention. The LAN includes access points (APs) and a switched, routed fabric including a server;
FIG. 2 is a flowchart of a method implemented at least in part by the server of FIG. 1, according to an embodiment of the invention;
FIG. 3 is a block diagram of an exemplary server, according to some embodiments of the invention; and
FIG. 4 is a block diagram of an exemplary mobile station, according to some embodiments of the invention.



It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the invention. However it will be understood by those of ordinary skill in the art that the embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the embodiments of the invention.
FIG. 1 is an illustration of an exemplary deployment of a wireless local area network (LAN) in a building, according to an embodiment of the invention. The WLAN includes APs 102, 103, 104 and 105 and a switched, routed fabric including a server 106.
A mobile station 110 may be active in the WLAN. A non-exhaustive list of examples for mobile station 110 includes a wireless-enabled laptop, a wireless-enabled cellphone, a wireless-enabled personal digital assistant (PDA), a wireless-enabled video camera, a wireless-enabled gaming console, a wireless Internet-Protocol (IP) phone and any other suitable wireless-enabled mobile station.
In the example of FIG. 1, APs 102, 103, 104 and 105, server 106 and mobile station 110 are “IEEE 802.11-enabled”, which means that wireless communications in the WLAN via the respective WLAN controllers of the wireless devices are in accordance with one or more of the following standards defined by the Institute of Electrical and Electronic Engineers (IEEE) for Wireless LAN MAC and Physical layer (PHY) specifications: IEEE 802.11, published 1997; IEEE 802.11a, published 1999; IEEE 802.11b, published 1999; IEEE 802.11g, published 2003. However, it will be obvious to those of ordinary skill in the art how to modify the following for other existing WLAN standards or future related standards, including IEEE 802.11i, IEEE 802.11n and IEEE 802.11r.
FIG. 2 is a flowchart of a method implemented, at least partially, by server 106, according to an embodiment of the invention.
A vector representing motion of mobile station 110 is calculated (200). The vector may be calculated by server 106, or by mobile station 110 and then transmitted wirelessly via the WLAN to server 106 for further processing.
An exemplary vector 120 is shown in FIG. 1, based at the current position of mobile station 110, having a direction representing the direction of motion of mobile station 110 and a length representing the speed of motion of mobile station 110. The vector may be calculated on the basis of any one or any combination of instantaneous, projected and historic information. The information may be specific to mobile station 110 or to a group or class of users to which mobile station 110 belongs, or may be global information applicable to all mobile stations. The historic information may be incorporated using a forgetting factor so that more recent information has more of an effect than less recent information.
For example, mobile station 110 may transmit signal strength measurements to server 106 as it moves through the building, and server 106 may use these measurements, the fixed locations of APs 102, 103, 104 and 105, and the layout of the building to calculate the vector. In this example, the signal strength measurements are specific to mobile station 110, and the fixed locations of the access points in the network and the layout of the building are global information applicable to all mobile stations.
In another example, mobile station 110 may transmit global positioning system (GPS) information to server 106, and server 106 may use this information to calculate the vector. In this example, the GPS information is specific to mobile station 110 and may include instantaneous and/or historical information.
In another example, server 106 may use handoff information regarding mobile station 110 and/or regarding mobile stations belonging to a class or group of users to which mobile station 110 also belongs. For example, if mobile station 110 belongs to a user in a group of users that generally roam in a certain pattern in the building, for example, users that share an office, then that certain roaming pattern may be used to calculate the vector. Moreover, if mobile station 110 belongs to a user in a particular class of users, for example, managers, that frequently roam to certain locations in the building, for example, the meeting room, then that information may be used to calculate the vector. In a further example, women who work in one building and then roam to another building tend to visit the meeting rooms and women's washrooms of the other building and never visit the men's washrooms of the other building. In yet another example, maintenance and facilities staff access areas of buildings (for example, heating, ventilation and air conditioning areas, wiring rooms) that other staff members do not.
Server 106 then determines a region in which mobile station 110 is likely to be located with at least a given probability within a certain period of time (202). Three exemplary regions 130, 132 and 134 are shown in FIG. 1. Regions 130 and 132 are for the same period of time, but the probability that mobile station 110 is located in region 130 is higher than the probability that mobile station 110 is located in region 132. Regions 132 and 134 are for the same probability, but region 134 is for a longer period of time than region 132.
Although vector 120 and regions 130, 132 and 134 are illustrated as planar in FIG. 1, embodiments of this invention may be generalized to three dimensions when appropriate, for example, buildings with multiple floors.
Similarly, although this description relates to a single vector and a region around the vector, persons of ordinary skill in the art can modify embodiments of this invention to apply to a sequence of vectors or a curved path approximated thereby.
Server 106 may take various factors into account when determining the region. A non-exhaustive list of examples for such factors includes:
1. Global Factors


    
    
        a) a user of a mobile station tends to move in a straight line;
        b) it is unlikely that a user will reverse direction;
        c) the physical structure of a building will affect the route of a user of a mobile station (for example, the placement of walls, stairs, doors, elevators and the like).

2. Class/Group Factors

        a) visitors to the building tend to visit certain areas;
        b) users with preferred access to resources may be allotted larger regions than normal users;
        c) the history of routes of other users in the same class or group;

3. Individual Factors

        a) the individual history of the user;
        b) the user is sedentary, or the user moves around a lot;
        c) if the user is in a wheelchair, exclude routes involving stairs, increase the likelihood of visiting wheelchair-accessible washrooms, and decrease the likelihood of entering non-wheelchair-accessible rooms.
    
    


The historic information may be incorporated using a forgetting factor so that more recent information has more of an effect than less recent information.
For example, if mobile station 110 is stationary, and no other factors are taken into account, the vector is a point and the region may be a circle around mobile station 110. As mobile station 110 moves, this circle may be deformed in the direction of motion. The faster mobile station 110 moves in a particular direction, the longer the vector representing the motion of mobile station 110, and the more deformed the region is from a circle and the more area covered by the region.
Once server 106 has determined the region in which mobile station 110 has at least a given probability to be located within a certain period of time, server 106 may identify which, if any, of APs 102, 103, 104 and 105 have a coverage area that overlaps, even partially, the determined region (204). For example, the coverage areas of APs 102 and 103 may overlap regions 130, 132 and 134, while the coverage area of AP 104 may overlap regions 132 and 134 only, and the coverage area of AP 105 may not overlap any of regions 130, 132 and 134.
The coverage areas of the APs may have been calculated or measured. For example, server 106 may calculate the coverage area of an access point based on its location, make, model and some characteristic data for such an access point. In another example, server 106 may dynamically calculate the coverage area of an access point from collected data of when, where and at what received signal strength indication (RSSI) mobile stations roam.
A non-exhaustive list of examples for actions that server 106 may take upon identifying the access points includes:

    a) Initiating pre-authentication processes with one or more of the identified APs (206), by signaling either mobile station 110 or the AP to begin and with which communications partner. For example, pre-authentication may be performed at the Data Link layer (“layer 2”) of the WLAN, or at the Data Link layer (“layer 2”) and the Network layer (“layer 3”) of the WLAN, according to the Open Systems Interconnection (OSI) communication model. If regions of different given probabilities are determined, pre-authentication at “layer 2” and “layer 3” may be done for APs that are accessible by mobile station 110 from within the region of higher probability and pre-authentication at “layer 2” may be done for APs that are accessible by mobile station 110 only from within the region of lower probability. Pre-authentication may accelerate the handoff procedure as mobile station 110 roams from one AP to another.
    b) Reserving resources for mobile station 110 at one or more of the identified APs (208). For example, if mobile station 110 has a probability of 60% of roaming to a particular AP within 1 minute, bandwidth may be reserved for mobile station 110 at the particular AP. However, if a different mobile station has a probability of 90% of roaming to the particular AP, the resource needs of the different mobile station may trump the needs of mobile station 110.
    c) Pre-caching or routing content for the user of mobile station 110 at one or more of the identified APs (210). A non-exhaustive list of examples for this content includes targeted advertising, telephone calls, and the like.
    d) Notifying voice over IP (VoIP) servers that a call endpoint might be about to roam (so that the call data could start to be multicasted to the APs in the region).
    e) Initiating roaming procedures to other networks (for example, roaming from the WLAN to a cellular network).
    f) Updating presence information (which in turn can be used to route phone calls, update calendar appointments, create lists of meeting attendees, notify conference call participants of the names of people in the room on the other end, and the like).


FIG. 3 is a block diagram of an exemplary server, according to some embodiments of the invention. Server 106 includes at least one antenna 300 coupled to a radio 302, which in turn is coupled to a WLAN controller 304. WLAN controller 304 may be coupled to a memory 306 storing firmware 308 to be executed by WLAN controller 304. Server 106 includes a processor 310 and a memory 312 coupled to processor 310. Memory 312 may store executable code 314 to be executed by processor 310. Executable code 314, when executed by processor 310, may cause server 106 to implement all or a portion of the method of FIG. 2.
Processor 310 may be coupled to WLAN controller 304 and may be able to control, at least in part, the operation of WLAN controller 304. Server 106 includes a battery 316 to provide power to radio 302, WLAN controller 304, processor 310 and memories 306 and 312. Server 106 may include other components that, for clarity, are not shown.
Radio 302, WLAN controller 304, processor 310 and memories 306 and 312 are functional blocks and may be implemented in any physical way in server 106. For example, radio 302, WLAN controller 304, processor 310 and memories 306 and 312 may be implemented in separate integrated circuits, and optionally in additional discrete components. Alternatively, some of the functional blocks may be grouped in one integrated circuit. Furthermore, the functional blocks may be parts of application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or application specific standard products (ASSP).
FIG. 4 is a block diagram of an exemplary mobile station, according to some embodiments of the invention. Mobile station 110 includes at least one antenna 400 coupled to a radio 402, which in turn is coupled to a WLAN controller 404. WLAN controller 404 may be coupled to a memory 406 storing firmware 408 to be executed by WLAN controller 404. Mobile station 110 includes a processor 410 and a memory 412 coupled to processor 410. Memory 412 may store executable code 414 to be executed by processor 410. Executable code 414, when executed by processor 410, may cause mobile station 110 to calculate a vector representing movement of mobile station 110 through a space in which two or more APs are located, as at 200 of the method of FIG. 2.
Processor 410 may be coupled to WLAN controller 404 and may be able to control, at least in part, the operation of WLAN controller 404. Mobile station 110 includes a battery 416 to provide power to radio 402, WLAN controller 404, processor 410 and memories 406 and 412. Mobile station 110 may include other components that, for clarity, are not shown.
Radio 402, WLAN controller 404, processor 410 and memories 406 and 412 are functional blocks and may be implemented in any physical way in mobile station 110. For example, radio 402, WLAN controller 404, processor 410 and memories 406 and 412 may be implemented in separate integrated circuits, and optionally in additional discrete components. Alternatively, some of the functional blocks may be grouped in one integrated circuit. Furthermore, the functional blocks may be parts of application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or application specific standard products (ASSP).
A non-exhaustive list of examples for processors 310 and 410 includes a central processing unit (CPU), a digital signal processor (DSP), a reduced instruction set computer (RISC), a complex instruction set computer (CISC) and the like.
Memories 306 and 312 may be fixed in or removable from server 106. Similarly, memories 406 and 412 may be fixed in or removable from mobile station 110. A non-exhaustive list of examples for memories 306, 312, 406 and 412 includes any combination of the following:

    
    
        a) semiconductor devices such as registers, latches, read only memory (ROM), mask ROM, electrically erasable programmable read only memory devices (EEPROM), flash memory devices, non-volatile random access memory devices (NVRAM), synchronous dynamic random access memory (SDRAM) devices, RAMBUS dynamic random access memory (RDRAM) devices, double data rate (DDR) memory devices, static random access memory (SRAM), universal serial bus (USB) removable memory, and the like;
        b) optical devices, such as compact disk read only memory (CD ROM), and the like; and
        c) magnetic devices, such as a hard disk, a floppy disk, a magnetic tape, and the like.
    
    


A non-exhaustive list of examples for antennae 300 and 400 includes a dipole antenna, a monopole antenna, a multilayer ceramic antenna, a planar inverted-F antenna, a loop antenna, a shot antenna, a dual antenna, an omnidirectional antenna and any other suitable antenna.
While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the spirit of the invention.

## Claims

1. A method for probabilistic prediction of a location of a mobile station in a wireless local area network, the method comprising:
calculating by said mobile station a vector representing movement of said mobile station through a space in which two or more access points of said wireless local area network are located; and
determining a region surrounding said vector in which said mobile station has at least a given probability to be located within a certain period of time,
wherein calculating said vector includes using signal strength information regarding signals received at said mobile station over said wireless local area network and using the locations of one or more access points generating said signals.

2. The method of claim 1, wherein calculating said vector further comprises using global positioning system data for said mobile station.

3. The method of claim 1, further comprising:
identifying which of said access points are accessible by said mobile station from within said region.

4. The method of claim 3, further comprising:
reserving resources for said mobile station at one or more of said access points that are accessible.

5. The method of claim 3, further comprising:
pre-authenticating said mobile station with one or more of said access points that are accessible.

6. The method of claim 5, wherein pre-authenticating said mobile station includes at least:
pre-authentication at the Data Link layer of said network according to the Open Systems Interconnection communication model.

7. The method of claim 5, wherein pre-authenticating said mobile station includes at least:
pre-authentication at the Data Link layer and the Network layer of said network according to the Open Systems Interconnection communication model.

8. A method for probabilistic prediction of a location of a mobile station in a wireless local area network, the method comprising:
calculating a vector representing movement of said mobile station through a space in which two or more access points of said wireless local area network are located; and
determining a region surrounding said vector in which said mobile station has at least a given probability to be located within a certain period of time,
wherein as said mobile station moves from a stationary state, said region is a deformed circle that is deformed in a direction of motion of said mobile station, and
wherein said mobile station comprises a wireless local area network controller that enables said mobile station to communicate over said wireless local area network.

9. The method of claim 8, further comprising:
identifying which of said access points are accessible by said mobile station from within said region.

10. The method of claim 9, further comprising:
reserving resources for said mobile station at one or more of said access points that are accessible.

11. The method of claim 9, further comprising:
pre-authenticating said mobile station with one or more of said access points that are accessible.

12. The method of claim 11, wherein pre-authenticating said mobile station includes at least:
pre-authentication at the Data Link layer of said network according to the Open Systems Interconnection communication model.

13. The method of claim 11, wherein pre-authenticating said mobile station includes at least:
pre-authentication at the Data Link layer and the Network layer of said network according to the Open Systems Interconnection communication model.

14. A server comprising:
an antenna;
a radio coupled to said antenna;
a wireless local area network controller coupled to said radio through which said server is able to communicate over a wireless local area network with mobile stations;
a processor coupled to said wireless local area network controller; and
memory to store code which, when executed by said processor, collects data of when, where and at what received signal strength indication said mobile stations roam and dynamically calculates therefrom a coverage area of an access point in said wireless local area network.

15. The server of claim 14, wherein said code, when executed by said processor, calculates a vector representing movement of a wireless-enabled mobile station through a space in which two or more access points of said network are located and determines a region surrounding said vector in which said mobile station has at least a given probability to be located within a certain period of time.

16. The server of claim 15, wherein said code, when executed by said processor, identifies, using at least said calculated coverage area and said determined region, which of said access points are accessible by said mobile station from within said region.

17. The server of claim 16, wherein said code, when executed by said processor, reserves resources for said mobile station at one or more of said access points that are accessible.

18. The server of claim 16, wherein said code, when executed by said processor, pre-authenticates said mobile station with one or more of said access points that are accessible.

19. The server of claim 16, wherein said code, when executed by said processor, pre-authenticates, at the Data Link layer of said network according to the Open Systems Interconnection communication model, said mobile station with one or more of said access points that are accessible.

20. The server of claim 16, wherein said code, when executed by said processor, pre-authenticates, at the Data Link layer and the Network layer of said network according to the Open Systems Interconnection communication model, said mobile station with one or more of said access points that are accessible.