Wireless signals for position determination

文档序号:1086014 发布日期:2020-10-20 浏览:2次 中文

阅读说明:本技术 用于位置确定的无线信号 (Wireless signals for position determination ) 是由 C·塔 R·W·弗雷 于 2019-12-31 设计创作,主要内容包括:本公开的实施例涉及用于位置确定的无线信号。描述了涉及地带(例如,非重叠区域)中的一个或多个设备的检测的方法和装置。单独设备位置基于RSSI信息来进行。用户是否被确定为在地带中基于对应于设备的位置确定来确定。用于确定设备是否将被认为在地带内的阈值取决于设备在地带中是新检测到还是已经被确定为在地带中而不同。在一些实施例中,被确定为在地带中比被确定为已经离开地带更容易。设备可以被确定为同时在两个非重叠地带中,从而增加边缘区域中的设备将关于应当提供资源的设备的数目计数的机会。(Embodiments of the present disclosure relate to wireless signals for position determination. Methods and apparatus relating to detection of one or more devices in a zone (e.g., a non-overlapping area) are described. The individual device location is based on RSSI information. Whether a user is determined to be in a zone is determined based on a location determination corresponding to the device. The threshold used to determine whether a device will be considered to be within a zone differs depending on whether the device is newly detected in the zone or has been determined to be in the zone. In some embodiments, it is easier to be determined to be in a zone than to be determined to have left a zone. Devices may be determined to be in two non-overlapping zones simultaneously, increasing the chance that devices in the edge area will count on the number of devices that should provide resources.)

1. A method, comprising:

receiving, by a wireless terminal location tracking server from an access point, a Received Signal Strength Indication (RSSI) measurement for a first wireless terminal,

determining, by the wireless terminal tracking server, a first location of the first wireless terminal based on the RSSI measurements;

determining, by the wireless terminal tracking server, that the first wireless terminal is located within a first boundary of a first zone based at least in part on the determined first location;

determining, by the wireless terminal tracking server, a second location of the first wireless terminal, the second location being different from the first location;

determining, by the wireless terminal tracking server, that the second location is within a second boundary of a second zone;

determining, by the wireless terminal tracking server, a threshold number of location determinations based on whether the second zone is equivalent to the first zone; and

determining, by the wireless terminal tracking server, whether the first wireless terminal is within the second boundary of the second zone based at least on the threshold number of location indications.

2. The method of claim 1, wherein the determination of the threshold number of location determinations determines a first threshold number in response to the first zone being equivalent to the second zone, and otherwise determines a second, greater threshold number.

3. The method of claim 2, further comprising: determining whether the second location indicates that the first wireless terminal is within an entry area of the second zone and determining the second threshold number to be a first value in response to the second location indicating that the first wireless terminal is within an entry area, and otherwise determining the second threshold number to be a larger second value.

4. The method of claim 3, further comprising: determining a number of consecutive location determinations indicating that the first wireless terminal is within the boundary of the second zone, wherein the determination of whether the second location indicates that the first wireless terminal is within an entry area of the second zone is based on the number.

5. The method of claim 4, wherein the determination of whether the second location indicates that the first wireless terminal is within an entry area of the second zone is in response to the number being below a predetermined threshold.

6. The method of claim 5, wherein the determination of the first wireless terminal in the first zone comprises determining that a number of position determinations indicative of the first wireless terminal in the first zone is above a threshold.

7. The method of claim 6, further comprising:

identifying a first set of location determinations of the number of location determinations indicating that the first wireless terminal is in the first zone, the first set of location determinations being determined prior to other location indications of the number of location determinations; and

defining an entry area for the first zone based on the first set of position determinations.

8. The method of claim 7, further comprising: determining whether a location determination for a second wireless terminal is within the defined entry region; setting a threshold based on the determination; and determining whether the second wireless terminal is within the first zone based on the threshold.

9. The method of claim 1, wherein determining, by the wireless terminal tracking server, that the first wireless terminal is located within a first boundary of a first zone is based at least in part on the determined first location being within a predetermined distance from the first zone boundary.

10. The method of claim 1, further comprising: determining that the first wireless terminal has left a zone based on a distance between the first wireless terminal and the zone being greater than a threshold distance.

11. A wireless terminal tracking system, comprising:

hardware processing circuitry;

one or more memories storing instructions that, when executed, configure the hardware processing circuitry to perform operations comprising:

receiving, by a wireless terminal location tracking server from an access point, a Received Signal Strength Indication (RSSI) measurement for a first wireless terminal,

determining, by the wireless terminal tracking server, a first location of the first wireless terminal based on the RSSI measurements;

determining, by the wireless terminal tracking server, that the first wireless terminal is located within a first boundary of a first zone based at least in part on the determined first location;

determining, by the wireless terminal tracking server, a second location of the first wireless terminal, the second location being different from the first location;

determining, by the wireless terminal tracking server, that the second location is within a second boundary of a second zone;

determining, by the wireless terminal tracking server, a threshold number of location determinations based on whether the second zone is equivalent to the first zone; and

determining, by the wireless terminal tracking server, whether the first wireless terminal is within the second boundary of the second zone based at least on the threshold number of location indications.

12. The wireless terminal tracking system of claim 11, wherein the determination of the threshold number of location determinations determines a first threshold number in response to the first zone being equivalent to the second zone, and otherwise determines a larger second threshold number.

13. The wireless terminal tracking system of claim 12, the operations further comprising: determining whether the second location indicates that the first wireless terminal is within an entry area of the second zone and determining the second threshold number to be a first value in response to the second location indicating that the first wireless terminal is within an entry area, and otherwise determining the second threshold number to be a larger second value.

14. The wireless terminal tracking system of claim 13, the operations further comprising: determining a number of consecutive location determinations indicating that the first wireless terminal is within the boundary of the second zone, wherein the determination of whether the second location indicates that the first wireless terminal is within an entry area of the second zone is based on the number.

15. The wireless terminal tracking system of claim 14, wherein the determination of whether the second location indicates that the first wireless terminal is within an entry area of the second zone is in response to the number being below a predetermined threshold.

16. The wireless terminal tracking system of claim 15, wherein the determination of the first wireless terminal in the first zone comprises determining that a number of position determinations for the first wireless terminal in the first zone is above a threshold.

17. The wireless terminal tracking system of claim 16, the operations further comprising:

identifying a first set of location determinations of the number of location determinations indicating that the first wireless terminal is in the first zone, the first set of location determinations being determined prior to other location indications of the number of location determinations; and

defining an entry area for the first zone based on the first set of position determinations.

18. The wireless terminal tracking system of claim 17, the operations further comprising: determining whether a location determination for a second wireless terminal is within the defined entry region; setting a threshold based on the determination; and determining whether the second wireless terminal is within the first zone based on the threshold.

19. The wireless terminal tracking system of claim 11, the operations further comprising: receiving a second RSSI measurement of a signal generated or received by the first wireless terminal, wherein the determination of the second location is based on the RSSI measurement.

20. A non-transitory computer-readable storage medium comprising instructions that, when executed, configure hardware processing circuitry to perform operations comprising:

receiving, by a wireless terminal location tracking server from an access point, a Received Signal Strength Indication (RSSI) measurement for a first wireless terminal,

determining, by the wireless terminal tracking server, a first location of the first wireless terminal based on the RSSI measurements;

determining, by the wireless terminal tracking server, that the first wireless terminal is located within a first boundary of a first zone based at least in part on the determined first location;

determining, by the wireless terminal tracking server, a second location of the first wireless terminal, the second location being different from the first location;

determining, by the wireless terminal tracking server, that the second location is within a second boundary of a second zone;

determining, by the wireless terminal tracking server, a threshold number of location determinations based on whether the second zone is equivalent to the first zone; and

determining, by the wireless terminal tracking server, whether the first wireless terminal is within the second boundary of the second zone based at least on the threshold number of location indications.

Technical Field

The present application relates to the use of wireless signals, and more particularly, to methods and/or apparatus for utilizing wireless signals in position determination operations and/or various control operations.

Background

Wireless signals are often transmitted between user equipment, such as mobile handsets, personal data assistants, laptop computers, or other devices, and a base station, sometimes also referred to as an access point. User equipment is sometimes referred to as User Equipment (UE). Base stations are also commonly referred to as Access Points (APs) because they typically provide network connectivity for one or more mobile devices. The base station may take a variety of forms and may be, for example, a WiFi base station, a macro base station (such as a macro base station of an LTE network), a Bluetooth Low Energy (BLE) base station, or any of a variety of other communication devices.

The UE may measure the strength of signals received from one or more APs and report the signal strength in the form of a Received Signal Strength Indicator (RSSI) strength to the AP or another device, such as a location determination device. Similarly, the AP may measure the received signal strength of a signal from a UE and report information about the signal strength to another device (such as a location determining device).

The location determining apparatus may determine the location of the UE based on Received Signal Strength Indicator (RSSI) information about the UE and the location of an AP that transmits a signal to the UE or reports the reception of the signal and the RSSI information from the UE. When a location determination can be made, it may be affected by reliability issues and thus may be considered an estimate of the location in some cases.

Drawings

Fig. 1 is a depiction of an exemplary communication system in accordance with an exemplary embodiment.

Fig. 2A is a first portion of a flowchart of an exemplary method of operating a location/zone (zone) tracking server in accordance with an exemplary embodiment.

Fig. 2B is a second portion of a flowchart of an exemplary method of operating a location/zone tracking server in accordance with an exemplary embodiment.

Fig. 2C is a third portion of a flowchart of an exemplary method of operating a location/zone tracking server in accordance with an exemplary embodiment.

Fig. 2 includes a combination of fig. 2A, 2B and 2C.

Fig. 3A is a first portion of a flow diagram of an example method of determining the presence of a device (e.g., a mobile wireless device) in one or more zones.

Fig. 3B is a second portion of a flow diagram of an exemplary method of determining the presence of a device (e.g., a mobile wireless device) in one or more zones.

Fig. 3C is a first portion of a flow diagram of an example method of determining the presence of a device (e.g., a mobile wireless device) in one or more zones.

Fig. 3 includes a combination of fig. 3A, 3B, and 3C.

Fig. 4 is a drawing for illustrating an exemplary zone presence determining feature, in accordance with an exemplary embodiment.

Fig. 5 is a plot illustrating an exemplary device moving within a zone, the actual location of the device, and RSSI-based location determination used to make zone presence determinations, in accordance with an exemplary embodiment.

Fig. 6 is a depiction of a table corresponding to the example of fig. 5, the table used to illustrate an example zone presence threshold number determination and an example zone presence determination, in accordance with an example embodiment.

Fig. 7 is a plot illustrating an exemplary device moving from zone 2 to zone 1 via a known entry location area (area) (e.g., a doorway of a door), an actual location of the device, and an RSSI-based location determination of the device, used to make zone presence determinations, in accordance with an exemplary embodiment.

Fig. 8 is a depiction of a table corresponding to the example of fig. 7, the table used to illustrate an example zone presence threshold number determination and an example zone presence determination, in accordance with an example embodiment.

Fig. 9 is a drawing of an exemplary location/zone tracking server, according to an exemplary embodiment.

Fig. 10A is a depiction of a first portion of an exemplary assembly of components that may be included in a location/zone tracking server in accordance with an exemplary embodiment.

Fig. 10B is a drawing of a second portion of an exemplary assembly of components that may be included in a location/zone tracking server according to an exemplary embodiment.

Fig. 10C is a depiction of a third portion of an exemplary assembly of components that may be included in a location/zone tracking server in accordance with an exemplary embodiment.

Fig. 10D is a drawing of a fourth portion of an exemplary assembly of components that may be included in a location/zone tracking server according to an exemplary embodiment.

Fig. 10E is a drawing of a fifth portion of an exemplary assembly of components that may be included in a location/zone tracking server according to an exemplary embodiment.

Fig. 10 includes a combination of fig. 10A, 10B, 10C, 10D, and 10E.

Fig. 11 is a depiction of exemplary data/information that may be included in a location/zone tracking server in accordance with an exemplary embodiment.

Fig. 12 is a plot illustrating use by a device of a first zone presence determination threshold, which is an intra-zone threshold.

Fig. 13 is a plot illustrating use by a device of a second zone presence determination threshold, which is a first out-of-zone threshold corresponding to a determined location of the device within a known zone entry area.

Fig. 14 is a plot illustrating use by a device of a third zone presence determination threshold, which is a second out-of-zone threshold corresponding to a determined device position outside of a known zone entry area within a zone.

Fig. 15 is a plot illustrating another example of a third zone presence determination threshold used by a device, which is a second out-of-zone threshold corresponding to a determined device position outside of a known zone entry area within a zone.

Fig. 16A is a first portion of a flowchart of an exemplary method of operating a device (e.g., a server, e.g., a location/zone tracking server), according to an exemplary embodiment.

Fig. 16B is a second portion of a flowchart of an exemplary method of operating an apparatus (e.g., a server, e.g., a location/zone tracking server), according to an exemplary embodiment.

Fig. 16C is a third portion of a flowchart of an exemplary method of operating an apparatus (e.g., a server, such as a location/zone tracking server), according to an exemplary embodiment.

Fig. 16D is a fourth portion of a flowchart of an exemplary method of operating a device (e.g., a server, such as a location/zone tracking server), according to an exemplary embodiment.

Fig. 16E is a fifth portion of a flowchart of an exemplary method of operating an apparatus (e.g., a server, e.g., a location/zone tracking server), according to an exemplary embodiment.

Fig. 16 includes a combination of fig. 16A, 16B, 16C, 16D, and 16E.

FIG. 17 is a block diagram illustrating an embodiment of a network environment.

FIG. 18 is an exemplary illustration of a physical location, such as a shopping mall.

FIG. 19 is an exemplary illustration of a physical location, such as the shopping mall of FIG. 18 with added zones.

Fig. 20 is a block diagram illustrating an embodiment of a wireless access point.

Fig. 21 provides a block diagram illustrating an embodiment of a location and resource management system that determines the zone to which a particular UE should be allocated.

Fig. 22 is a block diagram illustrating an embodiment of a communication device, such as a UE.

Fig. 23 is a block diagram illustrating a node of a network server, such as a web/content server.

Fig. 24 is a flow diagram illustrating an embodiment of a process for determining an event for a UE entering a zone.

Fig. 25 is a flow diagram illustrating an embodiment of a process for determining an event for a UE to leave a zone.

Fig. 26 illustrates transition of a UE between time bands when T1 is T2.

Fig. 27 illustrates transition of UEs between time bands when T1> T2.

Fig. 28 illustrates transition of UEs between time bands when T1< T2.

Fig. 29 is a flow chart of a process for determining in which zone a UE is located.

Fig. 30 is a flowchart for determining the location of a UE.

Detailed Description

Based on RSSI information corresponding to the UE, position determinations for the UE may be made relatively frequently for the UE (e.g., at intervals of less than one second to many seconds). Unfortunately, RSSI values may change relatively frequently for reasons other than a change in the location of the UE. For example, signal interference, UE orientation relative to the AP, and/or other factors may cause the reported RSSI information to fluctuate or change even if the location of the UE does not change. In many cases, changes in the determined position of the UE within a short period of time, which may be due to factors other than the motion of the UE, result in what is sometimes referred to as jitter in the determined UE position. As a result of such jitter, the UE may appear to be in different locations at different (e.g., closely spaced) times, even though the device may not have moved.

In some cases, the reliability of location determination may be increased if knowledge of the physical structure of the location (e.g., the location of doors between rooms) is considered. Unfortunately, in many cases, information about the location of the doorway is not available to the device attempting to determine the location of the UE from signal strength information, which may include received signal power levels or other information indicative of received signal strength.

For the purpose of providing services and/or controlling operations, it is often desirable to know: with respect to an area (e.g., zone), whether UE devices are present in the zone and/or the number of devices in the zone. Unfortunately, in many cases, the uncertainty and/or lack of knowledge about the physical layout (e.g., doorway location) associated with individual signal-based location determinations for individual UEs often results in: determining the total number of devices in a particular zone and/or zone based on the location of radio signals at a given time to reliably determine whether an individual UE is in a particular zone is difficult.

In view of the above, it would be desirable if a method and/or apparatus could be developed that could determine: whether a wireless device (e.g., a UE) is in a particular zone, the location of the device within a given time zone, and/or the total number of devices in a zone, regardless of the location of the radio signal, which may occur as part of a normal change in signal strength that may introduce jitter into the location determination process. Similarly, it may be desirable to be able to utilize a predetermined level of uncertainty to determine when a device (such as a UE) has left a particular zone.

While not necessary for all embodiments, it would be desirable that in at least some embodiments, the location of doorways can be determined and used to increase the reliability of location determination and/or equipment counting with respect to equipment in one or more zones.

Methods and apparatus relating to detection of one or more devices in one or more zones (e.g., non-overlapping areas) are described. The zone may be a geographic area. The area may be, and sometimes is, an area within a building (e.g., an area on a separate floor of the building). However, the zones need not be limited to indoor zones and may include external areas. In some embodiments, depending on the particular embodiment and/or application, the user may define a zone of interest of a user-specified size, or the zone may have a default size determined, for example, by an area of the map grid.

