# US 9,883,331 B2 · Wireless network connectivity prediction based on user patterns and behavior

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,883,331 B2
- Document ID: US9883331B2
- Status: Granted
- Kind: B2
- Application number: 13/997,819
- Filed: 2012-03-30
- Published: 2014-09-25
- Granted: 2018-01-30
- Earliest claimed: 2012-03-30
- Assignees: Intel Corporation
- Applicants: Mats Agerstam; Srikathyayani Kathyayani Srikanteswara
- Inventors: Mats Agerstam; Srikathyayani Kathyayani Srikanteswara
- Web page: https://patentgrep.com/patent/US9883331B2

## CPC

- H04W 52/0251: {using monitoring of local events, e.g. events related to user activity}
- G01S 5/0252: {Radio frequency fingerprinting}
- H04W 4/02: Services making use of location information
- H04W 4/029: Location-based management or tracking services
- H04W 48/16: Discovering, processing access restriction or access information
- H04W 48/18: Selecting a network or a communication service
- H04W 64/00: Locating users or terminals {or network equipment} for network management purposes, e.g. mobility management
- Y02D 30/70: in wireless communication networks
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G01S: RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Disclosed in some examples is a method including determining a plurality of user locations, the plurality of user locations determined based upon a clustering of wireless networks scanned by a network interface card communicatively coupled to the processor during an active period of the processor; determining a current location of the user, the current location being one of the plurality of user locations; and scanning for a plurality of wireless networks associated with one or more next locations, the one or more next locations selected from the plurality of user locations based upon the current user location and a measured probability.

## Claims

### Claim 1

A method comprising:
activating a network interface card coupled to one or more processors, the one or more processors alternating between an active state and a low power state;
determining a plurality of locations for the network interface card using the one or more processors, the plurality of locations for the network interface card determined based upon a clustering of wireless networks scanned by the network interface card during an active period of the one or more processors, the one or more processors operating in the active state during the active period; determining a current location of the network interface card, the current location being one of the plurality of locations for the network interface card, wherein determining the current location of the network interface card is completed upon initiating a transition of the one or more processors from the active state to the low power state; and
scanning, in the low power state, for a plurality of wireless networks associated with one or more next locations, the one or more next locations selected from the plurality of locations for the network interface card based upon the current location of the network interface card and a set of measured probabilities, wherein each measured probability indicates a probability that the network interface card is at one or more of the next locations, wherein the plurality of wireless networks includes wireless networks associated with the one or more next locations in proportion to the measured probabilities, and wherein selected wireless networks associated with the one or more next locations have a higher historical signal strength than unselected wireless networks associated with the one or more next locations.

### Claim 2 (depends on 1)

The method of claim 1, comprising determining the current location of the network interface card based upon a comparison of a plurality of wireless networks currently scanned and a plurality of wireless networks associated with the plurality of locations for the network interface card.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining a plurality of locations for the network interface card using one or more processors comprises:
creating a plurality of traces, each trace containing a list of a plurality of wireless network identifiers scanned during a particular period of time;
dividing the plurality of traces into a plurality of segments, each segment comprising at least two traces, the at least two traces grouped into the segment based upon a uniformity of the wireless network identifiers associated with the at least two segments; and
creating a plurality of clusters comprised of at least two segments based upon a similarity of the at least two segments, each of the plurality of clusters corresponding to a location.

### Claim 4 (depends on 3)

The method of claim 3, wherein the plurality of clusters are created using a K-means algorithm.

### Claim 5 (depends on 3)

The method of claim 3, comprising determining a plurality of wireless network identifiers associated with the plurality of clusters based upon a determination that the wireless network identifiers associated with the plurality of clusters are likely to be available at the associated location.

### Claim 6 (depends on 5)

The method claim 5, wherein the determination that the wireless network identifiers associated with the plurality of clusters are likely to be available at the associated location comprises determining that the wireless network identifiers associated with particular location are present in that location above a threshold amount of times.

### Claim 7 (depends on 1)

