Wireless signals for location determination
By using RSSI information and physical structure knowledge, the method addresses jitter and interference issues in wireless location determination, improving zone presence and count accuracy for device tracking.
Patent Information
- Application Number
- CN202411417055.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-11-07
- Filing Date
- 2019-12-31
- Publication Date
- 2025-01-03
AI Technical Summary
Existing location determination methods using wireless signals are unreliable due to signal interference and lack of knowledge about physical structures, leading to jitter and difficulty in accurately determining the presence of devices in specific zones and counting the number of devices within those zones.
A method and apparatus that utilize RSSI information, combined with knowledge of physical structures like doorways, to reliably determine device presence and count in zones by setting specific thresholds for entry and exit, accounting for jitter and signal fluctuations.
Enhances the reliability of determining device presence and count in zones by reducing erroneous determinations, allowing for better resource allocation and service provision based on accurate zone occupancy.
Smart Images

Figure CN119247266A_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application with the application date of December 31, 2019, application number 201911410135.4, and invention name “Wireless signal for location determination”.
[0002] CROSS-REFERENCE TO RELATED APPLICATIONS
[0003] The above-mentioned parent application claims priority to U.S. Provisional Application No. 62 / 827,959, entitled “Methods and Apparatus for Using Wireless Signals in Location Determination and / or various control operations”, filed on April 2, 2019. The contents of the prior application are considered part of the present application and are incorporated herein by reference in their entirety. Technical Field
[0004] 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 Art
[0005] Wireless signals are often transmitted between user equipment (such as a mobile phone, personal data assistant, laptop computer or other device) and a base station (which is 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 generally provide network connectivity for one or more mobile devices. Base stations can take a variety of forms and can 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 a base station of any of a variety of other communication devices.
[0006] The UE can measure the strength of the signal received from one or more APs and report the signal strength to the AP or another device (such as a location determination device) in the form of a received signal strength indicator (RSSI) strength. Similarly, the AP can measure the received signal strength of the signal from the UE and report information about the signal strength to another device (such as a location determination device).
[0007] The location determination device can determine the location of the UE based on received signal strength indicator (RSSI) information related to the UE and the location of the AP, which transmits a signal to the UE or reports the reception of the signal and RSSI information from the UE. When location determination can be made, it may be affected by reliability issues and therefore can be regarded as an estimate of the location in some cases. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1 is a drawing of an exemplary communication system in accordance with an exemplary embodiment.
[0009] Figure 2A is a first portion of a flowchart of an exemplary method of operating a location / zone tracking server in accordance with an exemplary embodiment.
[0010] Figure 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.
[0011] Figure 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.
[0012] Figure 2 include Figure 2A , Figure 2B and Figure 2C combination.
[0013] Figure 3A SUMMARY OF THE INVENTION The first portion of a flowchart of an exemplary method of determining the presence of a device (eg, a mobile wireless device) in one or more zones.
[0014] Figure 3B is a second portion of a flowchart of an exemplary method of determining the presence of a device (eg, a mobile wireless device) in one or more zones.
[0015] Figure 3C SUMMARY OF THE INVENTION The first portion of a flowchart of an exemplary method of determining the presence of a device (eg, a mobile wireless device) in one or more zones.
[0016] Figure 3 include Figure 3A , Figure 3B and Figure 3C combination.
[0017] Figure 4 is a drawing illustrating an exemplary land presence determination feature according to an exemplary embodiment.
[0018] Figure 5is a drawing illustrating an exemplary device moving within a zone, the device's actual location, and RSSI-based location determination used to make zone presence determinations, in accordance with an exemplary embodiment.
[0019] Figure 6 is a device according to an exemplary embodiment corresponding to Figure 5 A drawing of an example table used to illustrate an exemplary zone presence threshold number determination and an exemplary zone presence determination.
[0020] Figure 7 is a drawing according to an exemplary embodiment, which illustrates an exemplary device moving from zone 2 to zone 1 via a known entry location area (e.g., a doorway) for zone presence determination, the actual location of the device, and the RSSI-based location determination of the device.
[0021] Figure 8 is a device according to an exemplary embodiment corresponding to Figure 7 A drawing of an example table used to illustrate an exemplary zone presence threshold number determination and an exemplary zone presence determination.
[0022] Fig. 9 is a drawing of an exemplary location / zone tracking server in accordance with an exemplary embodiment.
[0023] Fig. 10A is a drawing of a first portion of an exemplary assembly of components that may be included in a location / zone tracking server according to an exemplary embodiment.
[0024] Fig. 10B is a drawing of a second portion of an exemplary assembly of components that may be included in a position / zone tracking server according to an exemplary embodiment.
[0025] Fig. 10C is a drawing 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.
[0026] Fig. 10D is a drawing of a fourth portion of an exemplary assembly of components that may be included in a position / zone tracking server in accordance with an exemplary embodiment.
[0027] Fig. 10E is a drawing of a fifth portion of an exemplary assembly of components that may be included in a position / zone tracking server in accordance with an exemplary embodiment.
[0028] Fig.10 include Fig. 10A , Fig. 10B , Fig. 10C , Fig. 10D and Fig. 10Ecombination.
[0029] Fig.11 is a drawing of exemplary data / information that may be included in a location / zone tracking server according to an exemplary embodiment.
[0030] Fig.12 is a drawing illustrating that a first zone existence determination threshold is used by a device, the first zone existence determination threshold being an within-zone threshold.
[0031] Fig.13 is a drawing illustrating use by a device of a second zone presence determination threshold that is a first out-of-zone threshold corresponding to a determined device location being within a known zone entry area.
[0032] Fig.14 is a drawing illustrating use by a device of a third zone presence determination threshold that is a second out-of-zone threshold corresponding to a determined device location being outside of a known zone entry region within a zone.
[0033] Fig.15 is a drawing illustrating another example of use of a third zone presence determination threshold by a device, the third zone presence determination threshold being a second out-of-zone threshold corresponding to a determined device location being outside of a known zone entry area within a zone.
[0034] Fig.16A is a first portion of a flowchart of an exemplary method of operating a device (eg, a server, eg, a location / zone tracking server) according to an exemplary embodiment.
[0035] Fig. 16B is a second portion of a flowchart of an exemplary method of operating a device (eg, a server, eg, a location / zone tracking server) according to an exemplary embodiment.
[0036] Fig. 16C is a third portion of a flowchart of an exemplary method of operating a device (eg, a server, eg, a location / zone tracking server) in accordance with an exemplary embodiment.
[0037] Fig.16D is a fourth portion of a flowchart of an exemplary method of operating a device (eg, a server, eg, a location / zone tracking server) in accordance with an exemplary embodiment.
[0038] Fig.16E is a fifth portion of a flowchart of an exemplary method of operating a device (eg, a server, eg, a location / zone tracking server) in accordance with an exemplary embodiment.
[0039] Fig.16 include Fig.16A , Fig. 16B , Fig. 16C , Fig.16D and Fig.16E 's combination.
[0040] Fig.17 is a block diagram of an embodiment of the illustrated network environment.
[0041] Fig.18 is an exemplary illustration of a physical location (such as a shopping mall).
[0042] Fig.19 is an exemplary illustration of a physical location (such as a shopping mall with an added zone Fig.18 ) of the shopping mall.
[0043] Fig. 20 is a block diagram of an embodiment of the illustrated wireless access point.
[0044] Fig.21 Provides a block diagram of an embodiment of a location and resource management system that illustrates determining the zone to which a specific UE should be assigned.
[0045] Fig. 22 is a block diagram of an embodiment of the illustrated communication device (such as a UE).
[0046] Fig.23 is a block diagram of a node of the illustrated network server (such as a web / content server).
[0047] Fig.24 is a flowchart of an embodiment of the process for determining the event of a UE entering a zone.
[0048] Fig.25 is a flowchart of an embodiment of the process for determining the event of a UE leaving a zone.
[0049] Fig.26 Illustrates the transition of a UE between zones when T1 = T2.
[0050] Fig. 27 Illustrates the transition of a UE between zones when T1 > T2.
[0051] Fig.28 Illustrates the transition of a UE between zones when T1 < T2.
[0052] Fig.29 is a flowchart of the process for determining in which zone a UE is located.
[0053] Fig.30 is a flowchart of the process for determining the location of a UE. Detailed Description
[0054] Based on the RSSI information corresponding to the UE, the position determination for the UE can be performed relatively frequently for the UE (e.g., at intervals of less than one second to many seconds). Unfortunately, the RSSI value may change relatively frequently for reasons other than changes in the UE's position. For example, even if the UE's position does not change, signal interference, UE orientation relative to the AP, and / or other factors may cause fluctuations or changes in the reported RSSI information. In many cases, changes in the determined position of the UE within a short period of time that can be attributed to factors other than the movement 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 positions at different (e.g., closely spaced) times, even though the device may not have moved.
[0055] In some cases, the reliability of the location determination can be increased if knowledge of the physical structure of the location (e.g., the location of doors between rooms) is taken into account. Unfortunately, in many cases, information about the location of doorways is not available to devices attempting to determine the location of the UE based on signal strength information, which may include received signal power levels or other information indicative of received signal strength.
[0056] For the purpose of providing services and / or controlling operations, it is often desirable to know: with respect to an area (e.g., a zone), whether a UE device is present in the zone and / or the number of devices in the zone. Unfortunately, in many cases, the uncertainty associated with individual signal-based position determination for an individual UE and / or the lack of knowledge about the physical layout (e.g., door locations) often makes it difficult to reliably determine whether an individual UE is in a particular zone and / or the total number of devices in the zone at a given time based on radio signal position determination.
[0057] In view of the above, it would be desirable that methods 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 a device within a zone at a given time, and / or the total number of devices in a zone, regardless of the location of a radio signal, which may occur as part of normal changes in signal strength that may introduce jitter into the location determination process. Similarly, it may be desirable to be able to determine when a device (such as a UE) has left a particular zone with a predetermined level of uncertainty.
[0058] While not necessary for all embodiments, it will be appreciated that in at least some embodiments, the location of a doorway may be determined and used to increase the reliability of position determination and / or device counting relative to devices in one or more zones.
[0059] Methods and apparatus are described that involve detection of one or more devices in one or more zones (e.g., non-overlapping areas). A zone may be a geographic area. A zone may, and sometimes is, an area within a building (e.g., an area on a separate floor of a building). However, a zone need not be limited to indoor zones and may include exterior areas. In some embodiments, depending on the particular embodiment and / or application, a user may define a zone of interest of a user-specified size, or a zone may have a default size determined, for example, by an area of a map grid.
[0060] In various embodiments, determination of individual device locations is performed on an ongoing basis, for example, every second or at some other time interval that may or may not be a periodic time interval. In some embodiments, individual device location determination is performed based on RSSI information corresponding to the device.
[0061] Device location information is tracked (eg, stored). Presence within a 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 is stored and updated when new location determinations are made.
[0062] In some embodiments, whether a device is considered to be within a zone at a given time is determined based on one or more device locations. Position determinations relative to individual devices based on RSSI information can be subject to jitter as the location of the device changes (e.g., switches between one location and another over time in the absence of device movement). In some specific cases, determining whether a user has left a given zone can be challenging when the magnitude of the position jitter is greater than the physical size of the zone.
[0063] 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 a zone.
[0064] In some, but not necessarily all, embodiments, the determination of whether a device is to be considered to be within a zone differs depending on whether the device is newly detected in a zone or has been previously detected in a zone. In some embodiments, a device newly detected as being within a zone is considered to be present in a zone, for example, in response to determining the first number of times that the device's position in the zone is within a first time window. Having 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 device's position is determined to be within a second time window in another different zone a second number of times. The second time window may be the same as or different from the first time window.
[0065] While in some embodiments the first and second numbers, respectively, used to determine whether a device is initially in a zone or is considered to have left a zone may be the same, the number of times a device must be detected outside of the first zone (i.e., in another zone) before the device is removed (e.g., considered to have left the first zone) is different from the number of times a device needs to be detected as having been in the first zone in order to be determined to be in the first zone.
[0066] In some instances, the first and second numbers and / or the corresponding first and second time windows are intentionally selected to be different, wherein in at least some cases where the first and second time windows are the same size, the second number is greater than the first number. 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 is no longer present in the zone.
[0067] According to yet another embodiment, a device (e.g., UE) is considered to be in a zone if the location engine determines that the device is present in the zone a predetermined number of times or a predetermined number of consecutive times within a specified time window. In some but not necessarily all embodiments, the location engine uses a more stringent test to ensure that the device has left the zone. In particular, if the location engine determines that the device is a specific distance away from the zone, the device is considered to be outside the zone. Therefore, in this embodiment, it is easier for a device to be initially determined to be in a zone than for a device to be determined to have left the zone and no longer be present in the zone.
[0068] 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 to have been determined to no longer be in a zone (e.g., to have left the zone) after having been found to be in the zone, a device can and sometimes is determined to be in two non-overlapping zones simultaneously.
[0069] While this can result in an overcount of devices in a zone, the overcount tends to be for devices at or near the edge of the zone. For many applications involving the provision of services to devices and / or users of devices, it is often a mistake to err on the side of overestimation by including devices at the edge of a zone to allow service to devices at the edge rather than denying service to them. Therefore, the disclosed methods and apparatus are well suited for applications where counting is used to control the deployment of one or more device settings or hardware to provide service. For example, a 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, including devices on the edge of a zone in the device count that may drift in and out of the zone can be useful in determining the number of devices to which service may need to be provided at a given time.
[0070] In the case of controlling doors and / or other physical devices in zones, as in the wireless example, it can be useful to count devices that are detected as transitioning in and out of a zone (e.g., due to position jitter) as being in a given zone to ensure that enough doors are unlocked to enable safe exit for the number of people that may be in an area or to provide adequate service to individuals in the zone, where the number of individuals in a zone can 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.
[0071] Although individual counts of devices in a zone are generated and updated for one or more zones based on individual position determinations that may be subject to jitter, in some embodiments, a position determination is made at a time of interest based on one or more zones in which the device is determined to be located at a given time. For example, if a device is determined to be in a single zone at a time of interest, its location is determined to be in the zone. However, if a device is determined to be in multiple zones at a given time, the device is determined to be at or near a boundary between the zones in which the device is determined to be located. The proximity of the device to a zone boundary and / or which side of a zone boundary the device is located on may and is sometimes determined based on the relative number of times the device is determined to be in a position in one zone relative to another zone within a given time window. Therefore, even when a 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.
[0072] In various embodiments, in addition to determining the number of devices in a zone at a given time, various features relate to determining the location of openings (e.g., doorways or other passages) between zones. In various embodiments, the location at which a device is first detected within a zone (e.g., indicating a zone entry point corresponding to a passage) is stored and used to identify a passage between two particular zones (e.g., physically adjacent zones).
[0073] Once one or more channels between zones are identified, in some but not all embodiments, the location of the channels is taken into account in some embodiments to improve the reliability of the determination of whether a device is in a zone. In some embodiments, an initial position determination of a device in a zone where the device was not previously located is disregarded if the initial position determination in a zone corresponds to a location other than the location of a channel area. In this way, the risk of erroneous determination of a device in a zone is reduced. Although the initial position determination in a zone can be disregarded, repeated position determinations in a zone will not be disregarded and the device will be counted as being present in the zone. In this way, a device that is powered on or moving at very fast speeds between zones will be properly considered to be in a zone, but the risk of erroneous zone presence determinations based on unreliable RSSI information for short time periods is reduced compared to a system that does not consider the channel location when making a determination of whether a device should initially be considered to be within a zone.
[0074] An exemplary method according to some embodiments includes: determining the location of a first device for each of a plurality of continuous time periods, the determined locations forming a set of device location information; storing the device location information for the continuous time periods in a memory; determining a first zone threshold number for location determination for use in determining whether the first device is present in the first zone; and using the determined first threshold number for location determination and the stored location information to determine whether the first device is present in the first zone.
[0075] Although various embodiments have been discussed in the above summary, it should be understood that not all embodiments necessarily include the same features, and some of the features described above are not necessarily used in all embodiments. Many additional features, embodiments and benefits of various embodiments are discussed in the following detailed description.
[0076] Figure 11 is a drawing of an exemplary communication system 100 according to 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), which are coupled together (e.g., via a backhaul network, Ethernet and / or the Internet). The exemplary communication system 100 also includes a plurality of wireless devices (device 1 156, device 2 158, device 3 160, device 4 162, device 5 164, ..., device n 166). The wireless devices (156, 158, 160, 162, 164, ..., 166) are mobile devices that can move throughout the system 100 and can be tracked by the location / zone tracking server based on location and zone presence. The wireless devices (156, 158, 160, 162, 164, ..., 166) can communicate with the APs (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), for example, to obtain RSSI information. The AP (e.g., AP1 152) may transmit a signal (e.g., a wireless signal, e.g., a reference signal) that is detected and measured by the wireless device (e.g., device 1 156), for example, to obtain RSSI information. The RSSI measurement information from the AP and / or the wireless device is sent to the location / zone tracking server 150, which uses the information to perform 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 a threshold criterion to determine whether a particular device is present in a zone. When evaluating whether to determine whether a device is present in a particular zone, the threshold is determined based on one or more or all of the following: i) whether the device was previously determined to be present in the zone, and ii) whether the device has just entered a known location that is a zone entry location (associated with the current zone in which the device is located and an adjacent zone that is physically adjacent to the current zone). According to features of various embodiments, the location and tracking server 150 can and sometimes does determine that a device (e.g., device 1 156) is present in two 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 the number of devices determined to be present in each zone. The location / zone tracking server takes action relative to individual zones based on the number of devices determined to be present in individual zones.
[0077] Figure 1Also included is a floor plan layout of an exemplary building 102 that has been subdivided into four (4) zones (Zone 1 104, Zone 2 106, Zone 3 108, Zone 4 110). The building includes four doors (Door 1 112, Door 2 114, Door 3 116, and Door 4 118) that are generally accessible to devices, such as Device 1 156, which can and sometimes does pass through the doors (112, 114, 116, 118). Corresponding to Door 112, there is a door location 122 within Zone 1 104, through which a device (e.g., Device 1 156) can enter Zone 1 104. Corresponding to Door 112, there is also a door location 124 within Zone 2 106, through which a device (e.g., Device 1 156) can enter Zone 2 106. Corresponding to door 116, within zone 4 110 there is a doorway location 128 via which a device (e.g., device 1 156) can enter zone 4 110. Corresponding to door 118, within zone 3 108 there is a doorway location 130 via which a device (e.g., device 1 156) can enter zone 3 108. Location / zone tracking server 150 includes stored information corresponding to the floor plan, 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 entry location area).
[0078] exist Figure 1 In the example of FIG. 1 , there is another potential zone entry point 120, such as a normally locked door or a newly installed door 120. Information about the potential zone entry point 120 is not known or stored in the location / zone tracking server 150; however, if the potential zone entry point 120 is used by a device (e.g., device 1 156), the location / zone tracking server 150 may identify the entry point as a new entry point and add the 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, Figure 1 A configuration with only two APs is described. Those skilled in the art will recognize that typical position estimation and tracking systems may employ more or fewer APs, with many systems using three or more APs.
[0079] Figure 2 (include Figure 2A , Figure 2B and Figure 2C ) is a flowchart 200 of an exemplary method of operating a location / zone tracking server according to an exemplary embodiment.
[0080] Operation begins in step 202, where the location / zone tracking server is powered on and initialized. Operation proceeds from start operation 202 to operation 204, where the location / zone tracking server receives information from user defined zones (e.g., non-overlapping geographic locations 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 a building), where, for example, the different zones may correspond to different floors or different portions of a floor of a building. Operation proceeds from operation 206 to operation 208, and operation proceeds from operation 206 to operation 274 via connecting node B 272. In operation 274, the location / zone tracking server initializes zone device 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.
[0081] 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 the device location of each of the one or more devices receiving RSSI information on a per-device basis. Operations 208 and 210 are repeatedly performed, such as on an ongoing basis.
[0082] In response to each iteration of operation 210, operations proceed from operation 210 to operation 212. In operation 212, the location / zone tracking server tracks (e.g., stores) the determined device locations from operation 210 and the times associated with the device locations on a per-device basis in memory. Memory portion 214 includes exemplary determined device locations and corresponding time information, e.g., for one iteration of operation 210 corresponding to an exemplary time N. Memory portion 214 includes a determined location 216 and time information 218, e.g., a time stamp value, indicating time N, for device 1; a determined location 220 and time information 222, e.g., a time stamp value, indicating time N for device 2; ...; and a determined location 224 and time information 226, e.g., a time stamp value, indicating time N, for device n.
[0083] After the startup data collection interval is completed, operations proceed from the iteration of operation 212 to operation 228. Thus, after the startup data collection interval is completed, operations proceed from operation 212 to operation 228 in response to a set of determined device positions corresponding to a time (eg, time N).
[0084] In operation 228 , the location / zone tracking server identifies a first determined device location corresponding to the device to be processed, for example, identifies determined device 1 location 216 corresponding to device 1. Operation proceeds from operation 228 to operation 230 .
[0085] In operation 230, the location / zone tracking server determines, for each zone, whether the device is present in the zone. For example, in one exemplary embodiment, in operation 230, the location / zone tracking server calls a presence determination subroutine. In one such embodiment, the presence determination subroutine implements Figure 3 Flow diagram 300 of the method.
[0086] Figure 3 (include Figure 3A , Figure 3B and Figure 3C ) is a flowchart 300 of an exemplary method for determining the presence of a device in one or more zones. Operation of the exemplary method begins in operation 302 and proceeds to operation 304. In operation 304, the location / zone tracking server accesses device location information, for example, stored device location determinations from multiple prior 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=1. Operation proceeds from operation 306 to operation 308, where the location / zone tracking server sets the zone to zone(i). Therefore, for the first iteration of operation 308, the zone for presence evaluation is zone 1. Operation proceeds from operation 308 to operation 310.
[0087] In operation 310 , the location / zone tracking server determines the number of times the device location indicates that the device was within the zone during the time window used to make presence determinations. Operation proceeds from operation 310 via connecting node D 312 to operation 314 .
[0088] In operation 314, the location / zone tracking server determines a zone presence determination threshold to be used to determine the presence of a zone. 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 the zone based on a previous zone presence determination (e.g., the device is newly in the zone). If the determination is that the device has been determined to be present in the zone (e.g., based on a previous iteration of the presence determination of the device corresponding to the zone), then the operation proceeds from operation 316 to operation 320, where the location / zone tracking server uses a first threshold number of position detections in the zone within a predetermined time window as the zone presence determination threshold. However, if the determination is that the device has not yet been determined to be present in the zone (e.g., the device is newly in the zone), then the operation proceeds from operation 316 to operation 318.
[0089] 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., a doorway) for a zone. If the determination of operation 318 is that the determined device location corresponds to a known zone entrance for a zone, then operation proceeds from operation 318 to operation 322, where the location / zone tracking server uses a second threshold number of location detections in the zone within a predetermined time window as a zone existence determination threshold. However, if the determination of operation 318 is that the determined device location does not correspond to a known zone entrance for a zone, then operation proceeds from operation 318 to operation 324, where the location / zone tracking server stores the determined device location as a possible zone entrance location. Operation proceeds from operation 324 to operation 326. In operation 326, the location / zone tracking server uses a third threshold number of location detections in the zone within a predetermined time window as a zone existence determination threshold.
[0090] 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.
[0091] In an exemplary embodiment, the first threshold number of position detections is less than the second threshold number of position detections, and the second threshold number of position detections is less than the third number of position detections. In an exemplary embodiment, the first threshold number is 2, the second threshold number is 3, and the third threshold number is 7. Operation proceeds from operation 320, operation 322, or operation 326 to operation 330 via connection node E 328.
[0092] In operation 330, the location / zone tracking server determines whether the 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 a zone within a time window (e.g., if the predetermined length includes the time window of the current location determination period). Alternatively, rather than counting the number of times the 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 a zone being greater than a predetermined threshold.
[0093] 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 the time window in the zone is greater than the determined zone existence 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 existence determination threshold, then the operation proceeds from operation 332 to operation 334, where the location / zone tracking server determines that the device is not present in zone (i).
[0094] 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 existence determination threshold, then the operation proceeds 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 number of consecutive times the device is determined to be in the zone is greater than the determined zone existence 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 existence determination threshold. The operation proceeds from operation 330 to operation 338.
[0095] In operation 338, the location / zone tracking server increments the zone counter i, e.g., the location / zone tracking server sets i=i+1. Operation proceeds from operation 338 to operation 340. In operation 340, the location / zone tracking server determines whether there are additional zones to consider, e.g., whether the current value of the variable i is less than the total number of zones+1. If the determination is that there are additional zones to consider, e.g., i is less than the total number of zones+1, then operation proceeds from operation 340 to operation 308 via connecting node F 342, where the zone is changed to the next zone based on the incremented value of i from operation 338.
[0096] However, if the determination of operation 340 is that there are no additional zones to consider, e.g., the value of variable i is not less than the total number of zones + 1, then operation passes from operation 340 back to operation 344, where subroutine 300 returns zone presence determination information, e.g., returns an indication of whether the device has been determined to be present in each of the zones. A device can, and sometimes is, determined to be present in more than one zone.
[0097] Thus, in some embodiments, in operation 230, the location / zone tracking server obtains zone presence determination information for the device from the called presence determination subroutine. Operation proceeds from operation 230 to operation 232.
[0098] In operation 232, the location / zone tracking server updates the list of devices in each zone based on the zone existence determination result of operation 230, and updates the count of the total number of devices in each zone to create a set of zone devices and count information for an indicated time period. In some embodiments, operation 232 includes operation 233, in which the location / zone tracking server adds and / or removes devices from one or more existing zone lists. Operation 232 includes operation 234, in which the location / zone tracking server aggregates the devices determined to be present in the zone to determine the total number of devices present in the zone.
[0099] Operation proceeds from operation 232 to operation 252 via connection node A 250. In operation 252, the location / zone tracking server determines whether there is another device location to be processed that corresponds to a different device but corresponds to the same time. If the determination of operation 252 is that there is another device location to be processed that corresponds to a different device but corresponds to the same time, then operation proceeds 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 connection node C 256. In operation 230, the location / zone tracking server determines for each zone whether another device exists in the zone, such as calling a presence determination subroutine that processes input device location determination data corresponding to another device and returns a device zone presence determination for each of the zones. Operation then proceeds from operation 230 to operation 232, where a list of devices determined to be present in each zone is updated and the total number of devices in each zone is updated.
[0100] Zone presence information 236 corresponding to time period X represents an exemplary presence determination result after operations 230 and 232 have been repeated n times (e.g., where n=6) to evaluate the presence of devices in a 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: a zone 1 list 238 of devices determined to be present in zone 1, which includes, for example, devices D1, D2, and D3; a total number 244 of devices determined to be present in zone 1, for example, 3 devices; a zone 2 list 240 of devices determined to be present in zone 2, which includes, for example, devices D4 and D5; a total number 246 of devices determined to be present in zone 2, for example, 2 devices; a zone m list 242 of devices determined to be present in zone m, which includes, for example, devices D2 and D6; and a total number 248 of devices determined to be present in zone m, for example, 2 devices.
[0101] Returning to operation 252 , if the determination of operation 252 is that there is not another device location to be processed that corresponds to a different device but to the same time, then the determination for the existence of the time period is complete and operations pass from operation 252 to operation 258 .
[0102] In operation 258, the location / zone tracking server takes action with respect to the individual zones based on the number of devices determined to be in the individual zones. Operation 258 includes one or more of all of operations 259, 260, and 261. In operation 259, the location / zone tracking server determines wireless resources for the zones (e.g., the number of wireless transmitters and / or wireless receivers powered on to serve the individual zones) based on the number of devices determined to be in the zones. In operation 260, the location / zone tracking server makes service decisions based on the number of devices determined to be in the zones. In operation 261, the location / zone tracking server enables a door or directs a user to a door based on the number of devices determined to be in the zones.
[0103] Operation proceeds from operation 258 to operation 262. In operation 262, the location / zone tracking server updates the 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 be evaluated. In some embodiments, for possible zone entry locations to be evaluated, a predetermined amount of time needs to have passed since the possible zone entry locations were identified (e.g., in an iteration of operation 324). If the determination of operation 263 is that there are no possible zone entry locations to be evaluated, then operation proceeds from operation 263 to operation 266, where the location / zone tracking server operates to suppress adding new locations to a set of known zone entry locations. However, if the determination of operation 263 is that there is at least one possible zone entry location to be evaluated, then for each possible zone entry location being evaluated, operation proceeds from operation 263 to operation 264. In operation 264, the location / zone tracking server determines whether the device corresponding to the possible zone entry location being evaluated is determined to be present in the zone in which the possible zone entry location is located following the possible zone entry location determination time (e.g., within a predetermined time period). If the determination of operation 264 is that the device is in the zone following the possible zone entry location determination, then the operation proceeds from operation 264 to operation 268, where the location / zone tracking server adds the possible 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 the zone following the possible zone entry location determination, then the operation proceeds from operation 264 to operation 270, where the location / zone tracking server refrains from adding the possible zone entry location to a set of known zone entry locations.
[0104] return Figure 2C Operation 276 of operation 276, in which the location / zone tracking server monitors requests for information indicating which device or devices are in one or more zones. Operation 276 is performed on an ongoing basis (e.g., repeatedly). Operation 276 can and sometimes does include operation 278, in which the location / zone tracking server receives a request for information indicating which (which) devices are in one or more zones. In response to operation 278, the 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 existing devices, each zone listing devices determined to be present in the zone. The 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 one or more zones. In some embodiments, operation 282 can and sometimes does include operation 283, in which the location / zone tracking server aggregates device presence information from multiple separate zone lists.
[0105] Returning to operation 284, in operation 284, the location / zone tracking server monitors requests for information indicating in which particular zone the device is located. Operation 284 is performed on an ongoing basis (e.g., repeatedly). Operation 284 can and sometimes does include operation 286, in which 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.
[0106] 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 the operation proceeds from operation 290 to operation 292. In operation 292, the location / zone tracking server determines which of the multiple zones the device is indicated to be present in, the device is most likely to be in, based on the device location history, for example, in which zone the device location was in most of the last 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 was in a particular zone by the total number of location determinations. The operation proceeds from operation 292 to operation 294, where the location / zone tracking server reports a 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.
[0107] If the determination of operation 290 indicates that the device is not indicated to be present in multiple zones, then the operation is transferred from operation 290 to operation 295. In operation 295, the location / zone tracking server determines whether the 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 a zone, then the operation is transferred from operation 295 to operation 296. In operation 296, the location / zone tracking server reports a zone in which the device is indicated to be present 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 to be present in any zone, then the operation is transferred from operation 295 to operation 298. In operation 298, it is unknown which zone the location / zone tracking server reports that the device is currently located. In some embodiments, when the location / zone tracking server does not know the current zone in which the device is located, instead of performing operation 298 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 at least one zone, and then uses this information to find the most likely zone in which the device is at that time, and reports the most likely zone using time information indicating that the presence information is outdated.
[0108] Figure 4 is a drawing 400 illustrating an exemplary land presence determination feature in accordance with an exemplary embodiment. Figure 4 Column 402 of 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 time slots). Each determined device 1 location is a location within one of a plurality of predetermined zones. Typically, when jitter is less than the device's distance from a zone boundary, the determined device 1 location maps to the same zone that the device 1 was actually located at that time. However, when jitter is greater than the device's distance from a zone boundary, some determined device 1 locations can and sometimes do map to a different zone than the zone in which the device 1 was actually located at the time of measurement; for example, the device 1 may actually be located near a boundary between 2 zones, and noise and / or reflections render the determined device 1 location inaccurate. Some determined device 1 locations may correspond to known entry locations for a zone, for example, the determined device 1 locations may be within a known area that is an entry area, such as a doorway between the zone in which the device was most recently determined to be and an adjacent zone.
[0109] exist Figure 4 In the example of , the most recently determined device 1 position 406 corresponding to time N triggers a new presence determination. The previously stored results from the previous 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 time slots including the most recent time slot are also used as input to the presence determination subroutine. Figure 3 The presence determination subroutine of the method of flowchart 300 determines a zone presence determination threshold for a zone based on: i) whether the previously stored zone presence information 410 indicates that the device 1 is in the zone; and ii) whether the most recently determined device 1 position 406 corresponds to a known zone entrance. The presence determination subroutine 300 counts the number of instances of a set of 10 determined device 1 positions in a window 408 mapped as positions within the zone. As previously explained, according to another embodiment, the system counts the number of consecutive occurrences of the device being estimated within the zone. The presence determination subroutine 300 then compares the count of the number of instances with the determined zone presence determination threshold, and determines whether the device 1 will be determined to be present in the zone, for example, 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 the newly generated presence determination information 412. The procedure is repeated for each of the zones and for each of the devices (e.g., the mobile terminal being evaluated).
[0110] In some embodiments, the newly generated zone presence determination information 412 is generated as a new set of data. In some other embodiments, the previously stored zone presence information 410 is modified to generate the newly generated zone presence information 412, for example, device 1 can be added to the previous zone presence member list, device 1 can be removed from the previous zone presence member list, or device 1 can be allowed to remain on the previous zone 1 member list. The zone count information is updated based on the new window being evaluated. In some embodiments, removal from the list of presence within a zone depends on the device being detected to be a distance D away from the zone from which it is removed or being outside the zone for a minimum set time period (e.g., a predetermined time period).
[0111] Figure 4 The example has been described for the presence determination of one device (device 1); however, it should be understood that the implementation Figure 3 The presence determination subroutine of the method of flowchart 300 generally processes determined location information corresponding to a plurality of devices (eg, device 1, device 2, ..., device n), such as with respect to Figure 2 and Figure 3 as described.
[0112] Figure 5 5 is a drawing 500 illustrating an exemplary device 1 156 moving within a zone 2 106, the actual location of the device 156, and an RSSI-based location determination used to make a zone presence determination, according to an exemplary embodiment. The drawing 500 illustrates the device 1 156 moving within the building 102 of the 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 location of the device 1 156 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 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), respectively. The location / zone tracking server 150 performs location determination based on the received RSSI information corresponding to device 1. Figure 5In the example of , device 1 156 remains in zone 2 106 ; however, two position determinations ( 527 , 531 ) corresponding to actual positions ( 526 , 530 ) are respectively within zone 4 110 .
[0113] Figure 6 is a device according to an exemplary embodiment corresponding to Figure 5 600 is used to illustrate an exemplary zone presence threshold number determination and an exemplary zone presence determination. Table 600 includes: a first column 602, which includes actual device 1 locations (each entry is represented by Figure 6 ); and a second column 604, which includes the determined device 1 position (each entrance is represented by Figure 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. The third column 606 in table 600 identifies the zone in which the determined device 1 location of column 604 is located. The fourth column 608 in table 600 identifies the number of determined locations in zone 2 within a window of size 10. The fifth column 610 in table 600 identifies the determined threshold number of zone 2 presence determinations for device 1. The sixth column 612 in table 600 identifies the zone 2 device 1 presence determination results. The seventh column 614 in table 600 identifies the number of determined locations in zone 4 within a window of size 10. The eighth column 616 in table 600 identifies the determined threshold number of zone 4 presence determinations for device 1. The ninth column 618 in table 600 identifies the zone 4 device 1 presence determination results.
[0114] In this example, the location / zone tracking server 150 collects a window of 10 RSSI location determinations before 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 columns 612 and 618 of row 620.
[0115] 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 where the zone number is 2, which is 10. The threshold number of determinations for zone 2 (row 621, column 608) is determined based on the previous zone presence determination (row 620, column 612), which indicates absence, and whether the most recent RSSI-based location determination (row 621, column 604) is located within a known zone entry area, which it is not. Therefore, the threshold number of determinations for zone 2 is set to 7. The 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 value (row 621, column 610), which is 7.
[0116] 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 where the zone number is 4, which is 0. The threshold number of determinations for zone 4 (row 621, column 616) is determined based on the previous zone presence determination (row 620, column 618), which indicates absence, and whether the most recent RSSI-based location determination (row 621, column 604) is within a known zone entry area, which it is not. Therefore, the threshold number of determinations for zone 4 is set to 7. The zone 4 device 1 presence determination entry (row 621, column 618) is determined to be absent because the number of determined locations in zone 4 within the window (row 621, column 614), which is 0, is not greater than the threshold value (row 621, column 616), which is 7.
[0117] 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 to eleventh entries of column 606 where the zone number is 2, which is 10. The threshold number of determinations for zone 2 (row 622, column 608) is determined based on: a previous zone presence determination (row 621, column 612), which indicates presence; and whether the most recent RSSI-based location determination (row 622, column 604) is located within a known zone entry area, which it is not. Therefore, the threshold number of determinations for zone 2 (row 622, column 610) is set to 2. The 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 value (row 622, column 610), which is 2.
[0118] 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 where the zone number is 4, which is 0. The threshold number of determinations for zone 4 (row 622, column 616) is determined based on the previous zone presence determination (row 621, column 618), which indicates absence, and whether the most recent RSSI-based location determination (row 622, column 604) is within a known zone entry area, which it is not. Therefore, the threshold number of determinations for zone 4 (row 622, column 616) is set to 7. The zone 4 device 1 presence determination entry (row 622, column 618) is determined to be absent because the number of determined locations in zone 4 within the window (row 622, column 614), which is 0, is not greater than the threshold value (row 622, column 616), which is 7.
[0119] 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 where the zone number is 2, which is 9. The threshold number of determinations for zone 2 (row 623, column 608) is determined based on: a previous zone presence determination (row 622, column 612), which indicates presence; and whether the most recent RSSI-based location determination (row 623, column 604) is located within a known zone entry area, which it is not. Therefore, the threshold number of determinations for zone 2 (row 623, column 610) is set to 2. The zone 2 device 1 presence determination entry (row 623, column 612) is determined to be present because the number of determined locations in zone 2 within the window (row 623, column 608), which is 9, is greater than the threshold value (row 623, column 610), which is 2.
[0120] 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 where the zone number is 4, which is 1. The threshold number of determinations for zone 4 (row 623, column 616) is determined based on the previous zone presence determination (row 622, column 618), which indicates absence, and whether the most recent RSSI-based location determination (row 623, column 604) is within a known zone entry area, which it is not. Therefore, the threshold number of determinations for zone 4 (row 623, column 616) is set to 7. The zone 4 device 1 presence determination entry (row 623, column 618) is determined to be absent because the number of determined locations in zone 4 within the window (row 623, column 614), which is 1, is not greater than the threshold value (row 623, column 616), which is 7.
[0121] The process repeats for additional rows of table 600. It can be observed that once a device has been determined to be present, it requires a relatively large number of outside-of-zone position determinations in the sliding window to be evaluated to be declared no longer present in the zone. It can also be observed that it is relatively difficult for a device determined to be absent to be determined to be present in the zone when the entry location is not within a known set of entry locations. This deliberate choice of different thresholds for determining presence facilitates stability in zone presence determinations and allows for rejection of spurious position determinations.
[0122] Figure 7 7 is a drawing 700 illustrating an exemplary device 1 156 moving from zone 2 106 to zone 1 104 via a known entry location area 122 (e.g., the doorway of door 112 between zone 1 and zone 2), the actual location of device 156, and the RSSI-based location determination of device 156, according to an exemplary embodiment. Drawing 700 illustrates Figure 5 Drawing 700 illustrates that device 1 156 moves along path 702 within building 102 of system 100, which is Figure 5 Continuation of 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, 704, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730) along paths 502 and 702 identify actual locations of device 1 156 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) correspond to the actual device 1 bit. The position / zone tracking server 150 performs position determination based on the received RSSI information corresponding to the device 1. Figure 7In the example of FIG. 1 , device 1 156 moves from zone 2 106 to zone 1 104 , where the device passes through door 112 and enters a known zone 1 entry area 122 (the passageway between zone 1 and zone 2 ).
[0123] Figure 8 is a device according to an exemplary embodiment corresponding to Figure 7 800 is used to illustrate an exemplary zone presence threshold number determination and an exemplary zone presence determination. Table 800 includes: a first column 802, which includes actual device 1 locations (each entry is represented by Figure 8 ); a second column 804, which includes the determined device 1 position (each entrance is represented by Figure 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. The 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 of zone 2 presence determinations for device 1. The sixth column 812 in table 800 identifies the zone 1 device 1 presence determination results. The seventh column 814 in table 800 identifies the number of determined locations in zone 1 within a window of size 10. The eighth column 816 in table 800 identifies the determined threshold number of zone 1 presence determinations for device 1. The ninth column 818 in table 800 identifies the zone 1 device 1 presence determination results.
[0124] According to relative to Figure 6 The method described in Table 600 is similar to that described in Table 600. Figure 8 The values in Table 800 of . Some differences in the illustrated various features will now be described. The threshold number of determinations for zone 1 (row 850, column 816) is determined to be 3 because the previous existence determination (row 849, column 818) indicates absence, the zone in which the determined device 1 location is located (row 850, column 806) indicates zone 1, and the determined device 1 location (row 850, column 804) ( Figure 7 The location 713 (reference numeral 713) is located within the zone 1 entry area 122, and the location / zone tracking server knows that the location 713 is within the zone 1 entry area 122, and determines to use a value of 3 for the threshold instead of a value of 7. This lower threshold facilitates rapid presence determination in a new zone because the entry passes through a known entry area, and the likelihood that the 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 to be an entry area for a zone.
[0125] In row 856, it can be observed that the Zone 1 Device 1 presence determination changes to present because the number of determined locations in Zone 1 within the sliding window of size 10 is 4, which is greater than the threshold of 3. In row 858, it can be observed that the threshold number of determinations for Zone 1 changes to 2, and the previously determined presence determination for Zone 1 (row 856, column 818) indicates present.
[0126] It can also be observed that in Figure 7 and Figure 8 In the example of , there are overlapping time intervals corresponding to rows (856, 858, 860, and 862) where device 1 is determined to be present in two zones (zone 2 and zone 1) at the same time.
[0127] Fig. 9 is a drawing of an exemplary location / zone tracking server 900 according to an exemplary embodiment. For example, the location / zone tracking server 900 is Figure 1 , Figure 5 and / or Figure 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 910 (e.g., components of hardware components (e.g., circuits)) and a memory 912 coupled together via a bus 914, through 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 the 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. The communication interface 902 (e.g., an Ethernet interface, an Ethernet power interface, or another interface) couples the server 900 to access points, network nodes, other nodes, one or more networks, and / or the Internet. Exemplary receive 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 requests for information indicating which particular zone a device is located in. Exemplary transmit signals sent via transmitter 918 include signals conveying reports conveying a single determined most likely zone in which a device is currently located, and signals conveying a list of devices determined to be in one or more zones.
[0128] Memory 912 includes routines 920 and data / information 924. Routine 920 includes components of component 922 (eg, components of software components).
[0129] Fig.10 (include Fig. 10A , Fig. 10B , Fig. 10C , Fig. 10D and Fig. 10E ) is a drawing of an exemplary assembly of component 1000 (including part A 1001, part B 1003, part C 1005, part D 1007, and part E 1009) according to an exemplary embodiment. For example, the assembly of component 1000 is included in Figure 1 , Figure 5 and Figure 7 The location / zone tracking server 150 and / or Fig. 9 location / zone tracking server 900.
[0130] The exemplary components of component 1000 may be in a server (eg, server 900) and implement the steps of the exemplary method (eg, Figure 2 Flowchart 200 and / or Figure 3 300 ).
[0131] The components of the components of component 1000 can and in some embodiments are fully implemented in hardware within the processor 904, for example, as separate circuits. The components of the components of component 1000 can and in some embodiments are fully implemented in hardware within the components of component 910, for example, as separate circuits corresponding to different components. In other embodiments, some of the components are implemented (for example, as circuits) within the processor 940, wherein other components are implemented, for example, as circuits within the components of component 910 outside the processor 904 and coupled to the processor 904. It should be understood that the level of integration of the components on the processor and / or some components outside the processor can be one of design choices. Alternatively, instead of being implemented as a circuit, all or some of the components can be implemented in software and stored in the memory 912 of the server 900, wherein the components control the operation of the server to implement the functions corresponding to the components when the components are executed by the processor (for example, the processor 904). In some such embodiments, the components of component 1000 are included in the memory 912 as components of component 922. In other embodiments, various components in the assembly of component 1000 are implemented as a combination of hardware and software, for example, where another circuit external to processor 904 provides input to processor 904, which then operates under software control to perform a portion of the functionality of the component. Fig. 9Although shown in the embodiment as a single processor (eg, computer), it should be understood that processor 904 may be implemented as one or more processors (eg, computers).
[0132] When implemented in software, a component includes code that, when executed by processor 904, configures processor 904 to implement the functionality corresponding to the component. In an embodiment where the components of component 1000 are stored in memory 912, routine 920 is a computer program product including 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 functionality corresponding to the component.
[0133] Components that are completely hardware-based or completely software-based may be used. However, it should be understood that any combination of software and hardware (e.g., circuit-implemented components) may be used to implement the functionality. It should be understood that Fig.10 The components illustrated in the flowchart and / or signaling diagram control and / or configure the server 900 or elements therein (such as the processor 904) to perform the functions of the corresponding steps illustrated and / or described in one or more of the methods in the flowchart, signaling diagram, and / or described with respect to any of the figures. Therefore, the components of the component 1000 include various components that perform one or more corresponding described and / or illustrated steps (e.g., Figure 2 The steps of the method of flowchart 200 and / or Figure 3 300 ).
[0134] The components of component 1000 include: component 1004, which is configured to operate a server to receive (e.g., via receiver 916 or via input device 606) information defining zones (e.g., non-overlapping geographic locations of interest), for example, from a user; and component 1006, which is configured to store information defining different zones (e.g., non-overlapping geographic locations of interest (e.g., areas)) in, for example, an external environment and / or a building, where, for example, different zones can correspond to different floors or different parts of a floor. The components of component 1000 also include: component 1008, which is configured to operate a server to receive (e.g., via receiver 916) device RSSI information for one or more devices; component 1010, which is configured to determine device locations on a per-device basis (e.g., based on received RSSI information); and component 1012, which is configured to track (e.g., store) determined device locations and the time associated with each determined device location on a per-device basis in a memory. The components of the component also include: a component 1028, which is configured to identify a first determined device location of the device corresponding to process 1028, the first determined location is included in a time window corresponding to the determined location of the device, the window of the determined location of the device to be used to determine the zone presence for the device. The components of component 1000 also include: a component 1030, which is configured to determine whether the device is present in the zone for each zone (e.g., a component configured to call a presence determination routine (e.g., the in-zone presence determination subroutine 1100)), and receive a presence determination result corresponding to the device returned from the presence determination routine.
[0135] The components of component 1000 also include: component 1032, which is configured to update the list of devices in each zone and update the count of the total number of devices in each zone to create a set of zone devices and count the presence information for the indicated time period, for example, a 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: component 1033, which is configured to add and / or remove devices from one or more existing zone lists (for example, existing zone lists corresponding to previous time periods for which presence information was determined). In some embodiments, a completely new list is determined for each time period in which the presence of a device is evaluated. Component 1032 includes: component 1034, which is configured to aggregate the devices determined to be devices in the aggregate zone (for example, aggregate the devices determined to be present in the zone) to determine the total number of devices in the zone (for example, the total number of devices determined to be present in the zone).
[0136] Components of component 1000 include: component 1052, which is configured to determine whether there is another device position to be processed that corresponds to a different device but corresponds to the same time and control operations based on the determination; and component 1054, which is configured to identify another determined device position to be processed that corresponds to another device.
[0137] The components of component 1000 also include: component 1058, which is configured to take action with respect to the individual zone based on the determined number of devices in the individual zone. Component 1058 includes: component 1059, which is configured to determine wireless resources for the zone, for example, the number of wireless transmitters and / or wireless receivers that power up to serve the individual zone based on the number of devices determined to be in the zone (e.g., determined to be present in the zone); component 1060, which is configured to make a service decision based on the number of devices determined to be in the zone (e.g., determined to be present in the zone); and component 1061, which is configured to enable a door or direct a user to a door based on the number of devices determined to be in the zone (e.g., determined to be present in the zone).
[0138] The components of component 1000 also include: component 1062, which is configured to update the zone entry location information. Component 1062 includes: component 1063, which is configured to determine whether there are any possible zone entry locations to be evaluated and control operations based on the determination; component 1064, which is configured to determine whether the device corresponding to the possible zone entry location is determined to be present in the zone where the possible zone entry location is located following the possible zone entry location determination time (for example, within a predetermined time period), and control operations based on the determination. Component 1062 also includes: component 1068, which is configured to add the possible zone entry location to a set of known zone entry locations, for example, in response to determining that the device is in the zone where the possible zone entry location is located following the possible zone entry location determination time. Component 1062 also includes: component 1066, which is configured to control the server to suppress adding a new location to a set of known zone entry locations in response to determining that there are no possible zone entry locations to be evaluated; and component 1070, which is configured to control the server to suppress adding a possible zone entry location being evaluated to a set of known zone entry locations, for example in response to determining that the device does not remain in the zone of the possible zone entry location at the time following the possible zone entry determination.
[0139] The components of component 1000 also include: component 1074, which is configured to initialize zone device and zone count information, for example, for each of the defined zones, set the list of devices in the zone to an empty set and set the total number of devices in the zone to zero. The components of component 1000 also include: component 1076, which is configured to monitor requests for information indicating which or which 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 or which devices are in one or more zones. The components of component 1000 also include: component 1080, which is configured to access the zone information to obtain one or more zone lists where devices exist, each zone list lists devices determined to be present in the zone; and component 1082, which is configured to respond to a request list with a list of devices determined to be present in one or more zones. Component 1082 includes: component 1083, which is configured to aggregate information from multiple separate zone lists. In some embodiments, component 1082 is configured to operate 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 transmitter 918 .
[0140] The components of component 1000 also include: component 1084, which is configured to monitor for requests for information indicating which particular zone a device is located in. Component 1084 includes: component 1086, which is configured to operate a server to receive (e.g., via receiver 916) a request for information indicating which particular zone a device is located in. Component 1000 also includes: component 1088, which is configured to access zone information to determine which zone one or more devices have been determined to be in (e.g., based on the latest zone determination corresponding to the device). Component 1000 also includes: component 1090, which is configured to determine whether a device is indicated to be present in multiple zones at the same time and control operations based on the determination; component 1092, which is configured to determine which of the multiple zones a device is indicated to be present in, the device is most likely to be in, based on the location history, such as which zone the device location was in in most of the last Y location determinations; and component 1094, which is configured to report a single determined most likely zone as the zone in which the device is currently located. In some embodiments, component 1094 is configured to generate a response message and operate a transmitter (eg, transmitter 918) to transmit the generated response message, the generated response message reporting the single determined most likely zone in which the device is currently located.
[0141] Components of component 1000 also include: component 1095, which is configured to determine whether the device is indicated to be present in a zone (e.g., only one zone) and control operations based on the determination; component 1096, which is configured to report a 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 a zone); and component 1098, which is configured to report that the zone in which the device is currently located is unknown (e.g., in response to a determination based on the most recent presence determination that the device is not currently listed as being present in any of the zones).
[0142] The components of component 1000 also include a zone presence determination component 1100 (e.g., a zone presence determination subroutine), including part A 1101 and part B 1103. The zone presence determination component 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 a variable zone to zone(i); a component 1110 configured to determine the number of times the device location indicates that the device is within the zone during a time window for making a zone presence determination; and a component 1114 configured to determine a zone presence determination threshold to be used for determining zone presence. Component 1114 includes: component 1116, which is configured to determine whether the device is already in the zone based on a previous zone existence determination, for example, to determine whether the device is newly in the zone and control operations based on the determination; component 1120, which is configured to use a first threshold number of position detections in the zone as a zone existence determination threshold in response to determining that the device has been determined to be in the zone based on a previous zone existence determination; component 1118, which is configured to determine whether the determined device position corresponds to a known zone entrance position (for example, a doorway), and control operations based on the determination; component 1122, which is configured to use a second threshold number of position detections in the zone as a zone existence determination threshold in response to determining that the determined device position corresponds to a known zone entrance position for the zone; component 1124, which is configured to store the determined device position as a possible zone entrance position, for example, in response to determining that the determined device position does not correspond to a known entrance position for the zone; and component 1126, which is configured to use a third threshold number of position detections in the zone as a zone existence determination threshold in response to determining that the determined device position does not correspond to a known zone entrance position for the zone.
[0143] Component 1100 also includes: component 1130, which is configured to determine whether the device exists in the zone based on the determined zone existence 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., a time window of a predetermined time including the current location determination time period)). Component 1130 includes: component 1132, which is configured to determine whether the number of times the device is determined to be in the zone in the time window is greater than the determined zone existence determination threshold and control operations based on the determination; component 1134, which is configured to determine that the device does not exist in zone (i) in response to determining that the number of times the device is determined to be in the zone is not greater than the determined zone existence determination threshold; and component 1136, which is configured to determine that the device exists in zone (i) in response to determining that the number of times the device is determined to be in the zone is greater than the determined zone existence determination threshold.
[0144] Component 1100 also includes: component 1138, which is configured to increment the zone counter i, for example, setting i=i+1; component 1140, which is configured to determine whether there are additional zones to be considered, for example, determining whether the zone counter variable i is less than the total number of zones + 1, and controlling operations based on the determination; component 1142, which is configured to start evaluating the presence of a device in another zone in response to determining that there are additional zones to be evaluated; and component 1144, which is configured to return zone existence determination information for the device in response to determining that there are no additional zones to be evaluated.
[0145] Fig.11 is a drawing of exemplary data / information 1150 that may be included in a location / zone tracking server according to an exemplary embodiment. The data / information 1150 is, for example, Fig. 9 The data / information 924 of the location / zone tracking server 900 or is included in 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, and a determined location 1156 of the device based on the received RSSI information, for example, a table including the determined location of each of a plurality of wireless devices being tracked, for example, where 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 RSSI-based location determination used 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.
[0146] The data / information 1150 also includes determined zone presence thresholds 1160 for zones and devices, e.g., intermediate values determined and used by a zone presence determination subroutine, and determined zone presence 1162 for a device in each of one or more zones, e.g., output information from a zone presence determination subroutine.
[0147] The data / information 1150 also includes determined zone presence information 1164 for time period X. The determined zone presence information 1164 for time period X includes information corresponding to multiple zones ((Zone 1 list 1166 of devices determined to be present in zone 1, total number of zone 1 devices determined to be present 1168), ..., (Zone m list 1170 of devices determined to be present in zone m, total number of zone m 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 existence information 1178 for time period X+1 includes information corresponding to multiple zones ((a zone 1 list 1180 of devices determined to exist in zone 1, a total number 1182 of zone 1 devices determined to exist), ..., (a zone m list 1184 of devices determined to exist in zone m, a total number 1186 of zone m devices determined to exist)).
[0148] The 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 known zone entry locations, e.g., a value of 3), and a second out-of-zone presence determination threshold 1189 (e.g., a value to be used for locations that are not known zone entry locations, e.g., a value of 7). The data / information 1150 also includes identifying potential new zone entry locations 1190, receiving requests 1191 for devices that are present in one or more zones, generating responses 1192 reporting devices that are present in one or more zones, receiving requests 1193 for zones and / or locations (e.g., the precise location within a zone where the device is located), and generating responses 1194 indicating the most likely zone in which the device is currently located and an estimate of the device's location (e.g., based on a predetermined number of most recent device location determinations).
[0149] Fig.121200 is a diagram illustrating a first zone presence determination threshold used by a device, the first zone presence determination threshold being an in-zone threshold. Plot 1200 illustrates a device that has been in zone 2 106 for a long time (e.g., greater than a threshold number of RSSI-based location determination times). Figure 1 106. An exemplary device 1 156 of the system 100 of FIG. 106. The location / zone tracking server 150 has previously determined that the device 1 156 is present in zone 2, not present in zone 1, not present in zone 3, and not present in zone 4. Stored zone presence information 1202 (e.g., stored in the location / zone tracking server 150 or in the illustrated data repository) indicates that the device 1 156 is present only in zone 2. The most recent RSSI-based location determination of the device 1 156 performed by the location / zone tracking server 150 is indicated by the solid black triangle 1204, and the determined location 1204 is within zone 2 106. The location / zone tracking server 150 knows that the determined location 1204 is within zone 2 106 because the server includes information (e.g., geographic information) corresponding to the zones. In this example, the location / zone tracking server 150 determines to use the intra-zone presence determination threshold (e.g., a value of 2) regarding performing a new zone presence determination corresponding to zone 2 because the stored zone presence information indicates that the device 1 156 is present in zone 2.
[0150] Fig.13 13 is a plot 1300 illustrating use of a second zone presence determination threshold by a device, the second zone presence determination threshold being a first out-of-zone threshold corresponding to a determined device location being within a known zone entry area. Plot 1300 illustrates a device that has been located in zone 2 106 for a long time (e.g., greater than 10 RSSI-based location determination times). Figure 1106. An exemplary device 1 156 of system 100 of FIG. 106. Location / zone tracking server 150 has previously determined that device 1 156 is present in zone 2, not present in zone 1, not present in zone 3, and not present in zone 4. As indicated by box 1302, stored zone presence information (e.g., stored in location / zone tracking server 150) indicates that device 1 156 is present only in zone 2. The most recent RSSI-based location determination of device 1 156 performed by location / zone tracking server 150 is indicated by solid black triangle 1304, and the determined location 1304 is within zone 1 106. Location / zone tracking server 150 knows that determined location 1304 is within zone 1 104 because the server includes information (e.g., geographic information) corresponding to the zones. Determined location 1304 is within known zone entry area 122, which is a zone entry area for zone 1 104. The location / zone tracking server 150 also knows that the determined location 1304 is within a known zone entry area for zone 1 104 because the server includes information (e.g., geographic information) corresponding to the known zone entry locations. In this example, the location / zone tracking server 150 determines to use the 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 1 104 because the stored zone presence information indicates that device 1 156 is not present in zone 1 and the most recent RSSI-based location determination 1304 for device 1 is located within a known zone entry area for zone 2, which is zone 122.
[0151] Fig.14 1400 is a diagram illustrating a third zone presence determination threshold used by a device, the third zone presence determination threshold being a second out-of-zone threshold corresponding to a determined device location being outside of a known zone entry region within a zone. Plot 1400 illustrates a device that has been in zone 2 106 for a long time (e.g., greater than 10 RSSI-based location determination times). Figure 114. An exemplary device 1 156 of the system 100 of FIG. 14. The location / zone tracking server 150 has previously determined that device 1 156 is present in zone 2, not present in zone 1, not present in zone 3, and not present in zone 4. As indicated by box 1402, the stored zone presence information (e.g., stored in the location / zone tracking server 150) indicates that device 1 156 is present only in zone 2. The most recent RSSI-based location determination of device 1 156 performed by the location / zone tracking server 150 is indicated by a solid black triangle 1404, and the determined location 1404 is within zone 4 110. The location / zone tracking server 150 knows that the determined location 1404 is within zone 4 110 because the server includes information (e.g., geographic information) corresponding to the zones. The location / zone tracking server 150 also knows that the determined location 1404 is not within a known zone entry area for zone 4 110 because the server includes information (e.g., geographic information) corresponding to the known zone entry locations. In this example, the location / zone tracking server 150 determines to use a second out-of-zone presence determination threshold (e.g., a value of 7) with respect to performing a new zone presence determination corresponding to zone 4110 because the stored zone presence information indicates that device 1 156 is not present in zone 4 110 and the latest RSSI-based location determination 1404 for device 1 is not located in a known zone entrance area for zone 4110.
[0152] Fig.15 1500 is a drawing illustrating another example of a third zone presence determination threshold being used by a device, the third zone presence determination threshold being a second out-of-zone threshold corresponding to a determined device location being outside of a known zone entry region within a zone. Drawing 1500 illustrates a device that has been located in zone 4 110 for a long time (e.g., greater than 10 RSSI-based location determination times). Figure 1108. The location / zone tracking server 150 has previously determined that device 1 156 is present in zone 4 110, not present in zone 1 104, not present in zone 2 106, and not present in zone 3 108. As indicated by box 1502, stored zone presence information (e.g., stored in the location / zone tracking server 150) indicates that device 1 156 is present only in zone 4. The most recent RSSI-based location determination of device 1 156 performed by the location / zone tracking server 150 is indicated by a solid black triangle 1504, and the determined location 1504 is within zone 3 108. The location / zone tracking server 150 knows that the determined location 1504 is within zone 3 108 because the server includes information corresponding to the zones (e.g., geographic information). The location / zone tracking server 150 also knows that the determined location 1504 is not within a known zone entry area for zone 3 108 because the server includes information (e.g., geographic information) corresponding to the known zone entry locations. In this example, the location / zone tracking server 150 determines to use the second out-of-zone presence determination threshold (e.g., a value of 7) with respect to performing a new zone presence determination corresponding to zone 3 108 because the stored zone presence information indicates that device 1 156 is not present in zone 3 108 and the most recent RSSI-based location determination 1504 for device 1 is not located in a known zone entry area for zone 3 108.
[0153] exist Fig.15 In this example, the location / zone tracking server 150 has stored location 1504 as a potential new zone entry location. In this example, device 1 156 actually enters zone 3 106 through new door 120. Subsequently, the location / zone tracking server 150 will test whether the potential new zone entry location is a valid entry location for zone 3, for example, based on a subsequent position determination for device 1 156. In this example, device 1 156 remains in zone 3 108 for a relatively long time after entering zone 3 108, for example, more than 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 the new entry to its stored list of known zone entry locations for zone 3 108, the added new entry defining an area in zone 3 108 as an entry area, the entry area including location 1504. According to yet another embodiment, rather than marking a particular zone as an entry, the system notifies the operator of an anomaly in the RSSI-based calculation in that particular area.
[0154] Fig.16 (include Fig.16A , Fig. 16B , Fig. 16C , Fig.16D and Fig.16E ) is a flowchart 1600 of an exemplary method of operating a device (e.g., a server, such as a location / zone tracking server) according to an exemplary embodiment. The method of flowchart 1600 is, for example, Figure 1 , Figure 5 and Figure 7 location / tracking server 150 and / or by Fig. 9 The location / tracking server 900 is implemented.
[0155] Operations begin in operation 1602 where the server is powered on and initialized. Operations proceed from start operation 1602 to operation 1604. Operations also proceed from operation 1602 via connecting node A 1670 to operation 1672. Additionally, operations proceed from operation 1602 via connecting node B 1680 to operation 1682.
[0156] 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, for example, according to a predetermined schedule and / or at a predetermined rate, respectively. Operation proceeds from operation 1604 to operation 1606.
[0157] In operation 1606, the server determines the location of the first device for each of the plurality of consecutive time periods, the determined locations forming a set of device location information. Operation 1606 includes operation 1608, in which the server determines the location of the first device at one or more points in time using a received signal strength indication (e.g., RSSI information). Operation proceeds from operation 1606 to operation 1610.
[0158] In operation 1610, the server stores the device location information for the continuous time period 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 for location determination 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 not present in the first zone, for example, based on the absence 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.
[0159] In operation 1618, if the determination of operation 1616 based on the stored information is that the first device does not exist in the first zone, then the 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 exists in the first zone, then the operation transfers from operation 1618 to operation 1622.
[0160] In operation 1622, the server determines the first zone threshold number as the in-zone threshold number.
[0161] Returning to operation 1620, in operation 1620, the server determines the first zone threshold number as the out-of-zone threshold number. Operation 1620 includes operations 1621, 1624, 1626, and 1628. In operation 1621, the server determines that the first device position indicates that the first device has newly entered the first zone. The 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 the location of a known entry location. If the operation of operation 1624 is that the first device has newly entered the first zone at the location of a known entry location, then the operation proceeds from operation 1624 to 1626. In operation 1626, the server uses the first out-of-zone threshold when the first device is determined to have newly entered the first zone at the 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 that is not a known entry location, then the operation proceeds from operation 1624 to 1628. In operation 1628, the server uses a second out-of-zone threshold when the first device is determined to have newly entered the first zone at a location that is not a known entry location.
[0162] 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 first threshold number when determining 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.
[0163] Operation proceeds from operation 1614 to operation 1630. In operation 1630, the server uses the determined location to determine the first zone threshold number 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 operation 16301 and operation 16302. In operation 16301, the server determines that the first device is present in the first zone, for example, in response to the number of determined first device locations in the evaluation window determined to be located within the first zone being greater than the first zone threshold number. In operation 16302, the server determines that the first device is not present in the first zone, for example, in response to the number of determined first device locations in the evaluation window determined to be located within the first zone being not greater than the first zone threshold number. Operation 1630 can and sometimes does include operation 1631, in which the server detects that the first device enters the first zone. Operation proceeds from operation 1630 to operation 1634 via connecting node D 1632.
[0164] In operation 1634, the server determines a second zone threshold number for location determination for determining 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.
[0165] In operation 1638, if the determination of operation 1636 based on the stored information is that the first device does not exist in the second zone, then the 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 exists in the second zone, then the operation transfers from operation 1638 to operation 1642.
[0166] In operation 1642, the server determines the second zone threshold number as the in-zone threshold number.
[0167] Returning to operation 1640, in operation 1640, the server determines the second zone threshold number 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 position indicates that the first device has newly entered the second zone. The 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 the location of a known entry location. If the operation of operation 1644 is that the first device has newly entered the second zone at the location of a known entry location, then the operation proceeds from operation 1644 to 1646. In operation 1646, the server uses the first out-of-zone threshold when the first device is determined to have newly entered the second zone at the location of a known entry location. If the determination of operation 1644 is that the first device has newly entered the second zone at the location of a non-known entry location, then the 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 that is not a known entry location.
[0168] In some embodiments, the second zone threshold number 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.
[0169] In some embodiments, the first zone threshold number is less than the second zone threshold number 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.
[0170] In some embodiments, the stored information can, and sometimes does, indicate that the first device is simultaneously present in multiple different non-overlapping geographic zones.
[0171] Operation proceeds from operation 1634 to operation 1650. In operation 1650, the server uses the determined second zone threshold number determined by the determined location 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, for example, in response to the number of determined first device locations in the evaluation window determined to be located within the second zone being greater than the second zone threshold number. In operation 16502, the server determines that the first device is not present in the second zone, for example, in response to the number of determined first device locations in the evaluation window determined to be located within the second zone being not greater than the second zone threshold number. Operation 1650 can and sometimes does include operation 1651, in which the server detects that the first device enters the second zone. Operation proceeds from operation 1650 to operation 1654 via connecting node E 1652.
[0172] In operation 1654, the server updates the stored zone information, the stored zone information including information for a plurality of zones, the first zone being one of the plurality of zones, the stored information including a list of devices determined to be in the first zone. Depending on the embodiment and the determination made, operation 1654 includes operation 1655, operation 1656, and / or operation 1658. In operation 1656, the server updates the zone information in the memory to add the device determined to be in the first zone and delete the device from the information corresponding to the first zone device, which was previously determined to be in the first zone but was not determined to be in the first zone during the current time. In some embodiments, in operation 1655, in response to the device being determined to be located at a distance D or more outside the first zone, the stored zone information is updated by removing the device from being listed as in the first zone. 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 more from the zone or it is no longer detected as being in the zone for a certain period of time (e.g., a predetermined period of time).
[0173] In an embodiment where operation 1654 includes operation 1658, in operation 1658, the server updates the zone information in the memory to add devices determined to be in the second zone and deletes devices from the information corresponding to the second zone devices, which were previously determined to be in the second zone but were not determined to be in the second zone during the current time.
[0174] 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 where the first device is known to have entered the first zone, e.g., the server adds the new entry location to the list of known entry locations for zone 1.
[0175] 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 where the first device is known to have entered the second zone, e.g., the server adds the new entry location to the list of known entry locations for zone 2.
[0176] 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: a wireless resource control operation and a facility control operation. In some embodiments, the control operation is to power on a plurality of wireless transmitters / receivers on 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, to turn on a light, control ventilation, and / or unlock or indicate the location of an exit door selected for use based on the determined device location information. In at least some embodiments, operation 1660 includes performing the determined control operation.
[0177] Returning to operation 1672, in operation 1672, the server continuously monitors requests for the number of devices in a set of non-overlapping zones. Operation 1672 can and sometimes does include operation 1674, in which the server receives a request for the number of devices in a set of non-overlapping zones. Operation proceeds from operation 1674 to operation 1670.
[0178] In operation 1670, the server responds to the request for the number of devices in a set of non-overlapping zones. Operation 1670 includes operation 1678, in which the server provides information indicating the number of devices determined to be in zones in the set, when a device is simultaneously indicated in more than one zone of the non-overlapping zones, the total number of devices in the system is less than the number of devices indicated as being in the non-overlapping zones in the set.
[0179] Returning to operation 1682, in operation 1682, the server continuously monitors for requests for information for determining which zone or zones the first device is in. Operation 1682 can and sometimes does include operation 1684, in which the server receives a request for information indicating which zone the first device is located in. Operation proceeds from operation 1684 to operation 1686.
[0180] 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 two 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.
[0181] In operation 1688, the server determines that the first device is in a non-overlapping zone based on the visited 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 a non-overlapping zone determined based on the visited zone information.
[0182] 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 in which of the two non-overlapping zones the first device is most likely located when the first device is determined to be simultaneously present in multiple non-overlapping zones based on the first device location information. Operation proceeds from operation 1694 to operation 1696, where the server responds to the request for information by indicating that the first device is located in the zone determined to be the most likely one of the multiple non-overlapping zones in which the first device is determined to be present.
[0183] 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 can predict population density even before users are adversely affected by an increase in population density.
[0184] A system according to at least some of the disclosed embodiments continuously monitors messages between wireless devices, such as user equipment (UE) and access points (APs). 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.
[0185] The first operation in an exemplary process of identifying population density is to define areas of interest of population density of interest. We will refer to these areas of interest as zones. Zones can be defined by a system administrator by entering geometric parameters of zones (such as XY coordinates of rectangular or square zones), entering the center and radius of circular zones, etc. Similarly, a system administrator can use a mouse or stylus to draw zones on a map presented on the screen of a device (such as a PC, mobile phone, tablet, etc.). According to another embodiment, zones can be defined by proximity to specific access points. For example, a location determination server can determine that a user is in zone 1 if its RSSI measured from AP1 is greater than 30, and in zone 2 if its RSSI measured from AP2 is greater than 20 and its RSSI measured from AP3 is greater than 50. According to another embodiment, more complex RSSI-based zones can be defined by incorporating complex mathematical / logical RSSI relationships. For example, a device can be defined as being in a specific 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.
[0186] 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 a specific embodiment, each UT measures the RSSI of the 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 the location engine attached to the wireless network. For each UT, the location engine receives the RSSI corresponding to multiple APs and determines the location of the UT based on the reported RSSI. The RSSI is measured periodically (e.g., once per second) and is used to update the location of each UT.
[0187] Similarly, instead of determining location by having each UE measure the RSSI from various APs and report it to a location management system via the associated AP, those skilled in the art will appreciate that the same result can be obtained in a system in which each AP measures the RSSI from each UE and reports it accordingly to a location management server.
[0188] In either case, RSSI measurements are taken periodically (eg, once per second), and thus the user's location is estimated based on these RSSI measurements.In a specific example, the location management system estimates the location of each UE once per second.
[0189] 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 the particular zone. When a user enters a zone for the first time, the counter is incremented and a new entry is created with the user id and the time that the user entered the zone. While the user remains in a zone, each time the zone engine in cooperation with the location engine reports that the user is still in the zone, the timestamp associated with the particular user is updated to reflect the last time the user has been identified as being in the particular zone. A user is considered to have entered a zone in a location where the engine detects the presence of the user in the zone for more than a first threshold T1 (e.g., 3) consecutive times. According to an alternative embodiment, a user is considered to have entered a particular zone if he is present within the zone boundaries for more than a first threshold number of times within a given time period.
[0190] The zone location management server continuously monitors the coordinates of each user. If the system determines that the user is outside the zone for more than a predetermined second threshold number of times T2 (e.g., 4), the system checks to find out whether the user is farther than a predetermined distance from the zone (e.g., 2 feet). Only when the user moves outside the zone beyond a predetermined distance does the system mark the user as being outside the zone. Upon determining that the user has left a particular zone, the location management server removes the user from the particular zone and the population counter of the zone is decremented by one. In addition, the entry for the particular user ID and its associated timestamp are removed from the population counter of the particular zone. According to one embodiment, the system estimates the size of the jitter in the location determination and uses it to determine the threshold D. For example, the system can and often does set the threshold D to be equal to the size of the jitter. By removing the user from the zone only when the user has been identified as being at least a distance from the zone D, the system ensures that resources are de-allocated from the zone only when it is determined that the user (or multiple users) have moved away from the zone.
[0191] Due to noise in RSSI, the determination of the user's location based on RSSI measurements is prone to error. Even when the user is static in a particular location, successive RSSI-based location estimates produce slightly different location estimates. Jitter in the estimated user location challenges the system's ability to determine that the user is in a particular zone. For small zones and large jitter, the UE may appear as if the user is continuously moving in and out of zones based on RSSI-based location estimates.
[0192] 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 counting of users in a zone.
[0193] According to a specific exemplary embodiment, if a user is observed at least T1 times in a specific zone within a specific time window W, the user is counted as being in the zone. For example, a user is observed three times in a zone within a continuous five-second time window. Due to the uncertainty in identifying the precise location of the user, the method may count the user as being in multiple zones at the same time. 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 the user as being in multiple zones. For example, two adjacent stores may want to place advertisements in their windows. By counting users close to these two stores, each store can obtain the number of potential shoppers adjacent to its window or entrance. Similarly, the count of the number of people in the zone and specifically in a specific zone can be used to determine how many people are in a specific queue waiting for service. When the system determines that the queue becomes longer than a specific threshold L, a new service station (e.g., a store checkout point of sale) can be opened. Similarly, the system can identify the number of visitors in the queue of a specific ride in an amusement park. When the length of the queue of a specific ride exceeds a specific threshold L, a new ride can be opened to reduce the load on the crowded ride, thereby increasing the satisfaction of the visitors.
[0194] According to yet another preferred method, the system counts the number of times a user is identified as being in a particular zone within a particular time period P. During a particular time period, a user may be identified as being in multiple zones. For example, a user may be identified as being in zone 1 C1 times, in zone 2 C2 times, and in zone k Cn times within a given time period. In this case, a heat map of the user's location may be drawn based on the percentage of time that the user has been identified in each zone. The heat map shows the user as being in zone 1 C1 / (C1+C2+…+Ck), in zone 2 C2 / (C1+C2+…+Ck), etc. As described above, the heat map is used to determine the number of visitors in each zone and thus determine 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 a room 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., a baseball game), and based on this determine when exit doors should be opened and how many doors should be opened, etc.
[0195] According to another embodiment, a new set of zones can be defined. Specifically, assume that the initial 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 that the mobile device is within a particular zone i can then be estimated by Ci / (C1 + C2 + … + Cn). According to this embodiment, a new set of more granular zones can be defined based on these estimated probabilities. For example, if the probability Ci / (C1 + C2 + … + Cn) > Pi, for all 1 < i < n, then the mobile terminal can be defined as being within a particular new zone.
[0196] As described above, the same process is used for all UEs associated with the network, and thus the system can and often does detect the number of users in each zone. Additionally, the system can identify the paths traversed by each user and use this information to allocate resources to optimize the user experience. For example, the resource can be a specific advertisement. In a shopping mall, if the system identifies multiple UEs leaving a men's store and entering a corridor, the system can and often does display an advertisement for men's merchandise. Similarly, if the system identifies multiple UEs leaving a women's store and entering a corridor, the system can and often does display an advertisement for women's merchandise.
[0197] Embodiments herein can be better understood by referring to the following description in conjunction with the accompanying drawings, in which like reference numerals indicate like or functionally similar elements.
[0198] Fig.1721 is a drawing 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, a shopping mall, a stadium, a city street, etc. Access points AP1 2131 to AP X 2135 are located throughout the physical location and provide wireless connectivity to user equipment UE1 2151 to UE Z 2155. Access points AP1 2131 to APX 2135 are connected to a network 2170, such as an intranet, the Internet, etc., via links 2191 and 2192. Resources RES1 2161 to RES Y 2165 are located throughout the physical location 2120. These resources are connected to the 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 are controlled by a 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 a location management system 2140, which is connected to the network via link 2196. In an exemplary embodiment, 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 to 2165 , based on instructions from resource management system 2145 .
[0199] As explained above, for example, the location of UE1 may be determined by having UE1 2151 measure the RSSI of the radio signals it receives from AP1 2131 to AP X 2135, and report these RSSIs to the location management system 2140 via the APs associated with it and connected to the network 2170. Alternatively, AP1 2131 to AP X 2135 may measure the RSSI of the signals they receive from UE1 and report it to the location management system 2140 via the network 2170 to the location management system 2140.
[0200] Fig.18 Is a physical location (such as Fig.17 An exemplary illustration 2200 of a location 2120 of FIG. 2200 is shown. The location has an entrance 2210, four rooms / stores with respective doors 2211, 2212, 2213, and 2214. The rooms can be reached via corridors connecting the respective rooms with the main entrance. Access points AP1 2231, AP2 2232, and AP3 2233 (such as Fig.17 Access points AP1 2131 to AP X 2135) are located throughout the physical location and provide access to user equipment (such as UE1 2251 and UE2 2252) (similar to Fig.17UE1 2151 to UE Z 2155) provide wireless connectivity. Displays DISP 1 2261, DISP2 2262, DISP3 2263, DISP4 2264, DISP5 2265, DISP6 2266, DISP7 2267, and DISP8 2268 (such as Fig.17 The resources RES1 2161 to RESY 2165) are located throughout the physical location. The content to be projected on these displays is controlled by a resource management system (such as Fig.17 box 2145).
[0201] Fig.19 is defined with added zones configured by the system administrator Fig.18 2200. Zone 1 2281, zone 3 2283, zone 4 2284, and zone 7 2287 are used to determine which store the UE is in. Zone 2 2282, zone 5 2285, zone 6 2286, and zone 8 2288 are used to determine the UE in the corridor and the specific part of the corridor in which the UE is located.
[0202] Fig. 20 is an exemplary access point 2300 (such as Fig.17 Drawing of access point AP1 2131 to APX 2135).
[0203] 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 modules 2308 (e.g., components of hardware modules, e.g., components of circuits) coupled together via a bus 2309 through which the various elements can exchange data and information. The wired interface 2330 includes a receiver 2332 and a transmitter 2334. The wired interface couples the access point 2300 to a network and / or Fig.17The first wireless interface 2336 may support a Wi-Fi interface (e.g., an 802.11 interface), including a receiver 2338 coupled to a receiving antenna 2339, via which the access point can receive wireless signals from a communication device (e.g., a wireless terminal), and a transmitter 2340 coupled to a transmitting antenna 2441, via which the access point can transmit wireless signals to a communication device (e.g., a wireless terminal). The second wireless interface 2342 may support a Bluetooth interface, including a receiver 2344 coupled to a receiving antenna 2345, via which the access point can receive wireless signals from a communication device (e.g., a wireless terminal), and a transmitter 2346 coupled to a transmitting antenna 2347, via which the access point can transmit wireless signals to a communication device (e.g., a wireless terminal).
[0204] Memory 2312 includes routines 2314 and data / information 2316. Routine 2314 includes components of modules 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 certain embodiments, acquisition actions 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 Fig.17 of 2140).
[0205] Fig.21 is an exemplary location management system 2400 (eg, a location management server such as Fig.17 2140), a resource management server (such as Fig.17 In some embodiments, Fig.21 The location management system 2400 is Fig.17 The location management system 2140 of the present invention 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 of a module 2440 (e.g., a component of a hardware module, such as a component of a circuit) coupled together via a bus 2409, through which the various elements can exchange data and information.
[0206] The communication interface 2430 couples the location monitoring system 2400 to a network and / or the Internet. The communication interface 2430 includes a receiver 2432 via which the location monitoring system can receive data and information, such as RSSI measured by each UE indicating the signal strength received by each UE from various APs, RSSI measured by each AP indicating the signal strength measured by each AP from each UE. The communication interface 2430 also includes a transmitter 2434 via which the location monitoring system transmits data and information to a resource manager such as a Fig.17 Box 2145) reports the zones in which the various users are identified, the history of locations traversed by each UE, and the population density in each zone.
[0207] Memory 2412 includes routines 2414 and data / information 2417. Routine 2414 includes components 2418 of modules (e.g., components of software modules), and application programming interfaces (APIs) 2420. Data / information 2417 includes configuration information 2422; captured message event streams 2424, such as messages with various RSSI measurements (or just various RSSI measurements); and a set 2426 of actions to be taken based on the various RSSI measurements, such as events to determine that a UE enters or leaves a particular zone.
[0208] Fig. 22 is an exemplary client (such as UE 2500 (e.g., Fig.17 Drawing of user equipment UE1 2151 to UE Z 2155)).
[0209] UE 2500 includes a wired interface 2502, a wireless interface 2504, a processor 2506 (e.g., a CPU), a memory 2512, and a component of a module 2516 (e.g., a component of a hardware module, e.g., a component of a circuit) coupled together via a bus 2509, through which the various elements can exchange data and information. The wired interface 2502 includes a receiver 2520 and a transmitter 2522. The wired interface couples UE 2500 to a network and / or Fig.17 Internet 2170.
[0210] The wireless interface 2504 includes a cellular interface 2524, a first wireless interface 2526 (e.g., an 802.11 WiFi 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 the user device can receive data from an access point (e.g., Fig.17AP1 2131 to AP X 2135) receives wireless signals, and a transmitter 2534 coupled to a transmitting antenna 2535, via which the user equipment can send 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 receiving antenna 2537, via which the UE can receive a signal from a communication device (e.g., an AP), and a transmitter 2538 coupled to a transmitting antenna 2539, via which the UE can transmit a wireless signal to a communication device (e.g., an AP). The second wireless interface 2528 may support a Bluetooth interface, including a receiver 2540 coupled to a receiving antenna 2541, via which the UE can receive a signal from a communication device (e.g., an AP), and a transmitter 2542 coupled to a transmitting antenna 2543, via which the UE can transmit a wireless signal to a communication device (e.g., an AP).
[0211] Memory 2512 includes routines 2528 and data / information 2517. Routines 2528 include components 2515 of modules (eg, components of software modules). Data / information 2517 may include configuration information and any additional information required for normal operation of UE 2500.
[0212] Fig.23 is a diagram of an exemplary web / content server 2600 according to an exemplary embodiment. In some embodiments, Fig.23 The web / content system 2600 is Fig.17 Web / content system 2160. 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 of a module 2640 (e.g., a component of a hardware module, such as a component of a circuit) coupled together via a bus 2609, through which the various elements can exchange data and information.
[0213] Communication interface 2630 couples web / content server 2600 to a network and / or the Internet, such as Fig.17 Network 2170.
[0214] The communication interface 2630 includes a receiver 2632 via which the web / content server can receive control information, for example, regarding which content should be presented on the web page. Fig.18The communication interface 2430 also includes a transmitter 2434 via which the web / content server presents content to each of the displays in each zone.
[0215] The memory 2612 includes routines 2614 and data / information / content 2617. The routines 2614 include components 2618 of a module (e.g., components of a software module), and an application programming interface (API) 2620. The data / information / content 2617 includes configuration information 2622, content 2624, and a set 2626 of actions to be taken based on instructions from the resource management server 2145.
[0216] Fig.24 2700 is a flow chart of an embodiment of the illustrated process 2700, assuming that at least one UE is not marked as being in a zone. The method describes a process by which a location management system determines whether a UE should be marked as being in a particular zone. The process begins at operation 2705 and proceeds to operation 2710, where a system administrator defines the boundaries of the zones. The administrator can 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 can be programmed into the system.
[0217] The process proceeds to operation 2715, where each UE receives a signal from a plurality of beacons such as Fig.17 The access points AP1 2131 to AP X2 135) receive radio signals, measure the RSSI of each of the received signals, and forward it to the associated AP via the associated AP. Fig.17 According to an alternative embodiment, multiple APs (such as Fig.17 AP1 2131 to AP X 2135) measure the RSSI they receive from each of the user equipment UE1 2151 to UE z 2155 and forward it to Fig.17 Location management system 2140.
[0218] In either case, the method proceeds to operation 2720, where Fig.17The location management system 2140 uses the RSSI signal to estimate the X, Y coordinates of each UE. The method then proceeds to operation 2725, where the system checks the X, Y coordinates and determines whether these coordinates fall within any of the zones defined in operation 2710. The determination is made separately for each zone and the process forwarded from this operation is repeated for each of the predetermined zones.
[0219] If the calculated X, Y coordinates of the UE do not fall within the predetermined zone, the method continues to operation 2730 where if the in-zone UE counter for that particular zone is greater than zero, the method decrements the counter. The process then loops through all other zones.
[0220] Once each of the zones has been checked, the process loops back to operation 2715 and awaits the next set of messages with RSSI measurements.
[0221] However, if it is determined in operation 2725 that the X, Y coordinates of the UE fall within a particular zone, the process proceeds to operation 2740, where the method determines whether the user has been marked in the particular zone. If it is determined that the user has been marked as being in the zone, the method proceeds to operation 2745, where it maintains the user as being in the zone. The method loops to operation 2725 (not shown) and checks whether 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.
[0222] However, if in operation 2740 the method determines that the UE has not been marked as being in the particular zone, the method proceeds to operation 2750 where an in-zone UE counter for the UE and the particular zone is incremented.
[0223] The method proceeds 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 whether 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.
[0224] However, if it is determined in operation 2755 that the in-zone counter is equal to or greater than the threshold, the method moves to operation 2760, where the user is marked as being in a particular zone. As part of adding the user to a zone, the number of UEs in the particular zone is incremented and an updated count of users in the zone is provided to Fig.17 The resource management system 2145. The resource management uses its internal policies to determine whether action should be taken to modify resource allocation in the overall system.
[0225] The method then proceeds to operation 2770, where Fig.17 The resource allocation management system 2145 determines whether a new count of UEs in a particular zone requires any changes in the allocation of overall system resources. For example, the system can determine whether a new change in population distribution requires a change in the advertisements being or to be presented to a particular display.
[0226] The method loops to operation 2725 (not shown) and checks whether 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.
[0227] Fig.25 2800 is a flow chart illustrating an embodiment of process 2800, wherein it is assumed that a UE has been marked as being in at least one particular zone. The process describes a method by which a location management system determines whether a UE should be removed from being marked in a particular zone or, alternatively, being marked as not being in a particular zone. The method begins in operation 2805 and proceeds to operation 2810, where a system administrator defines the 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 proceeds to operation 2815, which may be the same as in Fig.24 The same process described in operation 2715 is performed, and the process similarly continues to operation 2820.
[0228] The method then proceeds to operation 2820, which is the same as operation 2720, where the system determines the X, Y coordinates of 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 in which the UE is marked as being in that zone.
[0229] 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-zone UE counter is greater than zero, the out-of-zone 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 where the UE is marked as being in the zone. When all zones are checked, the process loops back to operation 2815, where the system obtains new RSSI information and the process repeats.
[0230] However, if it is determined in operation 2825 that the X, Y coordinates are outside a particular zone, the method proceeds to operation 2840, where the system determines whether the UE is far enough from the zone. In particular, as explained above, the system administrator configures a distance D (which is a 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 pre-programmed parameter of the system. According to a specific embodiment, the method draws a circle with a radius of D around the X, Y coordinates of the UE (which was calculated in operation 2820). If the circle with a radius of D does not overlap with the zone, the operation determines that the UE is farther than D from the zone.
[0231] If it is determined in operation 2840 that the UE is not far enough away, the process continues to operation 2830. However, if operation 2840 determines that the UE is outside the zone by at least a distance D, the process moves to operation 2850, where the out-of-zone UE counter is incremented.
[0232] The process proceeds to operation 2855, where the method checks whether the out-of-zone 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 a particular zone and all corresponding counters are adjusted accordingly. In particular, the number of UEs in the zone is decremented and the new count is reported to Fig.17 Resource management system 2145.
[0233] The process moves to operation 2865 where the resource management system may check the new distribution of UEs in the various zones and may reduce or change the resources allocated to a particular zone.
[0234] The process then loops back to operation 2825 (not shown) and performs the same check for all zones in which the UE is marked. When all zones are checked, the process loops back to operation 2815 where the system obtains new RSSI information and the process repeats.
[0235] Similarly, if the method determines in operation 2855 that the out-of-zone 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 where 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.
[0236] Fig.26 , Fig. 27 and Fig.28 An example of marking a UE as being in a specific zone is illustrated. More specifically, Fig.26 , Fig. 27 and Fig.28The functionality of the thresholds T1 and T2 for marking a UE as transitioning between zones (exit event from one zone and entry event into another zone) is illustrated. For simplicity, we assume Fig.25 The distance D is set to zero, two zones Z1 and Z2 are adjacent, and the UE moves from zone Z1 to zone Z2.
[0237] Example 1:
[0238] refer to Fig.26 2900 , the first example examines the behavior of the location management system 2140 when the system administrator sets T1 to be equal to T2 (e.g., T1=T2=3). At times 0 and 1, it is assumed that the UE has been marked as being in zone Z1. At time 2, the location management system identifies that the X, Y coordinates of the UE are outside zone Z1 and in zone Z2. The location management system updates the out-of-zone UE counter for the UE and zone Z1 to 1, and updates the in-zone UE counter for the UE and zone 2 to 1. At time 3, the location management system again identifies that the X, Y coordinates of the UE are outside zone Z1 and in zone Z2. The location management system updates the out-of-zone UE counter for the UE and zone Z1 to 2, and updates the in-zone UE counter for the UE and zone 2 to 2. At time 4, the location management system again identifies that the X, Y coordinates of the UE are outside zone Z1 and in zone Z2. The location management system updates the out-of-zone UE counter for the UE and zone Z1 to 3, and updates the in-zone UE counter for the UE and zone 2 to 3. At this point, since the counter is equal to its corresponding threshold value T1=T2=3, the UE is identified as being outside zone Z1 3 times in a row, and in zone Z2 3 times in a row. Thus, at time 4, as soon as the UE leaves zone 1, it is immediately marked as being in zone 2.
[0239] Example 2:
[0240] refer to Fig. 273000, the second example examines 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, it is assumed that the UE has been marked as being in zone Z1. At time 2, the location management system identifies that the X, Y coordinates of the UE are outside zone Z1 and in zone Z2. The location management system updates the out-of-zone UE counter for the UE and zone Z1 to 1, and updates the in-zone UE counter for the UE and zone 2 to 1. At time 3, the location management system again identifies that the X, Y coordinates of the UE are outside zone Z1 and in zone Z2. The location management system updates the out-of-zone UE counter for the UE and zone Z1 to 2, and updates the in-zone UE counter for the UE and zone 2 to 2. At time 4, the location management system again identifies that the X, Y coordinates of the UE are outside zone Z1 and in zone Z2. The location management system updates the out-of-zone UE counter for the UE and zone Z1 to 3, and updates the in-zone UE counter for the UE and zone 2 to 3. At this time, since the out-of-zone UE counter for the UE and zone Z1 is equal to the threshold value T2=3, the UE is marked as being in zone outside zone Z1. However, since the in-zone UE counter for the UE and zone Z2 is still less than the value of the threshold value T1=4, the UE has not yet been marked as being in zone Z2. At time 5, the location management system again identifies that the X, Y coordinates of the UE are outside zone Z1 and in zone Z2. Since the UE is marked as being outside zone Z1, the location management system does not need to update the out-of-zone UE counter for the UE and zone Z1. However, the in-zone UE counter for the UE and zone 2 is updated to 4. At this time, since the in-zone UE counter for the UE and zone Z2 is equal to the threshold value T1=4, the UE is marked as being in zone Z2 at time 5.
[0241] Example 3:
[0242] refer to Fig.283100, a third example examines the behavior of the 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, it is assumed that the UE has been marked as being in zone Z1. At time 2, the location management system identifies that the X, Y coordinates of the UE are outside zone Z1 and in zone Z2. The location management system updates the out-of-zone UE counter for the UE and zone Z1 to 1, and updates the in-zone UE counter for the UE and zone 2 to 1. At time 3, the location management system again identifies that the X, Y coordinates of the UE are outside zone Z1 and in zone Z2. The location management system updates the out-of-zone UE counter for the UE and zone Z1 to 2, and updates the in-zone UE counter for the UE and zone 2 to 2. At time 4, the location management system again identifies that the X, Y coordinates of the UE are outside zone Z1 and in zone Z2. The location management system updates the out-of-zone UE counter for the UE and zone Z1 to 3, and updates the in-zone UE counter for the UE and zone 2 to 3. At this time, since the out-of-zone UE counter for the UE and zone Z1 is less than the threshold value T2=4, the UE remains marked as being in zone Z1. However, since the in-zone UE counter for the UE and zone Z2 is equal to the value of the threshold value T1=3, the UE is marked as being in zone Z2. At this time, the UE is marked as being in both zone 1 and zone 2. At time 5, the location management system again identifies that the X, Y coordinates of the UE are outside zone Z1 and in zone Z2. The system updates the out-of-zone UE for the UE and zone Z1 to 4. Since the UE has been marked as being in zone Z2, there is no need to update its in-zone UE counter for zone Z2. Since the out-of-zone UE for the UE and zone Z1 is equal to the threshold value T2=4, the system marks the UE as leaving outside Z1. Therefore, between time 4 and time 5, the UE is marked as being in zone Z1 and zone Z2 at the same time.
[0243] Fig.29 3200 is a flowchart of an example process for determining the location of a UE. In some aspects, the following is performed by a hardware processing circuit device: Fig.29 In some embodiments, one or more electronic memories (e.g., 920) store instructions that, when executed, configure the hardware processing circuitry (e.g., 904) to perform the following Fig.29 Instructions (e.g., 922) for one or more of the functions discussed.
[0244] In operation 3205, a first location of the first device is determined. In some embodiments, the first location is determined based on multiple RSSI measurements. The RSSI measurements are 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 UE's location is then determined based on the RSSI information and location information for each of the multiple APs. In some embodiments, the multiple APs determine RSSI information for signals received from the UE. This information is then used to determine a location estimate or location for the UE based on the RSSI information and location information for each of the multiple APs. As described above, Fig.29 As discussed, 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.
[0245] Operation 3210 determines that the first device is located within a first boundary of a first zone based at least in part on the determined first location. As discussed above, some of the disclosed embodiments define zones of an area or a particular area, such as a building, a store, or other geographic area. In some aspects, operation 3210 performs multiple location 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.
[0246] 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 the first device and a plurality of access points. Based on the RSSI information and the location information for the plurality of access points, an estimate of the location of the first device (e.g., a second location) is determined. For example, in some embodiments, the 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.
[0247] 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 larger number of location determinations 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 an inference can be supported via a smaller number of location determinations or location estimates.
[0248] 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) within a time period or a threshold number of consecutive location indications indicates a single zone, then process 3200 infers 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, a hard disk, or other stable storage device. As disclosed above, the determination of which zone the first device is in may be used for various purposes, such as providing services 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.
[0249] As discussed above, some embodiments determine whether the location of the device is within a zone entry region. If the location of the device or a location estimate indicates that the device is within a zone entry region, and the location estimate of the device indicates a new zone, then a smaller number of location estimates are required to infer that the first device is within the new zone. In contrast, in these embodiments, if the location estimate of the first device indicates that the device has moved into a new zone, but the initial location estimate of the new zone is not for a portion of the new zone corresponding to an entry location of the new zone, then a higher number of location estimates or location determinations are required to infer that the first device has transitioned to the new zone.
[0250] In some embodiments, the location of the zone entrance area is statically defined. In other embodiments, the zone entrance area is dynamically defined. For example, some embodiments of the disclosed embodiments identify position estimates within a first zone, and then identify those position estimates or the first portion of the position (in units of time). Depending on the embodiment, the first portion may be of different sizes. These embodiments should recognize that the first portion of the position estimate when the device enters a new zone may indicate an entrance area (e.g., a doorway) for the first zone. If a threshold number of position estimates indicates that the device is in a first zone, then the first portions of those position estimates are used to define the entrance area for that zone.
[0251] Fig.30 3300 is a flowchart of an example process for determining the location of a UE. In some aspects, the following is performed by a hardware processing circuit device: Fig.30 In some embodiments, one or more electronic memories (e.g., 920) store instructions that, when executed, configure the hardware processing circuitry (e.g., 904) to perform the following Fig.30 Instructions (e.g., 922) for one or more of the functions discussed.
[0252] In operation 3310, a determination is made that a first device is in a first zone. As discussed above, one or more position estimates for a UE are determined via RSSI measurements of signals received by and / or from the UE. The RSSI measurement, together with a transmit power indication, defines the distance between a transmitting device and a receiving device. The distance is derived from the RSSI measurement. In some embodiments, triangulation is used to determine a position estimate for the UE based on its estimated distance from each of a 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 position estimates within a zone is required before the disclosed embodiments determine that a device is within a zone. Operation 3310 determines that the first device is within a first zone via a position estimate for the first device.
[0253] In operation 3320, a position estimate is determined for the first device. As discussed above, in at least some embodiments, the position estimate is determined via RSSI measurements for signals received by the first device and / or transmitted by the first device.
[0254] Decision operation 3330 determines whether the location estimate places the first device within a first zone (e.g., the zone in which the first device has been most recently determined to be located via operation 3310). If the location estimate indicates the same zone as the current or most recent 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 still does 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. Process 3300 then moves to operation 3380, which determines the zone of the first device based on the determined threshold. The threshold defines the number of consecutive position estimates required to determine that the first device is in a particular zone. Thus, for example, if the threshold is three (3), then three consecutive position estimates must indicate that the device is within a particular zone. When this criterion is met, the disclosed embodiments record a determination that the first device is within that particular single zone. If any of the three position estimates indicate a different zone, then a zone determination cannot be made, and an additional position estimate will be required before a zone determination is made.
[0255] The techniques of various embodiments may be implemented using software, hardware, and / or a combination of software and hardware. Various embodiments relate to apparatus, e.g., management entities, e.g., location / zone tracking servers, network monitoring nodes, routers, gateways, access points, DHCP servers, DNS servers, AAA servers, user equipment, e.g., wireless nodes, such as mobile wireless terminals, base stations, communication networks, communication systems. 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, mobile management entities (MMEs), networks, and / or communication systems. Various embodiments also relate to non-transient machines (e.g., computers); readable media, e.g., ROM, RAM, CDs, hard disks, etc., comprising machine-readable instructions for controlling a machine to implement one or more steps of a method.
[0256] It should be understood that the specific order or hierarchy of steps in the disclosed process is an example of an exemplary method. Based on design preferences, it should be understood that the specific order or hierarchy of steps in the process can 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.
[0257] In various embodiments, the devices and nodes described herein are implemented using one or more modules to perform steps corresponding to one or more methods, such as signal generation, transmission, processing, analysis and / or reception steps. Therefore, in some embodiments, various features are implemented using modules. Such modules can be implemented using software, hardware, or a combination of software and hardware. In some embodiments, each module is implemented as a separate circuit, wherein the device or system includes a separate circuit for implementing the functions corresponding to each described module. Many of the methods or method steps described above can be implemented using machine executable instructions (such as software) included in a machine readable medium (such as a memory device, such as a RAM, a floppy disk, etc.) to control a machine (such as a general-purpose computer) with or without additional hardware to implement all or part of the methods described above (for example, in one or more nodes). Therefore, among other aspects, various embodiments relate to machine readable media (for example, non-transient computer readable media), including machine executable instructions for causing a machine (for example, a processor and associated hardware) to perform one or more steps of the (multiple) methods described above. Some embodiments relate to a device including a processor configured to implement one, more or all steps of one or more methods of the present disclosure.
[0258] In some embodiments, one or more processors (e.g., CPUs) of one or more devices (e.g., communication devices, such as network management nodes, wireless terminals (UEs), and / or access points) are configured to perform the steps of the methods described as being performed by the devices. The configuration of the processor can be achieved by controlling the processor configuration using one or more modules (e.g., software modules) and / or by including hardware (e.g., hardware modules) in the processor to perform the recorded steps and / or control the processor configuration. Therefore, 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), an access point, a user device, etc.) having a processor, the processor including a module corresponding to each of the steps of the various described methods performed by the device including the processor. In some but not all embodiments, the communication device includes a module corresponding to each of the steps of the various described methods performed by the device including the processor. The module can be implemented in hardware only (e.g., as a circuit), or can be implemented using software and / or hardware or a combination of software and hardware.
[0259] Some embodiments relate to a computer program product including a computer-readable medium including codes for causing a computer (or multiple computers) to implement various functions, steps, actions and / or operations (e.g., one or more steps described above). Depending on the embodiment, the computer program product may and sometimes does include different codes for each step to be performed. Therefore, the computer program product may and does include codes 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), an access point, a base station, a wireless terminal, or a 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), a ROM (read-only memory), or other types of storage devices). In addition to relating to a computer program product, some embodiments relate to a processor configured to implement one or more of the various functions, steps, actions, and / or operations of one or more methods described above. Therefore, some embodiments relate to a processor (e.g., a CPU) configured to implement some or all steps of the methods described herein. The processor may be used, for example, in a communication device or other devices described in this application.
[0260] 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.
[0261] In view of the above description, many additional variations on the methods and devices of the various embodiments described above will be obvious to those skilled in the art.Such variations will be considered to be within the scope.Methods and devices can and in various embodiments, be used together with CDMA, orthogonal frequency division multiplexing (OFDM), WiFi, Bluetooth, BLE, and / or various other types of communication technologies that can be used to provide wireless communication links between access points and wireless nodes.In some embodiments, access points are implemented as base stations, which use WiFi, Bluetooth, BLE, OFDM and / or CDMA to establish communication links with user equipment (e.g., mobile nodes).In various embodiments, 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 methods.
[0262] Example 1 is a method, comprising: receiving, by a wireless terminal location tracking server, a received signal strength indication (RSSI) measurement value for a first wireless terminal from an access point, and determining, by the wireless terminal tracking server, a first location of the first wireless terminal based on the RSSI measurement value; 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, which is 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 a second boundary of the second zone based at least on a threshold number of location indications.
[0263] In Example 2, according to the subject matter of Example 1, optionally including: wherein determining the threshold number for position determination determines a first threshold number in response to the first zone being equal to the second zone, otherwise, determining a larger second threshold number.
[0264] In Example 3, according to the subject matter of Example 2, it optionally includes: determining whether the second position indicates that the first wireless terminal is within the entrance area of the second zone, and determining the second threshold number as a first value in response to the second position indicating that the first wireless terminal is within the entrance area, otherwise, determining the second threshold number as a larger second value.
[0265] In Example 4, according to the subject matter of Example 3, it is optionally included: determining the number of consecutive position determinations indicating that the first wireless terminal is within the boundary of the second zone, wherein the determination of whether the second position indicates that the first wireless terminal is within the entrance area of the second zone is based on the number.
[0266] In Example 5, according to the subject matter of Example 4, optionally including: wherein the determination of whether the second location indicates that the first wireless terminal is within an entrance area of the second zone is responsive to the number being below a predetermined threshold.
[0267] In Example 6, according to the subject matter of Example 5, optionally including: wherein the determination that the first wireless terminal is in the first zone includes determining that a number of position determinations indicating that the first wireless terminal is in the first zone is above a threshold.
[0268] In Example 7, the subject matter of Example 6 optionally includes: identifying a first set of position determinations in the number of position determinations indicating a first wireless terminal in a first zone, the first set of position determinations being determined before other position indications in the number of position determinations; and defining an entrance area of the first zone based on the first set of position determinations.
[0269] In Example 8, according to the subject matter of Example 7, optionally including: determining whether the location of the second wireless terminal is within the defined entrance area; setting a threshold based on the determination; and determining whether the second wireless terminal is within the first zone based on the threshold.
[0270] In Example 9, the subject matter of any one or more of Examples 1-8 may optionally include 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.
[0271] Example 10 is a wireless terminal tracking system, comprising: a hardware processing circuit device; one or more memories storing instructions, which when executed configure the hardware processing circuit device to perform operations, the operations comprising: receiving a received signal strength indication (RSSI) measurement value for a first wireless terminal from an access point by a wireless terminal location tracking server, and determining by the wireless terminal tracking server a first position of the first wireless terminal based on the RSSI measurement value; 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 position; determining by the wireless terminal tracking server a second position of the first wireless terminal, the second position being different from the first position; determining by the wireless terminal tracking server that the second position is within a second boundary of a second zone; determining by the wireless terminal tracking server a threshold number of position 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 a second boundary of the second zone based at least on a threshold number of position indications.
[0272] In Example 11, according to the subject matter of Example 10, optionally including: wherein determining the threshold number for position determination determines a first threshold number in response to the first zone being equal to the second zone, otherwise, determining a larger second threshold number.
[0273] In Example 12, according to the subject matter of Example 11, the operation optionally includes: determining whether the second position indicates that the first wireless terminal is within the entrance area of the second zone, and determining the second threshold number as a first value in response to the second position indicating that the first wireless terminal is within the entrance area, otherwise, determining the second threshold number as a larger second value.
[0274] In Example 13, according to the subject matter of Example 12, optionally including: the operation also includes: determining the number of consecutive position determinations indicating that the first wireless terminal is within the boundary of the second zone, wherein the determination of whether the second position indicates that the first wireless terminal is within the entrance area of the second zone is based on the number.
[0275] In Example 14, according to the subject matter of Example 13, optionally including: wherein the determination of whether the second location indicates that the first wireless terminal is within an entrance area of the second zone is responsive to the number being below a predetermined threshold.
[0276] In Example 15, according to the subject matter of Example 14, optionally including: wherein the determination that the first wireless terminal is in the first zone includes determining that a number of position determinations indicating that the first wireless terminal is in the first zone is higher than a threshold.
[0277] In Example 16, according to the subject matter of Example 15, optionally including: the operation also includes: identifying a first group of position determinations in the number of position determinations indicating that the first wireless terminal is in a first zone, the first group of position determinations being determined before other position indications in the number of position determinations; and defining an entrance area of the first zone based on the first group of position determinations.
[0278] In Example 17, according to the subject matter of Example 16, optionally including: the operation also includes: determining whether the location of the second wireless terminal is within the defined entrance area; setting a threshold based on the determination; and determining whether the second wireless terminal is within the first zone based on the threshold.
[0279] In Example 18, the subject matter of any one or more of Examples 10-17 optionally includes: the operation also includes: 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.
[0280] Example 19 is a non-transitory computer-readable storage medium comprising instructions that, when executed, configure a hardware processing circuit device to perform operations, the operations comprising: receiving a received signal strength indication (RSSI) measurement value for a first wireless terminal from an access point by a wireless terminal location tracking server, and determining by the wireless terminal tracking server a first position of the first wireless terminal based on the RSSI measurement value; 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 position; determining by the wireless terminal tracking server a second position of the first wireless terminal, the second position being different from the first position; determining by the wireless terminal tracking server that the second position is within a second boundary of a second zone; determining by the wireless terminal tracking server a threshold number of position 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 a second boundary of the second zone based at least on a threshold number of position indications.
[0281] In Example 20, the subject matter of Example 19 optionally includes: the operation also includes determining whether the second position indicates that the first wireless terminal is within an entrance area of a second zone, and in response to the second position indicating that the first wireless terminal is within the entrance area, determining the threshold number for position determination to be a first value, otherwise, determining the threshold number for position determination to be a second larger value.
Claims
1. A method performed by a processing circuit device, the method comprising: determining, based on the first signal strength value, that the wireless terminal is located within a first zone; determining, based on a second signal strength value, that the wireless terminal is at a first location; defining a threshold number of position determinations as a first value in response to the first position being within an entry region of a second zone, or defining the threshold number of position determinations as a second, larger value in response to the first position not being within the entry region of the second zone; performing a number of position determinations consistent with said threshold number of position determinations defined; as well as A determination is made whether the wireless terminal is within the second zone based on the number of position determinations performed.
2. A method performed by a processing circuit device, the method comprising: Based on determining that the wireless terminal is located within a first zone, determining based on at least one first criterion that the wireless terminal has not left the first zone; determining that the wireless terminal is located within a second zone based on at least one second criterion; as well as For the purpose of providing service to the wireless terminal, the wireless terminal is considered to be located within the first zone and the second zone.