In various embodiments, the determination of the individual device location is made on an ongoing basis, e.g., every second or at some other time interval that may or may not be a periodic time interval. In some embodiments, individual device location determinations are made based on RSSI information corresponding to the devices.

Device location information is tracked (e.g., stored). The presence within the zone is determined based on the device location information, and in some embodiments, information on devices in the zone and the total number of devices in the zone are stored and updated as new location determinations are made.

In some embodiments, whether a device is considered to be determined within a zone at a given time based on one or more device locations. Location determination relative to individual devices based on RSSI information may be subject to jitter as the location of the devices changes (e.g., switches between one location and another over time in the absence of device movement). In some particular cases, when the magnitude of the position jitter is greater than the physical size of a given zone, it may be challenging to determine whether the user has left that particular zone.

Whether a user is determined to be in a zone is determined based on one or more location determinations corresponding to the device. In some embodiments, the total number of users determined to be in a zone at a given time is summed and used as the determined number of devices in the zone.

In some, but not necessarily all, embodiments, the determination of whether a device is to be considered within a zone differs depending on whether the device is newly detected in the zone or has been previously detected in the zone. In some embodiments, a device newly detected as being within the zone is deemed to be present in the zone, e.g., in response to determining that the device is at a location in the zone a first number of times within a first time window. When it has been determined to be in a first zone, in some embodiments the device will continue to be considered to be within the first zone until the location of the device is determined to be a second number of times within a second time window in a different other zone. The second time window may be the same or different than the first time window.

Although the first and second numbers of times respectively for determining whether the device is initially in a zone or is deemed to have left a zone may be the same in some embodiments, the number of times the device must be detected outside the first zone (i.e. in another zone) before the device is removed (e.g. deemed to have left the first zone) is different from the number of times the device needs to be detected as having been in the first zone to be determined to be in the first zone.

In some examples, the first and second numbers and/or corresponding first and second time windows are intentionally selected to be different, wherein the second number is greater than the first number in at least some cases where the first and second time windows are the same size. Thus, in at least some embodiments, it is easier for a device to be initially determined to be within a zone than for a device to be determined to have left a zone and no longer exist in the zone.

According to yet another embodiment, a device (e.g., a UE) is considered to be in a zone if the location engine determines that the device is present within a specified time window of the zone a predetermined number of times or a predetermined number of consecutive times. In some but not necessarily all embodiments, to ensure that the device has left the zone, the location engine uses a more stringent test. In particular, if the location engine determines that the device is a particular distance away from the zone, the device is considered to be outside the zone. Thus, in this embodiment, it is easier for the device to be initially determined to be within the zone than for the device to be determined to have left the zone and no longer be present in the zone.

The determination as to whether a device is in a zone is performed on a per-zone basis. Since it is easier for a device to be initially determined to be in a zone than it has been determined to no longer be present (e.g., to have left the zone) after it has been found to be in the zone, the device may, and sometimes is, determined to be in two non-overlapping zones at the same time.

While this may result in an excessively high count of devices in the zone, the excessively high count tends to be for devices at or near the edge of the zone. For many applications involving providing service to devices and/or users of devices, it is often wrong to allow devices at the edge to be served by including devices at the edge of the zone rather than denying them to be served on the overestimated side. Thus, the disclosed methods and apparatus are well suited for counting applications that are used to control one or more device settings or the deployment of hardware to provide a service. For example, the receiver and/or transmitter of a base station providing coverage to a zone may be turned on, or the transmit power controlled based on the number of devices to which the base station is expected to provide service. In such cases, devices included on the edge of a zone that may drift in device counts into and out of the zone may be useful in determining the number of devices to which service may need to be provided at a given time.

In the case of controlling gates and/or other physical devices in a zone, as in the case of the wireless example, it may be useful to count devices detected as transitioning into and out of the zone (e.g., due to position jitter) as being in a given zone to ensure that enough gates are not locked to enable safe departure for the number of people that may be in the area or to provide sufficient service for individuals in the zone, where the number of individuals in the zone may be, and sometimes is, determined based on the number of devices determined to be in the zone or based on the number of devices determined to be in the zone.

While individual counts of devices in a zone are generated and updated for one or more zones based on individual location determinations that may be subject to jitter, in some embodiments, location determinations are made at a time of interest based on one or more zones in which a device is determined to be located at a given time. For example, if a device is determined to be located in a single zone at a time of interest, its location is determined to be in a zone. However, if the device is determined to be located in multiple zones at a given time, the device is determined to be at or near the boundary between the zones in which the device is determined to be located. The proximity of a device to a zone boundary and/or which side of a zone boundary a device is located may be, and sometimes is, determined based on the relative number of times a device is determined to be at a location in one zone as opposed to another zone within a given time window. Thus, even when the device has been determined to be in multiple zones, it is possible to determine a more specific location than the combined total area of two or more zones in which the device has been determined to be located within a given time window.

In various embodiments, in addition to determining the number of devices in a given zone of time, various features relate to determining the location of openings (e.g., doorways or other passageways) between zones. In various embodiments, the location within a zone at which a device is first detected (e.g., indicating a zone entry point corresponding to a lane) is stored and used to identify a lane between two particular zones (e.g., physically adjacent zones).

Once one or more channels between zones are identified, in some but not all embodiments, the location of the channels is considered in some embodiments to improve the reliability of the determination of whether a device is in a zone. In some embodiments, if the initial location determination in the zone corresponds to a location other than the location of the access area, the initial location determination of the device in the zone in which the device was not previously located is disregarded. In this way, the risk of incorrect determination of the device in the zone is reduced. Although the initial position determination in the zone may be disregarded, repeated position determinations in the zone will not be disregarded and the device will be counted as present in the zone. In this way, a device that is powered on or moving at a very fast speed between zones will be properly considered to be in a zone, but the risk of erroneous zone presence determinations based on RSSI information that is unreliable for short periods of time is reduced compared to systems that do not consider the lane position when making determinations whether the device should initially be considered to be within a zone.

An exemplary method according to some embodiments comprises: determining a location of the first device for each of a plurality of consecutive time periods, the determined locations forming a set of device location information; storing device location information for the consecutive time periods in a memory; determining a first zone threshold number of location determinations for use in determining whether the first device is present in the first zone; and using the determined first threshold number of location determinations and the stored location information to determine whether the first device is present in the first zone.

While various embodiments have been discussed in the above summary, it should be understood that not necessarily all embodiments include the same features, and that some of the features described above are not necessarily used for all embodiments. Many additional features, embodiments and benefits of the various embodiments are discussed in the detailed description that follows.

Fig. 1 is a depiction of an exemplary communication system 100 in accordance with an exemplary embodiment. The exemplary system 100 includes a location/zone tracking server 150, and a plurality of access points (access point 1(AP1)152, access point 2(AP2)154) coupled together (e.g., via a backhaul network, ethernet, and/or the internet). Exemplary communication system 100 also includes a plurality of wireless devices (device 1156, device 2158, device 3160, device 4162, device 5164. Wireless devices (156, 158, 160, 162, 164,..., 166) are mobile devices that may move throughout system 100 and may be tracked by a location/zone tracking server depending on location and zone presence. A wireless device (156, 158, 160, 162, 164, ·, 166) may communicate with an AP (152, 154) via wireless signals. The wireless device may transmit a signal (e.g., a reference signal) that is detected and measured by the AP (150, 152), e.g., to obtain RSSI information. An AP (e.g., AP 1152) may transmit a signal (e.g., a wireless signal, e.g., a reference signal) that is detected and measured by a wireless device (e.g., device 1156), e.g., to obtain RSSI information. RSSI measurement information from the APs and/or wireless devices is sent to a location/zone tracking server 150, which uses the information to make a location determination for one or more of the devices (156, 158, 160, 162, 164,.., 166). The location/zone tracking server 150 uses the determined location (e.g., a sliding window of a predetermined size for the most recently determined location of the device), known information about the zones (e.g., including geographic location information corresponding to the boundaries of each zone and a set of known zone entry locations for each zone), and threshold criteria to determine whether a particular device is present in a zone. When evaluating whether a device is determined to be present in a particular zone, the threshold is determined based on one or more or all of: i) whether the device was previously determined to be present in a zone, and ii) whether the device has just entered a known location (associated with the current zone in which the device is located and an adjacent zone that is physically adjacent to the current zone) as a zone entry location. According to features of various embodiments, the location and tracking server 150 may, and sometimes does, determine that a device (e.g., device 1156) is present in both zones at the same time. In various embodiments, the location/zone tracking server maintains a list of devices determined to be present in each zone and a number of devices determined to be present in each zone. The location/zone tracking server takes action with respect to the individual zones based on the number of devices determined to be present in the individual zones.

Fig. 1 also includes a floor plan layout of exemplary building 102 that has been subdivided into four (4) zones (zone 1104, zone 2106, zone 3108, zone 4110). The building includes four doors (door 1112, door 2114, door 3116 and door 4118) that are typically accessible to equipment, for example, equipment 1156 may, and sometimes does, pass through the doors (112, 114, 116, 118). Corresponding to the door 112, there is a doorway location 122 within the zone 1104 via which doorway location 122 a device (e.g., device 1156) may enter the zone 1104. Corresponding to door 112, there is also a doorway location 124 within zone 2106 via which doorway location 124 a device (e.g., device 1156) may enter zone 2106. Corresponding to the door 116, there is a doorway position 128 within the zone 4110 via which doorway position 128 a device (e.g., device 1156) may enter the zone 4110. Corresponding to the door 118, a doorway location 130 exists within the zone 3108 via which a device (e.g., device 1156) may enter the zone 3108. The location/zone tracking server 150 includes stored information corresponding to floor plans, including information specifying the location of each zone, the location of each door (112, 114, 116, 118), and the location (122, 124, 126, 128, 130) of each doorway location (e.g., an entrance location area).

In fig. 1, there is yet another potential zone entry point 120, such as a normally locked door or a newly installed door 120. Information about potential zone entry points 120 is not known or stored in location/zone tracking server 150; however, if a potential zone entry point 120 is used by a device (e.g., device 1156), the location/zone tracking server 150 may identify the entry point as a new entry point and add an area adjacent to the entry point 120 to a set of known entry point locations being maintained and used by the location zone tracking server 150. For simplicity, fig. 1 depicts a configuration with only two APs. Those skilled in the art will recognize that a typical position estimation and tracking system may employ more or fewer APs, with many systems using three or more APs.

Fig. 2 (including a combination of fig. 2A, 2B, and 2C) is a flowchart 200 of an exemplary method of operating a location/zone tracking server in accordance with an exemplary embodiment.

Operation begins in step 202, where the location/zone tracking server is powered up and initialized. Operation transitions from start operation 202 to operation 204 wherein the location/zone tracking server receives information from a user-defined zone (e.g., a non-overlapping geographic location of interest). Operation proceeds from operation 204 to operation 206. In operation 206, the location/zone tracking server stores information defining different zones (e.g., non-overlapping geographic areas in the external environment and/or in the building), where the different zones may correspond to different floors or different portions of floors of the building, for example. Operation passes from operation 206 to operation 208 and operation passes from operation 206 to operation 274 via connecting node B272. In operation 274, the location/zone tracking server initializes the zone devices and zone count information, e.g., for each of the defined zones, the location/zone tracking server sets the list of devices in the zone to an empty set and sets the total number of devices present in the zone to zero. Operation proceeds from operation 274 to operation 276 or operation 284.

Returning to operation 208, in operation 208, the location/zone tracking server receives device Received Signal Strength Indicator (RSSI) information for one or more devices. Operation proceeds from operation 208 to operation 210. In operation 210, the location/zone tracking server determines a device location for each of one or more devices that receive RSSI information on a per-device basis. Operations 208 and 210 are performed repeatedly, e.g., on an ongoing basis.

Operation proceeds from operation 210 to operation 212 in response to each iteration of operation 210. In operation 212, the location/zone tracking server tracks (e.g., stores) the determined device location from operation 210 and the time in memory that the device location refers to on a per-device basis. The memory portion 214 includes an exemplary determined device location and corresponding time information, e.g., for one iteration of the operation 210 corresponding to an exemplary time N. The memory portion 214 includes the determined location 216 of device 1 and time information 218, e.g., a timestamp value, indicating time N; the determined location 220 of device 2 and time information 222, e.g., a timestamp value, indicating time N; ...; and the determined location 224 of device N and time information 226, e.g., a timestamp value, indicating time N.

After the start-up data acquisition interval is complete, operation proceeds from the iteration of operation 212 to operation 228. Accordingly, after the start-up data acquisition interval is completed, operation proceeds from operation 212 to operation 228 in response to a set of determined device positions corresponding to a time (e.g., time N).

In operation 228, the location/zone tracking server identifies a first determined device location corresponding to the device to be processed, e.g., identifies a determined device 1 location 216 corresponding to device 1. Operation proceeds from operation 228 to operation 230.

In operation 230, the location/zone tracking server determines, for each zone, whether a device is present in the zone. For example, in one exemplary embodiment, the location/zone tracking server calls a presence determination subroutine in operation 230. In one such embodiment, the presence determination subroutine implements the method of flowchart 300 of FIG. 3.

Fig. 3 (including a combination of fig. 3A, 3B, and 3C) is a flow diagram 300 of an exemplary method of determining the presence of devices in one or more zones. Operations of the exemplary method begin in operation 302 and proceed to operation 304. In operation 304, the location/zone tracking server accesses device location information, e.g., stored device location determinations from a plurality of a priori iterations of operations 210 and 212 corresponding to a particular device (e.g., device 1). Operation proceeds from operation 304 to operation 306. In operation 306, the location/zone tracking server initializes a zone counter i to 1. Operation transfers from operation 306 to operation 308, where the location/zone tracking server sets the zone to zone (i). Thus, for the first iteration of operation 308, zone 1 is for the zone where there is an evaluation. Operation proceeds from operation 308 to operation 310.

In operation 310, the location/zone tracking server determines the number of times the device location indicates that the device is within the zone during the time window used to make the presence determination. Operation proceeds from operation 310 to operation 314 via connecting node D312.

In operation 314, the location/zone tracking server determines a zone presence determination threshold to be used for determining zone presence. Operation 314 includes operations 316, 318, 320, 322, 324, and 326. In operation 316, the location/zone tracking server determines whether the device has been determined to be in a zone based on a previous zone presence determination (e.g., the device is newly in a zone). If it is determined that the device has been determined to be present in the zone (e.g., based on a previous iteration of presence determination of the device corresponding to the zone), then operation transfers from operation 316 to operation 320, where the location/zone tracking server uses a first threshold number of location detections in the zone within a predetermined time window as the zone presence determination threshold. However, if it is determined that the device has not been determined to be present in the zone (e.g., the device is newly present in the zone), then operation transfers from operation 316 to operation 318.

In operation 318, the location/zone tracking server checks to determine whether the determined device location (e.g., the most recently determined device location for the device) corresponds to a known zone entrance (e.g., doorway) for the zone. If the determination of operation 318 is that the determined device location corresponds to a known zone entry for the zone, then operation transfers from operation 318 to operation 322 where the location/zone tracking server uses a second threshold number of location detections in the zone within the predetermined time window as the zone presence determination threshold. However, if the determination of operation 318 is that the determined device location does not correspond to a known zone entry for the zone, then operation transfers from operation 318 to operation 324, where the location/zone tracking server stores the determined device location as a possible zone entry location. Operation proceeds from operation 324 to operation 326. In operation 326, the location/zone tracking server uses the third threshold number of location detections in the zone as a zone presence determination threshold within the predetermined time window.

In some embodiments, the first threshold number is referred to as an in-zone threshold number, the second threshold number is referred to as a first out-of-zone threshold number, and the third threshold number is referred to as a second out-of-zone threshold number.

In one exemplary embodiment, the first threshold number of location detections is less than the second threshold number of location detections, and the second threshold number of location detections is less than the third number of location detections. In one exemplary embodiment, the first threshold number is 2, the second threshold number is 3, and the third threshold number is 7. Operation passes from operation 320, operation 322, or operation 326 to operation 330 via connecting node E328.

In operation 330, the location/zone tracking server determines whether a device is present in the zone based on the determined zone presence determination threshold and the number of times the device location is detected in the zone within a time window (e.g., if the predetermined length includes the time window of the current location determination time period). Alternatively, rather than counting the number of times a device is determined to be in a particular zone within a particular time window, the system makes its determination based on the number of consecutive detections of the device within the zone being greater than a predetermined threshold.

Operation 330 includes operations 332, 334, and 336. In operation 332, the location/zone tracking server determines whether the number of times the device is determined to be in a time window in a zone is greater than the determined zone presence determination threshold. If the determination of operation 332 is that the number of times the device is determined to be in the time window in the zone is not greater than the determined zone present determination threshold, then operation transfers from operation 332 to operation 334 where the location/zone tracking server determines that the device is not present in zone (i).

However, if the determination of operation 332 is that the number of times the device is determined to be in the time window in the zone is greater than the determined zone presence determination threshold, then operation passes from operation 332 to operation 336, where the location/zone tracking server determines that the device is present in zone (i). According to another embodiment, the determination in operation 332 is made based on whether the consecutive number of times the device is determined to be in the zone is greater than the determined zone presence determination threshold, rather than based on whether the number of times the device is determined to be in the time window in the zone is greater than the determined zone presence determination threshold. Operation proceeds from operation 330 to operation 338.