The method of claim 1, wherein the wireless networks are wireless networks operating in accordance with an 802.11 family of standards.

### Claim 8 (depends on 1)

The method of claim 1, comprising calculating a transition matrix based upon the clustering of similar wireless networks scanned and wherein determining the one or more next locations comprises determining a most probable next locations based upon the transition matrix and the current location of the network interface card.

### Claim 9 (depends on 1)

The method of claim 1, wherein scanning for the plurality of wireless networks is done in response to powering down the one or more processors into the low power state.

### Claim 10 (depends on 1)

The method of claim 1, wherein responsive to finding one of the plurality of networks associated with one or more next locations, connecting to the found one or more of the plurality of networks, wherein connecting to the found one or more of the plurality of networks includes transitioning the one or more processors from the low power state to the active state.

### Claim 11 (depends on 10)

The method of claim 10, comprising waking up one or more of the processors and notifying one or more applications to synchronize data over the connected wireless network responsive to connecting to the found one or more of the plurality of networks.

### Claim 12

An apparatus of a s (STA), the apparatus comprising: memory; and
one or more processors, in combination with the memory, configured to:
determine a plurality of STA locations, the plurality of STA locations determined based upon a clustering of wireless networks scanned by a network interface card communicatively coupled to the processor during an active period of the one or more processors, the one or more processors operating in an active state during the active period; determine a current location of the STA, the current location being one of the plurality of STA locations, wherein the determination of the current location of the STA is completed upon initiation of a transition of the one or more processors from the active state to a low power state; and
scan, in the low power state, for a plurality of wireless networks associated with one or more next locations, the one or more next locations selected from the plurality of STA locations based upon the current STA location and a set of measured probabilities, wherein each measured probability indicates a probability that the STA is at one or more of the next locations, wherein the plurality of wireless networks includes wireless networks associated with the one or more next locations in proportion to the measured, probabilities and wherein selected wireless networks associated with the one or more next locations have a higher historical signal strength than unselected wireless networks associated with the one or more next locations.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the one or more processors are configured to determine the current location of the STA based upon a comparison of a plurality of wireless networks currently scanned and a plurality of wireless networks associated with the plurality of STA locations.

### Claim 14 (depends on 12)

The apparatus of claim 12, wherein the one or more processors are configured to determine a plurality of STA locations by:
creating a plurality of traces, each trace containing a list of a plurality of wireless network identifiers scanned during a particular period of time;
dividing the plurality of traces into a plurality of segments, each segment comprising at least two traces, the at least two traces grouped into the segment based upon a uniformity of the wireless network identifiers associated with the at least two segments; and
creating a plurality of clusters comprised of at least two segments based upon a similarity of the at least two segments, each of the plurality of clusters corresponding to a location.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the plurality of clusters are created using a K-means algorithm.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein the one or more processors are configured to determine a plurality of wireless network identifiers associated with the plurality of clusters based upon a determination that the wireless network identifiers associated with the plurality of clusters are likely to be available at the associated location.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the one or more processors are configured to determine that the wireless network identifiers associated with the plurality of clusters are likely to be available at the associated location by determining that the wireless network identifiers associated with a particular location are present in that location above a threshold amount of times.

### Claim 18 (depends on 12)

The apparatus of claim 12, wherein the wireless networks are wireless networks operating in accordance with an 802.11 family of standards.

### Claim 19 (depends on 12)

The apparatus of claim 12, wherein the one or more processors are configured to calculate a transition matrix based upon the clustering of similar wireless networks scanned and wherein the one or more processors are configured to determine the one or more next locations by determining a most probable next locations based upon the transition matrix and the current STA location.

### Claim 20 (depends on 12)

apparatus of claim 12, wherein the one or more processors are configured to scan for the plurality of wireless networks in response to powering down the one or more processors into the low power state.

### Claim 21 (depends on 12)

