(19)
(11)EP 3 413 601 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
29.04.2020 Bulletin 2020/18

(21)Application number: 18175828.5

(22)Date of filing:  04.06.2018
(51)International Patent Classification (IPC): 
H04W 8/00(2009.01)
H04W 4/02(2018.01)

(54)

DETERMINING THAT A CLIENT DEVICE IS PRESENT IN A SITE BY USING FREQUENT CLIENT MOBILITY PATTERNS

FESTSTELLEN, DASS EINE KUNDENVORRICHTUNG PRÄSENT AN EINEM ORT IST MITTELS HÄUFIGEN KUNDEN-MOBILITÄTSMUSTERN

DÉTERMINATION QU'UN DISPOSITIF CLIENT ET PRÉSENT DANS UN SITE AU MOYEN DE MOTIFS DE MOBILITÉ CLIENTS FRÉQUENTS


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30)Priority: 05.06.2017 US 201715614129

(43)Date of publication of application:
12.12.2018 Bulletin 2018/50

(73)Proprietor: Hewlett Packard Enterprise Development LP
Houston, TX 77070 (US)

(72)Inventors:
  • Rehman, Ataur
    560 103 BANGALORE KARNATAKA (IN)
  • Sugatoor, Manaswini Lakshmikanth
    560 103 BANGALORE KARNATAKA (IN)
  • Sharma, Manas
    560 103 BANGALORE KARNATAKA (IN)

(74)Representative: Haseltine Lake Kempner LLP 
Redcliff Quay 120 Redcliff Street
Bristol BS1 6HU
Bristol BS1 6HU (GB)