In operation 338, the location/zone tracking server increments the zone counter i, e.g., the location/zone tracking server sets i to i + 1. Operation proceeds from operation 338 to operation 340. In operation 340, the location/zone tracking server determines whether there are additional zones under consideration, e.g., determines whether the current value of variable i is less than the total number of zones + 1. If it is determined that there are additional zones under consideration, e.g., i is less than the total number of zones +1, then operation proceeds from operation 340 to operation 308 via connecting node F342, where the zone is changed to the next zone based on the incremental value of i from operation 338.

However, if the determination of operation 340 is that there are no additional zones under consideration, e.g., the value of the variable i is not less than the total number of zones +1, then operation passes from operation 340 to return operation 344, where the subroutine 300 returns zone presence determination information, e.g., an indication as to whether a device has been determined to be present in each of the zones. A device may, and sometimes is, determined to be present in more than one zone.

Thus, in some embodiments, the location/zone tracking server obtains zone presence determination information for the device from the invoked presence determination subroutine in operation 230. Operation proceeds from operation 230 to operation 232.

In operation 232, the location/zone tracking server updates the list of devices in each zone based on the zone presence determination of operation 230 and updates a count of the total number of devices in each zone to create a set of zone devices and count information for the indicated time period. In some embodiments, operation 232 includes operation 233, where the location/zone tracking server adds and/or removes devices from one or more existing zone lists. Operation 232 includes operation 234, wherein the location/zone tracking server aggregates the devices determined to be present in the zone to determine a total number of devices present in the zone.

Operation proceeds from operation 232 to operation 252 via connecting node a 250. In operation 252, the location/zone tracking server determines whether there is another device location corresponding to a different device but corresponding to the same time to be processed. If the determination of operation 252 is that there is another device location corresponding to a different device to be processed but corresponding to the same time, then operation passes from operation 252 to operation 254, where the location/zone tracking server identifies another determined location corresponding to another device to be processed. Operation proceeds from operation 254 to operation 230 via connecting node C256. In operation 230, the location/zone tracking server determines for each zone whether another device is present in the zone, e.g., invokes a presence determination subroutine that processes input device location determination data corresponding to the other device and returns device zone presence determinations for each of the zones. Operation then transfers from operation 230 to operation 232, where the list of devices determined to be present in each zone is updated and the total number of devices in each zone is updated.

Zone presence information 236 corresponding to time period X represents an exemplary presence determination after operations 230 and 232 have been repeated n times (e.g., where n-6) to evaluate the presence of devices in the zone for n devices. In one example, time period X includes time N, time N-1, time N-2, time N-3, time N-4, time N-5, time N-6, time N-7, time N-8, and time N-9. Exemplary zone presence information 236 includes: zone 1 list 238 of devices determined to be present in zone 1, including, for example, devices D1, D2, and D3; a total number 244 of devices determined to be present in zone 1, e.g., 3 devices; zone 2 list 240 of devices determined to be present in zone 2, including, for example, devices D4 and D5; a total number 246 of devices determined to be present in zone 2, e.g., 2 devices; a zone m list 242 of devices determined to be present in zone m, including, for example, devices D2 and D6; and a total number 248 of devices determined to be present in zone m, e.g., 2 devices.

Returning to operation 252, if the determination of operation 252 is that there is not another device location corresponding to a different device but to the same time to be processed, then the presence determination for the time period is complete and operation passes from operation 252 to operation 258.

In operation 258, the location/zone tracking server takes an action with respect to the individual zones based on the determined number of devices in the individual zones. Operation 258 includes one or more of all operations 259, 260, and 261. In operation 259, the location/zone tracking server determines wireless resources for the zone (e.g., the number of wireless transmitters and/or wireless receivers that are powering up the individual zones) based on the number of devices determined to be in the zone. In operation 260, the location/zone tracking server makes a service decision based on the number of devices determined to be in the zone. In operation 261, the location/zone tracking server enables or directs the user to a door based on the number of devices determined to be in the zone.

Operation proceeds from operation 258 to operation 262. In operation 262, the location/zone tracking server updates zone entry information. Operation 262 includes operations 263, 264, 266, 268, and 270. In operation 263, the location/zone tracking server determines whether there are any possible zone entry locations to evaluate. In some embodiments, for a possible tape-in location to be evaluated, the predetermined amount of time needs to have elapsed since the possible tape-in location was identified (e.g., in an iteration of operation 324). If the determination of operation 263 is that there are not any possible zone entry locations to evaluate, then operation passes from operation 263 to operation 266 where the location/zone tracking server operates to refrain from adding the new location to a set of known zone entry locations. However, if the determination of operation 263 is that there is at least one possible tape entry location to evaluate, then operation passes from operation 263 to operation 264 for each possible tape entry location being evaluated. In operation 264, the location/zone tracking server determines whether a device corresponding to the potential belt entry location being evaluated is determined to be present in the zone in which the potential belt entry location is located following the potential belt entry location determination time (e.g., within a predetermined time period). If the determination of operation 264 is that the device is in a zone following the potential zone entry location determination, then operation transfers from operation 264 to operation 268 where the location/zone tracking server adds the potential zone entry location to a set of known zone entry locations. However, if the determination of operation 264 is that the device is not in a zone following the potential zone entry location determination, then operation transfers from operation 264 to operation 270 where the location/zone tracking server refrains from adding the potential zone entry location to a set of known zone entry locations.

Returning to operation 276 of fig. 2C, in operation 276, the location/zone tracking server monitors for requests for information indicating which device or devices are in one or more zones. Operation 276 is performed on a continuous basis (e.g., iteratively). Operation 276 may, and sometimes does, include operation 278 in which the location/zone tracking server receives a request for information indicating which device(s) are in one or more zones. In response to operation 278, operation proceeds from operation 278 to operation 280. In operation 280, the location/zone tracking server accesses the zone information to obtain one or more lists of present devices, each zone listing devices determined to be present in the zone. Operation proceeds from operation 280 to operation 282. In operation 282, the location/zone tracking server responds to the request with a list of devices determined to be present in the one or more zones. In some embodiments, operation 282 may, and sometimes does, include operation 283 where the location/zone tracking server aggregates device presence information from multiple separate zone lists.

Returning to operation 284, in operation 284, the location/zone tracking server monitors for a request for information indicating in which particular zone the device is located. Operation 284 is performed on a continuous basis (e.g., iteratively). Operation 284 may, and sometimes does, include operation 286, where the location/zone tracking server receives a request for information indicating in which particular zone the device is located. In response to operation 286, operation proceeds from operation 286 to operation 288. In operation 288, the location/zone tracking server accesses the zone presence information to determine in which zone or zones the device has been determined to be present. Operation proceeds from operation 288 to operation 290.

In operation 290, the location/zone tracking server determines whether the device is indicated to be present in multiple zones simultaneously. If the determination of operation 290 indicates that the device is indicated to be present in multiple zones, then operation proceeds from operation 290 to operation 292. In operation 292, the location/zone tracking server determines which of a plurality of zones the device is indicated to be present in based on the device location history, e.g., in which zone the device location is in the most recent Y location determinations. According to yet another embodiment, the system calculates the probability of the device being in each of the zones by dividing the number of times the device is in a particular zone by the total number of location determinations. Operation transfers from operation 292 to operation 294 where the location/zone tracking server reports the single determined most likely zone as the zone in which the device is currently located. According to another embodiment, the location/zone tracking server reports the most likely k (e.g., 3) locations and their associated probabilities.

If the determination of operation 290 indicates that the device is not indicated to be present in multiple zones, then operation passes from operation 290 to operation 295. In operation 295, the location/zone tracking server determines whether a device is indicated to be present in a zone. If the determination of operation 295 is that the device is currently indicated to be present in one zone, then operation transfers from operation 295 to operation 296. In operation 296, the location/zone tracking server reports the one zone in which the device is indicated to exist as the zone in which the device is currently located. However, if the determination of operation 295 is that the device is not currently indicated as being present in any zone, then operation passes from operation 295 to operation 298. In operation 298, the location/zone tracking server reports which zone the device is currently located in is unknown. In some embodiments, when the location/zone tracking server does not know the current zone in which the device is located, either instead of or in addition to performing operation 298, the location/zone tracking server accesses the latest zone information corresponding to the instance in which the device is determined to be present in the at least one zone and then uses that information to find the most likely zone in which the device is then located and reports the most likely zone with time information indicating that the presence information is outdated.

FIG. 4 is a plot 400 illustrating an exemplary zone presence determining feature, according to an exemplary embodiment. Column 402 of FIG. 4 illustrates exemplary times (N-10, N-9, N-8, N-7, N-6, N-5, N-4, N-3, N-2, N-1, N) (e.g., time slots), and column 404 illustrates corresponding exemplary estimated device 1 locations for each of the indicated times. Each estimated device 1 location in column 404 is based on RSSI measurements (e.g., corresponding to a time slot). Each determined location of the device 1 is a location within one of a plurality of predetermined zones. Typically, when the jitter is less than the distance of the device from the zone boundary, the determined device 1 location maps to the same zone where the device 1 is actually located at that time. However, when the jitter is greater than the distance of the device from the zone boundary, some determined device 1 locations may, and sometimes do, map to a different zone than the zone in which device 1 is actually located at the time of the measurement; for example, the device 1 may actually be located near the boundary between 2 zones, and noise and/or reflections cause the determined device 1 position to be inaccurate. Some of the determined device 1 positions may correspond to known entrance positions for the zones, e.g. the determined device 1 positions may be within a known area as an entrance area, e.g. a doorway between a zone in which the device was most recently determined to be and an adjacent zone.

In the example of fig. 4, the newly determined device 1 location 406 corresponding to time N triggers a new presence determination. The previously stored results from the prior presence determination 410 are used as input to the presence determination subroutine. In this example, a set of device 1 positions corresponding to a window of 10 slots including the most recent slot is also used as input to the presence determination subroutine. The presence determination subroutine implementing the method of flowchart 300 of fig. 3 determines a zone presence determination threshold for a zone according to: i) whether previously stored zone presence information 410 indicates that device 1 is in a zone; and ii) whether the newly determined device 1 location 406 corresponds to a known zone entry. The presence determination subroutine 300 counts the number of instances of a set of 10 determined device 1 locations in the window 408 as a location map within the zone. As explained previously, according to another embodiment, the system counts the number of consecutive occurrences that the device is estimated to be within said zone. The presence determination subroutine 300 then compares the count of the number of instances to the determined zone presence determination threshold and determines whether the device 1 is to be determined to be present in the zone, e.g., if the count of the number of instances exceeds the threshold, the device 1 is determined to be present in the zone. The result is stored in newly generated presence determination information 412. The procedure repeats for each of the zones and for each of the devices (e.g., mobile terminals being evaluated).

In some embodiments, the newly generated zone presence determination information 412 is generated as a new set of data. In some other embodiments, previously stored zone presence information 410 is amended to generate newly generated zone presence information 412, e.g., device 1 may be added to the previous zone presence member list, device 1 may be removed from the previous zone presence member list, or device 1 may be allowed to remain on the previous zone 1 member list. Zone count information is updated based on the new window being evaluated. In some embodiments, the removal from the list of presence within a zone is dependent on the device being detected a distance D away from the zone from which it was removed or outside the zone for a minimum set period of time (e.g., a predetermined period of time).

The example of fig. 4 has described presence determination for one device (device 1); it should be understood, however, that the presence determination subroutine implementing the method of flowchart 300 of fig. 3 typically processes determined location information corresponding to multiple devices (e.g., device 1, device 2,... or device n), e.g., as described with respect to fig. 2 and 3.

Fig. 5 is a plot 500 illustrating an actual location of an exemplary device 1156, device 156, and RSSI-based location determination moving within a zone 2106 that is used to make zone presence determinations, in accordance with an exemplary embodiment. Drawing 500 illustrates a device 1156 moving within building 102 of system 100 along a path 502. The small black circles (504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544) along the path 502 identify the actual locations of the devices 1156 at different times. The small black triangles (505, 507, 509, 511, 513, 515, 517, 519, 521, 523, 525, 527, 529, 531, 533, 535, 537, 539, 541, 543, 545) are determined RSSI-based device 1 locations corresponding to actual device 1 locations (504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544), respectively. The location/zone tracking server 150 makes a location determination based on the received RSSI information corresponding to the device 1. In the example of fig. 5, device 1156 remains in zone 2106; however, the two position determinations (527, 531) corresponding to actual positions (526, 530) are within zone 4110, respectively.

Fig. 6 is a depiction of a table 600 corresponding to the example of fig. 5, the table 600 being used to illustrate an example zone presence threshold number determination and an example zone presence determination, in accordance with an example embodiment. The table 600 includes: a first column 602, which includes actual device 1 locations (each entry is identified by an element number of FIG. 6); and a second column 604 comprising the determined device 1 location (each entry being identified by an element number of fig. 6). The entries in columns 602 and 604 represent, for example, GPS information, such as GPS coordinates, or latitude/longitude coordinates or predetermined grid coordinates. A third column 606 in table 600 identifies the zone in which the determined device 1 location of column 604 is located. A fourth column 608 in table 600 identifies the number of determined locations in zone 2 within a window of size 10. A fifth column 610 in table 600 identifies the determined threshold number determined for zone 2 presence of device 1. The sixth column 612 in table 600 identifies zone 2 device 1 presence determination results. A seventh column 614 in table 600 identifies the number of determined locations in zone 4 within a window of size 10. An eighth column 616 in table 600 identifies the determined threshold number determined for zone 4 presence of device 1. A ninth column 618 in table 600 identifies zone 4 device 1 presence determination results.

In this example, the location/zone tracking server 150 collects a window of 10 RSSI location determinations prior to making a zone presence determination based on the data. The zone presence determination is initialized to a non-presence state as indicated by the entries of column 612 and column 618 of row 620.

An exemplary value determination for row 621 will now be described. The number of determined locations in zone 2 (row 621, column 608) is determined by counting the number of instances in the first 10 entries of column 606 for which the zone number is 2, which is 10. The determined threshold number (row 621, column 608) for zone 2 is determined based on: a previous zone present determination (row 620, column 612) indicating absence; and whether the most recent RSSI-based location determination (row 621, column 604) is located within a known zone entry area, which is not located within it. Thus, the determined threshold number for zone 2 is set to 7. Zone 2 device 1 presence determination entry (row 621, column 612) is determined to be present because the number of determined locations in zone 2 within the window (row 621, column 608), which is 10, is greater than the threshold (row 621, column 610), which is 7.

The number of determined locations in zone 4 (row 621, column 614) is determined by counting the number of instances in the first 10 entries of column 606 for which the zone number is 4, which is 0. The determined threshold number of zones 4 (row 621, column 616) is determined based on: a previous zone present determination (row 620, column 618) indicating absence; and whether the most recent RSSI-based location determination (row 621, column 604) is located within a known zone entry area, which is not located within it. Thus, the determined threshold number for zone 4 is set to 7. Zone 4 device 1 presence determination entry (row 621, column 618) is determined to be absent because the number of determined locations (row 621, column 614), which is 0, in zone 4 within the window is not greater than the threshold (row 621, column 616), which is 7.

An exemplary value determination for row 622 will now be described. The number of determined locations in zone 2 (row 622, column 608) is determined by counting the number of instances in the second through eleventh entries of column 606 for which the zone number is 2, which is 10. The determined threshold number of zone 2 (row 622, column 608) is determined based on: a previous zone present determination (row 621, column 612) indicating presence; and whether the most recent RSSI-based location determination (row 622, column 604) is located within a known zone entry area, which is not located therein. Thus, the determined threshold number (row 622, column 610) for zone 2 is set to 2. Zone 2 device 1 presence determination entry (row 622, column 612) is determined to be present because the number of determined locations in zone 2 within the window (row 622, column 608), which is 10, is greater than the threshold (row 622, column 610), which is 2.

The number of determined locations in zone 4 (row 622, column 614) is determined by counting the number of instances in the second through eleventh entries of column 606 for which the zone number is 4, which is 0. The determined threshold number of zones 4 (rows 622, columns 616) is determined based on: a previous zone present determination (row 621, column 618) indicating absence; and whether the most recent RSSI-based location determination (row 622, column 604) is located within a known zone entry area, which is not located therein. Thus, the determined threshold number (row 622, column 616) for zone 4 is set to 7. Zone 4 device 1 presence determination entry (row 622, column 618) is determined to be absent because the number of determined locations (row 622, column 614), which is 0, in zone 4 within the window is not greater than the threshold (row 622, column 616), which is 7.

An exemplary value determination for row 623 will now be described. The number of determined locations in zone 2 (row 624, column 608) is determined by counting the number of instances in the third through twelfth entries of column 606 for which the zone number is 2, which is 9. The determined threshold number of zone 2 (row 623, column 608) is determined based on: a previous zone presence determination (row 622, column 612) indicating presence; and whether the most recent RSSI-based location determination (row 623, column 604) is located within a known zone entry area, which is not located therein. Thus, the determined threshold number for zone 2 (row 623, column 610) is set to 2. Zone 2 device 1 presence determination entries (row 623, column 612) are determined to be present because the number of determined locations (row 623, column 608), which is 9, in zone 2 within the window is greater than a threshold (row 623, column 610), which is 2.

