# US 11,445,467 B2 · Location in a distributed location processing architecture with roaming

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

- Number: US 11,445,467 B2
- Document ID: US11445467B2
- Status: Granted
- Kind: B2
- Application number: 17/167,979
- Filed: 2021-02-04
- Published: 2022-08-04
- Granted: 2022-09-13
- Earliest claimed: 2021-02-04
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Paul J. Stager; Matthew Aaron Silverman; Mukul Chandail; Manoj Gupta; Swapnil Devendrakumar Shah; Vishal Satyendra Desai
- Web page: https://patentgrep.com/patent/US11445467B2

## CPC

- H04W 64/00: Locating users or terminals {or network equipment} for network management purposes, e.g. mobility management
- H04W 64/003: {locating network equipment}
- H04B 17/318: Received signal strength
- H04W 4/029: Location-based management or tracking services
- H04W 8/005: {Discovery of network devices, e.g. terminals}
- H04W 48/16: Discovering, processing access restriction or access information
- G01S 5/0252: {Radio frequency fingerprinting}
- H04L 2101/622: Layer-2 addresses, e.g. medium access control [MAC] addresses
- H04W 84/12: WLAN [Wireless Local Area Networks]
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04B: TRANSMISSION
- 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
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method and system for providing location services at a network edge is described. An AP can receive location information associated with a second AP in a location group. The AP can also receive client location data from the second AP and associated with a first client. From at least the received client location data, the AP can determine a location of the first client. The AP can then send the location of the first client to a location service.

## Claims

### Claim 1

A method comprising:
receiving, by a first Access Point (AP), location information associated with a second AP in a location group;
receiving, by the first AP, client location data from the second AP and associated with a first client device wherein the first AP scans a service channel of the second AP to receive the client location data;
determining, by the first AP, a location of the first client device; and
sending, by the first AP, the location of the first client device to a location service.

### Claim 2 (depends on 1)

The method of claim 1, further comprising: calculating, by the first AP, a Heat Map from the location information associated with the second AP.

### Claim 3 (depends on 1)

The method of claim 1, further comprising: updating a Distributed Hash Table (DHT) that comprises location estimations for two or more client devices being serviced by the location group, wherein the DHT is accessible by at least the first AP and the second AP.

### Claim 4 (depends on 3)

The method of claim 3, wherein the first AP is a master AP for the location group and for the first client device, wherein each client device being serviced by the location group is assigned the master AP or another master AP for location determinations.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
determining:
the first client device is associated with the location group;
an association history for the first client device;
a movement history for the first client device; and/or
the first client device is moving; and
based on the determining, selecting the first AP as the master AP for the first client device.

### Claim 6 (depends on 4)

The method of claim 4, further comprising:
determining a plurality of Media Access Control (MAC) addresses for client devices being serviced by the location group;
determining a distribution of the plurality of MAC addresses;
providing a subset of the distribution of the plurality of MAC addresses to the first AP; and
assigning the first AP as the master AP for the subset of the distribution of the plurality of MAC addresses, wherein the subset includes the first client device.

### Claim 7 (depends on 4)

The method of claim 4, further comprising:
determining a Received Signal Strength Indicator (RSSI), to at least the first AP and the second AP, for client devices being serviced by the location group;
determining:
a load on the at least the first AP and the second AP;
a Computer Processing Unit (CPU) load on the at least the first AP and the second AP; and/or
a contention on the at least the first AP and the second AP; and
based on the determining and the RSSI, selecting the first AP as the master AP for the first client device.

### Claim 8 (depends on 4)

The method of claim 4, further comprising:
triggering, by the first AP, as the master AP for the first client device, roaming to the second AP in the location group; and
writing, by the first AP, a filter state to the DHT.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
sending the location of the first client device to an arbiter node; and
selecting, by the arbiter node, the location of the location group to provide to the location service.

### Claim 10

An computing device comprising:
a memory storage; and
a processing unit coupled to the memory storage, wherein the processing unit is operative to:
receive location information associated with a second AP in a location group;
calculate a Heat Map from the location information associated with the second AP;
scan a service channel of the second AP;
receive client location data from the service channel of the second AP and associated with a first client device, wherein the AP is a master AP for the location group for the first client device;
determine a location of the first client device;
update a Distributed Hash Table (DHT) that comprises location estimations for two or more client devices being serviced by the location group, wherein the DHT is accessible by at least the AP and the second AP; and
send the location of the first client device to a location service.

### Claim 11 (depends on 10)

The computing device of claim 10, the processing unit is further operative to:
determine:
the first client device is associated with the location group;
an association history for the first client device;
a movement history for the first client device; and/or
the first client device is moving; and
based on the determining, select the AP as the master AP for the first client device.

### Claim 12 (depends on 10)

The computing device of claim 10, the processing unit further operative to:
determine a plurality of Media Access Control (MAC) addresses for client devices being serviced by the location group;
determine a distribution of the plurality of MAC addresses;
provide a subset of the distribution of the plurality of MAC addresses to the AP; and
assign the AP, as the master AP, for the subset of the distribution of the plurality of MAC addresses, wherein the subset includes the first client device.

### Claim 13 (depends on 10)

The computing device of claim 10, the processing unit is further operative to:
determine a Received Signal Strength Indicator (RSSI), to at least the AP and the second AP, for client devices being serviced by the location group;
determine:
a load on the at least the AP and the second AP;
a Computer Processing Unit (CPU) load on the at least the AP and the second AP; and/or
a contention on the at least the AP and the second AP; and
based on the determining and the RSSI, select the AP as the master AP for the first client device.

### Claim 14 (depends on 10)

The computing device of claim 10, the processing unit is further operative to:
trigger, as the master AP for the first client device, roaming to the second AP in the location group; and
write a Kalman filter state to the DHT.

### Claim 15

A non-transitory computer-readable medium that stores a set of instructions which when executed, by a processor of an Access Point (AP), perform a method executed by the set of instructions comprising:
receiving location information associated with a second AP in a location group;
calculating a Heat Map from the location information associated with the second AP;
scanning a service channel of the second AP;
receiving client location data from the service channel of the second AP and associated with a first client device, wherein the AP is a master AP for the location group for the first client device;
determining a location of the first client device;
updating a Distributed Hash Table (DHT) that comprises location estimations for two or more client devices being serviced by the location group, wherein the DHT is accessible by at least the AP and the second AP; and
sending the location of the first client device to a location service.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, the method further comprising:
determining:
the first client device is associated with the location group;
an association history for the first client device;
a movement history for the first client device; and/or
the first client device is moving; and
based on the determining, selecting the AP as the master AP for the first client device.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, the method further comprising:
determining a plurality of Media Access Control (MAC) addresses for client devices being serviced by the location group;
determining a distribution of the plurality of MAC addresses;
providing a subset of the distribution of the plurality of MAC addresses to the AP; and
assigning the AP, as the master AP, for the subset of the distribution of the plurality of MAC addresses, wherein the subset includes the first client device.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, the method further comprising:
determining a Received Signal Strength Indicator (RSSI), to at least the AP and the second AP, for client devices being serviced by the location group;
determining:
a load on the at least the AP and the second AP;
a Computer Processing Unit (CPU) load on the at least the AP and the second AP; and/or
a contention on the at least the AP and the second AP; and
based on the determining and the RSSI, selecting the AP as the master AP for the first client device.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, the method further comprising:
triggering, as the master AP for the first client device, roaming to the second AP in the location group; and
writing a Kalman filter state to the DHT.
