IP Library Granted Patent US 10,595,295
Granted Patent B2
US 10,595,295 · App. 16/024,377 · Granted Mar 17, 2020

Access point proximity graphing

Inventors: Jerome Henry (Pittsboro, NC); Robert Edgar Barton (Richmond, CA); Timothy Daniel Spiglanin (Santa Clara, CA); Rajesh S. Pazhyannur (Fremont, CA)
Assignee: Cisco Technology, Inc.
H04W64/003H04W24/02H04W24/08H04W36/0061H04W84/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,595,295
App. No.
16/024,377
Granted
Mar 17, 2020
Kind
B2
Abstract

In one embodiment, a process determines how often client devices roam from a given access point (AP) to each particular neighbor AP of a plurality of neighbor APs of the given AP, and correspondingly determines a roaming distance from the given AP to each particular neighbor AP, the roaming distance being shorter for neighbor APs roamed to more often, and longer for neighbor APs roamed to less often, within a given interval. Successful but temporary roams to the plurality of neighbor APs may also be detected and removed from consideration in the roaming distance to that particular neighbor AP. The process then generates a proximity list of one or more of the neighboring APs having the shortest roaming distances, and feeds the proximity list to the given AP to cause the given AP to provide the proximity list to client devices for optimized client roaming.

Claims (52)

1. A method, comprising:

determining, by a server, how often client devices roam from a given access point (AP) to each particular neighbor AP of a plurality of neighbor APs of the given AP;

determining, by the server, a roaming distance from the given AP to each particular neighbor AP, the roaming distance being shorter for neighbor APs roamed to more often, and longer for neighbor APs roamed to less often, within a given interval;

detecting, by the server, successful but temporary roams to the plurality of neighbor APs, wherein the temporary roams are roams to the plurality of neighbors that last less than a predefined time interval;

removing, by the server, temporary roams to each particular neighbor AP from consideration in the roaming distance to that particular neighbor AP;

generating, by the server, a proximity list of one or more of the neighboring APs having the shortest roaming distances; and

feeding, by the server, the proximity list to the given AP to cause the given AP to provide the proximity list to client devices for optimized client roaming.

2. The method as in claim 1 , further comprising:

creating a visual representation of a roaming graph based on the neighboring APs as vertices and roaming distances as edges between the vertices.

3. The method as in claim 1 , wherein detecting successful but temporary roams comprises:

computing dwelling durations for how long client devices stay at a new AP after roaming to the new AP; and

determining outlier dwelling durations that are substantially shorter than other dwelling durations, wherein roams associated with the outlier dwelling durations are classified as successful but temporary roams.

4. The method as in claim 1 , further comprising:

plotting roaming distance from the given AP to each particular neighbor AP against corresponding radio frequency (RF) distance from the given AP to each particular neighbor AP;

detecting outlier plots within the plotting, wherein outlier plots are one or more roaming distance plots that are outside a graph constructed by the plotting; and

reporting the outlier plots.

5. The method as in claim 4 , wherein detecting outlier plots is based on anomaly detection applied to clusters of plots.

6. The method as in claim 4 , wherein RF distance is based on receive signal strength indication (RSSI).

7. The method as in claim 4 , wherein outlier plots indicate anomalies in RF distance and roaming distance in comparison to a typical plot of RF distance and roaming distance on the graph.

8. The method as in claim 1 , wherein one or more of the plurality of neighbor APs have no associated roaming distance and are not included in the proximity list in response to no roams occurring from the given AP to those one or more of the plurality of neighbor APs.

9. The method as in claim 1 , wherein the given AP and the plurality of neighbor APs are located on a ceiling of a location, and wherein the client devices are located near a floor of the location.

10. The method as in claim 1 , wherein the server comprises a distributed server process configured cooperatively on the given AP and the plurality of neighbor APs.

11. The method as in claim 1 , wherein the proximity list corresponds to a particular time period.

12. A tangible, non-transitory, computer-readable medium storing program instructions that cause a computer to execute a process, comprising:

determining how often client devices roam from a given access point (AP) to each particular neighbor AP of a plurality of neighbor APs of the given AP;

determining a roaming distance from the given AP to each particular neighbor AP, the roaming distance being shorter for neighbor APs roamed to more often, and longer for neighbor APs roamed to less often, within a given interval;

detecting successful but temporary roams to the plurality of neighbor APs, wherein the temporary roams are roams to the plurality of neighbors that last less than a predefined time interval;

removing temporary roams to each particular neighbor AP from consideration in the roaming distance to that particular neighbor AP;

generating a proximity list of one or more of the neighboring APs having the shortest roaming distances; and

feeding the proximity list to the given AP to cause the given AP to provide the proximity list to client devices for optimized client roaming.

13. The computer-readable medium as in claim 12 , the process further comprising:

creating a visual representation of a roaming graph based on the neighboring APs as vertices and roaming distances as edges between the vertices.

14. The computer-readable medium as in claim 12 , wherein detecting successful but temporary roams comprises:

computing dwelling durations for how long client devices stay at a new AP after roaming to the new AP; and

determining outlier dwelling durations that are substantially shorter than other dwelling durations, wherein roams associated with the outlier dwelling durations are classified as successful but temporary roams.

15. The computer-readable medium as in claim 12 , the process further comprising:

plotting roaming distance from the given AP to each particular neighbor AP against corresponding radio frequency (RF) distance from the given AP to each particular neighbor AP;

detecting outlier plots within the plotting, wherein outlier plots are one or more roaming distance plots that are outside a graph constructed by the plotting; and

reporting the outlier plots.

16. The computer-readable medium as in claim 12 , wherein one or more of the plurality of neighbor APs have no associated roaming distance and are not included in the proximity list in response to no roams occurring from the given AP to those one or more of the plurality of neighbor APs.

17. The computer-readable medium as in claim 12 , wherein the given AP and the plurality of neighbor APs are located on a ceiling of a location, and wherein the client devices are located near a floor of the location.

18. The computer-readable medium as in claim 12 , wherein the process comprises a distributed server process configured cooperatively on the given AP and the plurality of neighbor APs.

19. The computer-readable medium as in claim 12 , wherein the proximity list corresponds to a particular time period.

20. An apparatus, comprising:

a processor configured to execute one or more process; and

a memory configured to store a process executable by the processor, the process when executed configured to:

determine how often client devices roam from a given access point (AP) to each particular neighbor AP of a plurality of neighbor APs of the given AP;

determine a roaming distance from the given AP to each particular neighbor AP, the roaming distance being shorter for neighbor APs roamed to more often, and longer for neighbor APs roamed to less often, within a given interval;

detect successful but temporary roams to the plurality of neighbor APs, wherein the temporary roams are roams to the plurality of neighbors that last less than a predefined time interval;

remove temporary roams to each particular neighbor AP from consideration in the roaming distance to that particular neighbor AP;

generate a proximity list of one or more of the neighboring APs having the shortest roaming distances; and

feed the proximity list to the given AP to cause the given AP to provide the proximity list to client devices for optimized client roaming.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2019
From: HENRY, JEROME; BARTON, ROBERT EDGAR
To: CISCO TECHNOLOGY, INC.
Reel/Frame 051169/0864 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2018
From: HENRY, JEROME; BARTON, ROBERT EDGAR; SPIGLANIN, TIMOTHY DANIEL; PAZHYANNUR, RAJESH S.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 046244/0638 →
Continuity (1)
Related Publication 20200008169A1 · Jan 2, 2020