The number of determined locations in zone 4 (row 624, column 614) is determined by counting the number of instances in the third through twelfth entries of column 606 for which the zone number is 4, which is 1. The determined threshold number of zones 4 (row 623, column 616) is determined based on: a previous zone present determination (row 622, column 618) indicating absence; and whether the most recent RSSI-based location determination (row 623, column 604) is located within a known zone entry area, which is not located therein. Thus, the determined threshold number (row 623, column 616) for zone 4 is set to 7. Zone 4 device 1 presence determination entries (row 623, column 618) are determined to be absent because the number of determined locations (row 623, column 614), which is 1, in zone 4 within the window is not greater than a threshold (row 623, column 616), which is 7.

The process repeats for additional rows of the table 600. It may be observed that once a device has been determined to be present, it requires a relatively large number of zone external location determinations in the sliding window to be evaluated as declaring to no longer be present in the zone. It may also be observed that it is relatively difficult for a device determined to be absent to be determined to be present in a zone when the entry location is not within a known set of entry locations. This intentional selection of different thresholds for determining presence facilitates stability in zone presence determination and allows rejection of stray location determinations.

Fig. 7 is a plot 700 illustrating an exemplary device 1156 moving from zone 2106 to zone 1104 via a known ingress location area 122 (e.g., a doorway of a door 112 between zone 1 and zone 2), an actual location of device 156, and an RSSI-based location determination of device 156 used to make zone presence determinations, according to an exemplary embodiment. Plot 700 illustrates a continuation of the motion of fig. 5. Plot 700 illustrates movement of device 1156 within building 102 of system 100 along path 702, which is a continuation of path 502 of fig. 5. The small black circles (504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, 704, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730) along paths 502 and 702 identify the actual locations of devices 1156 at different times. The small black triangles (505, 507, 509, 511, 513, 515, 517, 519, 521, 523, 525, 527, 529, 531, 533, 535, 537, 539, 541, 543, 545, 705, 707, 709, 711, 713, 715, 717, 719, 721, 723, 725, 727, 729, 731) are the determined RSSI-based device 1 locations corresponding to the actual device 1 locations (504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, 704, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730), respectively. The location/zone tracking server 150 makes a location determination based on the received RSSI information corresponding to the device 1. In the example of fig. 7, device 1156 moves from zone 2106 to zone 1104, where the device passes through door 112 and enters known zone 1 entry area 122 (the channel between zone 1 and zone 2).

Fig. 8 is a depiction of a table 800 corresponding to the example of fig. 7, the table 800 being used to illustrate an example zone presence threshold number determination and an example zone presence determination, in accordance with an example embodiment. Table 800 includes: a first column 802, which includes actual device 1 locations (each entry is identified by an element number of FIG. 8); a second column 804 including the determined device 1 location (each entry is identified by an element number of fig. 8). The entries in columns 802 and 804 represent, for example, GPS information, such as GPS coordinates, or latitude/longitude coordinates or predetermined grid coordinates. A third column 806 in table 800 identifies the zone in which the determined device 1 location of column 804 is located. The fourth column 808 in table 800 identifies the number of determined locations in zone 2 within a window of size 10. The fifth column 810 in table 800 identifies the determined threshold number determined for device 1 zone 2 presence determination. The sixth column 812 in table 800 identifies zone 1 device 1 presence determination results. A seventh column 814 in table 800 identifies the number of determined locations in zone 1 within a window of size 10. An eighth column 816 in table 800 identifies the determined threshold number determined for zone 1 presence determination for device 1. A ninth column 818 in table 800 identifies zone 1 device 1 presence determination results.

The values in table 800 of fig. 8 are determined in a similar manner as described with respect to table 600 of fig. 6. Some differences illustrating the various features will now be described. The determined threshold number of zone 1 (row 850, column 816) is determined to be 3 because the previous presence determination (row 849, column 818) indicates no presence, the zone (row 850, column 806) in which the determined device 1 position is located indicates zone 1, and the determined device 1 position (row 850, column 804) (reference numeral 713 of fig. 7) is located within zone 1 entry area 122, and the position/zone tracking server knows that position 713 is within the entry area 122 of zone 1 and determines to use value 3 instead of value 7 for the threshold. This lower threshold facilitates a rapid presence determination in the new zone because entries pass through known entry areas and the likelihood that a device has entered the new zone is high compared to when the device appears in the new zone via an area that is not known as an entry area of a zone.

In row 856, it may be observed that zone 1 device 1 presence determination changes to present because the number of determined positions in zone 1 within a sliding window of size 10 is 4, which is greater than a threshold of 3. In row 858, it can be observed that the determined threshold number of zone 1 changes to 2, with the previously determined presence determination (row 856, column 818) of zone 1 indicating presence.

It can also be observed that in the examples of fig. 7 and 8, there are overlapping time intervals corresponding to rows (856, 858, 860, and 862) where device 1 is determined to be present in both zones (zone 2 and zone 1) simultaneously.

Fig. 9 is a drawing of an exemplary location/zone tracking server 900 in accordance with an exemplary embodiment. For example, the location/zone tracking server 900 is the location/zone tracking server 150 of fig. 1, 5, and/or 7. The server 900 includes a communication interface 902, a processor 904 (e.g., a CPU), an input device 906 (e.g., a keyboard), an output device 908 (e.g., a display), and components of a component 910 (e.g., components of a hardware component (e.g., a circuit)) and memory 912 coupled together via a bus 914 over which the various elements (902, 904, 906, 908, 910, 912) of the server 900 can exchange data and information. The communication interface 902 includes: a receiver 916, via which receiver 916 server 900 can receive signals including messages from other devices (e.g., access points, other network nodes, etc.); and a transmitter 918 via which the server can send signals including messages to other devices. A communication interface 902 (e.g., an ethernet interface, a power over ethernet interface, or another interface) couples the server 900 to an access point, a network node, other nodes, one or more networks, and/or the internet. Exemplary received signals received via receiver 916 include signals conveying information defining zones, signals conveying device RSSI information corresponding to wireless devices, signals conveying requests for information indicating which device or devices are in one or more zones, and signals conveying requests for information indicating a request for information indicating in which particular zone a device is located. Exemplary transmitted signals transmitted via transmitter 918 include signals conveying reports of a single determined most likely zone in which the delivery device is currently located, and signals conveying a list of devices determined to be in one or more zones.

Memory 912 includes routines 920 and data/information 924. Routine 920 includes components of component 922 (e.g., components of software components).

Fig. 10 (including a combination of fig. 10A, 10B, 10C, 10D, and 10E) is a drawing of an exemplary assembly of component 1000 (including portion a1001, portion B1003, portion C1005, portion D1007, and portion E1009) according to an exemplary embodiment. For example, the components of the component 1000 are included in the location/zone tracking server 150 of fig. 1, 5, and 7 and/or in the location/zone tracking server 900 of fig. 9.

The exemplary components of component 1000 may be in a server (e.g., server 900) and implement steps of an exemplary method (e.g., steps of the method of flowchart 200 of fig. 2 and/or flowchart 300 of fig. 3).

The components of the assembly of components 1000 may be, and in some embodiments are, implemented entirely in hardware within the processor 904, e.g., as separate circuits. The components in the assembly of component 1000 may be, and in some embodiments are, implemented entirely in hardware within the assembly of component 910, e.g., as separate circuits corresponding to the different components. In other embodiments, some of the components are implemented (e.g., as circuitry) within the processor 940, where other components are implemented, for example, as circuitry external to the processor 904 and within components of the component 910 coupled to the processor 904. It should be appreciated that the level of integration of components on the processor and/or some components external to the processor may be one of design choice. Alternatively, rather than being implemented as circuitry, all or some of the components may be implemented in software and stored in the memory 912 of the server 900, where the components control the operation of the server to implement the functions corresponding to the components when the components are executed by a processor (e.g., the processor 904). In some such embodiments, components of component 1000 are included in memory 912 as components of component 922. In other embodiments, various ones of the components of the assembly 1000 are implemented as a combination of hardware and software, for example, wherein another circuit external to the processor 904 provides input to the processor 904, which processor 904 then operates under software control to perform a portion of the component's functionality. Although processor 904 is shown in the fig. 9 embodiment as a single processor (e.g., computer), it is to be understood that processor 904 may be implemented as one or more processors (e.g., computers).

When implemented in software, the components include code that, when executed by the processor 904, configures the processor 904 to perform the functions corresponding to the components. In embodiments where components of component 1000 are stored in memory 912, routine 920 is a computer program product comprising a computer-readable medium including code (e.g., separate code for each component) for causing at least one computer (e.g., processor 904) to implement the corresponding functionality of the component.

Either entirely hardware-based or entirely software-based components may be used. However, it should be understood that any combination of software and hardware (e.g., circuit-implemented components) can be used to implement the functionality. It should be understood that the components illustrated in fig. 10 control and/or configure the server 900, or elements therein, such as the processor 904, to perform the functions of the corresponding steps illustrated in and/or described in the methods of one or more of the flow charts, signaling diagrams, and/or described with respect to any of the figures. Accordingly, the components of component 1000 include various components that perform the corresponding one or more described and/or illustrated steps of the example methods described and/or illustrated by server 900 (e.g., the steps of the method of flowchart 200 of fig. 2 and/or the steps of the method of flowchart 300 of fig. 3) and/or described or illustrated with respect to any of the other figures.

The assembly of the component 1000 comprises: a component 1004 configured to operate the server to receive (e.g., via receiver 916 or via input device 606) information defining a zone (e.g., a non-overlapping geographic location of interest), for example, from a user; and a component 1006 configured to store information defining, for example, different zones (e.g., non-overlapping geographic locations (e.g., areas) of interest) in the external environment and/or the building, wherein, for example, the different zones may correspond to different floors or different portions of floors. The assembly of component 1000 further includes: a component 1008 configured to operate the server to receive device RSSI information (e.g., via a receiver 916) for one or more devices; a component 1010 configured to determine device location on a per-device basis (e.g., based on received RSSI information); and a component 1012 configured to track (e.g., store) the determined device locations and the times involved in each determined device location on a per-device basis in memory. The assembly of parts further comprises: means 1028 configured to identify a first determined device location for the device corresponding to process 1028, the first determined location included in a window of time corresponding to a determined location of the device to be used for determining that a zone exists for the device. The assembly of component 1000 further includes: a component 1030 configured to determine, for each zone, whether a device is present in the zone (e.g., a component configured to invoke a presence determination routine (e.g., the within-zone presence determination subroutine 1100)), and receive a presence determination result corresponding to the device returned from the presence determination routine.

The assembly of component 1000 further includes: a component 1032 configured to update the list of devices in each zone and update a count of the total number of devices in each zone to create a set of zone devices and count presence information for the indicated time period, e.g., the list of devices determined to be present in each zone and the number of devices determined to be present in each zone. In some embodiments, component 1032 includes: a component 1033 configured to add and/or remove devices from one or more existing zone lists (e.g., an existing zone list corresponding to a previous time period for which presence information was determined). In some embodiments, a completely new list is determined for each time period in which the evaluation device is present. The component 1032 includes: a component 1034 configured to aggregate the devices determined to be devices in the aggregated zone (e.g., aggregate the devices determined to be present in the zone) to determine a total number of devices in the zone (e.g., a total number of devices determined to be present in the zone).

The assembly of the component 1000 comprises: a component 1052 configured to determine whether there is another device location corresponding to a different device but to the same time to be processed and to control operation according to the determination; and a component 1054 configured to identify another determined device location corresponding to another device to be processed.

The assembly of component 1000 further includes: a component 1058 configured to take an action with respect to the individual zones based on the determined number of devices in the individual zones. Section 1058 includes: a component 1059 configured to determine wireless resources for a zone, e.g., a number of wireless transmitters and/or wireless receivers serving an individual zone to power up based on a number of devices determined to be in the zone (e.g., determined to be present in the zone); a component 1060 configured to make a service decision based on a number of devices determined to be in a zone (e.g., determined to be present in a zone); and a component 1061 configured to enable a door or direct a user to a door based on the number of devices determined to be in a zone (e.g., determined to be present in a zone).

The assembly of component 1000 further includes: a component 1062 configured to update the zone entry location information. Part 1062 includes: a component 1063 configured to determine whether there are any possible tape entry locations to evaluate and control operation according to the determination; a component 1064 configured to determine whether a device corresponding to the potential tape entrance position is determined to exist in a zone in which the potential tape entrance position is located following the potential tape entrance position determination time (e.g., within a predetermined time period), and control the operation according to the determination. Component 1062 further includes: a component 1068 configured to add the potential zone entry location to a set of known zone entry locations, e.g., in response to determining that the device is in a zone in which the potential zone entry location is located at a time following the potential zone entry location determination. Component 1062 further includes: a component 1066 configured to control the server to refrain from adding the new location to a set of known zone entry locations in response to determining that there is no likely zone entry location to evaluate; and a component 1070 configured to control the server to refrain from adding the potential tape entry location being evaluated to a set of known tape entry locations, e.g., in response to determining that the time device does not remain in a tape of the potential tape entry location following the potential tape entry determination.

The assembly of component 1000 further includes: means 1074 configured to initialize the zone devices and zone count information, e.g. for each of the defined zones, set the list of devices in the zone to an empty set and the total number of devices in the zone to zero. The assembly of component 1000 further includes: means 1076 configured to monitor for requests for information indicating which device or devices are in one or more zones. Component 1078 includes a component configured to operate a server to receive a request for information indicating which device or devices are in one or more zones. The assembly of component 1000 further includes: means 1080 configured to access the zone information to obtain one or more zone lists of present devices, each zone list listing devices determined to be present in a zone; and means 1082 configured to respond to the requested list with a list of devices determined to be present in the one or more zones. The part 1082 includes: a component 1083 configured to aggregate information from the plurality of individual zone lists. In some embodiments, the component 1082 is configured to operate the server 900 to generate a response message including a list of devices determined to be present in response to a previously received request, and to transmit the response message via the transmitter 918.

The assembly of component 1000 further includes: a component 1084 configured to monitor for a request for information indicating in which particular zone the device is located. The part 1084 includes: a component 1086 configured to operate the server to receive a request (e.g., via receiver 916) for information indicating in which particular zone the device is located. The assembly of component 1000 further includes: a component 1088 configured to access the zone information to determine in which zone one or more devices have been determined (e.g., based on a most recent zone determination corresponding to a device). The assembly of component 1000 further includes: means 1090 configured to determine whether a device is indicated to be present in multiple zones simultaneously and to control operation according to the determination; a component 1092 configured to determine which of a plurality of zones the device is indicated to be present in based on the location history, e.g., in which zone the device location is in the most last Y location determinations; and a component 1094 configured to report a single determined most likely zone as the zone in which the device is currently located. In some embodiments, the component 1094 is configured to generate a response message and operate a transmitter (e.g., transmitter 918) to send the generated response message reporting a single determined most likely zone in which the device is currently located.

The assembly of component 1000 further includes: a component 1095 configured to determine whether a device is indicated to be present in one zone (e.g., only one zone) and control operation according to the determination; a component 1096 configured to report one zone in which the device is determined to be present as the zone in which the device is currently located (e.g., in response to a determination that the device is determined to be present in one zone); and a component 1098 configured to report that the zone in which the device is currently located is unknown (e.g., in response to determining that the device is not currently listed as being present in any of the zones based on the most recent presence determination).

The components of the component 1000 also include an in-zone presence determining component 1100 (e.g., an in-zone presence determining subroutine) comprising a portion a1101 and a portion B1103. The in-zone presence determining section 1100 includes: a component 1104 configured to access device location information; a component 1106 configured to initialize a zone counter i-1; a component 1108 configured to set the variable zone to zone (i); a component 1110 configured to determine a number of times a device location indicates that the device is within a zone during a time window for making a zone presence determination; and component 1114 configured to determine a zone presence determination threshold to be used for determining a zone presence. Part 1114 includes: a component 1116 configured to determine whether the device is already in a zone based on a previous zone presence determination, e.g., to determine whether the device is newly in a zone and to control operation according to the determination; means 1120 configured to use a first threshold number of location detections in a zone as a zone presence determination threshold in response to determining that a device has been determined to be in a zone based on a previous zone presence determination; a component 1118 configured to determine whether the determined device location corresponds to a known zone entrance location (e.g., a doorway) and to control operation in accordance with the determination; means 1122 configured to use the second threshold number of location detections in the zone as a zone presence determination threshold in response to determining that the determined device location corresponds to a known zone entry location for the zone; a component 1124 configured to store the determined device location as a likely zone entry location, e.g., in response to determining that the determined device location does not correspond to a known entry location for the zone; and means 1126 configured for using a third threshold number of location detections in a zone as a zone presence determination threshold in response to determining that the determined device location does not correspond to a known zone entry location for the zone.