The apparatus of claim 12, wherein the one or more processors are configured to connect to the found one or more of the plurality of networks in response to finding one of the plurality of networks associated with one or more next locations, wherein configuring the one or more processors to connect to the found one or more of the plurality of networks transitions the one or more processors from the low power state to the active state.

### Claim 22 (depends on 21)

The apparatus of claim 21, wherein the one or more processors are configured to wake up and notify one or more applications to synchronize data over the connected wireless network responsive to connecting to the found one or more of the plurality of networks.

### Claim 23

A non-transitory machine readable medium that stores instructions which when performed by an apparatus of a station (STA) machine, cause the STA machine to perform operations comprising:
determine a plurality of STA machine locations, the plurality of STA machine locations determined based upon a clustering of wireless networks scanned by a network interface card communicatively coupled to one or more processors during an active period of the one or more processors, the one or more processors operating in an active state during the active period; determine a current location of the STA machine, the current location being one of the plurality of STA machine locations, wherein the determination of the current location of the STA machine is completed upon initiating a transition of the one or more processors from the active state to a low power state; and
scan, in the low power state, for a plurality of wireless networks associated with one or more next locations, the one or more next locations selected from the plurality of STA machine locations based upon the current STA machine location and a set of measured probabilities, wherein each measured probability indicates a probability that the STA machine is at one or more of the next locations, and wherein the plurality of wireless networks includes wireless networks associated with the one or more next locations in proportion to the measured probabilities, wherein selected wireless networks associated with the one or more next locations have a higher historical signal strength than unselected wireless networks associated with the one or more next locations.

### Claim 24 (depends on 23)

The non-transitory machine readable medium of claim 23, wherein the instructions for determining the current location of the STA machine include instructions, which when performed by the apparatus of the STA machine, cause the apparatus of the STA machine to determine the current location of the STA machine based upon a comparison of a plurality of wireless networks currently scanned and a plurality of wireless networks associated with the plurality of STA machine locations.

### Claim 25 (depends on 23)

The non-transitory machine readable medium of claim 23, wherein the instructions for determining a plurality of STA machine locations comprise instructions which when performed by the apparatus of the STA machine, cause the apparatus of the STA machine to perform the operations of:
creating a plurality of traces, each trace containing a list of a plurality of wireless network identifiers scanned during a particular period of time;
dividing the plurality of traces into a plurality of segments, each segment comprising at least two traces, the at least two traces grouped into the segment based upon a uniformity of the wireless network identifiers associated with the at least two segments; and
creating a plurality of clusters comprised of at least two segments based upon a similarity of the at least two segments, each of the plurality of clusters corresponding to a location.

### Claim 26 (depends on 25)

The non-transitory machine readable medium of claim 25, wherein the instructions for creating a plurality of clusters include instructions which when performed by the apparatus of the STA machine cause the apparatus of the STA machine to create the plurality of clusters using a K-means algorithm.

### Claim 27 (depends on 25)

The non-transitory machine readable medium of claim 25, wherein the instructions for determining the plurality of wireless network identifiers associated with the plurality of clusters comprises instructions, which when performed by the apparatus of the STA machine, cause the apparatus of the STA machine to determine the plurality of wireless network identifiers based upon a determination that the wireless network identifiers associated with the plurality of clusters are likely to be available at the associated location.

### Claim 28 (depends on 27)

The non-transitory machine readable medium of claim 27, wherein the instructions for determining that the wireless network identifiers associated with the plurality of clusters are likely to be available at the associated location includes instructions which when performed by the apparatus of the STA machine causes the apparatus of the STA machine to perform the operations of determining that the wireless network identifiers associated with a particular location are present in that location above a threshold amount of times.

### Claim 29 (depends on 23)

The non-transitory machine readable medium of claim 23, wherein the wireless networks are wireless networks operating in accordance with an 802.11 family of standards.

### Claim 30 (depends on 23)

The non-transitory machine readable medium of claim 23, wherein the instructions include instructions which when performed by the apparatus of the STA machine, cause the apparatus of the STA machine to perform the operations of calculating a transition matrix based upon the clustering of similar wireless networks scanned and wherein the instructions for determining the one or more next locations include instructions, which when performed by the apparatus of the STA machine cause the apparatus of the STA machine to perform the operations of determining a most probable next locations based upon the transition matrix and the current STA machine location.