(56)References cited: : 
WO-A1-2017/043746
US-A1- 2017 111 760
US-A1- 2016 269 984
  
      
    Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


    Description

    BACKGROUND



    [0001] Presence analytics generally refers to a mechanism for analyzing user traffic patterns in public venues and enterprise environments. Based on the analysis, businesses can develop or improve strategies for customer engagement, maximizing revenue opportunities, optimizing workspace, and increasing market presence. Document US2016269984 discloses a proximity recognition system. Document WO2017043746 discloses a service method for providing content information using beacon and a method for determining whether or not a user enters and leaves a store.

    BRIEF DESCRIPTION OF THE DRAWINGS



    [0002] The following detailed description references the drawings, wherein:

    FIG. 1 is a block diagram of an example system environment for determining that a client device presents in a site using frequent client mobility patterns;

    FIG. 2A is a block diagram of an example input data received by presence analytics at a network device for determining that a client device presents in a site using frequent client mobility patterns;

    FIG. 2B is a block diagram of an example mobility patterns extracted from input data for determining that a client device presents in a site using frequent client mobility patterns;

    FIG. 3 is a block diagram of an example model used to determine that a client device presents in a site using frequent client mobility patterns;

    FIG. 4 is a flowchart of an example process of determining that a client device presents in a site using frequent client mobility patterns; and

    FIG. 5 is a block diagram of an example network device to determine that a client device presents in a site using frequent client mobility patterns.


    DETAILED DESCRIPTION



    [0003] Presence analytics may be implemented in a network application executed by a network device that can periodically gather signal strength values of client devices from access points in a wireless network, and provide client devices' presence information as relative to a geographical site (e.g., whether a particular presence information as relative to a geographical site (e.g., whether a particular client device is a pass-by device or a visitor of the site). The site may refer to a geographical coverage area that a group of access points collectively provide wireless network service for. A pass-by client device may refer to a client device that is detected within the vicinity of an access point in the wireless network, but whose signal strength is not strong enough to be classified as presented within the site.

    [0004] In many instances, the network device running the presence analytics classifies a client device's presence information statically based on signal strength of the signals received from the client device by an access point in the wireless network. Such static classification may be inaccurate to determine the actual presence information of the client devices.

    [0005] Examples described herein include a method for determining that a client device is present in a site using frequent client mobility patterns. The method can determine whether a particular client device is inside or outside of a site based on frequent mobility patterns exhibited by client devices in the site, if the particular client device has been detected within the vicinity of an access point in a wireless network for a period of time. The site may refer to a geographical coverage area that is serviced by a group of access points (APs) in the wireless network, e.g., a store, a conference room, a lobby area, etc. Periodically, the access points can report the signal strength values of the wireless signals that each access point receives from client devices, as well as the association status of each client device. Using these input data, the network device running the presence analytics can build a model, which includes the mobility patterns (or trails) of associated client devices. Here, an example mobility pattern may be the received signal strength indicator (RSSI) values of a client device reported by single AP or multiple APs with a given timestamp. Next, the network device running the presence analytics can analyze and select a set of most frequent mobility patterns exhibited by associated client devices using closed frequent set mining technique. Once the model is built, the network device running the network device running the presence analytics can match a new client device's mobility patterns with the patterns in the model. If the new client device shows at least two patterns from the model for a predetermined amount of dwell time, the network device running the presence analytics can determine that the new client device presents in the site.

    [0006] In particular, embodiments of the invention provide a method, network device and non-transitory machine-readable storage medium in accordance with the appended claims.

    [0007] FIG. 1 is a block diagram of an example system environment for determining that a client device presents in a site using frequent client mobility patterns. FIG. 1 includes an example site 100 deployed with a plurality of access points (APs), such as, AP1 120, AP2 125, and AP3 130. The plurality of APs may be connected to a controller or server 170. In some examples, the controller or server 170 may be located remotely and connected to the plurality of APs via a cloud infrastructure. In other examples, the controller or server 170 may be located locally and connected to the APs via wired and/or wireless connections. In addition, FIG. 1 includes a plurality of client devices, such as, Client1 140, Client2 145, Client3 150, and Client4 155. Some of these client devices may be associated with the wireless network serviced by the APs (e.g., AP1 120 to AP3 130). Some of these client devices may not be associated with any of the APs in site 100. In addition, some of the client devices 140-155 may be presented within the site, whereas some of the client devices 140-155 may be presented within the vicinity of the site but outside the site (e.g., outside entry 105 but closely located to AP1 120). Also, some of the client devices 140-155 may be moving from time to time, whereas some of the client devices 140-155 may be immobile.

    [0008] For illustration purposes only, FIG. 1 includes an example floor plan layout of site 100. In this example, site 100 includes two separate shelves (e.g., shelf 110) on each side of the site after a respective client device moves through entry 105 into site 100. Shelf 110 may be used to display goods to customers of site 100. Also, site 100 may include a cashier counter 115, where customers can check out the goods that they want to purchase.

    [0009] Note that in this example, customers can frequently exhibit certain mobility patterns or trails. For example, many customers may follow the mobility trail of passing through the single entry of site 100, i.e., entry 105, spending some time on either side of shelf 110, then arriving at cashier 115 to check out the goods they've selected. In order to detect these frequent mobility patterns (or trails) of client devices that are presented within site 100, each access point in site 100 can periodically report the signal strength values of the wireless signals received from a client device, as well as the association status of each client device.

    [0010] For example, when Client1 140 just enters site 100 through entry 105, wireless signals from Client1 140 may be received by all three APs in site 100 at the same time. Specifically, the first radio of AP1 120 may detect a RSSI value of -63 from Client1 140, and the second radio of AP1 120 may detect a RSSI value of -83 from Client1 140. Then, AP1 120 will determine a signal strength value band that corresponds to the detected RSSI value. For example, the RSSI value of -63 falls within the [-60, -65] band, whereas the RSSI value of -83 falls within [-80, -85] band. Next, AP1 120 can report a mobility pattern of Client1 120 as detected by its two radios. In the given example, the mobility pattern reported by AP1 120 includes {AP1_R1=[-60, -65], AP1_R2=[-80, -85])}. Similarly, AP2 125 may report the mobility pattern of Client1 140 as {AP2_R1=[-80, -85] }, and AP3 130 may report the mobility pattern of Client1 140 as {AP3_R1=[-70, 75]}. Note that, although RSSI is used in the above examples, the network device running the presence analytics can use any signal strength metric, including but not limited to, signal-to-noise ratio (SNR), Effective Isotropic Radiated Power (EIRP), etc.

    [0011] When controller or server 170 receives the mobility patterns of Client1 140 reported by AP1 120 to AP3 130, controller or server 170 can aggregate these mobility patterns based on their timestamps. Specifically, controller or server 170 can combine mobility patterns of the same client device at the same timestamp but reported by different APs in the same site into a single mobility pattern. In the above example, controller or server 170 can combine the mobility patterns of Client1 140 into mobility pattern 160 {AP1_R1=[-60, 65], AP1_R2=[-80, -85], AP2_R1=[-80, -85], AP3_R1l=[-70, -75]}.

    [0012] If Client1 140 subsequently associated with one of the APs in site 100, then the network device running the presence analytics can determine that Client1 140 is presented within site 100. If a respective client device is determined to be presented within site 100, the network device running the presence analytics can add the collected mobility patterns of the respective client device as input data to build and/or update a model. In some examples, the respective client device is determined to be located within a site if the dwell time corresponding to the respective client device is greater than a threshold amount of time (e.g., 5 minutes). Here, the dwell time may refer to the time difference between when the respective client device is detected for the first time and the last time by any AP in a site.

    [0013] FIG. 2A is a block diagram of an example input data received by presence analytics at a network device for determining that a client device presents in a site using frequent client mobility patterns. In this example, input data 200 includes data received from AP1 210, AP2 220, and AP3 230, and each AP has two different radios (e.g., AP1 210 has R1 212 and R2 214; AP2 220 has R1 222 and R2 224; AP3 230 has R1 232 and R2 234). Also, client ID 240 identifies a client device whose wireless signal strength values are reported by the APs in the wireless network. Moreover, timestamp 250 indicates the time when the APs in the wireless network report the signal strength values of the wireless signals received from the client device. Further, associated 260 is a field that indicates whether the client device is currently associated with the wireless network.

    [0014] There can be multiple levels of data filtering and data manipulation being performed on input data 200. Specifically, input data 200 can be processed to filter the dataset. For example, if a particular record has missing values from all three APs, the record can be removed from input data 200. As another example, input data 200 may be filtered based on whether the client device is associated or unassociated with the wireless network to create different input datasets.

    [0015] Also, input data 200 can be processed to remove outliers. For example, the system can remove any single radio records, or two radio records seen on the same AP. Removal of single radio records help avoid the outlier patterns to be considered in the model, because APs located in the corners or near doorway can hear client devices that may be outside the site.

    [0016] The example input data 200 in FIG. 2A includes three records. The first record shows that client device with ID #4, which was associated with the wireless network, was detected at the timestamp 1478564238 by R1 212 and R2 214 of AP1 210, R2 224 of AP2 220, and R1 232 of AP3 230. The second record shows that client device with ID #4, which was associated with the wireless network, was detected at the timestamp 1478564298 by R2 214 of AP1 210, R1 222 and R2 224 of AP2 220, and R2 234 of AP3 230. The third record shows that client device with ID #5, which was associated with the wireless network, was detected at the timestamp 1478564298 by R1 212 of AP1 210, R2 224 of AP2 220, and R1 232 of AP3 230.

    [0017] Each radio reports a RSSI value band based on the RSSI value of the signals received from the client device. For example, if the RSSI of the signal from the client device is -63, then the band [-60, -65] is reported and included in input data 200. The band [-60, -65] represents that the reported RSSI value falls between -60 and -65. The interval of 5 in each band allows for accurate determination of the distance between the client device and the AP. Meanwhile, it also allows for recognition of frequent common mobility patterns exhibited by client devices in the wireless network. When client devices move along with the same trail in a site, their signals as detected by the APs may exhibit the same mobility patterns using signal strength band having an interval of 5.

    [0018] FIG. 2B is a block diagram of an example mobility patterns 270 extracted from input data 200 for determining that a client device presents in a site using frequent client mobility patterns. Specifically, FIG. 2B lists example client devices 280 and their mobility patterns 290. For example, Client 1 shows four different mobility patterns at different timestamps. In pattern 1, signals from Client 1 were received at a first timestamp and reported by R1 of AP1 as [-60, -65], R2 of AP1 as [-80, -85], R1 of AP2 as [-80, -85], and R1 of AP3 as [-70, -75]. In pattern 2, signals from Client 1 were received at a second timestamp and reported by R1 of AP3 as [-80, -85] and R2 of AP3 as [-70, -75]. In pattern 3, signals from Client 1 were received at a third timestamp and reported by R1 of AP2 as [-65, -70], R2 of AP2 as [-95, -100], and R1 of AP3 as [-75, -80]. In pattern 4, signals from Client 1 were received at a fourth timestamp and reported by R1 of AP1 as [-65, -70], R1 of AP2 as [-55, -60], R2 of AP2 as [-90, -95], R1 of AP3 as [-70, -75], and R2 of AP3 as [-90, -95]. Similarly, Client 2 shows two different mobility patterns at two different timestamps; Client 3 shows three different mobility patterns at three different timestamps; and, Client 4 shows six different mobility patterns at six different timestamps.

    [0019] Next, by comparing the mobility patterns corresponding to different client devices that are collected at different timestamps, the system can determine a subset of mobility patterns that occur more than once among all mobility patterns 290. For example, pattern 1 of Client 1 and pattern 1 of Client 3 are the same mobility pattern. Also, pattern 3 of Client 1, pattern 2 of Client 3, and pattern 4 of Client 4 are the same mobility patterns. Moreover, pattern 4 of Client 1 and pattern 2 of Client 4 are the same mobility patterns. Furthermore, pattern 1 of Client 2, pattern 1 and pattern 5 of Client 4 are the same mobility patterns. Here, it is assumed that all four client devices are associated with the wireless network. Therefore, the system can generate a set of frequent mobility patterns exhibited by associated client devices. The frequent mobility patterns, for example, can include the client devices' mobility pattern trails whose counts are more than a predetermined count (e.g., occurring more than once).

    [0020] FIG. 3 is a block diagram of an example model used to determine that a client device presents in a site using frequent client mobility patterns. Model 300 includes the four frequent mobility patterns 310-340 generated by analyzing input data 200 in FIG. 2. Specifically, frequent mobility pattern 310 is exhibited as pattern 1 of Client 1 and pattern 1 of Client 3. In addition, frequent mobility pattern 320 is exhibited as pattern 3 of Client 1, pattern 2 of Client 3, and pattern 4 of Client 4. Moreover, frequent mobility pattern 330 is exhibited as pattern 1 of Client 2, pattern 1 and pattern 5 of Client 4. Further, frequent mobility pattern 340 is exhibited as pattern 4 of Client 1 and pattern 2 of Client 4.

    [0021] In some examples, the system use data collected from moving client devices to build the model. By including moving client devices, the system can remove static client devices that may skew the distribution of frequent mobility patterns. Such static client devices may be desktop computers at the cashier or security devices. In these cases, moving client devices may be determined based on which radio detected the maximum RSSI value from the client device at a given timestamp. For example, with mobility patterns 290 in FIG. 2B, R1 of AP1 was the radio detecting the maximum RSSI value [-60, -65] at the first timestamp; R2 of AP3 was the radio detecting the maximum RSSI value [-70, -75] at the second timestamp; R1 of AP2 was the radio detecting the maximum RSSI value [-65, -70] at the third timestamp; and, R1 of AP2 was the radio detecting the maximum RSSI value [-55, -60] at the fourth timestamp. Therefore, during the periods when these mobility patterns were reported, the radio that detected the maximum signal strength from Client 1 has changed from R1 of AP1 to R2 of AP3, then to R1 of AP2. Such continuous change in the radio that detects the maximum signal strength from a particular client device indicates that the particular client device is a moving client device. Thus, the system can determine that a particular client device is moving if the radio detecting the maximum signal strength has changed for a threshold number of times during a predetermined time period. For example, if the radio detecting the maximum RSSI from a client device changes more than 3 times in 10 consecutive records in the input data, then the respective client device is determined to be a moving client device. As a result, the records of the respective client device in the input data are used for closed frequent mobility pattern data mining.

    [0022] In some examples, the system can look for a maximum RSSI value from each row in the input data (e.g., input data 200 in FIG. 2) and determine a radio name corresponding to the maximum RSSI value. Then, the system can add the maximum RSSI value and the maximum RSSI detecting radio to input data as new metrics. Next, the system can filter records of each client device and compute its dwell time. For example, if signals from that client device are detected continuously for at least 10 minutes and the client device is determined to be a moving client device, then the system can add the records of that client device to the moving client device's record dataset. After filtering client devices' records, the resulting moving client devices' record dataset can be used to build the model.

    [0023] When building the model, the input data is divided into two separate sets, e.g., a training dataset and a validation dataset, according to a predetermined ratio (e.g., 80% of input data belong to the training dataset, whereas 20% of input dataset belong to the validation dataset). The training dataset may be used for model training purposes. On the other hand, the validation dataset may be used for validating the model after the model is built.

    [0024] Subsequently, the system can convert the moving client devices' record dataset from the training dataset into transactions to compute most common mobility patterns using FP-Close dataset mining. FP-Close dataset mining mines frequent patterns that are both closed and have support greater than or equal to the minimum support. Here, the minimum support may be determined by domain expert as per requirement. A pattern may be referred to as "closed" in a set of patterns if no superset of patterns has the same support count as this original pattern. The FP-Close dataset mining can efficiently find the closed frequent set. The closed frequent set can remove redundant mobility patterns from the frequent mobility patterns set. Thus, frequent mobility patterns obtained in the model are unique.

    [0025] In some examples, frequent mobility patterns 310-34 can be obtained using closed frequent set mining. Here, the closed frequent set is defined as a frequent item set that is both closed and its support is greater than or equal to the minimum support (also known as "minsup"). An item set is closed in a dataset if there exists no superset that has the same support count as this original item set. To identify the closed frequent set, the system first can identify all frequent item sets. Then, from this group of frequent item sets, the system can find those that are closed by checking to see if there exists a superset that has the same support as the frequent item set. If there is, the item set is disqualified. However, if no superset can be found, then the item set is determined to be closed. In some examples, the system can first identify the closed item sets, and then use the minsup to determine which ones are frequent.

    [0026] Closed frequent item sets and maximal frequent item sets may be subsets of frequent item sets, whereas maximal frequent item sets are a more compact representation because it is a subset of closed frequent item sets. Closed frequent item sets are used herein for illustration purposes, but other alternatives (e.g., maximal frequent item sets) may be used in the data mining as well.

    [0027] Once the model is built, the system can match a new client device's mobility patterns with the existing frequent mobility patterns in the model. If at least two patterns get matched, then the system can determine a dwell time for the new client device during which the matched mobility pattern is exhibited. Dwell time may refer to the time difference between when a client device is detected for the first time and the last time by any AP in a network. If the dwell time is greater than a predetermined threshold (e.g., 5 minutes), then the system can determine that the new client device is located inside the site.

    [0028] After the model is built, the system can further verify the validity of the built model. As mentioned previously, a certain ratio of the input data are used for validation purposes. To validate the model, the system can first find the moving client devices in the validation dataset using the same mechanism as described above (e.g., by determining whether the radio that detects the maximum RSSI of signals from a client device changes over time). Then, the system can match the mobility patterns of each moving client device with frequent mobility patterns in the model. If at least two mobility patterns exhibited by the moving client device match with the frequent mobility patterns in the model and if the moving client device's dwell time is more than a predetermined period of time (e.g., 5 minutes), then that moving client device can be classified as inside the site. If a threshold percentage (e.g., 60 %) of client devices' mobility patterns in the validation set match the frequent mobility patterns in the model, then the built model is deemed to have been validated.

    [0029] Table 1 below shows an example validation results.
    Table 1
    Unassoc clients 
    Seen for > = 3 min 10000
    Seen on > = 2 radios 7054
    # patterns matched 2727
    Classified inside (dwell time = 5mins) 1609
    % of patterns matched to seen on >= 2 rad ios 22.8%
    Assoc clients 
    Seen for > = 3min 500
    Seen on > = 2 radios 262
    # patterns matched 226
    Classified inside (dwell time = 5mins) 226
    % of patterns matched to seen on >= 2 rad ios 86.2%


    [0030] In this example, there are 86.2% of associated client devices' mobility patterns from the validation dataset matching with the frequent mobility patterns in the training dataset, which verifies that selected support of 0.1 is good.

    Processes of Determining That a Client Device Presents in a Site Using Frequent Client Mobility Patterns



    [0031] FIG. 4 is a flowchart of an example method (e.g., process) of determining that a client device presents in a site using frequent client mobility patterns. During operations, a network device (e.g., a server or controller) can receive a plurality of signal strength values associated with a particular timestamp corresponding to a particular client device from a plurality of access points in a wireless network at a site (operation 410). Then, the network device can determine a mobility pattern based on the plurality of signal strength values associated with the particular timestamp corresponding to the particular client device (operation 420). Next, the network device can compare the mobility pattern associated with the particular timestamp corresponding to the particular client device with mobility patterns associated with other timestamps or corresponding to other client devices to identify a set of frequent mobility patterns (operation 430). Further, the network device can determine whether an unassociated client device exhibits a threshold number of frequent mobility patterns for a threshold amount of time (operation 440). Moreover, the network device can determine that the unassociated client device presents in the site in response to the unassociated client device exhibiting the threshold number of the frequent mobility patterns for the threshold amount of time (operation 450).

    [0032] In some implementations, a network device may refer to a network controller that comprises a hardware or a combination of hardware and software that enables connection between client devices and computer networks. In some implementations, a network device may refer to a server computing device (e.g., on-premise server, private, public, or hybrid cloud server)that comprises a hardware or a combination of hardware and software that can process and/or display network-related information. For example, signal strength values corresponding to client devices that are sent from access points can be received at a network controller. The network controller may then analyze the received information to determine whether a client device is present in a site. In another example, signal strength values corresponding to client devices that are sent from access points can be received at a server computing device, which may then analyze the received information to determine whether a client device is present in a site.

    [0033] In some examples, the mobility pattern includes the plurality of signal strength values, whereas each signal strength value can be reported by a particular radio of a particular access point in the wireless network at the particular timestamp. In some examples, each signal strength value comprises a non-overlapping range of received signal strength indicator (RSSI) values.

    [0034] In some examples, the set of frequent mobility patterns occur more than a predetermined number of times among mobility patterns associated with different timestamps corresponding to different client devices in the wireless network.

    [0035] In some examples, the threshold amount of time includes a dwell time, which indicates a time difference between when the particular client device is detected for the first time and the last time by any access point in the wireless network.

    [0036] In some examples, the network device can further determine that the unassociated client device is moving in response to a threshold number of changes within a predetermined period of time in an access point radio that detects a maximum signal strength value corresponding to the unassociated client device. In addition, the network device can use closed frequent set mining to build a model that includes the set of frequent mobility patterns. Thereafter, the network device can validate the model in response to a majority of moving client devices matching at least two frequent mobility patterns during a predetermined dwell time.

    Network Device to Determine That a Client Device Presents in a Site Using Frequent Client Mobility Patterns



    [0037] As used herein, a network device may be implemented, at least in part, by a combination of hardware and programming. For example, the hardware may comprise at least one processor (e.g., processor 510) and the programming may comprise instructions, executable by the processor(s), stored on at least one machine-readable storage medium (e.g., 520). In addition, a network device may also include embedded memory and a software that can be executed in a host system and serve as a driver of the embedded memory. As used herein, a "processor" may be at least one of a central processing unit (CPU), a semiconductor-based microprocessor, a graphics processing unit (GPU), a field-programmable gate array (FPGA) configured to retrieve and execute instructions, other electronic circuitry suitable for the retrieval and execution instructions stored on a machine-readable storage medium, or a combination thereof.

    [0038] The at least one processor 510 may fetch, decode, and execute instructions stored on storage medium 520 to perform the functionalities described below in relation to instructions 530-580. In other examples, the functionalities of any of the instructions of storage medium 520 may be implemented in the form of electronic circuitry, in the form of executable instructions encoded on a machine-readable storage medium, or a combination thereof. The storage medium may be located either in the computing device executing the machine-readable instructions, or remote from but accessible to the computing device (e.g., via a computer network) for execution. In the example of FIG. 5, storage medium 520 may be implemented by one machine-readable storage medium, or multiple machine-readable storage media.

    [0039] Although network device 500 includes at least one processor 510 and machine-readable storage medium 520, it may also include other suitable components, such as additional processing component(s) (e.g., processor(s), ASIC(s), etc.), storage (e.g., storage drive(s), etc.), or a combination thereof.

    [0040] As used herein, a "machine-readable storage medium" may be any electronic, magnetic, optical, or other physical storage apparatus to contain or store information such as executable instructions, data, and the like. For example, any machine-readable storage medium described herein may be any of Random Access Memory (RAM), volatile memory, non-volatile memory, flash memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disc (e.g., a compact disc, a DVD, etc.), and the like, or a combination thereof. Further, any machine-readable storage medium described herein may be non-transitory. In examples described herein, a machine-readable storage medium or media may be part of an article (or article of manufacture). An article or article of manufacture may refer to any manufactured single component or multiple components.

    [0041] Specifically, instructions 530-580 may be executed by processor 510 to: receive a plurality of signal strength values associated with a particular timestamp corresponding to a particular client device from a plurality of access points in a wireless network at a site; determine a mobility pattern based on the plurality of signal strength values associated with the particular timestamp corresponding to the particular client device; compare the mobility pattern associated with the particular timestamp corresponding to the particular client device with mobility patterns associated with other timestamps or corresponding to other client devices to identify a set of frequent mobility patterns; determine whether an unassociated client device exhibits a threshold number of frequent mobility patterns for a threshold amount of time; determine that the unassociated client device presents in the site in response to the unassociated client device exhibiting the threshold number of the frequent mobility patterns for the threshold amount of time; determine that the unassociated client device is moving in response to a threshold number of changes within a predetermined period of time in an access point radio that detects a maximum signal strength value corresponding to the unassociated client device; use closed frequent set mining to build a model that comprises the set of frequent mobility patterns; validate the model in response to a majority of moving client devices matching at least two frequent mobility patterns during a predetermined dwell time; etc.


    Claims

    1. A method comprising:

    receiving (410), by a network device, a plurality of signal strength values associated with a particular timestamp corresponding to a particular client device from a plurality of access points in a wireless network at a site;

    determining (420), by the network device, a mobility pattern based on the plurality of signal strength values associated with the particular timestamp corresponding to the particular client device; wherein the mobility pattern comprises the plurality of signal strength values, each signal strength value being reported by a particular radio of a particular AP in the wireless network at the particular timestamp;

    comparing (430), by the network device, the mobility pattern associated with the particular timestamp corresponding to the particular client device with mobility patterns associated with other timestamps or corresponding to other client devices to identify a set of frequent mobility patterns;

    the method being characterized in that it further comprises:

    determining (440), by the network device, whether an unassociated client device exhibits a threshold number of frequent mobility patterns for a threshold amount of time; and

    determining (450), by the network device, that the unassociated client device presents in the site in response to the unassociated client device exhibiting the threshold number of the frequent mobility patterns for the threshold amount of time;

    wherein comparing, by the network device, the mobility pattern associated with the particular timestamp corresponding to the particular client device with mobility patterns associated with other timestamps or corresponding to other client devices to identify a set of frequent mobility patterns comprises determining, by the network device, that the unassociated client device is moving in response to a threshold number of changes within a predetermined period of time in an access point radio that detects a maximum signal strength value corresponding to the unassociated client device; and

    using, by the network device, closed frequent set mining to build a model that comprises the set of frequent mobility patterns, wherein input to the closed frequent set mining are the mobility patterns corresponding to the unassociated client devices determined to be moving.


     
    2. The method of claim 1, wherein each signal strength value comprises a non-overlapping range of received signal strength indicator, RSSI, values.
     
    3. The method of claim 1, wherein the threshold amount of time comprises dwell time indicating a time difference between when the particular client device is detected for the first time and the last time by any access point in the wireless network.
     
    4. The method of claim 1, further comprising:
    validating, by the network device, the model in response to a majority of moving client devices matching at least two frequent mobility patterns during a predetermined dwell time.
     
    5. A network device, comprising at least:

    a memory;

    a processor (510),
    wherein the network device is adapted to perform the steps of the method of any one of claims 1 to 4.


     
    6. A non-transitory machine-readable storage medium (520) encoded with instructions executable by at least one processor of a network device, the machine-readable storage medium comprising instructions that, when executed by a processor of a network device, cause the processor to operate according to any of method claims 1 to 4.
     


    Ansprüche

    1. Verfahren, Folgendes umfassend:

    Empfangen (410), durch eine Netzwerkvorrichtung, eine Vielzahl von Signalstärkewerten, die einem bestimmten Zeitstempel zugehörig sind, der einer bestimmten Client-Vorrichtung von mehreren Zugriffspunkten in einem drahtlosen Netzwerk an einem Standort entspricht;

    Bestimmen (420), durch die Netzwerkvorrichtung, eines Bewegungsmusters basierend auf der Vielzahl von Signalstärkewerten, die dem bestimmten Zeitstempel, der der bestimmten Client-Vorrichtung entspricht, zugehörig sind; wobei das Bewegungsmuster die Vielzahl von Signalstärkewerte umfasst, wobei jeder Signalstärkewert von einem bestimmten Funkgerät eines bestimmten ZP in dem drahtlosen Netzwerk zu dem bestimmten Zeitstempel gemeldet wird;

    Vergleichen (430), durch die Netzwerkvorrichtung, des Bewegungsmusters, das dem bestimmten Zeitstempel zugehörig ist, der der bestimmten Client-Vorrichtung entspricht, mit Bewegungsmustern, die anderen Zeitstempeln zugehörig sind oder anderen Client-Vorrichtungen entsprechen, um einen Satz von häufigen Bewegungsmustern zu identifizieren;

    wobei das Verfahren dadurch gekennzeichnet ist, dass es ferner Folgendes umfasst:

    Bestimmen (440), durch die Netzwerkvorrichtung, ob eine nicht zugehörige Client-Vorrichtung eine bestimmte Schwellenwertanzahl an häufigen Bewegungsmustern für eine bestimmte Schwellenwertdauer vorweist; und

    Bestimmen (450), durch die Netzwerkvorrichtung, dass die nicht zugehörige Client-Vorrichtung als Reaktion darauf, dass die nicht zugehörige Client-Vorrichtung die Schwellenwertanzahl der häufigen Bewegungsmuster für die Schwellenwertdauer vorweist, in dem Standort präsentiert wird;

    wobei das Vergleichen, durch die Netzwerkvorrichtung, des Bewegungsmusters, das dem bestimmten Zeitstempel, der der bestimmten Client-Vorrichtung entspricht, zugehörig ist, mit Bewegungsmustern, die anderen Zeitstempeln zugehörig sind oder anderen Client-Vorrichtungen entsprechen, um einen Satz von häufigen Bewegungsmustern zu identifizieren, das Bestimmen, durch die Netzwerkvorrichtung, umfasst, dass sich die nicht zugehörigen Client-Vorrichtung als Reaktion auf eine Schwellenwertanzahl von Änderungen innerhalb eines vorgegebenen Zeitraums in einem Zugriffspunktfunkgerät bewegt, das einen maximalen Signalstärkewert erfasst, der der nicht zugehörigen Client-Vorrichtung entspricht; und

    Verwenden, durch die Netzwerkvorrichtung, von geschlossenem häufigem Satz-Mining, um ein Modell zu erstellen, das den Satz von häufigen Bewegungsmustern umfasst, wobei die Eingabe in das geschlossene häufige Satz-Mining die Bewegungsmuster sind, die den nicht zugehörigen Client-Vorrichtungen entsprechen, die als sich bewegend bestimmt wurden.


     
    2. Verfahren nach Anspruch 1, wobei jeder Signalstärkewert einen nicht überlappenden Bereich von Empfangssignalstärkeindikatorwerten (received signal strength indicator- RSSI) umfasst.
     
    3. Verfahren nach Anspruch 1, wobei die Schwellenwertdauer die Verweilzeit umfasst, die einen Zeitunterschied zwischen dem Zeitpunkt, zu dem die bestimmte Client-Vorrichtung zum ersten Mal und dem letzten Mal von einem beliebigen Zugriffspunkt in dem drahtlosen Netzwerk erkannt wird, anzeigt.
     
    4. Verfahren nach Anspruch 1, ferner Folgendes umfassend:
    Validieren, durch die Netzwerkvorrichtung, des Modells als Reaktion auf eine Mehrheit von sich bewegenden Client-Vorrichtungen, die mit wenigstens zwei häufigen Bewegungsmustern während einer vorgegebenen Verweildauer übereinstimmen.
     
    5. Netzwerkvorrichtung, mindestens Folgendes umfassend:

    einen Speicher;

    einen Prozessor (510),
    wobei die Netzwerkvorrichtung angepasst ist, um die Schritte des Verfahrens nach einem der Ansprüche 1 bis 4 auszuführen.


     
    6. Nichtflüchtiges maschinenlesbares Speichermedium (520), das mit Anweisungen codiert ist, die von wenigstens einem Prozessor einer Netzwerkvorrichtung ausgeführt werden können, wobei das maschinenlesbare Speichermedium Anweisungen umfasst, die, wenn sie von einem Prozessor einer Netzwerkvorrichtung ausgeführt werden, den Prozessor veranlassen, nach einem der Ansprüche 1 bis 4 des Verfahrens zu arbeiten.
     


    Revendications

    1. Procédé comprenant :

    la réception (410), par un dispositif réseau, d'une pluralité de valeurs d'intensité de signal associées à un horodatage particulier correspondant à un dispositif client particulier à partir d'une pluralité de points d'accès dans un réseau sans fil au niveau d'un site ;

    la détermination (420), par le dispositif réseau, d'un profil de mobilité en fonction de la pluralité de valeurs d'intensité de signal associées à l'horodatage particulier correspondant au dispositif client particulier ; le profil de mobilité comprenant la pluralité de valeurs d'intensité de signal, chaque valeur d'intensité de signal étant signalée par une radio particulière d'un point d'accès particulier dans le réseau sans fil à l'horodatage particulier ;

    la comparaison (430), par le dispositif réseau, du profil de mobilité associé à l'horodatage particulier correspondant au dispositif client particulier avec des profils de mobilité associés à d'autres horodatages ou correspondant à d'autres dispositifs clients pour identifier un ensemble de profils de mobilité fréquents ;

    le procédé étant caractérisé en ce qu'il comprend en outre :

    la détermination (440), par le dispositif de réseau, du fait de savoir si un dispositif client non associé exhibe un nombre seuil de profils de mobilité fréquents pendant une durée seuil ; et

    la détermination (450), par le dispositif de réseau, du fait que le dispositif client non associé se présente dans le site en réponse au fait que le dispositif client non associé exhibe le nombre seuil des profils de mobilité fréquents pendant la durée seuil ;

    dans lequel la comparaison, par le dispositif réseau, du profil de mobilité associé à l'horodatage particulier correspondant au dispositif client particulier avec des profils de mobilité associés à d'autres horodatages ou correspondant à d'autres dispositifs clients pour identifier un ensemble de profils de mobilité fréquents comprend la détermination, par le dispositif réseau, du fait que le dispositif client non associé est en cours de déplacement en réponse à un nombre seuil de changements dans une période de temps prédéterminée dans une radio de point d'accès qui détecte une valeur d'intensité de signal maximale correspondant au dispositif client non associé ; et

    l'emploi, par le dispositif de réseau, d'une exploration des ensembles fréquents fermés pour construire un profil qui comprend l'ensemble de profils de mobilité fréquents, une entrée de l'exploration des ensembles fréquents fermés étant les profils de mobilité correspondant aux dispositifs clients non associés dont il est déterminé qu'ils sont en cours de déplacement.


     
    2. Procédé selon la revendication 1, dans lequel chaque valeur d'intensité de signal comprend une plage non chevauchante de valeurs d'indicateur d'intensité de signal reçu, RSSI.
     
    3. Procédé selon la revendication 1, dans lequel la durée seuil comprend un temps de tenue indiquant une différence de temps entre le moment où le dispositif client particulier est détecté pour la première fois et la dernière fois par un point d'accès quelconque dans le réseau sans fil.
     
    4. Procédé selon la revendication 1, comprenant en outre :
    la validation, par le dispositif réseau, du profil en réponse au fait qu'une majorité de dispositifs clients en cours de déplacement correspond à au moins deux profils de mobilité fréquents pendant un temps de tenue prédéterminé.
     
    5. Dispositif réseau, comprenant au moins :

    une mémoire ;

    un processeur (510),
    le dispositif réseau étant conçu pour effectuer les étapes du procédé selon l'une quelconque des revendications 1 à 4.


     
    6. Support de stockage lisible par machine non transitoire (520) codé avec des instructions exécutables par au moins un processeur d'un dispositif réseau, le support de stockage lisible par machine comprenant des instructions qui, lorsqu'elles sont exécutées par un processeur d'un dispositif réseau, amènent le processeur à fonctionner selon l'une quelconque des revendications de procédé 1 à 4.
     




    Drawing























    Cited references

    REFERENCES CITED IN THE DESCRIPTION



    This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

    Patent documents cited in the description