The component 1100 further comprises: a component 1130 configured to determine whether a device is present in a zone based on the determined zone presence determination threshold and the number of times the device location is detected as being in the zone within a time (e.g., within a time window (e.g., within a predetermined time window including a current location determination time period)). The component 1130 includes: a component 1132 configured to determine whether a number of times the device is determined to be in a time window in a zone is greater than the determined zone presence determination threshold and to control operation according to the determination; means 1134 configured to determine that the device is not present in zone (i) in response to determining that the device is determined to be not more than the determined zone presence determination threshold a number of times in the zone; and means 1136 configured to determine that the device is present in zone (i) in response to determining that the device is determined to be present in the zone a number of times greater than the determined zone presence determination threshold.

The component 1100 further comprises: a component 1138 configured to increment a zone counter i, e.g., set i ═ i + 1; component 1140 configured to determine whether there are additional zones to consider, e.g., determine whether a zone counter variable i is less than the total number of zones +1, and control operation according to the determination; a component 1142 configured to initiate an evaluation of device presence in another zone in response to determining that there are additional zones to evaluate; and a component 1144 configured to return zone presence determination information for the device in response to determining that no additional zones are to be evaluated.

Fig. 11 is a depiction of exemplary data/information 1150 that may be included in a location/zone tracking server in accordance with an exemplary embodiment. Data/information 1150 is, for example, data/information 924 of location/zone tracking server 900 of fig. 9 or is included in data/information 924 of location/zone tracking server 900 of fig. 9. The data/information 1150 includes received information 1152 defining zones, a list 1153 of known zone entry locations for each zone, received RSSI information 1154 for one or more devices, a determined location 1156 of a device based on the received RSSI information, e.g., a table including the determined location of each of a plurality of wireless devices being tracked, e.g., where the location determination is performed at predetermined time intervals and/or according to a predetermined schedule. The data/information 1150 also includes a window size 1158 for location determination using RSSI in device presence determination. In some embodiments, the window size is a function of the type of device and/or the speed of the device.

The data/information 1150 also includes a determined zone presence threshold 1160 for the zones and devices, e.g., an intermediate value determined and used by the zone presence determination subroutine, and a determined zone presence for the devices for each of the one or more zones 1162, e.g., output information from the zone presence determination subroutine.

The data/information 1150 also includes determined zone presence information 1164 for time period X. The determined zone presence information 1164 for the time period X includes information corresponding to a plurality of zones ((zone 1 list 1166 of devices determined to be present in zone 1, total number of zones 1 of devices determined to be present 1168),. -%, (zone m list 1170 of devices determined to be present in zone m, total number of zones m of devices determined to be present 1172)). The data/information 1150 also includes information 1174 identifying devices determined to be added as present to the zone list of devices determined to be present in the zone and information 1176 identifying devices determined to be removed from the zone list of devices determined to be present in the zone. The data/information 1150 also includes determined zone presence information 1178 for time period X + 1. The determined zone presence information 1178 for time period X +1 includes information corresponding to a plurality of zones ((zone 1 list 1180 of devices determined to be present in zone 1, zone 1 total 1182 of devices determined to be present)), ((zone m list 1184 of devices determined to be present in zone m, zone m total 1186 of devices determined to be present)).

Data/information 1150 also includes an in-zone presence determination threshold 1187 (e.g., a value of 2), a first out-of-zone presence determination threshold 1188 (e.g., a value to be used for a known zone entry location, e.g., a value of 3), and a second out-of-zone presence determination threshold 1189 (e.g., a value to be used for a location of a non-known zone entry location, e.g., a value of 7). The data/information 1150 also includes identification of potential new zone entry locations 1190, receipt requests 1191 for devices present in one or more zones, generation responses 1192 to report devices present in one or more zones, receipt requests 1193 for zones and/or locations (e.g., the precise location within the zone in which the device is located), and generation responses 1194 indicating an estimate of the most likely zone and device location in which the device is currently located (e.g., determined based on a predetermined number of the most recent device locations).

Fig. 12 is a plot 1200 illustrating use by a device of a first zone presence determination threshold, which is an intra-zone threshold. Plot 1200 illustrates an exemplary device 1156 of system 100 of fig. 1 that has been located in zone 2106 for a long time (e.g., greater than a threshold number of RSSI-based location determination times). Location/zone tracking server 150 has previously determined that device 1156 is present in zone 2, absent in zone 1, absent in zone 3, and absent in zone 4. Stored zone presence information 1202 (e.g., stored in location/zone tracking server 150 or in the illustrated data store) indicates that device 1156 is only present in zone 2. The most recent RSSI-based location determination of device 1156 performed by location/zone tracking server 150 is indicated by solid black triangle 1204, and the determined location 1204 is located within zone 2106. Location/zone tracking server 150 knows that determined location 1204 is within zone 2106 because the server includes information (e.g., geographic information) corresponding to the zone. In this example, the location/zone tracking server 150 determines that the intra-zone presence determination threshold (e.g., a value of 2) is used in connection with performing the new zone presence determination corresponding to zone 2 because the stored zone presence information indicates that the device 1156 is present in zone 2.

Fig. 13 is a plot 1300 illustrating use by a device of a second region presence determination threshold, which is a first out-of-band threshold corresponding to a determined location of the device within a known region entry area. Plot 1300 illustrates an exemplary device 1156 of system 100 of fig. 1 that has been located in zone 2106 for a long time (e.g., greater than 10 RSSI-based position determination times). Location/zone tracking server 150 has previously determined that device 1156 is present in zone 2, absent in zone 1, absent in zone 3, and absent in zone 4. As indicated by block 1302, the stored zone presence information (e.g., stored in location/zone tracking server 150) indicates that device 1156 is only present in zone 2. The most recent RSSI-based location determination of device 1156 performed by location/zone tracking server 150 is indicated by solid black triangle 1304, and the determined location 1304 is located within zone 1106. Location/zone tracking server 150 knows that determined location 1304 is within zone 1104 because the server includes information (e.g., geographic information) corresponding to the zone. The determined location 1304 is within the known zone entry area 122, which is the zone entry area of zone 1104. Location/zone tracking server 150 also knows that determined location 1304 is within a known zone entry area for zone 1104 because the server includes information (e.g., geographic information) corresponding to the known zone entry location. In this example, location/zone tracking server 150 determines to use a first out-of-zone presence determination threshold (e.g., a value of 3) with respect to performing a new zone presence determination corresponding to zone 1104 because the stored zone presence information indicates that device 1156 is not present in zone 1 and the latest RSSI-based location determination 1304 for device 1 is located in a known zone entry area for zone 2, which is area 122.

Fig. 14 is a plot 1400 illustrating use by a device of a third zone presence determination threshold, which is a second out-of-zone threshold corresponding to a determined device position outside of a known zone entry area within a zone. Plot 1400 illustrates an exemplary device 1156 of system 100 of fig. 1 that has been located in zone 2106 for a long time (e.g., greater than 10 RSSI-based position determination times). Location/zone tracking server 150 has previously determined that device 1156 is present in zone 2, absent in zone 1, absent in zone 3, and absent in zone 4. As indicated by block 1402, the stored zone presence information (e.g., stored in location/zone tracking server 150) indicates that device 1156 is only present in zone 2. The most recent RSSI-based location determination of device 1156 performed by location/zone tracking server 150 is indicated by solid black triangle 1404, and the determined location 1404 is located within zone 4110. Location/zone tracking server 150 knows that determined location 1404 is within zone 4110 because the server includes information (e.g., geographic information) corresponding to the zone. Location/zone tracking server 150 also knows that the determined location 1404 is not within a known zone entry area for zone 4110 because the server includes information (e.g., geographic information) corresponding to the known zone entry location. In this example, location/zone tracking server 150 determines that a second out-of-zone presence determination threshold (e.g., a value of 7) is used in connection with performing a new zone presence determination corresponding to zone 4110 because the stored zone presence information indicates that device 1156 is not present in zone 4110 and that the latest RSSI-based location determination 1404 for device 1 is not located in a known zone entry area for zone 4110.

Fig. 15 is a plot 1500 illustrating another example of a third zone presence determination threshold used by a device, which is a second out-of-zone threshold corresponding to a determined device position outside of a known zone entry area within a zone. The plot 1500 illustrates an example device 1156 of the system 100 of fig. 1 that has been located in zone 4110 for a long time (e.g., greater than 10 RSSI-based location determination times). Location/zone tracking server 150 has previously determined that device 1156 is present in zone 4110, absent from zone 1104, absent from zone 2106, and absent from zone 3108. As indicated by block 1502, the stored zone presence information (e.g., stored in location/zone tracking server 150) indicates that device 1156 is only present in zone 4. The latest RSSI-based location determination of the device 1156 performed by the location/zone tracking server 150 is indicated by the solid black triangle 1504 and the determined location 1504 is located within a zone 3108. The location/zone tracking server 150 knows that the determined location 1504 is within the zone 3108 because the server includes information (e.g., geographic information) corresponding to the zone. The location/zone tracking server 150 also knows that the determined location 1504 is not within a known zone entry area for the zone 3108 because the server includes information (e.g., geographic information) corresponding to the known zone entry location. In this example, the location/zone tracking server 150 determines that a second out-of-zone presence determination threshold (e.g., a value of 7) is used in connection with performing the new zone presence determination corresponding to zone 3108 because the stored zone presence information indicates that the device 1156 is not present in zone 3108 and the latest RSSI-based location determination 1504 for device 1 is not located in a known zone entry area for zone 3108.

In this example of fig. 15, location zone tracking server 150 has stored location 1504 as a potential new zone entry location. In this example, device 1156 actually enters zone 3106 through new gate 120. The location/zone tracking server 150 will then test as to whether the potential new zone entry location is a valid entry location for zone 3, e.g., based on a subsequent location determination for device 1156. In this example, the device 1156 remains in the zone 3108 after entering the zone 3108, e.g., for a relatively long time, e.g., over 20 RSSI-based position determination time intervals. In this example, the test verifies that the potential zone entry location is a valid zone entry location, and the server 150 adds a new entry to its stored list of known zone entry locations for zone 3108, the added new entry defining an area in zone 3108 as an entry area, which includes location 1504. According to yet another embodiment, rather than marking a particular zone as an entry, the system notifies the operator of an anomaly with respect to RSSI-based calculations in that particular area.

Fig. 16 (including a combination of fig. 16A, 16B, 16C, 16D, and 16E) is a flowchart 1600 of an exemplary method of operating a device (e.g., a server, e.g., a location/zone tracking server) in accordance with an exemplary embodiment. The method of flowchart 1600 is implemented, for example, by location/tracking server 150 of fig. 1, 5, and 7 and/or by location/tracking server 900 of fig. 9.

Operation begins in operation 1602, where the server is powered up and initialized. Operation proceeds from start operation 1602 to operation 1604. Operation also transitions from operation 1602 to operation 1672 via connecting node a 1670. In addition, operation proceeds from operation 1602 to operation 1682 via connecting node B1680.

Returning to operation 1604, in operation 1604, the server receives a received signal strength indication corresponding to a signal received by the first device or transmitted by the first device and received by another device (e.g., an access point). Operation 1604 is performed on an ongoing basis, e.g., according to a predetermined schedule and/or at a predetermined rate, respectively. Operation proceeds from operation 1604 to operation 1606.

In operation 1606, the server determines a location of the first device for each of a plurality of consecutive time periods, the determined locations forming a set of device location information. Operation 1606 includes operation 1608, wherein the server determines a location of the first device at the one or more points in time using the received signal strength indication (e.g., RSSI information). Operation proceeds from operation 1606 to operation 1610.

In operation 1610, the server stores device location information for the consecutive time periods in a memory. Operation proceeds from operation 1610 to operation 1614 via connecting node C. In operation 1614, the server determines a first zone threshold number of location determinations for determining whether the first device is present in the first zone. Operation 1614 includes operations 1616, 1618, 1620, and 1622. In operation 1616, the server checks the stored information to determine: i) whether the stored information indicates that the first device is absent from the first zone, e.g., based on a lack of the first device from a list of devices in the first zone, or ii) whether the stored information indicates that the first device is present in the first zone. Operation proceeds from operation 1616 to operation 1618.

In operation 1618, if the determination of operation 1616 based on the stored information is that the first device is not present in the first zone, then operation transfers from operation 1618 to operation 1620. In operation 1618, if the determination of operation 1616 based on the stored information is that the first device is present in the first zone, then operation transfers from operation 1618 to operation 1622.

In operation 1622, the server determines the first zone threshold number as an in-zone threshold number.

Returning to operation 1620, in operation 1620, the server determines the first zone threshold number as an out-of-zone threshold number. Operation 1620 includes operations 1621, 1624, 1626, and 1628. In operation 1621, the server determines that the first device location indicates that the first device has newly entered the first zone. Operation proceeds from operation 1621 to operation 1624. In operation 1624, the server determines whether the first device has newly entered the first zone at a location of a known entry location. If the operation of operation 1624 is that the first device has newly entered the first zone at a location of a known entry location, then operation proceeds from operation 1624 to operation 1626. In operation 1626, the server uses a first out-of-zone threshold when the first device is determined to have newly entered a first zone at a location of a known ingress location. If the operation of operation 1624 is that the first device has newly entered the first zone at a location other than the known entry location, then operation proceeds from operation 1624 to operation 1628. In operation 1628, the server uses a second out-of-band threshold when the first device is determined to have newly entered the first band at a location other than the known entry location.

In some embodiments, the first zone threshold number is lower when the stored information indicates that the first device has been determined to be present in the first zone based on previous location information than when the stored information indicates that the first device is not present in the first zone. In some embodiments, the server uses a higher number of the first threshold number when it is determined that the stored information indicates that the first device is not in the first zone than when the stored information indicates that the first device is in the first zone.

Operation proceeds from operation 1614 to operation 1630. In operation 1630, the server uses the determined first zone threshold number of location determinations and the stored location information to determine whether the first device is present in the first zone. For each iteration of operation 1630, the server performs one of operations 16301 and 16302. In operation 16301, the server determines that the first device is present in the first zone, e.g., in response to the determined number of first device locations being greater than a first zone threshold number in the evaluation window determined to be located within the first zone. In operation 16302, the server determines that the first device is not present in the first zone, e.g., in response to the determined number of first device locations in the evaluation window determined to be located within the first zone not being greater than the first zone threshold number. Operation 1630 may, and sometimes does, include operation 1631, wherein the server detects entry of the first device into the first zone. Operation passes from operation 1630 to operation 1634 via connecting node D1632.

In operation 1634, the server determines a second zone threshold number for location determination to determine whether the first device is present in the second zone. Operation 1634 includes operations 1636, 1638, 1640, and 1642. In operation 1636, the server checks the stored information to determine: i) whether the stored information indicates that the first device is not present in the second zone or ii) whether the stored information indicates that the second device is present in the second zone. Operation proceeds from operation 1636 to operation 1638.

In operation 1638, if operation 1636 based on the stored information determines that the first device is not present in the second zone, then operation transfers from operation 1638 to operation 1640. In operation 1638, if the determination of operation 1636 based on the stored information is that the first device is present in the second zone, then operation transfers from operation 1638 to operation 1642.

In operation 1642, the server determines the second threshold number of zones as the threshold number of zones.

Returning to operation 1640, in operation 1640, the server determines the second threshold number of zones as the out-of-zone threshold number. Operation 1640 includes operations 1641, 1644, 1646, and 1648. In operation 1641, the server determines that the first device location indicates that the first device has newly entered the second zone. Operation proceeds from operation 1641 to operation 1644. In operation 1644, the server determines whether the first device has newly entered the second zone at a location of a known ingress location. If operation 1644 is such that the first device has newly entered the second zone at a location where the entry location is known, then operation proceeds from operation 1644 to 1646. In operation 1646, the server uses the first out-of-band threshold when the first device is determined to have newly entered the second band at the location of the known ingress location. If the determination of operation 1644 is that the first device has newly entered the second zone at a location other than the known entry location, then operation proceeds from operation 1644 to 1648. In operation 1648, the server uses a second out-of-zone threshold when the first device is determined to have newly entered a second zone at a location other than the known entry location.

In some embodiments, the second threshold number of zones is lower when the stored information indicates that the first device has been previously determined to be in the second zone than when the stored information indicates that the first device is not present in the second zone.

In some embodiments, the first threshold number of zones is less than the second threshold number of zones when the stored information indicates that the first device was previously determined to be present in the first zone and indicates that the first device is not present in the second zone.

In some embodiments, the stored information may, and sometimes does, indicate that the first device is present in a plurality of different non-overlapping geographical zones simultaneously.

Operation proceeds from operation 1634 to operation 1650. In operation 1650, the server uses the determined second threshold number of zones of the determined location determination and the stored location information to determine whether the first device is present in the second zone. For each iteration of operation 1650, the server performs one of operation 16501 and operation 16502. In operation 16501, the server determines that the first device is present in the second zone, e.g., in response to the determined number of first device locations in the evaluation window determined to be located within the second zone being greater than a second zone threshold number. In operation 16502, the server determines that the first device is not present in the second zone, e.g., in response to the determined number of first device locations in the evaluation window determined to be located within the second zone not being greater than the second zone threshold number. Operation 1650 may, and sometimes does, include operation 1651, where the server detects entry of the first device into the second zone. Operation proceeds from operation 1650 to operation 1654 via connecting node E1652.