### Claim 31 (depends on 23)

The non-transitory machine-readable medium of claim 23, wherein the instructions include instructions which when performed by the apparatus of the STA machine cause the apparatus of the STA machine to scan for the plurality of wireless networks in response to powering down the one or more processors into the low power state.

### Claim 32 (depends on 23)

The non-transitory machine-readable medium of claim 23, wherein the instructions include instructions which when performed by the apparatus of the STA machine cause the apparatus of the STA machine to perform the operations of:
responsive to finding one of the plurality of networks associated with one or more next locations, connecting to the found one or more of the plurality of networks, wherein connecting to the found one or more of the plurality of networks includes transitioning the one or more processors from the low power state to the active state.

### Claim 33 (depends on 32)

The non-transitory machine-readable medium of claim 32, wherein the instructions include instructions which when performed by the apparatus of the STA machine cause the apparatus of the STA machine to perform the operations of:
waking up the processor and notifying one or more applications to synchronize data over the connected wireless network responsive to connecting to the found one or more of the plurality of networks.

### Claim 34

An apparatus comprising:
at least one processor;
a network interface card; and
at least one machine readable medium including instructions that, when executed by the at least one processor, configure the at least one processor to complete operations to:
determine a plurality of user locations, the plurality of user locations determined based upon a clustering of wireless networks seen by a computing device during an active period of the computing device;
determine a current location of the user, the current location being one of the plurality of user locations, wherein the determination of the current location of the user is completed upon initiation of a transition of the computing device from an active period to an inactive period;
select one or more next locations from the plurality of user locations based upon the current user location and a set of measured probabilities, wherein each measured probability indicates a probability that the user is at one or more of the next locations, wherein the plurality of wireless networks includes wireless networks associated with the one or more next locations in proportion to the measured probabilities, wherein selected wireless networks associated with the one or more next locations have a higher historical signal strength than unselected wireless networks associated with the one or more next locations, and wherein selecting the one of more next locations is completed during the inactive period of the computing device; and
output the plurality of wireless networks associated with one or more next locations to the network interface card.

### Claim 35 (depends on 34)

The apparatus of claim 34, wherein the instructions further configure the at least one processor to perform operations to determine the current location of the user based upon a comparison of a plurality of wireless networks currently scanned and a plurality of wireless networks associated with the plurality of user locations.

### Claim 36 (depends on 34)

The apparatus of claim 34, wherein the instructions further configure the at least one processor to perform operations to: create a plurality of traces, wherein each trace contains a list of a plurality of wireless network identifiers scanned during a particular period of time;
divide the plurality of traces into a plurality of segments, each segment comprising at least two traces, the at least two traces grouped into the segment based upon a uniformity of the wireless network identifiers associated with the at least two segments; and
create a plurality of clusters comprised of at least two segments based upon a similarity of the at least two segments, wherein each of the plurality of clusters corresponds to a location.

### Claim 37 (depends on 36)

The apparatus of claim 36, wherein the instructions further configure the at least one processor to perform operations to determine a plurality of wireless network identifiers associated with the plurality of clusters based upon a determination that the wireless network identifiers associated with the plurality of clusters are likely to be available at the associated location.

### Claim 38 (depends on 37)

The apparatus of claim 37, wherein the instructions further configure the at least one processor to perform operations to determine that the wireless network identifiers associated with the plurality of clusters are likely to be available at the associated location by determining that the wireless network identifiers associated with a particular location are present in that location above a threshold amount of times.

### Claim 39 (depends on 34)

The apparatus of claim 34, wherein the instructions further configure the at least one processor to perform operations to calculate a transition matrix based upon the clustering of similar wireless networks scanned and wherein the selection module is configured to determine the one or more next locations by determining a most probable next locations based upon the transition matrix and the current user location.