At operation 1654, the server updates stored zone information comprising information for a plurality of zones, the first zone being one of the plurality of zones, the stored information comprising a list of devices determined to be in the first zone. Operation 1654 includes operation 1655, operation 1656, and/or operation 1658, depending on the embodiment and the determination being made. In operation 1656, the server updates the zone information in memory to add and delete devices determined to be in the first zone from information corresponding to first zone devices that were previously determined to be in the first zone but were not determined to be in the first zone during the current time. In some embodiments, in operation 1655, the stored zone information is updated by removing the device from being listed as being outside the first zone in response to the device being determined to be outside the first zone by a distance D or further. In some cases, once determined to be in a zone, the device will be listed in the zone until it is determined to be at a distance D or further from the zone or it is no longer detected as being in the zone for a particular period of time (e.g., a predetermined period of time).

In an embodiment in which operation 1654 includes operation 1658, in operation 1658 the server updates the zone information in memory to add devices determined to be in the second zone and to delete devices from information corresponding to second zone devices that were previously determined to be in the second zone but were not determined to be in the second zone during the current time.

Operation 1654 may, and sometimes does, include operation 1657. In operation 1657, the server updates the known location entry into the first zone to include the location known to have entered the first zone by the first device, e.g., the server adds the new entry location to a list of known entry locations for zone 1.

Operation 1654 may, and sometimes does, include operation 1659. In operation 1659, the server updates the known location entry into the second zone to include the location known to have entered the second zone by the first device, e.g., the server adds the new entry location to the list of known entry locations for zone 2.

Operation proceeds from operation 1654 to operation 1660. In operation 1660, the server determines a control operation to be performed based on the updated zone information, the control operation being one of: radio resource control operations and facility control operations. In some embodiments, the control operation powers up the plurality of wireless transmitters/receivers on the access points in the zone based on the determined number of devices present in the zone. In some embodiments, the facility control operation is, for example, turning on a light, controlling a ventilation amount, and/or unlocking or indicating a position of an exit door selected as available for use based on the determined device location information. In at least some embodiments, operation 1660 includes performing the determined control operation.

Returning to operation 1672, in operation 1672, the server continuously monitors for requests for a number of devices in a set of non-overlapping zones. Operation 1672 may, and sometimes does, include operation 1674, where the server receives a request for a number of devices in a set of non-overlapping zones. Operation proceeds from operation 1674 to operation 1670.

In operation 1670, the server responds to the request for the number of devices in the set of non-overlapping zones. Operation 1670 includes an operation 1678 in which the server provides information indicating a number of devices determined to be in the zones of the set, the total number of devices in the system being less than the number of devices indicated to be in the non-overlapping zones of the set when the devices are simultaneously indicated in more than one of the non-overlapping zones.

Returning to operation 1682, in operation 1682, the server continuously monitors for requests for information for determining in which zone or zones the first device is. Operation 1682 may, and sometimes does, include operation 1684, wherein the server receives a request for information indicating which zone the first device is located in. Operation proceeds from operation 1684 to operation 1686.

In operation 1686, the server accesses the zone information to determine which zone or zones the first device is in. Operation proceeds from operation 1686 to operation 1687, where a determination is made as to whether the first device is in one or both zones. If the first device is in one zone, operation proceeds to operation 1688, but if the first device is in two zones, operation proceeds to operation 1692.

In operation 1688, the server determines that the first device is in one non-overlapping zone based on the access zone information. Operation proceeds from operation 1688 to operation 1690, where the first device responds to the request for information by indicating that the first device is located in one non-overlapping zone determined based on the accessed zone information.

In operation 1692, the server determines that the first device is in two non-overlapping zones based on the access information. Operation proceeds from operation 1692 to operation 1694. In operation 1694, the server determines, based on the first device location information, in which of two non-overlapping zones the first device is most likely to be located when the first device is determined to be simultaneously present in the plurality of non-overlapping zones. Operation transfers from operation 1694 to operation 1696, where the server responds to the request for information by indicating that the first device is located in a zone determined to be the most likely one of the plurality of non-overlapping zones in which the first device is determined to exist.

Various aspects and/or features of some embodiments will now be described. Various features relate to a method for identifying population density in real-time and initiating a process for improving services for the population. Under certain conditions, the method may predict population density even before the user is adversely affected by the increase in population density.

A system in accordance with at least some of the disclosed embodiments continuously monitors messages between a wireless device, such as a User Equipment (UE), and an Access Point (AP). More specifically, the system monitors the Received Signal Strength Indicator (RSSI) from each mobile device at many Access Points (APs) and uses it to determine the location of the user carrying the mobile device.

A first operation in one exemplary process of identifying population density is to define a region of interest of the population density of interest. We will refer to these regions of interest as zones. The zones may be defined by the system administrator by entering geometric parameters of the zones (such as X Y coordinates for rectangular or square zones), entering the center and radius of a circular zone, and so forth. Similarly, a system administrator may use a mouse or stylus to draw zones on a map presented on a screen of a device (such as a PC, mobile phone, tablet, etc.). According to yet another embodiment, zones may be defined by proximity to a particular access point. For example, the location determination server may determine that the user is: if its RSSI measured from AP1 is greater than 30, then in zone 1, if its RSSI measured from AP2 is greater than 20 and its RSSI measured from AP3 is greater than 50, then in zone 2. According to yet another embodiment, more complex RSSI-based zones may be defined by incorporating complex mathematical/logical RSSI relationships. For example, a device may be defined as being in a particular zone if its RSSI measured from AP1 is greater than 30 and less than 40, and its RSSI measured from AP2 is greater than 35 and less than 42.

Once the boundaries of the various zones have been defined, the various APs of the system monitor the RSSI from each User Terminal (UT). According to particular embodiments, each UT measures the RSSI of signals it receives from multiple Access Points (APs) and reports the values to a location engine attached to the wireless network. The location of each UT is determined by a location engine attached to the wireless network. For each UT, the location engine receives RSSIs corresponding to multiple APs and determines a location of the UT based on the reported RSSIs. RSSI is measured periodically (e.g., once per second) and used to update the location of each UT.

Similarly, rather than determining location by each UE measuring RSSI from various APs and reporting it to the location management system via the associated AP, one skilled in the art will appreciate that the same result can be derived in a system in which each AP measures RSSI from each UE and reports it to the location management server accordingly.

In either case, RSSI measurements are taken periodically (e.g., once per second), and thus the user's location is estimated based on these RSSI measurements. In a particular example, the location management system estimates the location of each UE once per second.

Each zone has an associated population counter that tracks the number of users (number of visitors) within that particular zone. Each count in the population counter has an associated user id and a timestamp indicating the time that a particular user/visitor entered a particular zone. When a subscriber enters a zone at a first time, the counter is incremented and a new entry is created with the subscriber ID and the time the subscriber entered the zone. While the subscriber remains in the zone, each time the zone engine cooperates with the location engine to report that the subscriber is still in the zone, the timestamp associated with that particular subscriber is updated to reflect the last time the subscriber has been identified as being in the particular zone. The subscriber is considered to enter a zone in a location where the engine detects that the presence of the subscriber in the zone exceeds a first threshold T1 (e.g., 3) a consecutive number of times. According to an alternative embodiment, a user is considered to enter a particular zone if he is present within the zone boundary more than a first threshold number of times within a given time period.

The zone location management server continuously monitors the coordinates of each user. If the system determines that the user is outside the zone more than a predetermined second threshold number of times T2 (e.g., 4), the system checks to see if the user is further than a predetermined distance (e.g., 2 feet) from the zone. The system marks the subscriber as being outside the zone only if the subscriber moves outside the zone beyond a predetermined distance. Upon determining that the subscriber has left the particular zone, the location management server removes the subscriber from the particular zone and decrements the demographic counter for that zone by one. In addition, the entry for a particular user Id and its associated timestamp are removed from the population counter for that particular zone. According to one embodiment, the system estimates the magnitude of jitter in the position determination and uses it to determine the threshold D. For example, the system may, and often does, set the threshold D equal to the magnitude of the jitter. By removing a subscriber from a zone only when the subscriber has been identified as at least a distance from zone D, the system ensures that resources are deallocated from a zone only when it is determined that the subscriber (or subscribers) is moving away from the zone.

The determination of the user's location based on RSSI measurements is prone to errors due to noise in the RSSI. Even when the user is stationary in a particular location, successive RSSI-based location estimates yield slightly different location estimates. Jitter in the estimated user location challenges the system to determine the user's ability to be in a particular zone. For small zones and large jitter, the UE may appear as if the user is continuously moving into and out of the zone based on RSSI-based location estimation.

Various methods of disambiguating the location of users in a particular zone are described. The use of a particular disambiguation method is determined by the particular application of the count of users in the zone.

According to one particular exemplary embodiment, a subscriber is counted as being in a particular zone if the subscriber is observed at least T1 times in that zone within a particular time window W. For example, a user is observed three times within a zone within a time window of five consecutive seconds. Due to the uncertainty in identifying the precise location of the user, the method may count users as being in multiple zones simultaneously. This may occur when the zones are adjacent and the user is located close to the boundary between two (or more) zones. In many scenarios, it is beneficial to count users as being in multiple zones. For example, two adjacent stores may want to place advertisements in their windows. By counting users that are close to both stores, each store can obtain the number of potential shoppers adjacent to its window or entrance. Similarly, a count of the number of people in a zone, and in particular a particular zone, may be used to determine how many people are in a particular queue waiting for service. When the system determines that the queue becomes longer than a certain threshold L, a new service station (e.g., a store checkout point of sale) may be opened. Similarly, the system may identify the number of visitors in the queue for a particular ride in the amusement park. When the length of the queue for a particular ride exceeds a particular threshold L, a new ride may be opened to relieve the load on the congested ride, thus increasing the satisfaction of the visitor.

According to yet another preferred method, the system counts the number of times the user is identified as being within a particular zone within a particular time period P. During a particular time period, users may be identified as being within multiple zones. For example, a user may be identified C1 times in zone 1, C2 times in zone 2, and Cn times in zone k for a given period of time. In this case, a heat map of the user's location may be plotted based on the percentage of time the user has identified in each zone. The heat map shows the users as C1/(C1+ C2+ … + Ck) in zone 1, C2/(C1+ C2+ … + Ck) in zone 2, and so on. As described above, heatmaps are used to determine the number of visitors in each zone and thus the locations for placing advertisements, dynamically determine the number of servers required at any time to serve users waiting in a queue, determine the utilization of rooms and thus help determine which meeting should be held in which room, determine the size and location of the crowd at the end of an event (e.g., baseball game), and based thereon determine when and how many exit doors should be opened, and so on.

According to another embodiment, a new set of zones may be defined. Specifically, assume that the starting set of zones is defined as { Z1, Z2, … Zn }. As discussed above, the system determines the number of times (or consecutive times) the mobile device is within each of the zones { C1, C2, … Cn }. The probability of the mobile device in a particular zone i can then be estimated by Ci/(C1+ C2+ … + Cn). According to this embodiment, a new set of more granular zones may be defined based on these estimated probabilities. For example, if the probability Ci/(C1+ C2+ … + Cn) > Pi, for all 1< i < n, the mobile terminal may be defined as being in a particular new zone.

As described above, the same procedure is used for all UEs associated with the network, and as such the system can and often does detect the number of users in each zone. Further, the system may identify the path traversed by each user and use this information to allocate resources to optimize the user's experience. For example, the resource may be a particular advertisement. In a shopping mall, if the system identifies multiple UEs exiting from a men's store to a hallway, the system may and often does display advertisements for men's merchandise. Similarly, if the system identifies multiple UEs exiting the hallway from a women's store, the system may, and often does, display advertisements for women's merchandise.

Embodiments herein may be better understood by reference to the following description taken in conjunction with the accompanying drawings, in which like reference numerals identify identical or functionally similar elements.

Fig. 17 is a diagram of an exemplary system 2100 implemented in accordance with an exemplary embodiment. The exemplary system 2100 includes a physical location 2120, such as a business, shopping mall, stadium, city street, and so forth. The access points AP12131 to AP X2135 locate throughout the physical location and provide wireless connectivity to the user equipment UE 12151 to UE Z2155. The access points AP12131 to AP X2135 are connected to a network 2170 such as an intranet, the internet, etc. via links 2191 and 2192. The resources RES 12161 to RES Y2165 are located throughout the physical location 2120. These resources are connected to network 2170 via links 2193 and 2194. Based on the number of users (or population density) in each zone, the type and level/amount of resources is controlled by the resource management system 2145. The resource management system is connected to the network 2170 via link 2195. The number of users in each zone is determined by the location management system 2140, which is connected to the network via link 2196. In an exemplary embodiment, a web/content server 2160, which is connected to network 2170 via link 2197, stores content (such as videos and advertisements) and presents it to various resources, such as video displays 2161-2165, based on instructions from resource management system 2145.

As explained above, for example, the location of the UE1 may be determined by: the UE 12151 is caused to measure the RSSI of the radio signals it receives from AP12131 to AP X2135 and report these RSSIs to the location management system 2140 via the APs associated with it and connected to the network 2170. Alternatively, AP12131 to AP X2135 may measure the RSSI of the signals they receive from UE1 and report it to location management system 2140 via network 2170 to location management system 2140.

FIG. 18 is an exemplary illustration 2200 of a physical location, such as location 2120 of FIG. 17. This location has an entrance 2210, four rooms/stores with corresponding doors 2211, 2212, 2213 and 2214. The rooms may be reached via a corridor connecting the respective room with the main entrance. The access points AP 12231, AP 22232, and AP 32233 (such as access points AP12131 to AP X2135 of fig. 17) locate throughout the physical location and provide wireless connectivity to user equipment (such as UE 12251 and UE 22252) (similar to UE 12151 to UE Z2155 of fig. 17). Displays DISP 12261, DISP 22262, DISP32263, DISP 42264, DISP 52265, DISP 62266, DISP 72267, and DISP 82268 (such as resources RES 12161 through RESY 2165 of fig. 17) are located throughout the physical location. The content to be projected on these displays is controlled by the asset management system (such as block 2145 of fig. 17).

FIG. 19 is the exemplary illustration 2200 of FIG. 18 with an add zone definition configured by a system administrator. Zone 12281, zone 32283, zone 42284, and zone 72287 are used to determine in which store the UE is. Zone 22282, zone 52285, zone 62286, and zone 82288 are used to determine the UEs in the hallway and the particular portion of the hallway in which the UEs are located.

Fig. 20 is a depiction of an exemplary access point 2300, such as access points AP12131 through APX 2135 of fig. 17, in accordance with an exemplary embodiment.

The access point 2300 includes a wired interface 2330, wireless interfaces 2336, 2342, a processor 2306 (e.g., a CPU), a memory 2312, and components of the module 2308 (e.g., components of a hardware module, e.g., components of a circuit) coupled together via a bus 2309 over which the various elements can exchange data and information. Wired interface 2330 includes a receiver 2332 and a transmitter 2334. A wired interface couples the access point 2300 to a network and/or the internet 2170 of fig. 17. The first wireless interface 2336 can support a Wi-Fi interface (e.g., an 802.11 interface) including a receiver 2338 coupled to a receive antenna 2339 via which an access point can receive wireless signals from a communication device (e.g., a wireless terminal), and a transmitter 2340 coupled to a transmit antenna 2441 via which the access point can transmit wireless signals to the communication device (e.g., a wireless terminal). The second wireless interface 2342 may support a bluetooth interface including a receiver 2344 coupled to a receive antenna 2345 via which the access point may receive wireless signals from a communication device (e.g., a wireless terminal), and a transmitter 2346 coupled to a transmit antenna 2347 via which the access point may transmit wireless signals to the communication device (e.g., a wireless terminal).

Memory 2312 includes routines 2314 and data/information 2316. Routines 2314 include components of module 2318 (e.g., components of software modules), and Application Programming Interfaces (APIs) 2320. Data/information 2316 includes configuration information 2322, message event stream capture 2324, and in particular embodiments collects action 2326, such as forwarding measurements of RSSI from UEs to a location management system, and/or measuring RSSI from various UEs and forwarding the measurements to a location management system (such as 2140 of fig. 17).

Fig. 21 is a drawing of an exemplary location management system 2400 (e.g., a location management server (such as block 2140 of fig. 17), a resource management server (such as block 2145 of fig. 17)), according to an exemplary embodiment. In some embodiments, location management system 2400 of fig. 21 is location management system 2140 of fig. 17. The location management system 2400 includes a communication interface 2430 (e.g., an ethernet interface), a processor 2406, an output device 2408 (e.g., a display, a printer, etc.), an input device 2410 (e.g., a keyboard, a keypad, a touch screen, a mouse, etc.), a memory 2412, and a component 2440 of a module (e.g., a component of a hardware module, e.g., a circuit) coupled together via a bus 2409 over which various elements can exchange data and information.

Communication interface 2430 couples position monitoring system 2400 to a network and/or the internet. Communication interface 2430 includes a receiver 2432 via which the location monitoring system can receive data and information, e.g., RSSI measured by each UE indicating the signal strength each UE receives from various APs, RSSI measured by each AP indicating the signal strength each AP measures from each UE. The communication interface 2430 also includes a transmitter 2434 via which the location monitoring system reports to a resource manager (such as block 2145 of fig. 17) the zones in which the various users were identified, the history of locations traversed by each UE, and the population density in each zone.

Memory 2412 includes routines 2414 and data/information 2417. The routine 2414 includes components 2418 of a module (e.g., components of a software module), and an Application Programming Interface (API) 2420. Data/information 2417 includes configuration information 2422; a stream of captured message events 2424, such as messages with various RSSI measurements (or just various RSSI measurements); and a set of actions to be taken 2426 based on various RSSI measurements, such as determining an event that a UE enters or leaves a particular zone.

Fig. 22 is a drawing of an exemplary client, such as UE 2500 (e.g., user equipment UE 12151 to UE Z2155 of fig. 17), according to an exemplary embodiment.

The UE 2500 includes a wired interface 2502, a wireless interface 2504, a processor 2506 (e.g., a CPU), a memory 2512, and a component 2516 of modules (e.g., a component of a hardware module, e.g., a circuit) coupled together via a bus 2509 over which bus 2509 various elements can exchange data and information. Wired interface 2502 includes a receiver 2520 and a transmitter 2522. The wired interface couples the UE 2500 to the network and/or internet 2170 of fig. 17.

Wireless interface 2504 includes a cellular interface 2524, a first wireless interface 2526 (e.g., an 802.11WiFi interface), and a second wireless interface 2528 (e.g., a bluetooth interface). The cellular interface 2524 includes a receiver 2532 coupled to a receiver antenna 2533, via which receiver antenna 2533 the user device can receive wireless signals from an access point (e.g., AP12131 to AP X2135 of fig. 17), and a transmitter 2534 coupled to a transmit antenna 2535, via which transmit antenna 2535 the user device can transmit wireless signals to AP12131 to AP X2135 of fig. 17. The first wireless interface 2526 may support a Wi-Fi interface (e.g., an 802.11 interface), including a receiver 2536 coupled to a receive antenna 2537 via which the UE may receive signals from a communication device (e.g., an AP), and a transmitter 2538 coupled to a transmit antenna 2539 via which the UE may transmit wireless signals to the communication device (e.g., an AP). The second wireless interface 2528 may support a bluetooth interface, including a receiver 2540 coupled to a receive antenna 2541, via which 2541 the UE may receive signals from a communication device (e.g., an AP), and a transmitter 2542 coupled to a transmit antenna 2543, via which 2543 the UE may transmit wireless signals to the communication device (e.g., an AP).

Memory 2512 includes routines 2528 and data/information 2517. The routines 2528 include components 2515 of modules (e.g., components of software modules). Data/information 2517 may include configuration information as well as any additional information required for normal operation of UE 2500.

Fig. 23 is a depiction of an exemplary web/content server 2600 in accordance with an exemplary embodiment. In some embodiments, web/content system 2600 of fig. 23 is/content system 2160 of fig. 17. Web/content system 2600 includes a communication interface 2630 (e.g., an ethernet interface), a processor 2606, an output device 2608 (e.g., a display, a printer, etc.), an input device 2610 (e.g., a keyboard, a keypad, a touch screen, a mouse, etc.), a memory 2612, and a component 2640 of a module (e.g., a component of a hardware module, e.g., a circuit) coupled together via a bus 2609 over which the various elements can exchange data and information.

Communication interface 2630 couples web/content server 2600 to a network and/or the internet, such as network 2170 of fig. 17.

The communication interface 2630 includes a receiver 2632 via which 2632 the web/content server may receive control information, e.g., instructions on which content should be presented on the various display screens DISP 12261, DISP 22262, DISP32263, DISP 42264, DISP 52265, DISP 62266, DISP 72267, and DISP 82268 of fig. 18. The communication interface 2430 also includes a transmitter 2434 via which the web/content server presents content to each of the displays in the zones.

The storage 2612 includes routines 2614 and data/information/content 2617. Routine 2614 includes components 2618 of modules (e.g., components of software modules), as well as Application Programming Interfaces (APIs) 2620. The data/information/content 2617 includes configuration information 2622, content 2624 and a set of actions to be taken 2626 based on instructions from the resource management server 2145.

Fig. 24 is a flow diagram illustrating an embodiment of a process 2700 in which it is assumed that at least one UE is not marked as being in a zone. The method describes a process by which the location management system determines whether the UE should be marked as being in a particular zone. The process begins at operation 2705 and passes to operation 2710, where a system administrator defines the boundaries of a zone. The administrator may do so by entering the coordinates of each zone, determining the shape of each zone, and entering the parameters of the shape (e.g., entering the X, Y coordinates of a polygon, or drawing the shape of each zone on a computer screen, etc.). Alternatively, the boundaries of each zone may be programmed into the system.

The process passes to operation 2715, where each UE receives radio signals from multiple beacons (such as access points AP12131 to AP X2135 of fig. 17), measures the RSSI of each of the received signals, and forwards it to the location management system 2140 of fig. 17 via the associated AP. According to an alternative embodiment, multiple APs (such as AP12131 to AP X2135 of fig. 17) measure the RSSI they receive from each of user equipment UE 12151 to UE z 2155 and forward it to the location management system 2140 of fig. 17.

In either case, the method proceeds to operation 2720, where the location management system 2140 of fig. 17 estimates X, Y coordinates of each UE using the RSSI signals. The method then passes to operation 2725, where the system checks X, Y the coordinates and determines if the coordinates fall within any of the zones defined in operation 2710. The determination is made separately for each zone and the process of forwarding from the operation is repeated for each of the predetermined zones.

If the calculated X, Y coordinates of the UE do not fall within the predetermined zone, the method continues to operation 2730, where the method decrements the counter if the in-zone UE counter for the particular zone is greater than zero. The process then loops through all other zones.

Once each of the zones is checked, the process loops back to operation 2715 and waits for the next set of messages with RSSI measurements.

However, if it is determined in operation 2725 that the X, Y coordinates of the UE fall within the particular zone, the process passes to operation 2740, where the method determines whether the user has been marked in the particular zone. If it is determined that the subscriber has been marked as being in the zone, the method passes to operation 2745, where it maintains the subscriber as being in the zone. The method loops to operation 2725 (not shown) and checks if the user should also be marked as being in other zones. Once all zones are checked, the process loops back to operation 2715 and waits for the next set of messages with RSSI measurements.

However, if the method determines in operation 2740 that the UE has not been marked as in the particular zone, the method passes to operation 2750, where an intra-zone UE counter for the UE and the particular zone is incremented.

The method moves to operation 2755, where the in-zone UE counter is compared to a predetermined threshold. If the in-zone UE counter is less than the threshold, the method loops to operation 2725 (not shown) and checks if the user should also be marked as being in other zones. Once all zones are checked, the process loops back to operation 2715 and waits for the next set of messages with RSSI measurements.

However, if it is determined in operation 2755 that the in-zone counter is equal to the threshold or greater than the threshold, the method moves to operation 2760, where the subscriber is marked as being in a particular zone. As part of adding a subscriber to a zone, the number of UEs in that particular zone is incremented and the updated count of subscribers in that zone is provided to the resource management system 2145 of fig. 17. Resource management uses its internal policies to determine whether actions should be taken to modify resource allocation in the overall system.

The method then moves to operation 2770, where the resource allocation management system 2145 of fig. 17 determines whether the new count of UEs in the particular zone requires any change in the allocation of overall system resources. For example, the system may determine whether a new change in the demographic profile requires a change in the advertisement being presented or to be presented to a particular display.

The method loops to operation 2725 (not shown) and checks if the user should also be marked as being in other zones. Once all zones are checked, the process loops back to operation 2715 and waits for the next set of messages with RSSI measurements.

Fig. 25 is a flow diagram illustrating an embodiment of a process 2800 in which it is assumed that a UE has been marked as being in at least one particular zone. The process describes a method for the location management system to determine whether the UE should be removed from being marked in a particular zone or alternatively marked as not being in a particular zone. The method begins in operation 2805 and passes to operation 2810, where a system administrator defines boundaries of a zone. This operation is similar to operation 2710 of process 2700, and according to one embodiment, operation 2710 and operation 2810 are the same process that may be performed at different times or simultaneously. The method passes to operation 2815, which may be the same process as described in operation 2715 of fig. 24, and the process similarly continues to operation 2820.

The method then proceeds to operation 2820, which is the same as operation 2720, where the system determines X, Y coordinates for the UE based on the RSSI signal, as explained above. In operation 2825, the method checks whether the X, Y coordinates of the UE are within the boundaries of any particular zone. The process of operation 2825 is performed for each of the particular zones for which the UE is marked as being in that zone.

If operation 2825 determines that the user is still in the zone, the process moves to operation 2830 where the out-of-zone UE counter is reset to zero. According to another embodiment, if the out-of-band UE counter is greater than zero, the out-of-band UE counter is only decremented instead of being reset to zero. The process then loops back to operation 2825 (not shown) and performs the same check for all zones for which the UE is marked as being in that zone. When all zones are checked, the process loops back to operation 2815 where the system obtains new RSSI information and the process repeats.

However, if it is determined X, Y that the coordinates are outside of a particular zone in operation 2825, the method passes to operation 2840, where the system determines whether the UE is sufficiently far from the zone. In particular, as explained above, the system administrator configures the distance D (which is the required distance that the UE needs to be away from the zone) in order to trigger an out-of-zone event. Alternatively, the distance D may be a preprogrammed parameter of the system. According to one particular embodiment, the method draws a circle of radius D around the X, Y coordinates of the UE (which was calculated in operation 2820). If the circle of radius D does not overlap the zone, then the operation determines that the UE is farther from the zone than D.

If it is determined in operation 2840 that the UE is not far enough, the procedure proceeds to operation 2830. However, if operation 2840 determines that the UE is outside the zone by at least a distance of D, the process passes to operation 2850, where the out-of-zone UE counter is incremented.

The process flows to operation 2855, where the method checks whether the out-of-band UE counter is greater than a predetermined second threshold. If it is determined that the out-of-zone UE counter is equal to or greater than the predetermined second threshold, the method proceeds to operation 2860, where the UE is marked as being outside of the particular zone and all corresponding counters are adjusted accordingly. In particular, the number of UEs in a zone is decremented and a new count is reported to the resource management system 2145 of fig. 17.

The process flows to operation 2865, where the resource management system may check for new distributions of UEs in various zones and may reduce or change the resources allocated to a particular zone.

The process then loops back to operation 2825 (not shown) and performs the same check for all zones for which the UE is marked as being in that zone. When all zones are checked, the process loops back to operation 2815 where the system obtains new RSSI information and the process repeats.

Similarly, if the method determines in operation 2855 that the out-of-band UE counter is less than the predetermined second threshold, the method loops back to operation 2825 (not shown) and performs the same check for all zones for which the UE is marked as being in that zone. When all zones are checked, the process loops back to operation 2815 where the system obtains new RSSI information and the process repeats.

Fig. 26, 27 and 28 illustrate examples of marking UEs in a particular zone. More particularly, fig. 26, 27 and 28 illustrate the functionality of thresholds T1 and T2 with respect to marking a UE as transitioning between zones (an exit event from one zone and an entry event into another zone). For simplicity, we assume that the distance D of fig. 25 is set to zero, that the two zones Z1 and Z2 are adjacent, and that the UE moves from zone Z1 to zone Z2.

Example 1:

referring to plot 2900 of fig. 26, the first example checks the behavior of location management system 2140 when the system administrator sets T1 equal to T2 (e.g., T1-T2-3). At times 0 and 1, assume that the UE has been marked as being in zone Z1. At time 2, the location management system identifies the X, Y coordinates of the UE as being outside of zone Z1 and in zone Z2. The location management system updates the out-of-band UE counter for UE and zone Z1 to 1 and the in-zone UE counter for UE and zone 2 to 1. At time 3, the location management system again identifies the X, Y coordinates of the UE as being outside of zone Z1 and in zone Z2. The location management system updates the out-of-band UE counter for UE and band Z1 to 2 and the in-band UE counter for UE and band 2 to 2. At time 4, the location management system again identifies the X, Y coordinates of the UE as being outside of zone Z1 and in zone Z2. The location management system updates the out-of-band UE counter to 3 for UE and zone Z1 and the in-zone UE counter to 3 for UE and zone 2. At this point, since the counter is equal to its respective threshold T1-T2-3, the UE is identified as being consecutive 3 times outside zone Z1 and 3 consecutive times in zone Z2. Thus, at time 4, once the UE leaves zone 1, it is immediately marked as being in zone 2.

Example 2:

referring to the plot 3000 of fig. 27, the second example checks the behavior of the location management system 2140 when the system administrator sets T1 to be greater than T2 (e.g., T1-4 and T2-3). At times 0 and 1, assume that the UE has been marked as being in zone Z1. At time 2, the location management system identifies the X, Y coordinates of the UE as being outside of zone Z1 and in zone Z2. The location management system updates the out-of-band UE counter for UE and zone Z1 to 1 and the in-zone UE counter for UE and zone 2 to 1. At time 3, the location management system again identifies the X, Y coordinates of the UE as being outside of zone Z1 and in zone Z2. The location management system updates the out-of-band UE counter for UE and band Z1 to 2 and the in-band UE counter for UE and band 2 to 2. At time 4, the location management system again identifies the X, Y coordinates of the UE as being outside of zone Z1 and in zone Z2. The location management system updates the out-of-band UE counter to 3 for UE and zone Z1 and the in-zone UE counter to 3 for UE and zone 2. At this point, the UE is marked as being outside zone Z1 because the out-of-zone UE counter for the UE and zone Z1 is equal to the threshold T2-3. However, since the in-zone UE counter for the UE and zone Z2 is still less than the value of threshold T1 ═ 4, the UE has not yet been marked as being in zone Z2. At time 5, the location management system again identifies the X, Y coordinates of the UE as being outside of zone Z1 and in zone Z2. Since the UE is marked as outside zone Z1, the location management system does not need to update the out-of-zone UE counters for the UE and zone Z1. However, the intra-zone UE counter for UE and zone 2 is updated to 4. At this point, since the intra-zone UE counter for the UE and zone Z2 is equal to the threshold T1-4, the UE is marked as being in zone Z2 at time 5.

Example 3:

referring to drawing 3100 of fig. 28, a third example checks the behavior of location management system 2140 when the system administrator sets T1 to be less than T2 (e.g., T1-3 and T2-4). At times 0 and 1, assume that the UE has been marked as being in zone Z1. At time 2, the location management system identifies the X, Y coordinates of the UE as being outside of zone Z1 and in zone Z2. The location management system updates the out-of-band UE counter for UE and zone Z1 to 1 and the in-zone UE counter for UE and zone 2 to 1. At time 3, the location management system again identifies the X, Y coordinates of the UE as being outside of zone Z1 and in zone Z2. The location management system updates the out-of-band UE counter for UE and band Z1 to 2 and the in-band UE counter for UE and band 2 to 2. At time 4, the location management system again identifies the X, Y coordinates of the UE as being outside of zone Z1 and in zone Z2. The location management system updates the out-of-band UE counter to 3 for UE and zone Z1 and the in-zone UE counter to 3 for UE and zone 2. At this point, the UE remains marked as in zone Z1 because the out-of-zone UE counter for the UE and zone Z1 is less than the threshold T2-4. However, since the intra-zone UE counter for the UE and zone Z2 is equal to the value of threshold T1-3, the UE is marked as being in zone Z2. At this point, the UE is marked as being in zone 1 and zone 2 simultaneously. At time 5, the location management system again identifies the X, Y coordinates of the UE as being outside of zone Z1 and in zone Z2. The system updates the out-of-zone UEs to 4 for the UE and zone Z1. Since the UE is already marked as being in zone Z2, it is not necessary to update its intra-zone UE counters for zone Z2. Since the out-of-zone UE for UE and zone Z1 is equal to the threshold T2-4, the system marks the UE as leaving outside Z1. Thus, between time 4 and time 5, the UE is marked as being in zone Z1 and zone Z2 simultaneously.

Fig. 29 is a flow diagram 3200 of one example process for determining the location of a UE. In some aspects, one or more of the functions discussed below with respect to fig. 29 are performed by hardware processing circuitry. In some embodiments, one or more electronic memories (e.g., 920) store instructions (e.g., 922) that, when executed, configure the hardware processing circuitry (e.g., 904) to perform one or more of the functions discussed below with respect to fig. 29.

In operation 3205, a first location of a first device is determined. In some embodiments, the first location is determined based on a plurality of RSSI measurements. The RSSI measurement is received by or from the first device. For example, as discussed above, in some embodiments, the UE reports RSSI information for multiple access points. An estimate of the location of the UE is then determined based on the RSSI information and the location information for each of the plurality of APs. In some embodiments, multiple APs determine RSSI information for signals received from a UE. This information is then used to determine a location estimate or position for the UE based on the RSSI information and the location information for each of the plurality of APs. As discussed with respect to fig. 29, the location determination determines a single location estimate. As discussed further below, multiple location estimates may be needed to infer that the first device is in a particular zone.

Operation 3210 determines, based at least in part on the determined first location, that the first device is located within a first boundary of a first zone. As discussed above, some of the disclosed embodiments define an area or zone of a particular area, such as a building, store, or other geographic area. In some aspects, operation 3210 performs a plurality of position determinations over a period of time. When the number of consecutive determinations indicates a location within the first zone, operation 3210 determines that the first device is located within the first zone.

In operation 3215, a second location of the first device is determined. For example, similar to the location determination discussed above with respect to operation 3205, operation 3215 may include receiving RSSI information for signals transmitted by the first device and/or received by the first device. Signals are exchanged between a first device and a plurality of access points. An estimate of the location of the first device (e.g., a second location) is determined based on the RSSI information and the location information for the plurality of access points. For example, in some embodiments, RSSI information is used to determine a distance between the first device and each of the plurality of access points. Then, using triangulation, an estimate of the location of the first device is determined based on the distance.

In operation 3220, a determination is made that the second location is within a second boundary of the second zone. In operation 3225, a threshold number of location indications is defined. The threshold number is defined based on whether the second zone is equivalent to the first zone. In other words, as discussed above, some of the disclosed embodiments require a greater number of position determinations to be made before inferring that the first device has moved to a different zone. In contrast, if the location determination indicates that the first device remains within an equivalent zone (e.g., no change in zone is detected), such inference may be supported via a smaller number of location determinations or location estimates.

In operation 3230, a determination is made as to what zone the first device is located. The determination is based at least on a threshold number of location determinations. For example, if at least a threshold number of location indications (e.g., location estimates based on RSSI information) over a period of time or a threshold number of consecutive location indications indicate a single zone, the process 3200 concludes or determines that the first device is within the single zone. Operation 3230 may include writing the results of the determination to a storage device, such as a database, hard disk, or other stable storage device. As disclosed above, the determination of in which zone the first device is may be used for various purposes, such as providing service and/or controlling operations. As discussed above, some embodiments may control the opening and/or closing or locking of a door based on the presence or absence of a device within a threshold distance of the door.

As discussed above, some embodiments determine whether the location of the device is within the zone entry area. If the location or position estimate of the device indicates that the device is within a zone entry area and the location estimate of the device indicates a new zone, then a smaller number of location estimates are needed to infer that the first device is within the new zone. In contrast, in these embodiments, if the location estimate for the first device indicates that the device has moved into the new zone, but the initial location estimate for the new zone does not correspond to a portion of the new zone corresponding to the entry location for the new zone, then a higher number of location estimates or location determinations are required to conclude that the first device has transitioned to the new zone.

In some embodiments, the position of the zone entry area is statically defined. In other embodiments, the zone entry area is dynamically defined. For example, some of the disclosed embodiments identify position estimates within a first zone, and then identify those position estimates or a first portion of the position (in units of time). The first portion may have different sizes depending on the embodiment. These embodiments recognize that the first portion of the position estimate when the apparatus enters a new zone may indicate an entry area (e.g., a doorway) for the first zone. If the threshold number of position estimates indicates that the device is in a first zone, then a first portion of those position estimates are used to define an entry area for that zone.

Fig. 30 is a flow diagram 3300 of one example process for determining a location of a UE. In some aspects, one or more of the functions discussed below with respect to fig. 30 are performed by hardware processing circuitry. In some embodiments, one or more electronic memories (e.g., 920) store instructions (e.g., 922) that, when executed, configure the hardware processing circuitry (e.g., 904) to perform one or more of the functions discussed below with respect to fig. 30.

In operation 3310, a determination is made that the first device is in a first zone. As discussed above, one or more location estimates for a UE are determined via RSSI measurements for signals received by and/or from the UE. The RSSI measurement, along with the transmit power indication, defines the distance between the transmitting device and the receiving device. The distance is derived from the RSSI measurement. In some embodiments, triangulation is used to determine a location estimate for the UE based on its estimated distance from each of the plurality of access points. As discussed above, some of the disclosed embodiments define boundaries for an area or zone. The disclosed embodiments define criteria for determining when a particular device is present in a particular zone. As discussed above, at least in some embodiments, a threshold number of location estimates within a zone is required before a disclosed embodiment determines that a device is within the zone. Operation 3310 determines that the first device is located within the first zone via a location estimate for the first device.

In operation 3320, a location estimate for the first device is determined. As discussed above, in at least some embodiments, the location estimate is determined via RSSI measurements for signals received by and/or transmitted by the first device.

Decision operation 3330 determines whether the location estimate places the first device within a first zone (e.g., a zone in which the first device has been newly determined to be via operation 3310). If the location estimate indicates the same zone as the current or latest zone determination for the first device, the process 3300 moves from decision operation 3330 to operation 3340, which sets the threshold to a first value. Otherwise, if the location estimate indicates a different zone, the process 3300 moves from decision operation 3330 to decision operation 3350, which determines whether the location estimate indicates that the first device is within an entry area of a second zone (different from the first zone). If the location estimate does indicate an entry location, the process 3300 moves from decision operation 3350 to operation 3360, which sets the threshold to a second value. The process continues to step 3380. Otherwise, if the location estimate does not indicate an entry location, but does nonetheless indicate a second zone that is different from the first zone, the process 3300 moves from decision operation 3350 to operation 3370, which sets the threshold to a third value. In some embodiments, the first value is less than both the second value and the third value. In some embodiments, the second value is less than the third value. The process 3300 then moves to operation 3380, which determines a zone for the first device based on the determined threshold. The threshold defines a number of consecutive location estimates required for determining that the first device is in a particular zone. Thus, for example, if the threshold is three (3), then three consecutive location estimates must indicate that the device is within a particular zone. When the criteria are met, the disclosed embodiments record a determination that the first device is within the particular single zone. If any of the three location estimates indicate a different zone, then zone determination may not be made and additional location estimates will be needed before zone determination is made.

The techniques of various embodiments may be implemented using software, hardware, and/or a combination of software and hardware. Various embodiments relate to an apparatus, e.g. a management entity, e.g. a location/zone tracking server, a network monitoring node, a router, a gateway, an access point, a DHCP server, a DNS server, an AAA server, a user equipment, e.g. a wireless node, such as a mobile wireless terminal, a base station, a communication network, a communication system. Various embodiments also relate to methods, e.g., methods of controlling and/or operating one or more communication devices, e.g., location/zone tracking servers, network management nodes, access points, wireless terminals (UEs), base stations, control nodes, DHCP nodes, DNS servers, AAA nodes, Mobility Management Entities (MMEs), networks, and/or communication systems. Various embodiments are also directed to non-transitory machines (e.g., computers); a readable medium, such as ROM, RAM, CD, hard disk, etc., which includes machine readable instructions for controlling a machine to implement one or more steps of a method.

It is to be understood that the specific order or hierarchy of steps in the processes disclosed is an example of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes may be rearranged while remaining within the scope of the present disclosure. The accompanying method claims present elements of the various steps in a sample order, and are not intended to be limited to the specific order or hierarchy presented.

In various embodiments, the devices and nodes described herein are implemented using one or more modules to perform the steps corresponding to one or more methods, e.g., signal generation, transmission, processing, analysis, and/or reception steps. Thus, in some embodiments, various features are implemented using modules. Such modules may be implemented using software, hardware, or a combination of software and hardware. In some embodiments, each module is implemented as a separate circuit, wherein a device or system includes separate circuits for implementing the functionality corresponding to each described module. Many of the above described methods or method steps can be implemented using machine executable instructions, such as software, included in a machine readable medium, such as a memory device, e.g., RAM, floppy disk, etc. to control a machine, e.g., general purpose computer, with or without additional hardware, to implement all or portions of the above described methods, e.g., in one or more nodes. Accordingly, various embodiments are directed, among other things, to a machine-readable medium (e.g., non-transitory computer-readable medium) including machine executable instructions for causing a machine (e.g., processor and associated hardware) to perform one or more of the steps of the method(s) described above. Some embodiments relate to a device comprising a processor configured to implement one, more or all of the steps of one or more methods of the present disclosure.

In some embodiments, one or more processors (e.g., CPUs) of one or more devices (e.g., a communication device such as a network management node, a wireless terminal (UE), and/or an access point) are configured to perform the steps of the methods described as being performed by the device. Configuration of the processor may be achieved by controlling the processor configuration using one or more modules (e.g., software modules) and/or by including hardware in the processor (e.g., hardware modules) to perform the recited steps and/or control the processor configuration. Thus, some, but not all embodiments relate to a communication device (e.g., a network management device, such as a server (e.g., a location/zone tracking server), access point, user device, etc.) having a processor that includes modules corresponding to each of the steps of the various described methods performed by the device including the processor. In some, but not in all embodiments, the communication device includes modules corresponding to each of the steps of the various described methods performed by the device including the processor. Modules may be implemented solely in hardware (e.g., as circuitry), or may be implemented using software and/or hardware or a combination of software and hardware.

Some embodiments relate to a computer program product that includes a computer-readable medium including code for causing a computer (or multiple computers) to implement various functions, steps, actions, and/or operations, such as one or more of the steps described above. Depending on the embodiment, the computer program product may, and sometimes does, include different code for each step to be performed. Accordingly, the computer program product may, and indeed does, include code for each individual step of a method, e.g., a method of operating a communication device, e.g., a network management node (such as a server, e.g., a location/zone tracking server), access point, base station, wireless terminal or node. The code may be in the form of machine (e.g., computer) executable instructions stored on a computer readable medium such as a RAM (random access memory), ROM (read only memory), or other type of storage device. In addition to relating to computer program products, some embodiments relate to processors configured to implement one or more of the various functions, steps, actions, and/or operations of one or more methods described above. Accordingly, some embodiments relate to a processor (e.g., CPU) configured to implement some or all of the steps of the methods described herein. The processor may be for use, for example, in a communication device or other device described herein.

Although described in the context of communication systems including cellular, WiFi, bluetooth, and BLE, at least some of the methods and apparatus of various embodiments are applicable to a wide variety of communication systems, including many non-OFDM and/or non-cellular systems.

Many additional variations on the methods and apparatus of the various embodiments described above will be apparent to those skilled in the art in view of the above description. Such variations are to be considered within the scope. The methods and apparatus may be, and in various embodiments are, used with CDMA, Orthogonal Frequency Division Multiplexing (OFDM), WiFi, bluetooth, BLE, and/or various other types of communication techniques that may be used to provide wireless communication links between access points and wireless nodes. In some embodiments, the access point is implemented as a base station that establishes a communication link with a user device (e.g., mobile node) using WiFi, bluetooth, BLE, OFDM, and/or CDMA. In various embodiments, the wireless nodes are implemented as notebook computers, Personal Data Assistants (PDAs), or other portable devices including receiver/transmitter circuits and logic and/or routines for implementing the methods.

Example 1 is a method, comprising: receiving, by a wireless terminal location tracking server, Received Signal Strength Indication (RSSI) measurements for a first wireless terminal from an access point, determining, by the wireless terminal tracking server, a first location of the first wireless terminal based on the RSSI measurements; determining, by the wireless terminal tracking server, that the first wireless terminal is located within a first boundary of a first zone based at least in part on the determined first location; determining, by the wireless terminal tracking server, a second location of the first wireless terminal, the second location being different from the first location; determining, by the wireless terminal tracking server, that the second location is within a second boundary of the second zone; determining, by the wireless terminal tracking server, a threshold number of location determinations based on whether the second zone is equivalent to the first zone; and determining, by the wireless terminal tracking server, whether the first wireless terminal is within the second boundary of the second zone based at least on the threshold number of location indications.

In example 2, the subject matter of example 1 optionally comprising: wherein the determination of the threshold number of location determinations determines a first threshold number in response to the first zone being equivalent to the second zone, and otherwise determines a second, greater threshold number.

In example 3, the subject matter of example 2, optionally comprising: determining whether the second location indicates that the first wireless terminal is within an entry area of the second zone and determining the second threshold number to be a first value in response to the second location indicating that the first wireless terminal is within the entry area, and otherwise determining the second threshold number to be a larger second value.

In example 4, the subject matter of example 3, optionally comprising: determining a number of consecutive position determinations indicative of the first wireless terminal within the boundaries of the second zone, wherein the determination of whether the second position indicates that the first wireless terminal is within the entry area of the second zone is based on the number.

In example 5, the subject matter of example 4, optionally comprising: wherein the determination of whether the second position indicates that the first wireless terminal is within the entry area of the second zone is responsive to the number being below a predetermined threshold.

In example 6, the subject matter of example 5, optionally comprising: wherein the determination of the first wireless terminal in the first zone comprises determining that a number of position determinations indicative of the first wireless terminal in the first zone is above a threshold.

In example 7, the subject matter of example 6 optionally includes: identifying a first set of location determinations of the number of location determinations indicating that the first wireless terminal is in the first zone, the first set of location determinations being determined prior to other location indications of the number of location determinations; and defining an entry area for the first zone based on the first set of position determinations.

In example 8, the subject matter of example 7, optionally comprising: determining whether the location determination for the second wireless terminal is within the defined entry area; setting a threshold based on the determination; and determining whether the second wireless terminal is within the first zone based on the threshold.

In example 9, the subject matter of any one or more of examples 1-8, optionally comprising: receiving a second RSSI measurement of a signal generated or received by the first wireless terminal, wherein the determination of the second location is based on the RSSI measurement.

Example 10 is a wireless terminal tracking system, comprising: hardware processing circuitry; one or more memories storing instructions that, when executed, configure hardware processing circuitry to perform operations comprising: receiving, by a wireless terminal location tracking server, Received Signal Strength Indication (RSSI) measurements for a first wireless terminal from an access point, determining, by the wireless terminal tracking server, a first location of the first wireless terminal based on the RSSI measurements; determining, by the wireless terminal tracking server, that the first wireless terminal is located within a first boundary of a first zone based at least in part on the determined first location; determining, by the wireless terminal tracking server, a second location of the first wireless terminal, the second location being different from the first location; determining, by the wireless terminal tracking server, that the second location is within a second boundary of the second zone; determining, by the wireless terminal tracking server, a threshold number of location determinations based on whether the second zone is equivalent to the first zone; and determining, by the wireless terminal tracking server, whether the first wireless terminal is within the second boundary of the second zone based at least on the threshold number of location indications.

In example 11, the subject matter of example 10, optionally comprising: wherein the determination of the threshold number of location determinations determines a first threshold number in response to the first zone being equivalent to the second zone, and otherwise determines a second, greater threshold number.

In example 12, the subject matter of example 11, optionally comprising: the operations further comprise: determining whether the second location indicates that the first wireless terminal is within an entry area of the second zone and determining the second threshold number to be a first value in response to the second location indicating that the first wireless terminal is within the entry area, and otherwise determining the second threshold number to be a larger second value.

In example 13, the subject matter of example 12, optionally comprising: the operations further comprise: determining a number of consecutive position determinations indicative of the first wireless terminal within the boundaries of the second zone, wherein the determination of whether the second position indicates that the first wireless terminal is within the entry area of the second zone is based on the number.

In example 14, the subject matter of example 13, optionally comprising: wherein the determination of whether the second position indicates that the first wireless terminal is within the entry area of the second zone is responsive to the number being below a predetermined threshold.

In example 15, the subject matter of example 14, optionally comprising: wherein the determination of the first wireless terminal in the first zone comprises determining that a number of position determinations indicative of the first wireless terminal in the first zone is above a threshold.

In example 16, the subject matter of example 15, optionally comprising: the operations further comprise: identifying a first set of location determinations of the number of location determinations indicating that the first wireless terminal is in the first zone, the first set of location determinations being determined prior to other location indications of the number of location determinations; and defining an entry area for the first zone based on the first set of position determinations.

In example 17, according to the subject matter of example 16, optionally comprising: the operations further comprise: determining whether the location determination for the second wireless terminal is within the defined entry area; setting a threshold based on the determination; and determining whether the second wireless terminal is within the first zone based on the threshold.

In example 18, the subject matter of any one or more of examples 10-17, optionally comprising: the operations further comprise: receiving a second RSSI measurement of a signal generated or received by the first wireless terminal, wherein the determination of the second location is based on the RSSI measurement.

Example 19 is a non-transitory computer-readable storage medium comprising instructions that, when executed, configure hardware processing circuitry to perform operations comprising: receiving, by a wireless terminal location tracking server, Received Signal Strength Indication (RSSI) measurements for a first wireless terminal from an access point, determining, by the wireless terminal tracking server, a first location of the first wireless terminal based on the RSSI measurements; determining, by the wireless terminal tracking server, that the first wireless terminal is located within a first boundary of a first zone based at least in part on the determined first location; determining, by the wireless terminal tracking server, a second location of the first wireless terminal, the second location being different from the first location; determining, by the wireless terminal tracking server, that the second location is within a second boundary of the second zone; determining, by the wireless terminal tracking server, a threshold number of location determinations based on whether the second zone is equivalent to the first zone; and determining, by the wireless terminal tracking server, whether the first wireless terminal is within the second boundary of the second zone based at least on the threshold number of location indications.

In example 20, the subject matter of example 19 optionally includes: the operations further include determining whether the second location indicates that the first wireless terminal is within an entry area of the second zone, and determining the threshold number of location determinations as a first value in response to the second location indicating that the first wireless terminal is within the entry area, and otherwise determining the threshold number of location determinations as a second, greater value.

85页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:室内环境导航的定位方法及定位系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!